This course examines the underlying concepts and theory of database
management systems. Topics include database system architectures, data
models, query languages, conceptual and logical database design, physical
organization, and transaction management. The entity-relationship model and
relational model are investigated in detail, object-oriented databases are
introduced, and legacy systems based on the network and hierarchical models
are 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 and
QBE are discussed. An overview of file organization and access methods is
provided as a basis for discussion of heuristic query optimization techniques.
Finally, transaction processing techniques are presented with a specific
emphasis on concurrency control and database recovery.
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
Homework (Classroom) 10%
Mid-term Examination (Classroom) 25%
Database Project (Classroom) 40%
Final Examination (Classroom) 25%
Preparation and Participation (Online) 10%
Homework (Online) 10%
Mid-term Examination (Online) 20%
Database Project (Online) 40%
Final Examination (Online) 20%
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 a face-to-face session, midterm and final exams are closed book and close
notes. Each exam lasts two and one half hours.
For online sessions in spring, summer and summer, midterm and final exams
are take-home and open book.
Computer and Technical Requirements
need to have your JHED ID and password to login.
Adobe Acrobat Connect Pro @ Johns Hopkins: Please go
.
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
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