Presentation is loading. Please wait.

Presentation is loading. Please wait.

Lecture 9: Data Design CSC 470 Spring 2010.

Similar presentations


Presentation on theme: "Lecture 9: Data Design CSC 470 Spring 2010."— Presentation transcript:

1 Lecture 9: Data Design CSC 470 Spring 2010

2 Entity Relationship Model
Used to capture the conceptual design of a database It represents the logical structure of a database Three basic elements in an ER Model : Entity types Relationship types Attributes We use UML class notation for the ER model Only the first two sections are used

3 Entity Type Entity type Entity occurrence (or entity instance)
Define a group of objects with same properties or attributes. Examples: EMPLOYEE, CUSTOMER, SUPPLIER entity types. Entity occurrence (or entity instance) Uniquely identifiable object of an entity type. Examples: Employee John Doe, Customer Mike Jordan, Supplier Office Depot. Entity set is the set of entity occurrences.

4 ER diagram of Staff and Branch entity types
An entity type is displayed in a rectangular box.

5 Relationship Types Relationship type Relationship occurrence
Define a set of meaningful associations among entity types. Examples: A Branch HAS some Staff, An Employee WORKS ON a Project. Relationship occurrence Uniquely identifiable association, which includes one occurrence from each participating entity type. Relationship set is the set of relationship occurrences (current state of a relationship).

6 Binary and ternary relationships

7 Relationship Types Recursive Relationship
A relationship type where same entity type participates more than once in different roles.

8 Attributes Attribute Attribute Domain Composite Attribute
Property of an entity or a relationship type. Attribute Domain Set of allowable values for one or more attributes. Simple Attribute (or single-valued Attribute) An entity has a single atomic value for the attribute. Example: Employee with SSN Composite Attribute Attribute composed of multiple components. Examples: Address, Name. It can be nested.

9 Attributes Multi-valued Attribute Derived Attribute
Attribute that holds multiple values for each occurrence of an entity type. Example: Previous jobs for an employee. Identify them with a (*) after the attribute name Derived Attribute Attribute that represents a value that is derivable from value of a related attribute, or set of attributes, not necessarily in the same entity type. Example: Age derived from DOB and Today’s date. Precede the attribute name with a ‘/’ character

10 Keys Candidate Key Minimal set of attributes that uniquely identifies each occurrence of an entity type. Primary Key Candidate key selected to uniquely identify each occurrence of an entity type. Composite Key A candidate key that consists of two or more attributes.

11 ER diagram of Staff and Branch entities and their attributes

12 Relationship called Advertises with its own attributes

13 Structural Constraints
Main type of constraint on relationships is called multiplicity. Indicate how many instances of an entity type are related to an instance of another entity type . Binary relationships are generally referred to as being: one-to-one (1:1) one-to-many (1:* or 1:M) many-to-many (*:* or M:N)

14 Multiplicity of Staff Manages Branch (1:1) relationship

15 Multiplicity of Staff Oversees PropertyForRent (1:*) relationship type

