Module Data Storage and Analysis
School of Electrical and Computer Engineering
Addis Ababa University, Addis Ababa Institute of Technology
Course Number ECEG-4191
Course Title Database Systems: 5 (2,1,2)
Degree Program “Electrical Engineering (Computer)”, Bachelor of Science
Module Data Storage and Analysis
Module Coordinator N.N.
Lecturer -
ECTS Credits 5
Contact Hours (per week) 5
Course Objectives & Up on completion of this course, students will have g gained knowledge of database
Competences to be Acquired system concepts and the ability to:
● understand user requirements/views
● analyze existing and future data processing needs
● develop an enterprise data model that reflects the organization's fundamental
business rules
● develop and refine the conceptual data model, including all entities, relationships,
attributes, and business rules
● integrate and merge database views into conceptual model
● apply normalization techniques
● derive a physical design from the logical design taking into account application,
hardware, operating system, and data communications networks requirements
Course Description/Course Contents
1. Introduction
● Manual file handling systems and limitations
● Traditional File based systems
● Database approach
● Database management system (DBMS)
● DBMS and Components of DBMS Environment
● Database Development Life Cycle
● Some common uses of database
● ANSI-SPARC Architecture
● Multi –user DBMS
2. Relational model
● Data models
● Relational data model
● Relational database
● Database terminology
● Relational constraints
● Schema and instances
3. Conceptual Database Design, E-R modeling
● Database design phase
● Conceptual database design
● Basic concepts of E-R model
● Graphical representation of E-R diagram
● Structural constraints on relationship
● Participation constraints of a relationship
● EER (Enhanced ER or Extended ER) Model Concepts
✓ subclasses/superclasses
✓ specialization/generalization
✓ categories (UNION types)
✓ attribute and relationship inheritance
● Case study: company database
4. Logical Database Design
● ER-to-Relational Mapping Algorithms
✓ Step 1: Mapping of Regular Entity Types
✓ Step 2: Mapping of Weak Entity Types
✓ Step 3: Mapping of Binary 1:1 Relation Types
✓ Step 4: Mapping of Binary 1:N Relationship Types.
✓ Step 5: Mapping of Binary M:N Relationship Types.
✓ Step 6: Mapping of Multivalued attributes.
✓ Step 7: Mapping of N-ary Relationship Types.
● Mapping EER Model Constructs to Relations
✓ Step 8: Options for Mapping Specialization or Generalization.
✓ Step 9: Mapping of Union Types (Categories).
● Informal Design Guidelines for Relational Databases
✓ Semantics of the Relation Attributes
✓ Redundant Information in Tuples and Update Anomalies
✓ Null Values in Tuples
✓ Spurious Tuples
● Functional Dependencies (FDs)
✓ Definition of FD
✓ Inference Rules for FDs
✓ Equivalence of Sets of FDs
✓ Minimal Sets of FDs
● Normal Forms Based on Primary Keys
✓ Normalization of Relations
✓ Practical Use of Normal Forms
✓ Definitions of Keys and Attributes Participating in Keys
✓ First Normal Form
✓ Second Normal Form
✓ Third Normal Form
● General Normal Form Definitions (For Multiple Keys)
● BCNF (Boyce-Codd Normal Form)
5. The Relational Algebra and Calculus (Query processing)
• Relational Algebra
– Unary Relational Operations
– Relational Algebra Operations from Set Theory
– Binary Relational Operations
– Additional Relational Operations
– Examples of Queries in Relational Algebra
• Relational Calculus
– Tuple Relational Calculus
– Domain Relational Calculus
• Example Database Application (COMPANY)
6. Structured Query Language (Schema Definition, Basic Constraints, and Queries)
• Objectives of SQL
• Data Definition Language (DDL)
– CREATE, ALTER, DROP, for database and relation
– Referential integrity options
• Data Manipulation Language (DML)
– Retrieval Queries in SQL
– Simple SQL Queries: SELECT, PROJECT, JOIN
– Aliases, * and DISTINCT, Empty WHERE-clause
– Set operations: UNION, INTERSECTION, MINUS
– Nesting of Queries
– JOINED Relations Feature
– AGGREGATE functions
– GROUPING
– The HAVING clause
– ORDER BY
– Summary of SQL Queries
– Specifying Updates in SQL
– INSERT, DELETE, and UPDATE
– The EXISTS function
– Explicit sets
– NULLs in SQL queries
– SUBSTRING comparison
7. Disk Storage, Basic File Structures, and Hashing
– Disk Storage Devices
– Files of Records
– Operations on Files
– Unordered Files
– Ordered Files
– Hashed Files
✓ Dynamic and Extendible Hashing Techniques
– RAID Technology
Introduction to advanced database system
Pre-requisites Object Oriented Programming(Co-requisite or Pre-requisite)
Semester VII/7
Status of Course Compulsory
Teaching & Learning Methods Lectures, tutorials, lab exercises, project, etc
Assessment/Evaluation & Project and Assignment (30%), Tests (30%), and Final Exam (40%)
Grading System
Attendance Requirements Minimum Attendance 75 %
Literature Textbook:
▪ Elmasri, Navathe: Fundamentals of Database Systems
References:
▪ Silbershatz, Korth, Sudarshan: Database system concepts
▪ Raghu Ramakrishnan, Johannes Gehrke: Database management systems
▪ H.C. Mollina, J.D. Ullman, J. Widom: Database system, the complete book
▪ Pervasive Software Inc., Database design guide