Data Modeling Yong Choi School of Business CSUB
Part # 2 2 Study Objectives Understand concepts of data modeling and its purpose Learn how relationships between entities are defined and refined, and how such relationships are incorporated into the database design process Learn how ERD components affect database design and implementation Learn how to interpret the modeling symbols
Part # 2 3 Why Data Modeling? Data Model by CASE tool = Actual Database Represent “reality” of the actual database Blue print: documentation Effective Communication Tool User involvement Identify the business rules to be stored in the database Independence from a particular DBMS Example of data model by CASE tool on the website
Part # 2 4 Conceptual data modeling The conceptual data modeling 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 identifying entities, attributes, and their relationships to construct model using the Entity Relationship Diagram methodology.
Part # 2 5 Entity Relationship diagram (ERD) Data modeling methodology Developed by Peter Chen (1976). See his original ERD article on the class website ERD is commonly used to: Translate different views of data among managers, users, and programmers to fit into a common framework. Define data processing and constraint requirements to help us meet the different views. Help implement the database.
Part # 2 6 Basic ERD Elements Entity : a collection of people, places, objects, events, concepts of interest (a table) Entity instance – a member of the Entity : a person, a place, an object … (a row in a table) Attribute - property or characteristic of interest of an entity (a field in a table) Relationship – association between entities (corresponds to primary key-foreign key equivalencies in related tables)
Part # 2 ERD using Chen’ Notation (first - original)
Part # 2 8 Chen’s Notation Entities rectangle containing the entity’s name. Attributes oval containing the attribute’s name. Relationships diamond containing the relationship’s name.
Part # 2 9 Steps for creating an ERD 1. Identify entities 2. Identify attributes 3. Identify relationships
Part # 2 10 Entity “A fundamental THING of relevance to the enterprise about which data may be kept” What should be an Entity: both tangible & intangible An object that will have many instances in the database An object that will be composed of multiple attributes An object that we are trying to model What should NOT be an Entity: A user of the database system An output of the database system (e.g. a report)
Part # 2 11 ERD using IE Notation (most popular)
Part # 2 12 Entity Instance Entity instance: a single occurrence of an entity. 6 instances Student ID Last Name First Name 2144ArnoldBetty 3122TaylorJohn 3843SimmonsLisa 9844MacyBill 2837LeathHeather 2293WrenchTim Entity: student instance
Part # 2 13 “describe property or characteristic of an entity ” Entity: Employee Attributes: Employee-Name Address (composite) Phone Extension Date-Of-Hire Job-Skill-Code Salary Attributes
Part # 2 14 Classes of attributes Simple attribute Composite attribute Derived attributes Single-valued attribute Multi-valued attribute
Part # 2 15 A simple attribute cannot be subdivided. Examples: Age, Gender, and Marital status A composite attribute can be further subdivided to yield additional attributes. Examples: ADDRESS -- Street, City, State, Zip PHONE NUMBER -- Area code, Exchange number Simple/Composite attribute
Part # 2 16 is not physically stored within the database instead, it is derived by using an algorithm. Example: AGE can be derived from the date of birth and the current date. MS Access: int(Date() – Emp_Dob)/365) Derived attribute
Part # 2 17 “attributes that uniquely identify entity instances” Uniquely identify every instance of the entity One or more of the entity’s attributes Composite identifiers are identifiers that consist of two or more attributes Identifiers are represented by underlying the name of the attribute(s) Employee (employee_ID), student (student_ID) (unique) Identifier
Part # 2 Type of Relationships One – to – One (1:1) Each instance in the relationship will have exactly one related member on the other side One – to – Many (1:M) A instance on one side of the relationship can have many related members on the other side, but a member on the other side will have a maximum of one related instance Many – to – Many (M:N) Instances on both sides of the relationship can have many related instances on the other side
Part # 2 1:1 relationship in Set notation
Part # 2 1:M relationship in Set notation
Part # 2 M:N relationship in Set notation
Part # 2 M:N relationship Each student takes many classes, and a class must be taken by many students. ** Many-to-many relationships cannot be used in the data model because they cannot be represented by the relational model (see the next slide for the reason) ** STUDENT CLASS TAKE IS_TAKEN_BY
Part # 2 Example of M:N Many-to-many relationships is a second sign of complex data. When x relates to many y's and y relates to many x's, it is a many-to-many relationship. In our example schema, a color swatch can relate to many types of sweaters and a type of sweater can have many color swatches.
Part # 2 Example M:N Relationship 3 to 3 30 to to to ,000 to 30, , 000 to 300, 000 Table to represent Entity
Part # 2 Converting M:N Relationship to Two 1:M Relationships Bridge Entity
Part # 2 Bridge Entity MUST have a composite (unique) identifier STU_NUM (from STUDENT entity) and CLASS_CODE (from CLASS entity)