Al-Balqa’ Applied University جامعـة البلقــاء التطبيقيـة Faculty of Engineering Technology كلية الهندسة التكنولوجية Department of Computer Engineering 1997 تأسست سنة قسم هندسة الحاسوب Course Name: Database Systems Course No.: 30102421 Credit hours: 3 Prerequisite: 30102325 Instructor: Eng. Randa Al_Dallah Email: Randa.Dallah@Fet.edu.jo First Semester 2013 / 2014 Class Times: Class 1: Sun, Tue, Thu 10 - 11 in 1801 Class2: Sun, Tue, Thu 12 – 1 in 1732 Course Description This course introduces basic concepts and implementation techniques in database management systems: disk and memory management; advanced access methods; implementation of relational operators; query processing and optimization; concurrency control and recovery. Course Materials: Required Text(s): Fundamentals of Database Systems, Elmasri & Navathe, 6th edition Addison Wesley, 2010. Database System Concepts, Abraham Silberschatz, Henry Korth & Sudarshan, 6th edition 2011. General References: Database Management Systems, Raghu Ramakrishnan & Johannes Gehrke. McGraw Hill, 2003. Database Systems, Kifer, Bernstein & Lewis. 2nd edition Addison Wesley, 2006. An introduction to database systems, by Date C.J. Adison Wesley. Database Systems, The Complete Book, Hector Garcia-Molina, Jeffrey D. Ullman, Jennifer Widom, Prentice Hall, 2002. Designing Effective Database Systems, Rebecca M. Riordan, Addison Wesley 2005. Course Outline Chapter 1: Introduction to Database Systems 1.1 General Definition Database Database Management System (DBMS) Database System 1.2 Database Systems Vs File Systems The disadvantages of using file systems to store data Chapter 2: Database System Concepts and Architecture 2.1 Data Models and their Categories 2.2 Schemas Versus Instances 2.3 DBMS Architecture and Data Independence Three-Schema Architecture Data Independence 2.4 Database Languages 2.5 Database Users System Analysts Database Designers Application Developers Database Administrators End Users Chapter 3: Data modeling using the Entity-Relationship Model 3.1 Design Phases. Phase 1: Requirements collection and analysis. Phase 2: Conceptual Design. Phase 3: Logical design (data model mapping). Phase 4: Physical design. 3.2 The Entity-Relationship (ER) Model. Entity Types, Entity Sets, Attributes, and Keys. Null Values. Relationship. The degree of a relationship type. 3.3 Structural Constraints on relationship. Cardinality ratio. Participation Constraints. Alternative (min, max) notation for relationship structural constraints. 3.4 Weak Entity Types. 3.5 An Example of Database Application (COMPANY Database). Chapter 4: Enhanced Entity-Relationship (EER) Modeling 4.1 Subclasses and Superclasses 4.2 Specialization 4.3 Generalization 4.4 Constraints on Specialization and Generalization Membership Constraints. Belonging Constraints. Completeness Constraints. 4.5 An Example of Patient EER Schema Chapter 5: ER-and-EER-to-Relational Mapping 5.1 ER-to-Relational Mapping Step 1: Mapping of Regular Entity Sets. Step 2: Mapping of Weak Entity Sets Step 3: Mapping of Binary 1:1 Relationship Sets Step 4: Mapping of Binary 1:N Relationship Sets. Step 5: Mapping of Binary M:N Relationship Sets. Step 6: Mapping of Multivalued attributes. Step 7: Mapping of N-ary Relationship Sets. Summary of Mapping constructs and constraints 5.2 EER-to-Relational Mapping Step8: Options for Mapping Specialization or Generalization. o Option 8A: Multiple relations-Superclass and subclasses. o Option 8B: Multiple relations-Subclass relations only o Option 8C: Single relation with one type attribute. o Option 8D: Single relation with multiple type attributes. Chapter 6: The Relational Data Model and Relational Database Constraints. 6.1Relational Model Concepts Informal Definitions Formal Definitions Characteristics of Relations 6.2 Keys' Types Super key Key Primary Key Alternative Key 6.3 Relational Integrity Constraints Domain constraints Key constraints Entity integrity constraints Referential integrity constraints Semantic Integrity Constraints 6.4 Update Operations and Dealing with Constraint Violations Insert Operation Delete Operation Update Operation Chapter 7: Basic SQL 7.1 SQL Data Definition and Data Types. 7.2 Specifying Constraints in SQL. 7.3 Basic Retrieval Queries in SQL. 7.4 INSERT, DELETE, and UPDATE Statements in SQL. Chapter 8: Relational Algebra 8.1 Introduction 8.2 Unary Relational Operations. Select Operator (σ) Project Operator (π) Rename Operator (ρ) Assignment Operator (←) 8.3 Binary Relational Operations. Set Operators o Union Operator ( ) o Intersection Operator (∩) o Set Difference or Minus Operator (-) Cartesian Product Operator (×) Join Operator o Theta Join ( ϴ) o Natural Join ( ) or (*) 8.4 Examples of Queries in Relational Algebra. Chapter 9: Functional Dependences and Normalization 9.1 Problems of relational design Informal Guidelines Design for Relational Databases o Semantics of the relation attributes. o Redundant values in tuples and update anomalies. o Null values in tuples. o Generating spurious tuples. 9.2 Functional dependences. Definitions. Trivial VS. Nontrivial FDs Inference Rules for Functional Dependencies. o Armstrong’s Axioms o Additional Inference rules Closure of attribute sets, X+ 9.3 Normalization. Definitions. First Normal Form (1NF) Second Normal Form (2NF) Third Normal Form (3NF) Boyce-Codd Normal Form (BCNF) Chapter 10: Concurrency Control Techniques. 10.1 Introduction to Transaction Processing. 10.2 Two-Phase Locking Techniques for Concurrency Control. 10.3 Concurrency Control Based on Timestamp Ordering. 10.4 Multiversion Concurrency Control Techniques. Chapter 11: Algorithms for Query Processing and Optimization Evaluation Strategies First exam Second exam Assignment Final exam 20% 20% 10% 50%