Database I:
Introduction to Database (INLS 523 )
Dr. Javed Mostafa
Tuesday & Thursday, 11:00-12:15PM
117 Manning Hall
School of Information and Library Science
University of North Carolina at Chapel Hill
Course Description
Databases are the backbones of modern scholarly, scientific, and commercial information systems. For example, NASA uses databases to manage voluminous quantities of data generated by its many missions, and large pharmaceutical companies use databases for drug-discovery. Use of databases in the humanities and social sciences is also growing. For example, the Library of Congress maintains an important database called Thomas for managing U.S. congressional records, legislations, and historical documents.
Establishment of rigorous standards and design principles has helped to broaden the applications of databases. However, experience has shown that careful attention to demands of users and particular contexts of use is absolutely crucial in achieving design effectiveness.
This course will provide instruction in both fundamental principles and user-centric methodologies for effective database design. The course will be driven by design activities conducted for a semester-long project. It will begin with a description of data flow through organizations based on tasks and operations. Then, abstraction of metadata using data modeling will be covered. Subsequently, requirements-specification will be taught, and students will generate their project descriptions based on in-depth analysis of design problems. This will be followed up with discussions on the relational model and translation of data models to schemata. Next, the focus will shift to hands-on design tasks involving queries, forms, and report generation. After a prototype design is implemented, students will perform small-scale evaluation of the system. Following this, students will learn about life-cycle issues and database maintenance. The final part of the course will concentrate on advanced database systems.
Course Objectives
* Understand DBMS system architecture and components
* Learn database design principles
- Requirements specification
- Data modeling
- Schema transformation
- User interaction
- Evaluation
* Gain experience in current DB design tools
* Apply the above cumulative knowledge to create a DB prototype and evaluate it
Course Requirements
* Assignments
- 10% Assignment 1: Complete a basic requirements specification and data model
- 10% Assignment 2: Convert data model to schema
* Project (Group Effort)
- 5% Part 1 of project: Requirements specification with data model
- 5% Part 2 of project- Convert data model to schema
- 10% Part 3 of project: Prototype & White-box and black-box test suite
- 15% Part 4 of project: Final System and evaluation report
* Oracle assignment
- 15% Assignment 3: SQL, table creation and report generation
* 20% Take-home final exam
* 10% Class participation: Activities in class, regular attendance, and contributions to class list
Grading
Based on current UNC grading scales, the following grades and corresponding numeric ranges are applicable:
Graduate Students
Grad Grade |
Range |
H |
95-100 |
P |
80-94 |
L |
70-79 |
F |
69 or below |
Undergraduate Students
UG Grade |
Range |
A |
94-100 |
A- |
90-93 |
B+ |
87-89 |
B |
84-86 |
B- |
80-83 |
C+, C, C- |
70-79 |
D |
60-69 |
F |
59 or below |
Required Text-book
Fundamentals of Database Systems (6th Edition)
Ramez Elmasri and Shamkant B. Navathe, Addison-Wesley, 2010.
The previous edition of the book is adequate to fulfill most of the requirements of this course.
Additional Useful Books
Significant number of hands-on activities will involve the use of Microsoft Access and Oracle. Below are recommended books (watch this space for additional recommendations).
Oracle Essentials: Oracle Database 12c
Rick Greenwald, Robert Stackowiak, and Jonathan Stern, (C) 2013, O'Reilly.
Access 2013 Bible
Michael Alexander and Dick Kusleika, Wiley, 2013.
Course Outline & Calendar
Class 1 - August 19
Introduction to the class and distribution of the syllabus. Important dates, exam, and assignments described.
Class project requirements discussed.
Class 2 - August 21
Database systems overview. Database system evolution: From file systems to object-oriented systems.
Readings: Chapter 1
Class 3 - August 26
Database planning and requirements specification.
Class 4 - August 28
Data flow in operations and data abstraction.
Assignment 1: Given a general scope of system requirements, students must produce a requirements specification document and a data model.
Class 5 - September 2
Data modeling continues.
Readings: Chapters 7 and 8
Class 6 - September 4
Logical model of databases: Relational systems.
Readings: Chapter 3
Class 7 - September 9
Relational algebra and relational calculus.
Readings: Chapters 6
Class 8 - September 11
Data model to schema conversion.
Readings: Chapter 9
Class 9 - September 16
Database design refinement. Database querying introduced.
Readings: Chapter 4
Class 10 - September 18
Designing tables with appropriate constraints. Formulation and execution of structured query language (SQL) queries.
Readings: Chapters 4 and 5
Assignment 2: Convert the data model created in assignment 1 to a schema.
Class 11 - September 23
Advanced SQL and SQL Programming.
Readings: Chapter 5
Class 12 - September 25
Usability, life-cycle, and evaluation of DB systems.
Readings: To be assigned.
Class 13 - September 30
Usability, life-cycle, and evaluation of DB systems (Contd.).
Readings: Chapter 10
Project Part1: Conduct requirements specification and data modeling.
Class 14 - October 2
Interface design principles for DB systems. Basic screen, form, and interaction design.
Practical database design methodology and UML diagrams.
Readings: To be assigned.
Class 15 - October 7
Physical DB system: Disks, files, and hashing I
Reading: Chapter 17
Class 16 - October 9
Physical DB systems II
Reading: Chapter 17
Fall Break Week - Hands-on Project Review and Intro to MS Access -- Oct 14
Along with the Intstructor teaching assistant will be in Room 117 Manning
Project part 1 returned and next project part distributed
Project Part2: Convert project data model to schema.
Class 17 - October 21
Indexing structure of files
Introduction to Oracle DB environment.
Readings: Chapter 18 plus to be assigned.
Class 18 - October 23
Oracle DB design continues. Distributed DBs and Client-Server Systems
Readings: Chapter 21 plus to be assigned.
Class 19 - October 28
Advanced topics: Data analysis and mining. Domain focus: Biomedicine. Guest lecturer.
Reading: To be assigned.
Assignment 3: Oracle SQL, table creation and report generation.
Class 20 - October 30
Overview of Data Warehousing and OLAP.
Reading: Chapter 29
Project Part3: Project prototype, white-box, and black-box testing.
Class 21 - November 4
Distributed databases.
Class 22 - November 6
Data Warehousing and Advanced Database Applications.
Reading: Chapters 21 and 22
A preliminary review of the project prototype will be conducted during this day.
Class 23 - November 11
Evaluation and Transaction processing. Concurrency control.
Reading: Chapter 12
Class 24 - November 13
Non-structured and textual data management
Readings: Chapter 27
Class 25 - November 18
Oracle and SQL.
Reading: Chapter 24
Class 26 - November 20
XML and databases.
Readings: Chapter 26
Class 27 - November 25
Exam review. Database Security.
Project Part 3: Project system and Evaluation report draft. As part of Project Part 3 brief presentation from each group will be expected (different groups will take turns).
Class presentation requirements review.
Class 28 - December 2
Project Scope and Evaluation Plan: Class presentations.
Project Part 4 : Final project system and evaluation report.
Final Exam, Project Access System and Evaluation Report due by Dec. 11th.
Contact Information
Instructor Office hours: Tuesday 2P-3P. The instructor will be in Room 300A, Manning Hall.
Graduate Assistant Office hours: Thursday 2-3P. The GA will be in Room 300, Manning Hall.
Please do not hesitate to contact the instructor or the GA to schedule other meeting times.
Ph: (919) 610-6230
Fax: (919) 962-8071
Email: jm@unc.edu (instructor)