Show The Graduate Center Menu

Database Management Systems

 
 

Database Management Systems

Instructor: Professor Abdullah Uz Tansel

Baruch College
55 Lexington Avenue (Corner of 24th Street)
Office 235 (11th Floor)
Tel:  (646) 312 3366
Office Hours: TBA
 

Description

Database Management Systems (DBMS) are vital components of modern information systems. Database applications are pervasive and range in size from small in-memory databases to terra bytes or even larger in various applications domains. The course focuses on the fundamentals of knowledgebase and relational database management systems, and the current developments in database theory and their practice.

The course reviews topics such as conceptual data modelling, relational data model, relational query languages, relational database design and transaction processing and current technologies such as semantic web, parallel and noSQL databases. It exposes the student to the fundamental concepts and techniques in database use and development as well provides a foundation for research in databases.

The course assumes prior exposure to databases, specifically to the relational data model and it builds new technologies on this foundation. In the first half of the course the relational data model, relational query languages, relational database design and conceptual data modelling are reviewed. It then focuses on XML, RD, OWL, parallel, and noSQL databases. It also bridges databases and knowledgebases which is the current trend.

The course requires a term project in which the student implements a database application or explores a database issue.

We will use PostgresSQL as the database platform for doing the assignments.

 

Course Objectives

  • Help students to raise their understanding of Knowledgebase and Databases.

  • Understand the role that DBMS play in different application domains and how they are used.

  • Identify problems and opportunities that can benefit from Knowledgebase and Databases support.

  • Understand the key DB components such as data modeling, query languages and query processing, etc. and identify the issues in them.

  • Understand key concepts in knowledge representation, ontologies and inferencing.

  • Develop an understanding of trends in the DBMS field.

  • Prepare students to do research in DBMS and/or knowledge representation.

  • Appreciate the crucial role that Knowledgebase and Databases play in students’ career as well as in society in the 21st century.

 

Learning Goals

The course content is balanced on theory and practice, the course aims at achieving the following learning outcomes:

  • An appreciation of pervasive use of Knowledgebase and DBMS in different application domains.

  • Skill for developing database applications.

  • Skills for devising data models and query languages.

  • Skills for developing web database applications.

  • Learning storage and indexing of data.

  • Learning transaction processing and database recovery.

  • Learning knowledge representation and semantic web technologies.

  • Skills to integrate knowledge to databases.


Course Requirements

Prerequisite: An introductory database course
 

Textbook

 

  • Database Management Systems, R. Ramakrishnan, J. Geherke, McGraw-Hill, Third Edition, August 2003.

  • Elmasri, Navathe book may also be used as the textbook.

  • Textbook will be supported with the reading material from the list of supplementary references.

 

Evaluation and Grading

  • Class participations, discussions and attendance are a critical component of the course and accounts 10% of the term grade.

  • Four written assignments will provide the students the opportunity to appreciate the theoretical underpinnings of the databases systems and comprise 20% of the term grade. These are on data modeling (Entity/Relationship data model), query languages (Relational Algebra and Relational Calculus), database design, and Resource Definition Framework or Ontology Web Language for knowledge representation.

  • Two programming assignments and a term project will provide the opportunity for the students to develop technical skills and comprise 20% of the term grade. The first project is on Structured Query Language and the second one is on the web database programming. The database project involves a complete database application development from design to implementation or a deeper investigation of a topic in databases and knowledgebases.

  • A mid-term and a final exam, each is 25%.

 

Course Delivery

The course includes lectures by the instructor. Student participation is expected and encouraged.

 

Tentative course outline

Following is a tentative course outline. Depending on the students’ prior exposure to DBMS we will rework it at the beginning of the term.
 

Week Topic
1 Course introduction and database concepts, Relational data model (RG Ch 1, U Ch 1)
2 Relational query languages: Relational Algebra and Calculus, Datalog, SQL, QBE and their expressive power (RG Ch 3,4,5, U Ch 3)
3 Relational query languages continued
4 Advanced SQL: Triggers, Embedded SQL, recursion
5 Database application development, Web database programming
6 Web database programming continued
7 Basic data concepts, Conceptual data modelling, E/R data model, OO data model (RG Ch 2, U Ch 2) – by the instructor
8 Midterm Exam
Relational database design, Normal Forms (NF), 1-4NF, Lossless join decomposition
9 XML, XPath and XQuery (RG Ch 27)
10 Ontology and Data Model (PDF)
Semantic Web, RDF, RDF Schema, and OWL
11 Storage and indexing, Query processing and optimization
12 Parallel and distributed databases
  NoSQL databases
13 Transaction processing and database recovery
14 Database security, Current developments in knowledgebase and database developments and the future, Big data & Hadoop
 

Supplementary References

  • Database System Concepts, Avi Silberschatz, Henry F. Korth, S. Sudarshan, Sixth Edition, 2011.

  • Fundamentals of Database Systems Benjamin Cummings, Elmasri, R., Navathe, S., Sixth Edition, 2011.

  • Database System: The Complete Book, H. Garcia-Molina, J. Ullman, J. Widom, Prentice Hall, June 2002.

  • Principles of Database and Knowledge-Base Systems, Vol. 1, J. Ullman, Computer Science Press, 1988.

  • http://www.postgresql.org/.

  • XML tutorial: http://www.stylusstudio.com/sqlxml_tutorial.html

  • XSD Tutorial: XML Schemas For Beginners: http://www.codeguru.com/java/article.php/c13529/XSD-Tutorial-XML-Schemas-For-Beginners.htm

  • We may also read articles from:

    • Proc. of SIGMOD Conf: ACM-Special Interest Group on Management of Data

    • Proc. of the Very Large DB(VLDB) Conf.

    • Proc. of IEEE Data Engineering Conf.

    • TODS: ACM Transactions on Database Systems.

    • IEEE /KDE: IEEE Trans. on Knowledge and Data Engineering

    • TOIS: ACM Transactions on Office Information Systems.

    • DBLP, http://dblp.uni-trier.de/