Database Modeling and Design
About the CourseIn this course, you will achieve expertise in two topics, database modeling and database design. Databases are the fundamental technology adopted in all information systems worldwide, since they allow organizing, storing and retrieving digital data that are useful for both personal activities and decisions, and for core activities of enterprises and public administrations. Digital data managed in databases are at the basis of a huge amount of digital services and apps we use every day.
Referring to the modeling capability, the course introduces two models widely adopted to represent databases, the Relational model and the Entity relationship model. The Relational model is used by the majority of software systems that manage databases, while the Entity relationship model, that is provided of an user friendly diagrammatic representation, is adopted in the early stage of the database design process.
Referring to the design capability, the database design process starts usually with a natural language or pictorial description of user requirements; it is worthwhile to represent initially such description using the Entity Relationship model, that is understandable by users, and provides a rich set of semantic characteristics of data. The result of the design activity at this stage is a database schema. After that, the design can proceed translating the Entity Relationship schema into a logical schema in the relational model. Such translation has to be performed using several practical rules that have the goal to optimize the relational schema w.r.t. queries and transactions performed by users. Once obtained the logical schema, one can add to relations (last step) data that represent, in our case, the students, courses and exams.
The course assumes you are familiar with basic mathematical concepts such as set, subset, table, function, and domain of a function.
By the end of this course, you will be able to:
- Model a piece of the real world around you, expressed usually by a text in natural language, in terms of the Relational model and the Entity Relationship model. This ability can be used when your aim is to use a database, and also when you want to understand a complex reality around you.
- Design a reasonably complex database, that represents a piece of real world, by means of the two steps procedure shown above.
Background and RequirementsBasic knowledge of set theory, basic knowledge of mathematical functions and relations.
- Carlo Batini - Transcription of video lessons of the Eduopen Course - This text is a
transcription of the video lessons. It can be useful for those of you that, after watching at the video, need for a moment of further in depth analysis of the concepts presented. It is also useful for those of you that do not possess entirely spoken English language, and need for a written version of lessons to be examined comfortably. It can also be used independently form the video version.
- Carlo Batini, Stefano Ceri, Sham B. Navathe - Conceptual Database Design: an Entity Relationship Approach - ISBN-10: 0805302441 • ISBN-13: 9780805302448 ©1992, Addison-Wesley, 470 pp, available in the e-market.
- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi and Riccardo Torlone - Database Systems Concepts, Languages and Architectures - McGraw-Hill Book Company 1999, ISBN 0-07-709500-6 Freely available at http://dbbook.dia.uniroma3.it/