Basic DB Terms • Data: Meaningful facts, text, graphics, images, sound, video segments – A collection of individual responses from a marketing research • Information: Data processed to be useful in decision making – Pattern of geographical buying habit based on analysis of a marketing research • Metadata: Data that describes data 1 Data in Context Large volume of facts, difficult to interpret / make decisions 2 Information Useful for decision making / interpretation 3 Metadata Descriptions of the properties or characteristics of the data, including data types, field sizes, allowable values, and documentation (Data Dictionary) 4 Database • Collection of data in electronic format – A digital library of organization Managed by one set of software that provides access to all the data – No data redundancy, data inconsistency, poor security, applicationdata dependency... 5 Database Systems Application #1 Application #2 DBMS Database containing centralized shared data Application #3 6 Database Management System (DBMS) • Database software • Act as an interface between application and physical data files • Support centralization of data • Independent of specific computer programs • small (MS Access), large/popular (Oracle) 7 Database Models • Hierarchical (Tree) Models • Network Model • Relational Models 8 Hierarchical database Model • Logically represented by an upside down tree – Each parent can have many children – Each child has only one parent 9 Hierarchical Database Hierarchical Database A schematic diagram of a hierarchical database (a) and a sample part of a hierarchical database showing relationships among different records (b) 11 Network Database Model • Each record can have multiple parents – Composed of sets – Each set has owner record and member record – Member may have several owners 12 Network Database Network Database A schematic diagram of a network database (a) and a sample of part of a network database showing relationships among different records (b) 14 Relational Database Model • A group of related tables • Introduced in 1970 by E. F. Codd of IBM • The most popular model. – Mathematical simplicity – Ease of visualization 15 Relational Database A schematic diagram of a relational database (a) and a sample part of a relational database showing different tables (b) 16 Relational database and keys • A relational database is a collection of tables that are related to one another based on a common field. • A field, or a collection of fields, is designated as the primary key. – The primary key uniquely identifies a record in the table. • When the primary key of one table is represented in a second table to form a relationship, it is called a foreign key. 17 Relating tables using a common field The primary key in the Employer table (EmployerID) is the common field that relates this table to the Position table. PositionID is the primary key in the Position table. The EmployerID field is a foreign key in this table. Primary keys can only have one occurrence in a table. Foreign keys may have multiple occurrences. 18 Primary Key • Unique identifiernt – Last name vs. SS# • Prevent confusion • Cost of PK – SS# vs. finger print – Entity Integrity Rule – Any primary key is allowed to accept null values. 19 Foreign Key • An attribute in one table whose values must either match the primary key in another table or be null. • The database must not contain any unmatched foreign key values. 20 Figure 2 21 Referential Integrity Rule • Cascade Update Related Fields – Change of PK values in primary table automatic change of FK values • Cascade Delete Related Fields – Delete of a record in the primary table automatic delete of all records in the related table that have a matching FK value • See example from the class web site – Primary table: customer 22 Relational Database Model • Advantages – Easier database design, implementation, management, and use – Ad hoc query capability with SQL – Powerful database management system 23 DATABASE MODEL Hierarchical Network Relational Object-Relational PRODUCT Focus IMS Ramis ADABAS Image Access DB2 dBASE V EDA/SQL FoxPro Ingres NOMAD Oracle Paradox Rbase SQL/DS SQL Server Sybase ObjectStore Universal Server Illustra VENDOR Information Builders International IBM Online Software International Software AG of North America Hewlett-Packard Microsoft IBM Borland International Information Builders International Microsoft Ask Group Must Software International Oracle Borland International Microrim IBM Microsoft Sybase Object Design Informix HARDWARE Mainframe/PC Mainframe Mainframe Mainframe Mainframe PC Mainframe PC PC PC PC Mainframe/PC Mainframe/PC PC PC Mainframe PC PC PC PC Informix PC 24 Basic Components of DBMS • Data dictionary • DDL (Data Definition Language) • DML (Data Manipulation Language) 25 The Data Dictionary (Metadata) - description of every piece of data in database - Maintains all information supplied by the developer when schema constructing the A typical data dictionary for a staff file 26 • Data Definition Language (DDL) – language to create and modify data – Access table with data type, description, and field properties Data definition language to create a schema in NOMAD 27 • Data Manipulation Language (DML) – language that process, update, and retrieve data – Access query A Paradox query by example 28 Structured Query Language (SQL) • Standard Query Language (SQL) is the relational model’s standard language. • Another way to generate queries – MS Access: queries by QBE – Other DBMSs: queries by SQL 29 Example of SQL • You want to see the address of each employee: FirstName, LastName, Address, City, and State EmployeeAddressTable SSN FirstName LastName Address City State Ohio 512687458 Joe Smith 83 First Street Howard 758420012 Mary Scott 842 Vine Ave. Losantiville Ohio 102254896 Sam Jones 33 Elm St. Paris New York 876512563 Sarah Ackerman 440 U.S. 110 Upton Michigan 30 Example of SQL • SELECT FirstName, LastName, Address, City, State FROM EmployeeAddressTable; First Name Last Name Address City State Joe Smith 83 First Street Howard Ohio Mary Scott 842 Vine Ave. Losantiville Ohio Sam Jones 33 Elm St. Paris New York Sarah Ackerman 440 U.S. 110 Upton Michigan SQL tutorial: w3.one.net/~jhoffman/sqltut.htm 31 Database Design Process Problem Domain Conceptual Design Conceptual Schema Logical Design Logical Schema Physical Design Physical Schema 32 Conceptual Design • The conceptual design is a high level description of the structure of the database, independent of the particular DBMS software that will be used to implement the database. • The conceptual design revolves around discovering and analyzing organizational and users data requirements. – What data is important – What data should be maintained • The major activity of this phase is constructing a data model (Entity-Relationship Diagram). 33 Data Model: Entity-Relationship Diagram Why Conceptual Modeling is Important? • Effective Communication Tool • User involvement • Independence from a particular DBMS • Documentation 35 Logical Design • The logical design is a description of the structure of the database that can be processed by the DBMS software. In other words, the logical design adapts the conceptual design to a specific DBMS implementation model • Thus, the logical design is software-dependent. • Logical Models – Relational Model – Network Model – Hierarchical Model 36 Physical Design • The physical design describes the storage structures and data access methods used in system. In other words, the physical design is a description of the implementation of the database in secondary memory. 37