Download CIS 8040 – Fundamentals of Database Management Systems

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

DBase wikipedia , lookup

Tandem Computers wikipedia , lookup

Relational algebra wikipedia , lookup

Serializability wikipedia , lookup

Microsoft Access wikipedia , lookup

Extensible Storage Engine wikipedia , lookup

IMDb wikipedia , lookup

Entity–attribute–value model wikipedia , lookup

Ingres (database) wikipedia , lookup

Microsoft SQL Server wikipedia , lookup

Microsoft Jet Database Engine wikipedia , lookup

SQL wikipedia , lookup

Open Database Connectivity wikipedia , lookup

Oracle Database wikipedia , lookup

Concurrency control wikipedia , lookup

PL/SQL wikipedia , lookup

Database wikipedia , lookup

ContactPoint wikipedia , lookup

Clusterpoint wikipedia , lookup

Relational model wikipedia , lookup

Database model wikipedia , lookup

Transcript
CIS 8040 – Fundamentals of Database Management Systems
Course Syllabus
Prerequisites:
CIS 3210 or CIS 3260.
Textbook & Supplementary material:
Fundamentals of Relational Database Management Systems, By S. Sumathi and S. Esakkirajan, SpringerVerlang, 2010, ISBN 978-3-642-08012-8; eISBN 978-3-540-48399-1. (referred to below as S&E)
A good supplementary resource: http://ovid.cs.depaul.edu/Classes/CSC355-S14/CSC355-links.htm
Suggestions for (optional) reading material from students are also appreciated (please email them to me).
Course Catalog Description:
Developing and managing efficient and effective database applications requires understanding the
fundamentals of database management systems, techniques for the design of databases, and principles of
database administration. This course emphasized database concepts, developments, use and management
in three main sections: database concepts, practice, and emerging trends. Relational database systems are
the main focus, but other types, including object- oriented databases, are studied. Practical design of
data-bases and developing database applications using modern software tools will be emphasized.
Detailed Course Description:
Upon successfully completing this course, the student will:
1) Understand the fundamentals of relational, object-oriented, and distributed database systems
including: data models, database architectures, and database manipulations
2) Understand the theories and techniques in developing database applications and be able to
demonstrate the ability to build databases using enterprise DBMS products such as Oracle or SQL
Server.
3) Be familiar with managing database systems
4) Understand new developments and trends in databases.
Course Project:
The project consists of a research report and presentation on a topic of your choice that is relevant
to the course. It is group-based. Check the course site for details.
Course Software:
Oracle SQL Developer will be used for hands-on activities. It is an integrated environment for the
development and management of Oracle Database and is available to you for free. Check the
course site for download instructions.
Typical class session:
Class sessions will comprise (1) lecture/discussion of certain database software concepts and features,
(2) instructor demonstrations of these same database software concepts and features, and (3)
student lab sessions working with these same database software concepts and features.
The purpose of this pedagogical approach is to introduce and reinforce ideas and skill sets so that
students can master these on their own after class hours. To bring this knowledge to a highly proficient,
professional level, students will have to spend time and effort outside of class using the system.
To ensure that you have the basic knowledge that will allow you to function on your own after
class, be sure to ask the instructor questions during class, either during the lecture/discussion,
demo, or lab.
Schedule of Classes (also check the “schedule of readings & questions” in the next table)
Week
Topic
1
Introduction to database
management systems Basic concepts
Database Modeling
Deliverables
Project
assignment
References
S&E: Ch. 1 – pp. 1-20
S&E: Ch. 2 – pp. 3142; 51-53; 60
Downloads
Hierarchical Data Model
Network Data Model
Intro. Slides
DBMS Concepts Slides
Semantic Modeling Slide
2
The Relational Data
Model
Lab 1
assigned
Conceptual Design:
Mapping Relational
Model
3
SQL an introduction
ER for class example
S&E: Ch. 3 – pp. 7289
Mapping the ER Model Slides
Relational Data Model Slides
Perfect Pets Practice Specs
Perfect Pets ER Solution
Lab 1 due
SQL (DDL)
S&E: Ch. 4 - pp. 169191; 201
Oracle SQL Developer Installation
SQL Slides
SQL (DML)
SQL (Oracle specific)
4
S&E: Ch. 3 – pp. 6571
S&E: Ch. 5 – 213-267
S&E: Ch. 6 – pp. 288311
Oracle SQL / Oracle DDL
Oracle Char. Func.
Oracle Numeric & Date Functions
Oracle Parameters, Variables, &
Views
Oracle PL/SQL Intro.
R.A. Example Answers from Inclass exercise
5
6
Midterm
Relational Commands,
Embedded SQL, Stored
Procedures, Triggers
Exam Review Functional
Dependencies,
Normalization
Lab 2
assigned
S&E: Ch. 7 - pp. 319334
Guest Speaker
7
Database administration
– Transaction
Management
– Concurrency
ContolObject
Distributed and Cloud
Databases
Relational Views and the System
Catalog Slides
Lab 2 due
Lab 3&4
assigned
Topic: the evolution of
thinking towards
DBMS
S&E; Ch. 8; pp. 353370
Normalization
Slides
Kent's Five Normal Forms Article
Matt McGivern; Managing
Director, Business Intelligence &
Data Governance Lead at Protiviti
Database Administration
Oracle User Creation
Topic: Database
management & Big
data
Guest Speaker
8
Big Data & NoSQL
Lab 3&4 due
Final Exam
Group
Project due
Flavio Villanustre; VP Infrastructure & Security at
HPCC Systems & LexisNexis
Overview of Big Data and
NoSQL
*While we will follow this syllabus throughout the term, some changes might be necessary.
Schedule of Readings & Questions
Session
1
Topic
Introduction to
database
management
systems - Basic
concepts
Database
Modeling
3
6
SQL an
introduction
Readings
Codd, E. F. “A Relational Model of Data
for Large Shared Data
Banks.” Communications of the ACM 13,
no. 6 (1970): 377-387. (Focus on sections
1.3 and all of section 2.) (available
through library – requires username &
password)
Questions
1. What is the notion of data independence? Why is
it important?
2. Codd spends a fair amount of time talking about "Normal
forms". Why is it important that a database be stored in
a normal form?
Jim Melton, 2006, “Database Language
1. What do we learn from the evolution of SQL? What’s
the road ahead?
SQL”, pp 105-132, In Handbook on
Architectures of Information Systems,
Ed. P. Bernus, K. Mertins, G. Schmidt
(book freely available online)
3. What are the key ideas behind the relational model? Why
are they an improvement over what came before? In
what ways is the relational model restrictive?
4. What, according to Codd, are the most important
differences between the "hierarchical" model (as
exemplified by systems like IMS) and the relational
model that Codd proposes? Make sure you understand
what Codd means by "Data Dependencies".
Exam Review
1. What problems does schema normalization solve? Do you
Functional
Dependencies,
Normalization
2. What is the distinction between BCNF and 3NF? Is there a
believe that these are important problems?
reason to prefer one over the other?
3. Think about a data set you have worked with recently, and
try to derive a set of functional dependencies that
correspond to it. What assumptions did you have to make
in modeling your data in this way?
4. How is it that ER modeling generally leads to BCNF/3NF
schemas?
7
Database
administration
Franklin, Michael. 1997. "Concurrency
Control and Recovery." The Computer
Science and Engineering Handbook. pp.
1058-1077 ( PDF)
1. What is the tradeoff between coarse granularity (e.g.,
table-level) and fine granularity (e.g., tuple-level) locks in
a database system?
2. What are the performance tradeoffs between the
different degrees of locking?
8
Big Data &
NoSQL
Chang, F. et al. "Bigtable: A
Distributed Storage System for
Structured Data." OSDI, 2006. ( PDF).
Ovide, S. Once Again, Oracle Must
Reinvent Itself; As Larry Ellison Leaves
CEO Post, Company Faces Major Shifts
Reshaping Its Market. Wall Street Journal
Sept. 19, 2014 (available through library).
1. In what ways does Bigtable replicate the behavior of a
relational database? How is it different?
2. Could Google have built Bigtable using a relational
system? Would that have been a good idea? Why so?
3. What consistency guarantees does Bigtable provide in
the face of failures?
4. What is a distributed lock service?