Database I:
Introduction to Database (INLS 523 )
Dr. Javed Mostafa
Tuesday & Thursday, 11:00-12:15PM
208 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 2010. Below are recommended books (watch this space for additional recommendations).
Microsoft Access 2010 Bible
Michael R. Groh, Wiley, 2010.
Access 2013 Bible
Michael Alexander and Dick Kusleika, Wiley, 2013.
Course Outline & Calendar
Class 1 - August 20
Introduction to the class and distribution of the syllabus. Important dates, exam, and assignments described.
Class project requirements discussed.
Class 2 - August 22
Database systems overview. Database system evolution: From file systems to object-oriented systems.
Readings: Chapter 1
Class 3 - August 27
Database planning and requirements specification.
Class 4 - August 29
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 3
Data modeling continues.
Readings: Chapters 7 and 8
Class 6 - September 5
Logical model of databases: Relational systems.
Readings: Chapter 3
Class 7 - September 10
Relational algebra and relational calculus.
Readings: Chapters 6
Class 8 - September 12
Data model to schema conversion.
Readings: Chapter 9
Class 9 - September 17
Database design refinement. Database querying introduced.
Readings: Chapter 4
Class 10 - September 19
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 24
Advanced SQL and SQL Programming.
Readings: Chapter 5
Class 12 - September 26
Usability, life-cycle, and evaluation of DB systems.
Readings: To be assigned.
Class 13 - October 1
Usability, life-cycle, and evaluation of DB systems (Contd.).
Readings: Chapter 10
Project Part1: Conduct requirements specification and data modeling.
Class 14 - October 3
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 8
Physical DB system: Disks, files, and hashing I
Reading: Chapter 17
Class 16 - October 10
Physical DB systems II
Reading: Chapter 17
Fall Break Week - Hands-on Project Review and Intro to MS Access -- Oct 15
Along with the Intstructor teaching assistant will be in Room 208 Manning
Project part 1 returned and next project part distributed
Project Part2: Convert project data model to schema.
Class 17 - October 22
Indexing structure of files
Introduction to Oracle DB environment.
Readings: Chapter 18 plus to be assigned.
Class 18 - October 24
Oracle DB design continues. Distributed DBs and Client-Server Systems
Readings: Chapter 21 plus to be assigned.
Class 19 - October 29
Advanced topics: Data analysis and mining. Domain focus: Biomedicine.
Reading: To be assigned.
Assignment 3: Oracle SQL, table creation and report generation.
Class 20 - October 31
Overview of Data Warehousing and OLAP.
Reading: Chapter 29
Project Part3: Project prototype, white-box, and black-box testing.
Class 21 - November 5
Guest Speaker: Advanced Database Applications.
Class 22 - November 7
Transaction processing. Concurrency control.
Reading: Chapters 21 and 22
A preliminary review of the project prototype will be conducted during this day.
Class 23 - November 12
XML: Extensible Markup Language
Reading: Chapter 12
Class 24 - November 14
Non-structured and textual data management
Readings: Chapter 27
Class 25 - November 19
Database security.
Reading: Chapter 24
Class 26 - November 21
Beyond structured data management. Temporal, Spatial, and Multimedia data. Exam review.
Readings: Chapter 26
Reminder: Project Part3: Develop white-box and black-box test suite.
Project Part 4: Final project system and evaluation report. A brief presentation from each group will be expected (different groups will take turns). Class presentation requirements review.
Class 27 - November 26
Class presentatons and wrap-up.
Class 28 - December 3
Class presentations.
Final Exam, Project Access System and Evaluation Report due.
Contact Information
Instructor Office hours: Tuesday 2P-3P. The instructor will be in Room 300A, Manning Hall.
TA Office hours: Thursday 2-3P. The TA 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)