CSCI 4333 Database
Design and Implementation
Fall 2015
Instructor: Xiang Lian
Office:
ENGR 3.275
Web: http://faculty.utpa.edu/lianx/
Telephone
Number: (956) 665-2472
Email: xiang.lian@utrgv.edu
Course:
CSCI/CMPE 4333 Database
Design and Implementation
Prerequisites:
CSCI/CMPE 3333 Algorithms and Data Structures
Time: MW, 12:15pm ~ 1:30pm.
Location: ENGR 1.290
Course Webpage: http://faculty.utpa.edu/lianx/old_courses/CSCI4333_2015fall.html
Instructor's office
hour: Monday and Wednesday
(3:00pm ~ 6:00pm); or by appointment
Teaching Assistant: Ramses Romulus Reyes
Office: ENGR 3.273A
E-mail: ramsesromulus.reyes01@utrgv.edu
Phone: TBD
Office Hours: 12pm
~ 4pm, Monday and Wednesday; or by appointment
Textbook
Michael Kifer, Arthur Bernstein, and Philip M. Lewis, Database
Systems: An Application Oriented Approach, Compete Version, 2/E,
Addison-Wesley, 2005, ISBN 0321268458
Online Resources:
Description
This
course presents a comprehensive introduction to database management systems,
with the emphasis on database design methodologies (ER and/or UML modeling),
database query languages (relational algebra and SQL), database implementation
(physical data organization, indexing, query processing and optimization), and
database application development (JDBC/ODBC). The course is essential for one
to become a successful database architect, administrator, application
developer, or IT manager, and prepares students towards studying advanced
database topics, such as transaction processing, deductive databases,
distributed databases, and data warehouses. Students will (1) design a
real-life database to deepen their understanding of the database concepts and
theories, (2) implement their design in both Oracle and MySQL to become
proficient in the use of database management systems, and (3) develop a
database application that works with the two RDBMSs to obtain strong practical
skills in database programming. Students will be given an opportunity to
formally present their project in class. After taking this course, students
will have the capability of developing various database applications such as
enterprise information systems, e-commerce systems, business management
systems, etc. Topics include:
·
Modern
Database and Transaction Processing Systems
·
Relational
Data Model
·
Conceptual
Modeling of Databases with Entity-Relationship (ER) Diagrams and the Unified
Modeling Language (UML)
·
Relational
Algebra and SQL
·
Database
Design and Relational Normalization Theory
·
Triggers
and Active Databases
·
Using
SQL in an Application
·
Physical
Data Organization and Indexing
·
The
Basics of Query Processing
·
An
Overview of Query Optimization
·
Database
Tuning
·
Oracle
·
MySQL
·
XML
Databases (if time allowed)
·
RDF
Databases/Stores (if time allowed)
See
also the UTRGV Catalog course description: CSCI/CMPE
4333 Database Design and Implementation.
Objectives
·
Become
familiar with the database technology.
·
Understand
the relational data model.
·
Learn
& apply conceptual data modeling techniques.
·
Become
familiar with the database design and normalization theory.
·
Master
relational algebra and Structured Query Language.
·
Become
familiar with database implementation issues.
·
Understand
database storage organization and query processing algorithms.
·
Learn
database indexing and tuning techniques.
·
Learn
administration and development in Oracle and MySQL.
·
Gain
practical experience in database and database application development.
·
Learn
and obtain skills on empirical evaluation of database systems; efficiency and
scalability.
·
Improve
technical writing and oral presentation skills.
Tentative Schedule
Week |
Topic |
Notes1 |
Week 1 (Aug. 31) |
|
|
Week 1 (Sept. 2) |
Assignment 1 (Due on Sept. 14) |
|
Week 2 (Sept. 7) |
-- |
Labor Day Holiday, No Classes |
Week 2 (Sept. 9) |
|
|
Week 3 (Sept. 14) |
|
Assignment
2 (Due on Sept. 28) |
Week 3 (Sept. 16) |
Conceptual
Modeling of Databases with Entity-Relationship (ER) Diagrams |
Census Day Project Part 1 (Due on Oct. 7) |
Week 4 (Sept. 21) |
|
|
Week 4 (Sept. 23) |
|
|
Week 5 (Sept. 28) |
|
Project Part 2 (Due on Oct. 14) |
Week 5 (Sept. 30) |
Q/A |
|
Week 6 (Oct. 5) |
EXAM I |
|
Week 6 (Oct. 7) |
|
|
Week 7 (Oct. 12) |
Project Part 3 (Due on Nov. 11; Demonstration hard
deadline: Dec. 2) |
|
Week 7 (Oct. 14) |
|
|
Week 8 (Oct. 19) |
|
Assignment
3 (Due on Nov. 2) |
Week 8 (Oct. 21) |
|
|
Week 9 (Oct. 26) |
|
Reading
materials: Using SQL in an Application |
Week 9 (Oct. 28) |
||
Week 10 (Nov. 2) |
|
Project Part 4 (Bonus Project; Hard Deadline: Due on Dec.
2) |
Week 10 (Nov. 4) |
Q/A |
|
Week 11 (Nov. 9) |
EXAM II |
|
Week 11 (Nov. 11) |
|
|
Week 12 (Nov. 16) |
|
Assignment 4 (Due on Nov. 30) |
Week 12 (Nov. 18) |
|
Nov. 18: Drop/Withdrawal Deadline |
Week 13 (Nov. 23) |
|
|
Week 13 (Nov. 25) |
|
Nov. 26-27: Thanksgiving Holiday |
Week 14 (Nov. 30) |
|
Reading
materials: An Overview of Query Optimization |
Week 14 (Dec. 2) |
|
Reading
materials: Database Tuning |
Week 15 (Dec. 7) |
Q/A |
|
Week 15 (Dec. 9) |
Q/A |
|
Week 16 (Dec. 11-17) |
Final Exam (10:15am
~ 12:00pm, Dec. 16, Wednesday) |
|
1 Academic calendar:
http://www.utrgv.edu/_files/documents/admissions/UTRGV-academic-calendar-2015-2017-7.22.pdf
Final exam schedule: http://www.utrgv.edu/_files/documents/admissions/fall2015-final-exam-schedule.pdf
Note: Exam dates are tentative, and exact
dates will be announced in class!!!
Drops
and drop passes must be handled by you and the admission office; I will sign
the necessary documents. But, I will not place a drop or drop pass on the final
grade sheet.
Exam I .......…………………. 20%
Exam II.......…………………. 20%
Final Exam ………………… 25%
Assignments………………… 20%
Project
………………………
10%
Attendance
………………… 5%
A
= 90 or higher
B
= 80 - 89
C
= 70 - 79
D
= 60 - 69
F
= <60
Attendance in the lecture is mandatory. Students are responsible for all materials covered in class, the textbook, tutorials, and homework assignments. Students are expected to attend lectures, study the text, and contribute to discussions. You need to write your name on attendance sheets throughout the course, so please attend every lecture.
Students are expected to attend all scheduled classes and may be dropped from the course for excessive absences. UTRGV’s attendance policy excuses students from attending class if they are participating in officially sponsored university activities, such as athletics; for observance of religious holy days; or for military service. Students should contact the instructor in advance of the excused absence and arrange to make up missed work or examinations.
No make-up exams will be given except for university sanctioned excused absences. If you miss an exam (for a good reason), it is your responsibility to contact me before the exam, or soon after the exam as possible.
· Assignments must be submitted to Blackboard before class starts by the due date.
· An assignment turned in within one week after the due date will be considered late and will lose 30% of its grade.
· No assignment will be accepted for grading after one week late.
· Project deliverables cannot be submitted late without prior consent of the instructor.
The University expects a student to maintain a high standard of individual honor in his/her scholastic work. Unless otherwise required, each student is expected to complete his or her assignment individually and independently. Although study together is encouraged, the work handed in for grading by each student is expected to be his or her own. Any form of academic dishonesty will be strictly forbidden and will be punished to the maximum extent. Copying an assignment from another student in this class or obtaining a solution from some other source will lead to an automatic failure for this course and to a disciplinary action. Allowing another student to copy one's work will be treated as an act of academic dishonesty, leading to the same penalty as copying.
If you have a documented disability (physical, psychological, learning, or other disability which affects your academic performance) and would like to receive academic accommodations, please inform your instructor and contact Student Accessibility Services to schedule an appointment to initiate services. It is recommended that you schedule an appointment with Student Accessibility Services before classes start. However, accommodations can be provided at any time. Brownsville Campus: Student Accessibility Services is located in Cortez Hall Room 129 and can be contacted by phone at (956) 882-7374 (Voice) or via email at accessibility@utrgv.edu. Edinburg Campus: Student Accessibility Services is located in 108 University Center and can be contacted by phone at (956) 665-7005 (Voice), (956) 665-3840 (Fax), or via email at accessibility@utrgv.edu.
Students are required to complete an ONLINE evaluation of this course, accessed through your UTRGV account (http://my.utrgv.edu); you will be contacted through email with further instructions. Online evaluations will be available Nov. 18 – Dec. 9, 2015. Students who complete their evaluations will have priority access to their grades.
In accordance with UT System regulations, your instructor is a “responsible employee” for reporting purposes under Title IX regulations and so must report any instance, occurring during a student’s time in college, of sexual assault, stalking, dating violence, domestic violence, or sexual harassment about which she/he becomes aware during this course through writing, discussion, or personal disclosure. More information can be found at www.utrgv.edu/equity, including confidential resources available on campus. The faculty and staff of UTRGV actively strive to provide a learning, working, and living environment that promotes personal integrity, civility, and mutual respect in an environment free from sexual misconduct and discrimination.
·
Understanding of the database
technology.
o
Understand what
are databases, DBMSs, transactions, TPSs, OLAP, and OLTP.
o
Know the history and key players in
the modern database world.
o
Understand common database models,
including relational, object, object-relational, hierarchical, network, etc.
·
Understanding of the relational data
model.
o
Understand main concepts of
relational model: relations/tables, tuples/rows, attributes/columns, database and relation schemas.
o
Understand constraints: integrity,
key, foreign-key, syntactic, semantic, and reactive.
o
Have a basic understanding of data
management (schema creation, data population, querying, administrative
activities) using a relational database.
·
Proficiency with conceptual modeling
of databases using Entity-Relationship (ER) Diagrams.
o
Understand the E-R approach.
o
Understand entities and entity
types, relationships and relationship types.
o
Understand entity type hierarchies,
participation constraints, and part-of relationships.
o
Model enterprise data with ERDs.
o
Translate ERDs into relational
database schemas.
·
Familiarity with the database design
and normalization theory.
o
Understand the gap between
ERD-generated schemas and "good" database.
o
Understand the problems with
set-valued attributes, data redundancy, and various data anomalies.
o
Understand basics of the relational
normalization theory: decompositions, functional dependencies, and normal
forms.
·
Proficiency with relational algebra
and Structured Query Language (SQL).
o
Understand relational algebra and
construct queries using it.
o
Understand SQL and construct queries
using it.
o
Understand the relationship and
interactions of relational algebra and SQL.
·
Familiarity with database
implementation issues.
o
Understand the general architecture
of an RDBMS.
o
Understand the elements of a system
catalog.
o
Understand database physical storage
organization: heap and sorted files, main memory and disk interactions.
o
Understand indexes: clustered/unclustered, primary/secondary, sparse/dense, ISAM, B+
trees, hash indexes, etc.
·
Understanding of the basics of query
processing and query optimization.
o
Understand external sorting.
o
Understand evaluation methods for
projection, selection, and set operators.
o
Understand basic join algorithms:
nested-loops, sort-merge, and hash joins.
o
Understand the basics of query
execution planning, plan cost, and plan selection.
·
Familiarity with database tuning
techniques.
o
Understand basics of SQL DDL schema
tuning: indexes, denormalization, vertical and
horizontal partitioning, materialized views.
o
Understand basics of SQL DML: query
rewriting, eliminating sorting, allowing duplicates, minimizing communication.
·
Proficiency with the administration
and development in Oracle and MySQL.
o
Implement an enterprise database in
Oracle.
o
Implement an enterprise database in
MySQL.
·
Proficiency with database
application development.
o
Understand the basics of JDBC/ODBC.
o
Understand two and three tier
architectures for designing database applications.
o
Develop a GUI-based application with
querying capabilities for Oracle.
o
Develop a GUI-based application with
querying capabilities for MySQL.
·
Empirical evaluation of database
systems.
o
Understand the notions of efficiency
and scalability.
o
Test database performance.
·
Further improvement of technical
writing and oral presentation skills.
o
Write professional reports on
database design and implementation.
o
Present on database design and
implementation.
·
(a) An ability to apply knowledge of mathematics, science, and
engineering.
·
(c) An ability to design a system, component, or process to meet
desired needs within realistic constraints such as economic, environmental,
social, political, ethical, health and safety, manufacturability, and
sustainability.
·
(d) An ability to function on multidisciplinary teams.
·
(e) An ability to identify, formulate, and solve engineering
problems.
·
(f) An understanding of professional and ethical responsibility.
·
(g) An ability to communicate effectively.
·
(j) A knowledge of contemporary issues.
·
(k) An ability to use the techniques, skills, and modern
engineering tools necessary for engineering practice.
The instructor reserves the right to alter this syllabus as necessary.