The Power of ONE Today, we will evaluate chapter 5 of this book and continue to teach you the essential database concepts, technology, and techniques that you will need to begin a career as a database developer. 5.1 Explain how entities are transformed into relations. To transform an E-R data model into a relational database design, a relation is created for each entity. The attributes of the entity become the columns of the relation, and the identifier of the entity becomes the primary key of the relation. 5.2 Why is it necessary to apply the normalization process to the relations created according to your answer in question 5.1? It is necessary to apply the normalization process to the relations created because the process is then applied to each relation, and additional relations are created. The attributes of the functional dependencies out of the relation, making a copy of their determinants in the original relation as foreign keys. 5.3 What is denormalization? Denormalizationthe process of intentionally designing a relation that is not normalized. Denormalization is done to improve performance or security. 5.4 When is Denormalization justified? Denormalization is justified when breaking groups into separate tables will make the designs hard to use. 5.5 explain the problems that unnormalized relations have for insert, update, and delete actions. Insert: If we leave Zip, City, and State in CUSTOMER, then we will not be able to insert data for a new zip code until a customer has that zip code. However, we will never want to do that. We only care about zip code data when one of our customers has that zip code. Therefore, leaving the zip data in CUSTOMER does not pose problems when inserting. Update: If a city changes its zip code, then we might have to change multiple rows in CUSTOMER. How frequently do cities change their zip code though? Because the answer is almost never, updates in the denormalized relation are not a problem. Delete: If only one customer has the zip data (80210, Denver, Colorado), then if we delete that customer, we will lose the fact that 80210 is in Denver. This does not really matter though because when another customer with this zip code is inserted, that customer also will provide the city and state. 5.6 Explain how the representation of weak entities differs from the representation of strong entities. Weak entities logically depend on another entity. Strong entities are not dependent on another table since they have an “ID” dependency. 5.7 List the three types of binary relationships and give an example of each. The simplest form of binary relationship is a one-to-one (1:1) relationship, in which an entity of one type is related to at most one entity of another type. Ex: Employee to Cubicle Number. Each single employee is assigned to their own single cubicle The second type of binary relationship, known as one to many (1:N), is a relationship in which an entity of one type can be related to many entities of another type. Ex: Counselor to Student. One high school counselor is assigned to many students. The third and final type of binary relationship is many to many (M:N), in which an entity of one type corresponds to many entities of the second type, and an entity of the second type corresponds to many entities of the first type. Ex: A student too many classes and a class to many students. Many-to-many relationships cannot be represented directly by relations in the same way that one-to-one and one-to-many relationships are. The reason being, we cannot put multiple values in one cell, but it’s understandable that many students correspond too many classes. 5.8 Define the term “foreign key” and give an example. Foreign key: An attribute that is a key of one or more relations other than the one in which it appears. Ex: When you place student ID into the enrollment table. The “student ID” in the enrollment table is the foreign key. 5.9 Show a way to represent the 1:1 relationship in your answer to question 5.7. Use data structure diagrams. John Smith IT Dept Cubicle Number 10 John Smith 5.10 For your answer to question 5.9, describe a method for obtaining data about one of the entities, given the key of the other. 06 Cubicle Number 10 John Smith IT Dept 06 5.11Code the SQL statements to create a join having all data about both relations from your work for question 5.9 SELECT FROM WHERE * STUDENT,LOCKER SUDENT.StudentID = LOCKER.StudentID; 5.12. Why are some 1:1 relationships considered suspicious? Under what conditions should relations in a 1:1 relationship be combined into 1 relation? Some 1:1 relationships are considered suspicious because they have hash marks that indicate the relationship is mandatory in both directions. Conditions where they should be combined into one relation are when both entities have the same key. 1.13 Define the terms parent and child and give a definition of each. The terms parent and child can be applied to the 1:N relationship where the parent is on the “one” and the child is on the “many” side. In the above diagram, professor would be the “parent”, and student would be the “child”. 1.14 Show how to represent the 1:N relationship in your answer to question 5.7. Use a data structure diagram. Class Student Primary Key ClassID StudentID ClassName ClassID Location StudentName Foreign Key 5.15 For your answer to question 5.14, describe a method for obtaining data for all of the children, given the key of parent. Describe a method for obtaining data for the parent given a key of the child. Given a class ID, we can find all the students in that class. Given the child key, we can find what class a student has. 5.16 . For your answer to question 5.14, code a SQL statement that creates a relation having all data from both tables. SELECT FROM WHERE * Class, Student Class.ClassID = Student.ClassID; 5.17 For a 1:N relationship, explain why you must place the key of the parent in the child, rather than placing the key of the child in the parent. In 1:N relationships, the parent relation is the “one” and the child relation is the “many”. Because attributes in a relation can have only a single value, each Child record has room for only one Parent record. The key in placed in the Child because the Parent is not able to contain multiple values for the many Child records. 5.18 Give examples of binary 1:N relationships, other than those in this text, for an optionalto-optional relationship, an optional-to-mandatory relationship, a mandatory-to- optional relationship, and a mandatory-to-mandatory relationship Illustrate your answer using data structure diagram. Class ClassID ClassName Location Student StudentID Schedule StudentName Optional-to-optional because a class can be created before students actually enroll and students are not required to be enrolled in that class. 5.18 cont’d Class ClassID ClassName Location Student StudentID Schedule StudentName Optional-to-mandatory relationship, ClassName is optional and StudentID is mandatory to distinguish between other students. 5.18 cont’d Class ClassID ClassName Location Student StudentID Schedule StudentName Mandatory-to- optional relationship, a ClassID is mandatory to distinguish between other classes and StudentName is optional because that student is not required to be in that class. 5.18 cont’d Class ClassID ClassName Location Student StudentID Schedule StudentName Mandatory-to-mandatory relationship, ClassID and StudentID are both mandatory to determine which student is in that class and what class that student is enrolled. 5.19 Show how to represent the N:M relationship in your answer to question 5.7. Use a data structure diagram. Student StudentID Classes StudentName Schedule ClassDesc Student-Class StudentID Schedule Student to Student-Class and Classes to Student-Class are in essence a 1:N relationship 5.20 For your answer to question 5.19, describe a method for obtaining the children for one entity, given the key of the other. Also, describe a method for obtaining the children for the second entity, given the key of the first. Given a StudentID, we can look up the appropriate row in Student-Class and the Schedule of that Student. Since we obtained the Schedule, we can look up the ClassDesc (classes) that our Student has in his Schedule. 2.21 For your answer to question 5.19, code a SQL statement that creates a relation having all data from all tables. SELECT FROM WHERE AND * CLASSES, STUDENT_CLASS, STUDENT CLASSES.Schedule = STUDENT_CLASS.Schedule STUDENT_CLASS.StudentID = STUDENT.StudentID 5.22 Why is it not possible to represent a N:M relationship with the same strategy used to represent 1:N relationship. •Because in a 1:N relationship we are placing the foreign key from one table into the other. (Note: in a 1:N the foreign key always goes into the many-side of the relationship. •In a N:M relationship we are creating a new relation called an intersection relation, which has a composite key consisting of the keys from each of the tables that formed it. 5.23 Explain the meaning if the term intersection relation. This is when a new relation is made from the keys from each of the tables that formed it. 5.24 Define 3 types of recursive binary relationships and give an example of each. A recursive relationship is a relationship that a relation has with itself. Recursive relationships adhere to the same rules as the binary relationships. 1:1 and 1:M relationships are saved using foreign keys M:N relationships are saved by creating an intersecting relation Student StudentID ProfessorID StudentName ProfessorID is a Foreign Key referencing the Primary Key StudentID 5.26 Code a SQL statement that creates a table with all columns from the parent and child tables in your answer to question 25. SELECT FROM WHERE * Student Student.ProfessorID = Student.StudentID; 5.27 Show how to represent the 1:N recursive relationship in your answer to question 24. How does this differ from the representation of 1:N non-recursive relationships? -A recursive relationship is a relationship that a relation has with itself. 5.28 Code a SQL statement that creates a table with all columns from the parent and child tables in your answer to question 27. SELECT FROM WHERE * Student Student.ProfessorID = Student.StudentID; 5.29 Show how to represent the M:N recursive relationship in your answer to question 24. How does this differ from the representation of M:N non-recursive relationships? -A recursive relationship is a relationship that a relation has with itself. This Concludes Our Presentation on Chapter 5 “Getting Started With Database Technology” Thank You for Choosing: Team 1 Consultants: University of Jonathan Jackson Houston Ronald Braun co. 2005 Kirby Mack Michael Runfola Travis Riley Ben Wessing