Database Design WEEK 10 Agenda – Week 10 Review Hybrid Review Table Instance Charts Primary Keys Normalization Database Design Steps Review Determine the purpose of the database Determine the entities Determine the fields & keys Determine the relationships Refine the design This is an iterative process that is completed several times Review Entities are…. Attributes are…. Primary key is….. Foreign key is …… Information is accessed according to its structure, not its location Use keys to identify relationships Planning the Design ERD – ◦ ◦ ◦ ◦ Serves as a blueprint for implementation Reduces problems resulting from poor design Determines how data is stored Ensures that the design meets the user’s needs Review Solution to Hybrid Homework TABLE INSTANCE CHARTS Table Instance Chart Sample One chart completed for each table ◦ Wk10_TableInstanceChart.xlsx Exercise Create table instance chart for: ◦ the puzzle (together) TYPES OF DATA Common Data Types in Access Autonumber Text Memo Number Currency Date/Time Yes/No Autonumber Use for unique sequential numbering Commonly used for PK Increments by 1 Automatically inserted when a record is added. Text Used for text or combinations of text and numbers, such as addresses, or for numbers that do not require calculations, such as phone numbers, part numbers, or postal codes. Stores up to 255 characters. Memo Use for lengthy text and numbers, such as notes or descriptions. Should be used sparingly Stores up to 65,536 characters (if not more) Number Use for data to be included in mathematical calculations, except calculations involving money (use Currency type). Yes/No Use for data that can be only one of two possible values, such as ◦ Yes/No, ◦ True/False, ◦ On/Off. Null values are not allowed Exercise Create table instance chart for: ◦ Wine Database ◦ Curling Bonspiel scenario RELATIONSHIPS Three Basic Types of Relationships One to One (1:1) One to Many (1:M) Many to Many (M:M) Called the cardinality of the relationship ◦ The cardinality indicates the maximum number of relationships between the entities, therefore "many" can be explained as "one or many" or sometimes "zero, one, or many". One to One Relationships 1:1 relationships exists when a single record in one table has 1 and only 1 corresponding record in another table, and vice versa One to One Example A voter can cast only one vote in an election. A ballot paper can belong to only one voter. So there will be a 1:1 relationship between a Voter and a Ballot Paper. Voter Ballot One to Many Relationships Most common 1:m or m:1 Relationship exists when a record can relate to 1 or more records in a second table but.. A record in the 2nd table can only relate to 1 record in the first table One to Many Example A person can own more than one car. A car can only have one owner. Owner Vehicle Many to Many Relationships M:M Relationship exists when a record in either table can relate to more than one record in the other table Many to Many Example A student can have more than one professor; the same professor can have many students Student Professor Resolving Many to Many M:M is not allowed We create a junction or joiner entity The name of the joiner entity is often a combination of the 2 entities Student Stud_Prof Professor Many to Many Relationships Relationship Review Normalization Refining the ERD Task of analyzing entities and the relationships created have been formalized into a process called normalization. Exercise: ERD & Relationships Draw an ERD for the puzzle ◦ Describe the relationships using the following format Source Entity Destination Table Customer Movie Rental Movie Rental customer Movie Movie Rental Movie Rental Movie Relationship Describe the relationship in your Type own words Exercise: ERD & Relationships Draw an ERD for the wine scenario ◦ Describe the relationships using the following format Source Entity Destination Table Relationship Describe the relationship in your Type own words ◦ Describe the relationships in the curling bonspiel Review Relationship Essentials Need a primary key Need a foreign key ◦ A foreign key is a column in a table used to reference a primary key in another table. Not all tables will require a foreign key Primary key and foreign keys are essential when you create relationships that join together multiple tables in a database Build Time For each of the following scenarios: ◦ ◦ ◦ ◦ Create and write out a business narrative Create list of tables Create the attributes for the table Create a simple ERD and the relationship rules ◦ Create a table instance chart Scenarios Political Canvassing Human Resource Dept. Private Elementary School Yoga Studio *** note each database should be around 5 tables Access DB Create a database Create tables Build relationships Populate tables Hybrid / Homework Hybrid: Refer to the 14 Week schedule Database Assignment Part 1 Quiz Time