Credits and Contact Hours
3 credits, 43 hours
Course Instructor Name
Dr. Mohammad Allaho, and Dr. Abdullah Alshaibani
Textbook
Database Management Systems, Raghu Ramakrishnan and Johannes Gehrke, 3rd Edition
Fundamentals of Database Systems, Ramez Elmasri and Shamkant B. Navathe, 7th Edition
Catalog Description
Principles of database systems: History and motivation, DBMS functions, database architectures, use of a database query language. Data modeling: conceptual models, object-oriented model, and relational data model. Relational databases: conceptual schema and relational schema, and integrity constraint. Relational algebra and relational calculus. Functional dependencies and normal forms. Database query languages. Relational database design. The course stresses basic concepts and presents many examples from existing database systems. A database design and implementation project of a real world application is required, using modern database management tools.
Prerequisite
CpE-207
Co-requisite
CpE-342
Specific Goals for the Course
Upon successful completion of this course, students will be able to:
Recognize the importance of database management in modern applications. (Student outcomes: 1, 2, 4)
Differentiate between database models and the advantages and disadvantage of each model. (Student outcomes: 1, 2, 4)
Write program in SQL and Embedded SQL. (Student outcomes: 1, 2)
Learn the importance of security and integrity in databases and how to set and reset access permissions to database objects. (Student outcomes: 4)
Understand the importance of transaction processing and concurrency control in database systems. (Student outcomes: 1, 2, 4)
Model a real-life problem using database modeling techniques, to use CASE tools in their database implementation. (Student outcomes: 1, 2, 4)
Learn how to map their models into database tables and how to check for correctness, and how to normalize their design for maximum efficiency. (Student outcomes: 1, 2)
Learn the advantage of using database systems in shortening the life cycle of software creation. (Student outcomes: 4)
Learn how to improve the performance and consistency of the software through using formal design and query methods. (Student outcomes: 1, 2, 4)
Learn how to divide the roles and task to achieve the project completion, learn how to communicate and discuss ideas between team members, and learn how to write and present their work in formal reports. (Student outcomes: 4, 5)
Topics to Be Covered
Introduction to Basic Concepts of Database Management Systems
Logical, Conceptual, and Physical Design Phases
Enhanced Entity Relationship Model
Relational Data Models and Relational algebra
Standard Query Language SQL
Schema refinement and normalization
Disks, Records, and Files
Hashing and B-Trees
Query Optimization Theory and Practice
Transaction Processing and Concurrency Control in Databases Theory and Practice
Database Integrity and Security Models
Database/Internet Connectivity Middleware
Cloud Services (AWS, Azure)
MongoDB