Transcript Supplementary textbook
School of Computer Science
• Textbook: An Introduction to Database Systems,
By C. T. Date, 8th edition, Addison Wesley, 2004
• Supplementary textbook: Elmasri and Navathe,
Fundamentals of Database Systems, Fourth
Edition, Addison-Wesley, 2004
• Instructor: Dr. Abdolreza Abhari (ENG264)
• Office hours: Wednesday – Friday: 2:30 PM –
• Topic 1 – An overview of database and DBMS
• Topic 2 – Database System Architecture (Conceptual,
Internal and External schema )
• Topic 3 – Data modeling and ER model
• Topic 4 – Relational Databases
• Topic 5 – Relational Model Query Languages (RA,
• Topic 6 – SQL
• Topic 7 – Database Design
• Topic 8 – Physical Database Organization
• Topic 9 – Other Types of Databases
• Project – 25% (group work, each group with
• Mid-term – 35% (tentatively Oct. 18)
• Final exam – 40%
You cannot pass the course without getting a passing
grade in the project and your mid-term mark +
final exam mark must not be less than 75/2=38%.
There will be no make-up test/exam.
• Lab hours will be used for the project
• Your project consists of several phases.
• As a group, you need to submit a single report
after completing each phase.
• Your report must be submitted to the T.A. during
the lab hours.
• The DBMS will be DB2 running on Unix
Project: Database application
• Suggestion: A university database system.
• Select an application that involves 5-10 entities
and 5-10 interesting relationships among the
• You should be familiar with the data requirements
of the selected application.
Project: Logical Database Design
• Group formation: Sep. 13 (Inform the lab TA)
• Application selection: Sep. 20th (Finalize the
application in consultation with the lab TA.
Submit a report on description of the application
• ER model: Sep. 27 (4%)
• Schema design: Oct. 11th (Normalization as
discussed in the class 5%)
• End of logical database design
• Midterm: Oct 18 (tentatively)
• Database construction/populating the
database: (Using DB2 and SQL)
• Designing Views/Quarries: (Using DB2 and SQL
and Unix shell programming)
• Testing & validation: Nov 8
• Optimization: Nov 15 (2%)
• Final demonstration of database application.
Nov 22th (There should be brief comments on the
code about any special cases 6%)
• Submission of the Final report: Nov 29 (6%)
• Before the age of database systems, data-intensive
computer systems often involved a maze of
• Question: Why we need database systems?
• Consider an insurance company, for example.
One division might be processing claims, and
there might be many thousands of such claims
every day. Another might be keeping track of
hundreds of thousands of subscriber accounts,
processing premium payments and maintaining
• The actuarial division might be maintaining statistics on
the relative risks of various kinds of subscribers.
• The underwriting division might be developing group
insurance plans and calculating appropriate premium
• The actuaries need access to claim data in order to
calculate their statistics.
• The underwriters need access to subscriber information for
• The claims personnel need access to underwriting data and
subscriber information in order to know who is covered
and how, and so on.
• A large company maintains massive amounts of
data, and its various employees must share that
data, and share it simultaneously.
• In fact, the example illustrates the two key
properties of a database system: Such a system
must allow the enterprise (a) to integrate its data
and (b) to share that integrated data effectively.