Data Modelling and Database Design
DSI Acad. year 2004/2005 Winter semester 6 credits
Language of instruction
Subject specific learning outcomes and competences
- Ramakrishnan, R.: Database Management Systems. WCB/McGraw-Hill, 1998, 741 p.
- Date, C.J.: An Introduction to Database Systems. Sixth edition. Addison-Wesley, 1995, 839 p.
- Silberschatz, A., Korth ,H.F, Sudarshan, S.:Database System Concepts. Fourth Edition. McGRAW-HILL. 2001, 1064 p.
- On-line help and documentation of Oracle and Gupta products.
Syllabus of lectures
- Fundamental concepts of database systems. Introduction to products used for projectsin a laboratory (Oracle and Centura at present).
- Conceptual modelling. Transformation of an ER diagram and a class diagram a relational database schema.
- SQL language, data definition. SELECT statement (fundamentals).
- SQL language: SELECT statement (extension), other statements for data manipulation. System catalogue.
- SQL language: embedded SQL, cursor, dynamic SQL. Query by example (QBE).
- The relational model: data structure, data integrity in the relational model, relational algebra, relational calculus.
- Schema normalization: introduction to dependency theory, normal forms.
- Data organization at the internal level, indexing, B+ tree, hashing.
- Data security and integrity. Using declarative integrity constraints, stored procedures and triggers. Query optimization.
- Transaction processing. Failure recovery.
- Concurrency control - serialization, locking, timestamping, isolation levels of transactions. Transaction processing in SQL.
- Client/server and multi-tier architectures. Introduction to distributed database systems: problems, data fragmentation and replication, distributed transaction processing.
- Current trends in database technology: postrelational database systems (mainly object-oriented and object-relational), access to databases from WWW.
Syllabus - others, projects and individual work of students
- Presentation of a conceptual model (a class diagram and a use case diagram) from Software engineering modified with respect to the extent of realization.
- Realization of the database application in one of the two development and databaze environments.