490 likes | 814 Views
IS 4420 Database Fundamentals Chapter 3: Modeling Data in the Organization Leon Chen. Systems Development Life Cycle. Database Development Process. Enterprise modeling. Project Identification and Selection. Conceptual data modeling. Project Initiation and Planning. Analysis.
E N D
IS 4420Database Fundamentals Chapter 3:Modeling Data in the Organization Leon Chen
Systems Development Life Cycle Database Development Process Enterprise modeling Project Identification and Selection Conceptual data modeling Project Initiation and Planning Analysis Logical Design Logical database design Physical database design and definition Physical Design Implementation Database implementation Maintenance Database maintenance
Overview • What is data modeling • Importance of data modeling • Business rules • Entity-relationship model: entities, relationships, and attributes
Conceptual Data Modeling • Business Rules • Data names • Data definitions Conceptual Data Model (Entity-Relationship Diagram)
Data Modeling is the Most Important • Input for follow-up processes • Data rather than processes are the most complex • Data tend to be more stable than business processes
Business Rules • Statements that define or constrain some aspect of the business. For example: • Friday is business casual dress day • Students can only register a course if prerequisite is successfully completed • Automated through DBMS software
Entity-Relationship Model • A logical representation of the data for an organization or for a business area • 3 constructs: • Entity - person, place, object, event, concept (often corresponds to a row in a table) • Attribute - property or characteristic of an entity (often corresponds to a field in a table) • Relationship – link between entities (corresponds to primary key-foreign key equivalencies in related tables) • Type vs. instance • Entity type: Instructor • Entity instance: Leon Chen • Entity-Relationship Diagram • A graphical representation of entity-relationship model • Also called E-R diagram or just ERD STUDENT Name Registers
Sample E-R Diagram (Figure 3-1) Attribute Supplier_ID Supplier_Name Supplier_Address
A special entity that is also a relationship Relationship symbols Attribute symbols Entity symbols Relationship degrees specify number of entity types involved Relationship cardinalities specify how many of each entity type is allowed
Entity • Person: EMPLOYEE, STUDENT • Place: WAREHOUSE, COUNTRY • Object: BUILDING, MACHINE • Event: SALE, REGISTRATION • Concept: ACCOUNT, COURSE CERTIFICATE EMPLOYEE DEPENDENT Weak entity Strong entity Associative entity
What Should an Entity Be? • SHOULD BE: • 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 • SHOULD NOT BE: • A user of the database system • An output of the database system (e.g. a report)
Figure 3-4 Inappropriate entities System user System output Appropriate entities
Attribute • Attribute - property or characteristic of an entity type • Classifications of attributes: • Required vs. Optional Attributes • Simple vs. Composite Attribute • Single-Valued vs. Multivalued Attribute • Stored vs. Derived Attributes • Identifier Attributes - keys
Required vs. Optional Attributes • Example: entity – ONLINE_ACCOUNT • Required attributes (Not NULL) • Account_ID • Password • Owner_Name • Optional attributes • Phone_Number • Password_Hint
Figure 3-7 – A composite attribute An attribute broken into component parts
Derived from date employed and current date Multivalued: an employee can have more than one skill Figure 3-8 – Entity with a multivalued attribute (Skill) and derived attribute (Years_Employed)
Figure 3-19 – An attribute that is both multivalued and composite This is an example of time-stamping. More examples?
Identifiers (Keys) • Identifier (Key) - An attribute (or combination of attributes) that uniquely identifies individual instances of an entity type • Candidate Key – an attribute that could be a key. Examples (for STUDENT, PERSON)? • Simple Key versus Composite Key
The key is underlined Figure 3-9a Simple key attribute
Figure 3-9b Composite key attribute Flight_Number Date
Guidelines for Identifiers • Will not change in value • Will not be null • Substitute new, simple keys for long, composite keys • ? Game_Number
Relationship • Relationship Type vs. Relationship Instance • Degree of a relationship • Cardinality of a relationship • Associative Entity – combination of relationship and entity
attribute of the relationship Figure 3-11a The relationship type is modeled as the diamond and lines between entity types
One entity related to another of the same entity type Entities of two different types related to each other Entities of three different types related to each other Degree of a relationship is the number of entity types that participate in it
Cardinality of a Relationship • One-to-One • Each entity in the relationship will have exactly one related entity • One-to-Many • An entity on one side of the relationship can have many related entities, but an entity on the other side will have a maximum of one related entity • Many-to-Many • Entities on both sides of the relationship can have many related entities on the other side
Cardinality Constraints • Cardinality Constraints - the number of instances of one entity that can or must be associated with each instance of another entity • Minimum Cardinality. Examples? • If zero, then optional • If one or more, then mandatory • Maximum Cardinality. Examples? • The maximum number
Cardinalities Mandatory one Mandatory many Optional one Optional many 11 18
Figure 3-16a Basic relationship Mandatory minimum cardinalities – Figure 3-17a
Figure 3-17c Optional cardinalities with unary degree, one-to-one relationship
Maximum Cardinality Constraint max cardinality constraint
Attributes or Relationship? Attributes can be transformed to relationships
Attributes or Relationship? Attributes should be transformed to relationships
Associative Entities • It’s an entity– it has attributes • AND it’s a relationship– it links entities together • When should a relationship with attributes be an associative entity? • All relationships for the associative entity should be many • The associative entity could have meaning independent of the other entities • The associative entity should have at least one or more attributes other than the identifier • The associative entity may participate in other relationships other than the entities of the associated relationship • Ternary relationships should be converted to associative entities
Strong vs. Weak Entities • Strong entities • exist independently of other types of entities • has its own unique identifier • represented with single-line rectangle • Weak entity • dependent on a strong entity…cannot exist on its own • does not have a unique identifier • represented with double-line rectangle • Identifying relationship • links strong entities to weak entities • represented with double line diamond
Strong entity Identifying relationship Weak entity
Figure 3-22a E-R diagram for Pine Valley Furniture
Microsoft Visio Notation for Pine Valley Furniture Different modeling software tools may have different notation for the same constructs
A special entity that is also a relationship Relationship symbols Attribute symbols Entity symbols Relationship degrees specify number of entity types involved Relationship cardinalities specify how many of each entity type is allowed
Sample E-R Diagram (Figure 3-1) Attribute Supplier_ID Supplier_Name Supplier_Address