MIS 111: Computers and the inter-networked society
description
Transcript of MIS 111: Computers and the inter-networked society
MIS 111: COMPUTERS AND THE INTER-NETWORKED SOCIETY
Class 8: Data ManagementJuly 20th, 2011
NEWS
ANNOUNCEMENTS 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.
LEARNING OBJECTIVES 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
THIS WEEK Today: Entity Relationship Diagrams
Thursday: Relational TablesQuiz
Friday: Assignment #1Meet in McClelland Hall 218
WHY ARE WE DOING THIS? 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 effective way to conceptualize data
I <3 ERD
OUR BUSINESS CASE 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.
WARNING: NOTES ENCOURAGED
DEFINITIONS AHEAD
ENTITY RELATIONSHIP DIAGRAMS
ENTITIES AND ENTITY CLASSES
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
ATTRIBUTES Attribute – a characteristic or quality of
a particular entity class Identifier– an attribute that uniquely
identifies an entity class (always underlined)
STUDENTS
StudentID StudentEmail
StudentName
EXAMPLE: TEACHERS We want to represent all teachers and
keep track of their names, email addresses, and salaries.
TEACHERS
TeacherID
TeacherName TeacherEma
ilTeacherSala
ry
EXAMPLE: COURSES We want to represent all courses and
keep track of course numbers and course names.
COURSES
CourseNo CourseName
WHAT’S NEXT? 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?
RELATIONSHIPS STUDENTS enroll in COURSES.
STUDENTS COURSESenroll in
CourseNo
CourseName
StudentID
StudentName
StudentEmail
EXAMPLE: TEACHERS AND COURSES
TEACHERS teach COURSES.
COURSESCourseN
oCourseNam
e
TEACHERS
teach
TeacherID
TeacherName
TeacherEmail
TeacherSalary
LET’S PUT THE ERD TOGETHER
STUDENTS
COURSES
enroll in
CourseNo CourseNam
e
StudentID
StudentName
StudentEmail
TEACHERSteac
h
TeacherID
TeacherName
TeacherEmail
TeacherSalary
LET’S KEEP ON GOING: ADVENTURE AWAITS
CARDINALITY Cardinality – defines a relationship
between two entity classes in terms of how many instances of X are allowed for each instance of Y
STUDENTS COURSESenroll in
CourseNo
CourseName
StudentID
StudentName
StudentEmail
BUSINESS RULES 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.
CARDINALITY 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?
[0:30]STUDENTS COURSESenroll
in
CARDINALITY 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?
[0:30]STUDENTS COURSESenroll
in[4:6]
NOTE We call this in general a “many-to-
many” relationship because each entity class may have more than one instance.
Many-to-many = [M:N]
[0:30]STUDENTS COURSESenroll
in[4:6]
EXAMPLE: TEACHERS TEACH 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?
COURSES
TEACHERS
teach
TeacherID
TeacherName
TeacherEmail
TeacherSalary
CourseNo CourseNam
e
[0:1]
EXAMPLE: TEACHERS TEACH COURSES
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?
COURSES
TEACHERS
teach
TeacherID
TeacherName
TeacherEmail
TeacherSalary
CourseNo CourseNam
e
[0:1]
[1:3]
NOTE 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.
One-to-Many = [1:M]
COURSES
TEACHERS
teach
[0:1]
[1:3]
YOUR TURN! 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.
ERD: PRETTIEST PUPPIES & CO.
PUPPIES STORES
CUSTOMERS
buy
sell
StoreID
StoreName StoreLoc
PupAgeWhenSold
PupBreed
PupTempPupID
CustZip
CustName
CustGender
CustID
[1:1]
[1:M]
[0:1]
[1:M]
ONE MORE THING… 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.
EXAMPLE: DOCTORS AND PATIENTS 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?
DOCTORS, PATIENTS, AND TREATMENTS
Weak entity classes are represented by concentric rectangles.
DOCTORS PATIENTS
TREATMENTS
treat
WHAT ABOUT THE FIRST EXAMPLE?
What information did we want to track???Which STUDENTS are enrolled in which
COURSESWhich TEACHERS are teaching which
COURSES
STUDENTS COURSESenrol
l in
TEACHERS
teach
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.
WEAK ENTITY CLASSES AND CARDINALITY
Rule: The strong entity classes upon which the weak entity class depends must have a minimum cardinality of 1 or greater.
DOCTORS PATIENTS
TREATMENTS
treat
[1: [1:
TERNARY RELATIONSHIPS AND
CARDINALITY New question: For every combination of
DOCTOR and PATIENT, what is the minimum/maximum number of TREATMENTS I may have?
DOCTORS PATIENTS
TREATMENTS
treat
[1: [1:
[0:M]
TERNARY RELATIONSHIPS AND
CARDINALITY Q3 & 4. For every combination of
DOCTOR and TREATMENT, what is the min/max number of PATIENTS I may have?
DOCTORS PATIENTS
TREATMENTS
treat
[1: [1:1]
[0:M]
TERNARY RELATIONSHIPS AND
CARDINALITY Q5 & 6. For every combination of
PATIENT and TREATMENT, what is the min/max number of DOCTORS I may have?
DOCTORS PATIENTS
TREATMENTS
treat
[1:1]
[1:1]
[0:M]
NOTE 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]
DOCTORS PATIENTStreat
[1:1] [1:1]
NOTE
Weak entity classes do NOT have identifiers.
YOUR TURN 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.
TWINKLE TONES PRIVATE LESSONS
INSTRUCTORS MUSICIANSteach
LESSONS
MusIDMusNam
e
MusEmail
InsID
InsEmailInsName
TimeDay
[0:M]
[1:1]
[1:1]
TOMORROW’S CLASS We are going to take these entity
relationship diagrams and turn them into relational tables!
FYI: Microsoft Visio Quiz! Bring your computer with excel
PAY SPECIAL ATTENTION TO THESE LEARNING OBJECTIVES: 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