210 likes | 217 Views
Learn the fundamentals of databases and database management systems (DBMS), including their functions, history, and design principles. Explore various types of DBMS and understand concepts such as keys, integrity constraints, and relationships between tables.
E N D
CVEV 118/698Databases Lecture 1 Prof. Mounir Mabsout Elsa Sulukdjian Walid El Asmar
Introduction to Databases • A database (DB) is an electronic filing cabinet, a collection of related data organized into a list. Example: list of all VB experts at AUB, with their name, age and phone number. • Such a list under any electronic format can be called a database, I.e. you can construct a database on MS Excel, Word or even Notepad as long as it is a collection of related information. • However the use of a database program, such as MS Access, will highly enhance the ability to store, manage, find, share, analyze, print, etc… information from your list(s).
DataBase Management System • “DBMS is to a database what a word processor is to a letter. The former is the controlling, the latter the data that it manipulates.” Whitehorn and Marklyn. • DBMS are developed for efficient access and control of information in databases: • Sort and group records. • Issue complex queries. • Managing/Simplifying interactivity to let the user concentrate on higher-level issues. NB: A query is a question, an inquiry. Queries ask a question on the information in a list and then retrieve and display the result, I.e. What projects were already corrected by the VB experts?
DBMS Functions • Functions of Database Management Systems: • Controlling redundancy / sharing of data. • Restricting unauthorized access. • Representing complex relations among data. • Enforcing integrity constraints. • Backup and recovery facilities.
DBMS History • Flat file • Proprietary DBMS • Relational DBMS
Flat File • Data entries were just lumped in order into text files. • Delimitation was often done by commas or simply spaces. • Associated problems: • Scalability • Accuracy • Expandability
Proprietary DBMS • Core code originally developed for a general scope. • Addenda on the core code to adapt to specific projects. • Associated problems: • Integration with other products • Ease of usage and efficiency of output
Relational DBMS • RDBMS distinguishes itself by the way data is organized in it in tabulated forms (a relation is a table). • RDBMS stars: Oracle, MS Access, MS SQL, Sybase. • Terms used: • Entity: place, person, event of which you want to keep facts (row, record). • Attribute: categorized fact of an entity (field, column). • Entity Set: group of entities (table, relation, file).
Example • The order of engineers wants a database that manages engineers, universities they graduated from, and the projects they will work on during their career.
Example (Cont’d) • Facts to consider: • An engineer can graduate from only one university. • A university can graduate more than one engineer. • A project can have more than one engineer. • An engineer can have more than one project.
Example Data • Engineers: • Mayon Abou Zeid, AUB, BE, 2001 • Laron Amm, LAU, BE, 2002 • Rayon Bsat, ESIB, BE, 2003 • Projects: • Tabbouleh • Mayon April 2001 - June 2001 • Rayon June 2001 – April 2002 • Chocolate • Laron October 1997 - June 2001 • Kebbeh • Rayon April 2001 - May 2001 • Laron September 2001 - April 2002
DB Design • There are many ways to model the database of a certain problem such as this example. • Important elements in the design frame: • Keys. • Integrity constraints. • Relations between tables.
Primary Key • Primary key is a field that uniquely references a record in a table. • In our example, to reference to a certain engineer, we need to check his identity by looking at one or several of his attributes; I.e.: • Security Number; Family name + Date of birth; etc. • Or we can create a field on its own, usually containing numerical values, to provide each entry/engineer with a unique identity, I.e. ENGID.
Primary Key (Cont’d) • Creating a primary key (PK) in a table is a very encouraged practice, especially when dealing with multiple-table databases. • This will help in connecting and managing information within the project. • Thus, in our example, we will most probably design 3 tables (Engineer, University and Project), with a PK each: • Engineer Table ENGID • University Table UNIVID • Project Table PJTID
Relationships • Relationships among records in DB tables can be any of the following: • One to One 1:1 • One to Many 1:M • Many to Many M:M
Relationships in Our Example • An engineer can only graduate from ONE university; but a university can have MANY graduate engineers. Therefore, the relationship between the two records is: University 1 -- Many Engineer • Similarly, we will have the following relation for engineers and projects: Engineer Many -- Many Project
Foreign Key FK • It is a field identical in attribute to the primary key of another table. • I.e. in our example, we can include in the Engineer Table a field called UNIVID that stores the same values as the primary key of the University Table. This field is then a Foreign Key.
Entity/Referential Integrity • A table exhibits Entity Integrity if the Primary Key: • Is unique for each record • AND is NOT NULL • A database exhibits Referential Integrity if the Foreign Key: • Matches the primary • OR is NULL
Engineer Project University ENGID ENGFName ENGLName PJTID PJTName UNVID UNVName E/R Diagram • Entity Relationship Diagram • Widely used to visualize DB Design • Table
University Project UNVID UNVName PJTID PJTName Example ER Diagram Engineer EngProject ENGID ENGFName ENGLNameUNVIDDegDateDegree 1 M EPTID ENGID PJTID StartDate EndDate M 1 1 M
What’s Next • MS Access Forms, Queries, etc.