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)

Overview of Databases and Transaction Processing

 

Week 1 (Sept. 2)

The Big Picture

Assignment 1 (Due on Sept. 14)

Week 2 (Sept. 7)

--

Labor Day Holiday, No Classes

Week 2 (Sept. 9)

Relational Data Model

 

Week 3 (Sept. 14)

 

 

Exercise (1)

 

Assignment 2 (Due on Sept. 28)

 

Week 3 (Sept. 16)

Conceptual Modeling of Databases with Entity-Relationship (ER) Diagrams

Census Day

 

Project Introduction

Project Part 1 (Due on Oct. 7)

Week 4 (Sept. 21)

Relational Algebra and SQL

 

Week 4 (Sept. 23)

 

Exercise (2)

 

Week 5 (Sept. 28)

 

Project Part 2 (Due on Oct. 14)

Week 5 (Sept. 30)

Q/A

Review for Exam I

Week 6 (Oct. 5)

EXAM I

 

Week 6 (Oct. 7)

 

 

 

Week 7 (Oct. 12)

Relational Normalization Theory

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)

 

Exercise (3)

Week 9 (Oct. 26)

 

Reading materials: Using SQL in an Application

Week 9 (Oct. 28)

Triggers and Active Databases

Exercise (4)

Review for Exam II

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)

Physical Data Organization and Indexing

 

Week 12 (Nov. 16)

 

Assignment 4 (Due on Nov. 30)

Week 12 (Nov. 18)

 

Nov. 18: Drop/Withdrawal Deadline

Week 13 (Nov. 23)

Query Processing

 

Week 13 (Nov. 25)

 

Exercise (5)

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

Review for Final Exam

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.

 

MySQL: The world's most popular open source relational database

Oracle: The #1 commercial relational database (48.8% market share in 2011)

 

Scoring and Grading

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

 


Lecture Attendance Policy

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.


Make-up Exam Policy

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.


Late Work Policy

·         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.


Academic Dishonesty Policy

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.


Students with Disabilities

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.


Mandatory Course Evaluation Period

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.


Sexual Harassment, Discrimination, and Violence 

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.


Learning Outcomes

·        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.


Program Outcomes

 

·         (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.


Disclaimer

The instructor reserves the right to alter this syllabus as necessary.