16 Multiplicity of Newspaper Advertises PropertyForRent (. :
Multiplicity of Newspaper Advertises PropertyForRent (*:*) relationship M M M:M

17 Multiplicity of ternary Registers relationship
1 1 M A staff/branch value pair registers several clients

18 Example of a complete ER diagram
Student Registration System SSCourse CourseCode Name CreditNum SSStudent StudentID Name Address * 1 part of * enrolls * SSFaculty SSSection FacultyID Name Address SectionNum ClassTime Room *1 teaches *

19 Database Shared collection of logically related data designed to meet the information needs of an organization. Data are known facts that can be recorded and have an implicit meaning. Database Management System (DBMS) A software system designed to store and manage databases easily and efficiently. Database Schema: The description of a database. Includes descriptions of the database structure, data types, and the constraints on the database.

20 Example of a database schema

21 Example of a database instance

22 The Relational Model Proposed by Dr. E. Codd in the early 70’s
He worked at IBM Research Lab Model based on the notion of a relation (table) It has solid theoretical foundation Easy to understand, powerful query languages Most widely used model Vendors: IBM (DB2), Oracle (Oracle10g), Microsoft (SQL Server 2005), Sybase, Informix, etc.

23 Relational Model Terminology
A relation is a mathematical concept based on the ideas of sets. Informally, it is a table (relation) with columns (attributes) and rows (tuples). A relation has a schema. Denoted by R(A1, A2, …, An) R is the name of the relation, Ai’s are its attributes A relational database schema is the set of relation schemas, each with a distinct name that belongs to the same database.

24 Mathematical definition of a relation
The Cartesian product of n sets (D1, D2, . . ., Dn) is: D1 ´ D2 ´ ´ Dn = {<d1, d2, , dn> | d1 ÎD1, d2 ÎD2, , dnÎDn} Any set of n-tuples from this Cartesian product is a relation instance on the n sets. Consider two sets, D1 & D2, where D1 = {2, 4} and D2 = {1, 3, 5}. R = {<2, 1>, <4, 1>} is a relation.

25 Mathematical definition of a relation
The Cartesian product of n sets (D1, D2, . . ., Dn) is: D1 ´ D2 ´ ´ Dn = {<d1, d2, , dn> | d1 ÎD1, d2 ÎD2, , dnÎDn} Any set of n-tuples from this Cartesian product is a relation instance on the n sets. Consider two sets, D1 & D2, where D1 = {2, 4} and D2 = {1, 3, 5}. R = {<2, 1>, <4, 1>} is a relation.

26 Characteristics of a relation
Rows contain data about an entity. Columns contain data about attributes of the entity. All entries in a column are of the same kind. Each column has a unique name. Cells of a table hold a single value. The order of the columns in unimportant. The order of the rows is unimportant. Each row is distinct. There are no duplicate rows. A special NULL values represent unknown values.

27 Relational Keys Superkey (SK) Candidate Key (CK)
An attribute, or a set of attributes (composite key), that uniquely identifies a tuple within a relation. Candidate Key (CK) Superkey (K) such that no proper subset is a superkey within the relation. In each tuple of R, values of K uniquely identify that tuple (uniqueness). No proper subset of K has the uniqueness property (irreducibility).

28 Relational Keys Primary Key (PK) Foreign Key (FK)
Candidate key selected to identify tuples uniquely within relation. Primary keys are underlined in a relational DB schema. Foreign Key (FK) Attribute, or set of attributes, within one relation that matches candidate key of some (possibly same) relation. Displayed as a direct arc from foreign key to referenced table (or its primary key). Surrogate Key (SuK: used as a primary key) A unique attribute introduced in the relation which is not a property of a relation.

29 Example of COMPANY Database Schema

30 Relational Integrity Constraints
Integrity constraints (IC) Conditions that must be true for any instance of the database. Defined during creation of the database. Checked when relations are modified. Null Represents value for an attribute that is currently unknown or not applicable for a tuple. Deals with incomplete or exceptional data. Represents the absence of a value and is not the same as zero or spaces, which are values.

31 Mapping ERD to RDB Schema
Map each entity to a DB relation Map each binary M:M relationship to a DB relation New relation includes the PK of each related entity These PKs act as FKs to the “parent” relations PK of new relation are usually these two FKs Map each binary 1:M relationship Copy the PK of the “1-side” entity (“parent”) into the “M-side” entity (“child”) of the relationship (acting as FK) Copy the PK of one of the entities into the entity (“child”) that participate the most in the relationship

32 Mapping ERD to RDB Schema (cont.)
Map more complex relationships to a DB relation New relation includes the PK of each related entity These PKs becomes FK in the new relations Relationships with their own attributes Place them in the new relation or in the “child” relation Mapping multivalued attributes (MVAs) For each MVA, create a new DB relation Place a copy of the PK of the owner entity into the new relation (acting as a FK) Place the MVA in the new relation PK of the new relation are these two attributes

33 Mapping Example: ERD worksAt schedAt reserves applies

34 Mapping result: RDB schema
Student(studID, studName, studPhone, stud , studURL, major, minor, gpa) Company(compID, compName, compURL) LaborDeptPosition(posID, title, description) TimeBlock(blockID, date, startTime, endTime) Opening(openID, salary, tentStartDate, specificDesc, posID, compID) FK: posID references LaborDeptPosition(posID) FK: compID references Company(compID) CityOpening(openID, city, state) // implement the multivalued attribute city in the Opening entity FK: openID references Opening(openID) Reservation(blockID, compID, room, building) // implements the M:M relationship called reserves FK: blockID references TimeBlock(blockID) Interviewer(empID, empName, empPhone, emp , dateHired, compID) Interview(intviewID, blockID, time, room, building, empID) FK: empID references Interviewer(empID) Application(studID, intviewID, openID, applDate) // implements the complex relationship called applies FK: studID references Student(studID) FK: intviewID references Interview(intviewID)


Download ppt "Lecture 9: Data Design CSC 470 Spring 2010."

Similar presentations


Ads by Google