Instructor Information

Dar-Ning Kung

Cell Phone: 240-888-4442

Course Information

Course Description

This course examines the underlying concepts and theory of database management systems. Topics include database system architectures, transaction management, data models, query languages, conceptual and logical database design, and physical organization. The entity-relationship (ER) model, using ER diagram (ERD) and Enhanced ERD, as well as relational models, are investigated in detail. Object-oriented databases are introduced along with legacy systems based on the network. Hierarchical models as well as big data and NoSQL are also briefly described. Mappings from the conceptual level to the logical level, integrity constraints, dependencies, and normalization are studied as a basis for formal design. Theoretical languages such as the relational algebra and the relational calculus are described, and high-level languages such as SQL, triggers and Stored Procedures are discussed. An overview of file organization and access methods is provided as a basis for discussion of query optimization and execution. The course also covers the causes of performance problems and how to improve database application performance during database design and implementation.Course prerequisite(s): 605.202 Data Structures.

Course Goal

To master the important fundamental concepts, theory of data modeling and design, the languages and facilities provided by database management systems, and techniques for implementing relational database systems, and apply the database knowledge to practice in a real world.

Course Objectives

  • Interpret an entity relationship diagram (ERD) to express business requirements; demonstrate skills to model users' data requirements; be able to use both Chen's and IE notations for database design; and understand the three main phases of database design, namely: conceptual, logical, and physical design

  • Describe enhanced entity relationship (EER) model and learn how to map ER and EER model concepts to relations, and understand why normalization is important and how normalization supporting database design
  • Use SQL to create tables, constraints, views, triggers, and stored procedures; populate data into tables, retrieve data, and perform database updates
  • Illustrate file organizations and indexes for relational databases and describe the causes of performance problems and how to improve database application performance

When This Course is Typically Offered

This course is typically offered online in the spring, summer, and fall terms.

Syllabus

  • Introduction to Databases
  • Conceptual Database Design
  • Entity Relationship Diagram (ERD)
  • Enhanced ER (EER) Model Concepts
  • Relational Data Model and Relational Database Constraints
  • Relational Algebra
  • Normalization
  • Structured Query Language (SQL)
  • Advanced SQL
  • File Structure and Indexes
  • Database Performance Issues

Student Assessment Criteria

Preparation and Participation (Online) 10%
Homework (Online) 10%
Mid-term Examination (Online) 20%
Database Project (Online) 40%
Final Examination (Online) 20%
Homework (Classroom) 10%
Mid-term Examination (Classroom) 25%
Database Project (Classroom) 40%
Final Examination (Classroom) 25%

Four homework assignments will be given during a semester.Each assignment is worth at least 20 points.Students will have a week to complete each assignment and submit it.The filename for the homework should include your name (e.g., HW1 Smith,John.doc) and homework number.In addition, you need to include to your name and homework number in the file itself.

Individual projects will focus on database design and implementation with a proper document.  A student is required to use SQL to create at least 12 tables with constraints based on their database design.  Students will implement views, triggers, stored procedures or functions in the advanced feature section.  A database application with GUI is optional.  Individual project presentations with lessons learned to the class may be required. The database project including ERD must be done using a CASE tool or diagramming tool, e.g., MS Visio, ERwin, MySQL Workbench and MS Access.  How to use Visio will be discussed in class lecture.

For online sessions in spring, summer and summer, midterm and final exams are take-home and open book.

For a classroom session, midterm and final exams are closed book and close notes.  Each exam lasts two and one half hours.

A grade of A indicates achievement of consistent excellence and distinction throughout the course—that is, conspicuous excellence in all aspects of assignments and discussion in every week.

A grade of B indicates work that meets all course requirements on a level appropriate for graduate academic work. These criteria apply to both undergraduates and graduate students taking the course.

100–90 = A

89–70 = B

69–60 = C

<60 = F

Computer and Technical Requirements

Blackboard: Please go to  https://blackboard.jhu.edu/.  You need to have your JHED ID and password to login.

Zoom meeting information for students: Please go to https://uis.jhu.edu/zoom/students/.

Participation Expectations

Students are responsible for obtaining their own database design tools (e.g., MS Visio, MS Access, MySQL Workbench, and so on) for conceputal and logical database design, relational database management systems (RDBMS, e.g., MS Access, MySQL, Oracle, MS SQLServer, and others) and working on SQL exercises and a database project.

Discussions in-class or off-class using Blackboard are encouraged.  All students in an online session are required for Blackboard discussions to fulfill class preparation and participation.

This course will use Adobe Connect to facilitate weekly, synchronous office hours. You are not required to participate in office hours; however, you may find them very beneficial for receiving more timely answers to questions related to the course content, assignments, and students' questions.

Textbooks

Textbook information for this course is available online through the MBS Direct Virtual Bookstore.

Course Notes

There are no notes for this course.

Final Words from the Instructor

This course will stress conceptual database design, normalization, SQL as well as implementation. Students will learn how to apply database knowledge to deal with real world database issues such as performance.

(Last Modified: 08/26/2020 08:58:49 PM)