1 Week 8 October 19 • Database Design • Modeling with ERD R. Ching, Ph.D. • MIS • California State University, Sacramento Administration • Data Administrator (DA) – management of the data resources, including the database planning, development, and maintenance of standards, policies and procedures, and conceptual and logical database design • Database Administrator (DBA) – management of the physical realization of a database system, including physical database design and implementation, setting security and integrity controls, monitoring system performance, and reorganizing the database (when necessary) R. Ching, Ph.D. • MIS • California State University, Sacramento 2 Database Design • Data modeling – Understanding the meaning of data • Identify the user’s perspective of data • Identify the data themselves • Identify the applications supported by the data – Communication information requirements • Diagram with ERD (entity-relationship diagram) Satisfying the information needs of the organization R. Ching, Ph.D. • MIS • California State University, Sacramento 3 Optimal Logical Design Criteria • • • • • • • Structural validity - reflects the enterprise Simplicity - ease of understanding Expressability - distinguishability of data Nonredundancy - exclusion of extraneous information Shareability - nonexclusive data Extensibility - support future information requirements Integrity - consistency with organization’s information use and management • Diagrammatic representation - ability to graphically model data R. Ching, Ph.D. • MIS • California State University, Sacramento 4 Logical vs. Physical Design 5 • Logical – Defines the whats (e.g., what information needs to be present) • Physical – Defines the hows (e.g., how data will be stored) What How Sequence R. Ching, Ph.D. • MIS • California State University, Sacramento Fact-Finding Techniques • • • • • Examining documents Interviewing Observing the enterprise in operation Research Questionnaires R. Ching, Ph.D. • MIS • California State University, Sacramento 6 Design Tools Relational database design • Entity relationship diagram (ERD) – Relations, relationships, constraints • Data normalization – Method for establishing relations R. Ching, Ph.D. • MIS • California State University, Sacramento 7 For relational model only For relational database only 8 Data Modeling: Entity Relationship Modeling R. Ching, Ph.D. • MIS • California State University, Sacramento Entity Relationship (ER) Model (applies to relational data model) • High-level conceptual model – Describes the structure of the database, and the associated retrieval and update transactions on the database – Composed of • Entity types • Relationship types • Attributes R. Ching, Ph.D. • MIS • California State University, Sacramento 9 ER Modeling 10 Relationship type Products stock number product description retail price stock on hand stock on order Have 0..* Attributes Entity type R. Ching, Ph.D. • MIS • California State University, Sacramento Manufacturers manufacturer code 1..1 manufacturer name ER Modeling Alternatively 11 Relationship type Products Stock number Product description Retail price Stock on hand Stock on order Manufacturers Manufacturer code Manufacturer name Attributes Entity type R. Ching, Ph.D. • MIS • California State University, Sacramento ERD Notation 12 Primary key Relationship type Relationship name Entity type Music_categories Attributes CDs Classify music_category_code {PK} stock_number {PK} music_category_title 1..1 0..* CD_title artist music_category_code record_label_code Multiplicity (constraint) Degree of the Relationship: Binary R. Ching, Ph.D. • MIS • California State University, Sacramento ERD Notation Alternatively Entity type 13 Primary key (underscored) Relationship type Relationship name Music_categories Attributes Music_category_code Music_category_title Cardinality CDs Classify Stock_number CD_title Artist Music_category_code Record_label_code Zero (circle) Minimum Maximum (inside) Many (outside) (crows feet) R. Ching, Ph.D. • MIS • California State University, Sacramento 1. Entity Types 14 • Strong Entity Type – Not existence-dependent on another entity type • Weak Entity Type – Existence-dependent on another entity type (i.e., child, dependent, subordinate) Entity type Entity Entity Entity R. Ching, Ph.D. • MIS • California State University, Sacramento Uniquely identifiable Entity Types 15 Strong entity? Music_categories Music_category_code Music_category_title CDs Classify R. Ching, Ph.D. • MIS • California State University, Sacramento Stock_number CD_title Artist Music_category_code Record_label_code Definition of a Weak Entity Type “An entity type that borrows all or part of its primary key. Identifying relationships indicate the entity types that supply components of the borrowed primary key.” Entity type 1 Mannino, 1999 Key attributes... Method to Follow Have Entity type 2 Key Composite key Key attributes... R. Ching, Ph.D. • MIS • California State University, Sacramento Weak entity type 16 Diagramming Weak Entity Types An account cannot exist without an customer. Customers Strong entity type (parent, owner, dominant) attributes... Minimum must be one Customer_Accounts attributes... Weak entity entity (child, dependent, subordinate) *A customer can have more than one account Designates a weak entity type R. Ching, Ph.D. • MIS • California State University, Sacramento 17 2. Attributes 18 Property of an entity or relationship type Customers Cust_account Cust_name Cust_address Cust_phone Soc_Sec_Num Customer_Accounts Cust_account Current_balance Credit_limit Active_date Expire_date • Attribute domain – Set of values that may be assigned to a single-valued attribute R. Ching, Ph.D. • MIS • California State University, Sacramento Attributes of Attributes 19 • Simple (atomic attributes) - composed of a single component • Composite - composed of multiple components • Single valued - one value for an entity • Multi-valued - one or more values for an entity • Derived - value derived from a related attribute or set of attributes Student_ID FName MName LName Multi-valued Student_ID Single-valued Semester Course_ID More than one semester, more than one course_id R. Ching, Ph.D. • MIS • California State University, Sacramento Attribute Domain 20 Customers Composite Cust_account Cust_name Cust_address Cust_phone Soc_Sec_Num Cust_first_name Cust_last_name John William Anita Homer Brown Tell Breake Simpson R. Ching, Ph.D. • MIS • California State University, Sacramento • On an ER model, should customer name be shown as a composite or simple attribute? • What is the attribute domain of Cus_name? Derived Attributes 21 • Derived - value derived from a related attribute or set of attributes Student_ID Semester Course_ID Units Grade Grade_point Student_ID Semester Course_ID Units Grade Grade_point Student_ID Semester Course_ID Units Grade Grade_point Units x Grade = Grade point R. Ching, Ph.D. • MIS • California State University, Sacramento Attributes as Keys 22 Uniquely identifies an entity Candidate key Primary key • Keys cannot change their values (good for the life of the entity) • An efficient means for identifying an entity • Alternate key - candidate that can also be used to access an entity • Composite key - composed of multiple attributes (components) R. Ching, Ph.D. • MIS • California State University, Sacramento Diagrammatic Representation 23 Customers Composite attribute Composite attribute Cust_account {PK} Cust_name First_name Middle_name Last_name Cust_address Street_number Zip_code (fk) Cust_phone Soc_sec_num R. Ching, Ph.D. • MIS • California State University, Sacramento Key Foreign key 3. Relationship Types • A set of associations between two (or more) participating entity types • Each is given a name that describes the function 24 Customers Customer_account Own Customers_accounts Customer_account R. Ching, Ph.D. • MIS • California State University, Sacramento Entity Relationship Diagram Customers Customer_account Own • Degree of a relationship Strong number of entities participating in a relationship (binary, ternary, quaternary, etc.) Relationship • “Dog-ear” lines indicate a Customers_accounts relationship between a weak and Weak Customer_account strong entity R. Ching, Ph.D. • MIS • California State University, Sacramento 25 Data Modeling 26 Music_categories Strong Entity (parent) Music_category_code Music_category_title Relationship Classify All children (CDs) must have a parent (music categories or record labels) Strong Entity (parent) CDs Stock_number CD_title Artist Music_category_code (fk) Record_label_code (fk) Record_labels Produce Weak Entity (child) R. Ching, Ph.D. • MIS • California State University, Sacramento Record_label_code Record_label Method to Follow Degree of a Relationship Customers A customer purchases products and places them on his/her account Buy Products Relationship of degree three or ternary Cust_Accounts R. Ching, Ph.D. • MIS • California State University, Sacramento 27 Degree of a Relationship 28 An employee is managed by only one manager (an employee is related to a maximum and minimum of one manager) Manages Employees Self-referencing relationship Employee_number Employee_name Classification Project_ID R. Ching, Ph.D. • MIS • California State University, Sacramento A manager manages one to many employees (a manager is related to a minimum of one and a maximum of many employees) Structural Constraints • Cardinality – Determines the number of possible relationships for each participating entity • 1:1 - one to one • 1:M - one to many Defined by • M:N - many to many business rules • Participation – Determines whether the existence of an entity depends upon its being related to another entity through the relationship R. Ching, Ph.D. • MIS • California State University, Sacramento 29 Cardinality • 1:1 (one to one) – Each entity in X is associated with at most one entity in Y and conversely each entity in Y is associated with at most one entity in X • 1:M (one to many) – Each entity in X can be associated with many entities in Y but each entity in Y is associated with at most one entity in X. • M:N (many to many) – Each entity in X can be associated with many entities in Y and each entity in Y can be associated with many entities in X. R. Ching, Ph.D. • MIS • California State University, Sacramento 30 Cardinality 31 1:1 Relationships Strong entity type Weak entity type Customers Customer_ID Customer_name Customer_address Zip_code Accounts Own Mandatory participation A customer owns a minimum and maximum of one account Account_number Customer_ID Account_type Current_balance An account is owned by a minimum and maximum of one customer Note. This would be avoided in the logical design, but could be implemented in the physical. R. Ching, Ph.D. • MIS • California State University, Sacramento Cardinality 32 1:M Relationships Strong entity type Weak entity type Customers Customer_ID Customer_name Customer_address Zip_code A customer owns a minimum one and maximum of many accounts Accounts Own Mandatory participation Account_number Customer_ID Account_type Current_balance An account is own by a minimum and maximum of one customer Note. This would be avoided in the logical design, but could be implemented in the physical. R. Ching, Ph.D. • MIS • California State University, Sacramento Cardinality • M:N relationship if a customer can own more than one account (e.g., revolving, long-term), and one account can have more than one owner (e.g., joint account). R. Ching, Ph.D. • MIS • California State University, Sacramento 33 Cardinality 34 M:N Relationships Strong entity type Weak entity type Customers Customer_ID Customer_name Customer_address Zip_code A customer owns a minimum of one and a maximum of many accounts Accounts Own Mandatory participation Account_number Customer_ID Account_type Current_balance An account is owned by a minimum of one and a maximum of many customers Note. This would be avoided in the logical design, but could be implemented in the physical. R. Ching, Ph.D. • MIS • California State University, Sacramento Participation Constraints 35 • Determines whether the existence of an entity depends on it being related to another entity through the relationship – Total (mandatory) - If the existence of one requires another – Partial (optional) - If the existence of one does not require the other Existence Dependency: An entity that cannot exist unless another related entity exists. A mandatory relationship produces an existence dependency. Mannino, 1999 R. Ching, Ph.D. • MIS • California State University, Sacramento ERD Notation Entity type 36 Primary key (underscored) Relationship type Relationship name Music_categories Attributes Music_category_code Music_category_title Cardinality CDs Classify Stock_number CD_title Artist Music_category_code CDRecord_label_code is related to a Zero (circle) A Minimum minimum and maximum Maximum (inside) Many of one music category (outside) (crows feet) R. Ching, Ph.D. • MIS • California State University, Sacramento ERD Notation Entity type 37 Primary key (underscored) Relationship type Relationship name Music_categories Attributes Music_category_code Music_category_title CDs Classify Stock_number CD_title Artist Music_category_code Record_label_code Zero (circle) A music category is related to a minimum of zero and Minimum Cardinality (inside) Maximum maximum of many CDs Many (outside) (crows feet) R. Ching, Ph.D. • MIS • California State University, Sacramento ERD Notation Entity type 38 Minimum cardinality of one (a music category has to have at least one CD) Music_categories CDs Music_category_code Music_category_title Classify Weak entity type (all four corners) R. Ching, Ph.D. • MIS • California State University, Sacramento Stock_number CD_title Artist Music_category_code Record_label_code ERD Notation 39 Music_categories Music_category_code Music_category_title CDs Classify A record label is related to a minimum of zero and maximum of many CDs Stock_number CD_title Artist Music_category_code Record_label_code Produce Record_labels Record_label_code Record_label R. Ching, Ph.D. • MIS • California State University, Sacramento ERD Notation 40 Music_categories Music_category_code Music_category_title CDs Classify A CD is related to a minimum and maximum of one record label Stock_number CD_title Artist Music_category_code Record_label_code Produce Record_labels Record_label_code Record_label R. Ching, Ph.D. • MIS • California State University, Sacramento ERD Notation 41 Music_categories Music_category_code Music_category_title CDs Classify Quantity_produced Attribute of a relationship Stock_number CD_title Artist Music_category_code Record_label_code Produce Record_labels Record_label_code Record_label R. Ching, Ph.D. • MIS • California State University, Sacramento 42 R. Ching, Ph.D. • MIS • California State University, Sacramento