Database Design Sections 4 & 5 Subtype, Supertype, Mutually exclusive, non-transferability, transferable, 1:1, 1:M, M:M, Redundant, Intersection entity, Barred relationship, First Normal Form (1NF) DJs on Demand – Partial ERD Reserved Words A reserved work is one that has a specific meaning and function in the computer system, language, or database. Examples: NULL DATE DISTINCT Video Store – example 4.1.7 Identify business rules Construct ERD Class activity Video Store Matrix ACTOR CUSTOMER ACTOR MOVIE Featured in The renter of CUSTOMER MOVIE TAPE TAPE The feature of On Rented by A copy of Video ERD TAPE a copy of number format on MOVIE id title category the feature of rented by the renter of CUSTOMER membership number last name first name phone number featured in ACTOR stage name real name Use Source Documents Source document assist in identifying entities, attributes, and relationships Global Fast Food Identify entities Possible solution handle STAFF #id *first name *last name *date of birth *salary handled by ORDER #number *date *time list listed on FOOD ITEM #number *description *price Subtype & Supertype Supertype (entity) can be subdivided into Subtypes Example: JOB manager clerk sales support Attributes Supertype can have attributes at supertype level Attributes at supertype level are for all subtypes Subtypes can have own attributes for only that attribute Example EXAM STUDENT taken by #number *description *weight *date *grade for written component MIDTERM *grade for BONUS QUESTIONS oral presentation FINAL included in *extra pts for opt. paper QUIZ included Global Fast Food Employees STAFF is an entity and supertype What are the attributes of STAFF? What subtypes exist in STAFF? Are there any attributes in any of the subtypes? Example 4.3.9 AUTOMOBILE subtypes are not mutually exclusive AUTOMOBILE possible solution BUILDING subtypes have problem of not being exhaustive, should be minimum of 2 types Business Rules Recognize if Business rule is implemented by the data model or by programming Example: Only an employee with a title of manager can manage other employees The event planner must contact the customer before the DJ can be assigned Business rules can changed as society changes or business leaders feel change needed Business rule types Structural Must be entered at time of initial data entry Example: When ORDER entered a staff id must be entered Does not require code written to enforce Procedural Work flow related Programmed validation is procedural constraint Generally need to write code Example: Commission can not be > 25% of salary Each entity has Name Optionality Cardinality Transferability Relationship transferability Rules established for the purpose such as safety, efficiency, or increased profit Example: Airline tickets can be transferable or non-transferable? Non-transferable means also not updatable symbol used to denote nontransferable blood type is non-transferable Non-transferable relationship place CUSTOMER ORDER placed by Orders are non-transferable Resolution would be to cancel order and create new order Example 5.1.6 #1 Each town may be the birthplace of many people. Each person must be born in one and only one town. birthplace for PEOPLE born in TOWN Relationship types One to One (1:1) One to Many (1:M) Many to Many (M:M) One to One relationship Usually few of these relationships Often mandatory at one side If mandatory at both ends be aware, it might be a error. Possible should be only one entity not two ride PERSON ridden by BYCYCLE One to Many Most common type are mandatory on one side and optional on the other Mandatory at both ends models entities that cannot exist without each other ORDER TYPE ORDER One to Many example TAX RETURN composed of entered in BAND composed of TAX REPORT LINE MUSICIAN belong to Many to Many Often common in initial version of ERD Later stage of design converted to other type learn from TEACHER STUDENT educate Redundant relationship Redundant relationship is one that can be derived from another relationship in the model Many to Many Relationship Resolution All M:M relationships must be changed to a set of 1:M and M:1 relationship Insert a transition entity between Occurs when you go from conceptual model to design model Example: M:M with Intersection Entity COURSE STUDENT REGISTRATION Resolving M:M with Intersection Create an intersection entity If you can’t find a good intersection entity create one by concatenate two entities together Example EVENT PARTNER WORK ASSIGNMENT (PARTNER_EVENT) Normalization To make sure you don’t store the same data twice in the model Also, that you store the data in the correct place We will cover the first 3 normal forms. First Normal Form (1NF) First Normal Form requires that there be no multivalued attributes and no repeating groups. To check for 1NF, validate that each attribute has a single value for each instance of the entity. In other words: “One value per Attribute”. Example 1NF This has multiple values for the classroom. SCHOOL BUILDING #code *name *address *classroom Example 1NF EMPLOYEE #id *name *address . . º telephone º salary Telephone is a multvalued attribute that could be an Entity. Ie. Home, work, mobile, fax etc. Not all Employees have multiple phones, so there would eliminate multiple NULL values. Review 1NF examples Look at the 4 examples on 5.4.4