Class 8: Data Management July 20th, 2011 Grades are posted: http://www.u.arizona.edu/~jjenkins/mis111 _summer2011/grades/grades.htm Check them often to make sure I haven't made a mistake New Office Location (E-commerce Lab conference room) Today I’ll be there only until 11:40 Web sites looks great! I was hoping to give you the entire day of Friday to work on your assignment 2, but I might have to lecture a bit too. Define the basic components of an ER diagram Be able to construct a complete ER diagram based on a simple business case Be able to critique ER diagrams Today: Entity Relationship Diagrams Thursday: Quiz Friday: Relational Tables Assignment #1 Meet in McClelland Hall 218 Businesses can live or die by the management of their data Businesses, especially online businesses, have a TON of data to manage Peter Chen’s entity relationship diagrams are an extremely I <3 effective way to conceptualize ERD data Happy Hills High School has commissioned us to keep track of its operations. They need to track information about students, teachers, and courses. Where we’ll start: They need to keep track of students’ id numbers, names, and email addresses. Entity – a person, place, thing or event about which information is maintained Entity Class – an abstract representation of ALL of a particular type of entity STUDENTS Attribute – a characteristic or quality of a particular entity class Identifier– an attribute that uniquely identifies an entity class (always underlined) StudentID StudentName StudentEmail STUDENTS We want to represent all teachers and keep track of their names, email addresses, and salaries. TeacherName TeacherEmail TeacherID TeacherSalary TEACHERS We want to represent all courses and keep track of course numbers and course names. COURSES CourseNo CourseName We have created the STUDENTS, TEACHERS, and COURSES entity classes. We gave each entity class its own attributes. We also provided each entity class with a unique identifier. What more can we represent? STUDENTS enroll in COURSES. CourseNo StudentID enroll in STUDENTS COURSES CourseName StudentEmail StudentName TEACHERS teach COURSES. TeacherName TeacherEmail TeacherSalary TeacherID TEACHERS teach COURSES CourseNo CourseName TeacherEmail TeacherName StudentID STUDENTS TeacherSalary TeacherID TEACHERS enroll in teach COURSES StudentEmail StudentName CourseNo CourseName Cardinality – defines a relationship between two entity classes in terms of how many instances of X are allowed for each instance of Y CourseNo StudentID enroll in STUDENTS COURSES CourseName StudentEmail StudentName Cardinality is often defined by certain business rules. For example, Happy Hills High School has the following business rules: A student must enroll in at least four classes to be considered a full-time student. A student may enroll in no more than six courses at a time. Course enrollment may not exceed thirty students. In a binary relationship, we must ask four questions: 1. For each COURSE, what is the minimum number of STUDENTS I may have? 2. For each COURSE, what is the maximum number of STUDENTS I may have? STUDENTS [0:30] enroll in COURSES 3. For each STUDENT, what is the minimum number of COURSES I may have? For each STUDENT, what is the maximum number of COURSES I may have? STUDENTS [0:30] enroll in [4:6] COURSES We call this in general a “many-to-many” relationship because each entity class may have more than one instance. Many-to-many STUDENTS = [M:N] [0:30] enroll in [4:6] COURSES 1. For each COURSE, what is the minimum number of TEACHERS I may have? 2. For each COURSE, what is the maximum number of TEACHERS I may have? TeacherID TEACHERS [0:1] TeacherName TeacherSalary TeacherEmail teach CourseNo COURSES CourseName 3. For each TEACHER, what is the minimum number of COURSES I may have? 4. For each TEACHER, what is the maximum number of COURSES I may have? TeacherID TEACHERS [0:1] TeacherSalary TeacherEmail TeacherName teach CourseNo [1:3] COURSES CourseName We call this in general a “one-to-many” relationship because one side may only have up to one instance and the other may have many. TEACHERS One-to-Many = [1:M] [0:1] teach [1:3] COURSES Prettiest Puppies & Co. operates a chain of pet stores that sell puppies to customers looking for new furry friends. The management would like to be able to keep track of which puppies are bought by which customers, as well as which stores in the chain sell which puppies. Management would like to track puppy breeds, ages when sold, and temperaments. They would also like to keep track of each customer’s last name, gender, and zip code. Finally, they need to keep track of each store’s name and location. PupAgeWhenSold PupBreed PUPPIES sell [1:M] [1:1] STORES [1:M] PupTemp PupID StoreID buy StoreName CustID [0:1] CUSTOMERS CustGender CustName CustZip StoreLoc There are different types of entity classes. Strong entity classes are entity classes that can exist by themselves. They are existence independent. Weak entity classes, on the other hand, are entity classes that are existence dependent. In other words, they depend upon the existence of one or more strong entities to exist. DOCTORS treat PATIENTS. When a PATIENT sees the DOCTOR, a TREATMENT is prescribed. Can a TREATMENT exist without the presence of a DOCTOR and PATIENT? Weak entity classes are represented by concentric rectangles. DOCTORS treat TREATMENTS PATIENTS What information did we want to track??? Which STUDENTS are enrolled in which COURSES Which TEACHERS are teaching which COURSES QUESTION: Could each COURSE have existed by itself? ANSWER: Yes. The COURSE was always in the catalog and did not need either TEACHERS or STUDENTS to exist. STUDENTS enroll in TEACHERS teach COURSES Rule: The strong entity classes upon which the weak entity class depends must have a minimum cardinality of 1 or greater. [1: DOCTORS [1: treat TREATMENTS PATIENTS New question: For every combination of DOCTOR and PATIENT, what is the minimum/maximum number of TREATMENTS I may have? [1: DOCTORS [1: treat [0:M] TREATMENTS PATIENTS Q3 & 4. For every combination of DOCTOR and TREATMENT, what is the min/max number of PATIENTS I may have? [1: DOCTORS [1:1] treat [0:M] TREATMENTS PATIENTS Q5 & 6. For every combination of PATIENT and TREATMENT, what is the min/max number of DOCTORS I may have? [1:1] DOCTORS [1:1] treat [0:M] TREATMENTS PATIENTS We call this in general a “one-to-one” relationship because both entity classes may only have a maximum of one instance. One-to-one = [1:1] [1:1] DOCTORS [1:1] treat PATIENTS Weak entity classes do NOT have identifiers. Twinkle Tones School of Music provides private lessons only by musician request. When a musician requests a private lesson, the School finds an available instructor and arranges a lesson schedule. The School would like to track these lessons – the day of the week when they are scheduled, as well as the time they begin. The School would also like to track musician names and email addresses, as well as instructor names and email addresses. InsID MusName MusID [1:1] INSTRUCTORS teach [1:1] InsEmail MUSICIANS MusEmail InsName [0:M] Day LESSONS Time We are going to take these entity relationship diagrams and turn them into relational tables! FYI: Microsoft Visio Quiz! Bring your computer with excel List the three rules of the Long tail. Define Service Oriented Architecture (SOA) List 4 benefits of SOA List the four steps of Search Engine Optimization List at least four HCI design principles for Web sites List three examples of HCI applications today Be able to critique ER diagrams
© Copyright 2026 Paperzz