CCT396, Fall 2011 Database Design and Implementation Yuri Takhteyev University of Toronto This presentation is licensed under Creative Commons Attribution.

Slides:



Advertisements
Similar presentations
ER Model For a college DB
Advertisements

More Diagramming & Practice with Relationship Modeling
Information System Analysis Lab 7. ERD entity-relationship diagram is a data modeling technique that creates a graphical representation of the entities,
Chapter 2.1 V3.1 Napier University Dr Gordon Russell
Ch5: ER Diagrams - Part 1 Much of the material presented in these slides was developed by Dr. Ramon Lawrence at the University of Iowa.
--The Entity Relationship Model(3)--1 Outline  ER model  Overview  Entity types Attributes, keys  Relationship types  Weak entity types  Uses Crows.
Entity Relationship (ER) Modeling
IT420: Database Management and Organization
Entity-Relationship Model
Copyright © 2015 Pearson Education, Inc. Database Design Chapters 17 and
Basic Symbols.
Review Questions What is data modeling? What is the actual data model that is created called? Data modeling is a technique for organizing and documenting.
Entity-Relationship Model
Class Number – CS 304 Class Name - DBMS Instructor – Sanjay Madria Instructor – Sanjay Madria Lesson Title – ER Model.
Relational Databases What is a relational database? What would we use one for? What do they look like? How can we describe them? How can you create one?
Data Modeling and Entity- Relationship Model I IST2101.
MIS2502: Data Analytics Relational Data Modeling
MS Access 2007 IT User Services - University of Delaware.
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 5-1 David M. Kroenke’s Chapter Five: Data Modeling with the Entity-Relationship.
Entity-Relationship Modeling I The cautious seldom err. Confucius.
Data Modeling Using the Entity-Relationship Model
Data Modeling and Relational Database Design. Analyze and model the relationships between entities Draw an initial entity relationship diagram Read the.
Data Modeling using Entity Relationship Diagramming (ERD)
1. 2 Data Modeling 3 Process of creating a logical representation of the structure of the database The most important task in database development E-R.
2.3 Organising Data for Effective Retrieval
Digital Media Technology Week 11. Stylesheet languages vs. Querying languages.
Database. Basic Definitions Database: A collection of related data. Database Management System (DBMS): A software package/ system to facilitate the creation.
Practice of ER modeling
Module Title? Data Base Design 30/6/2007 Entity Relationship Diagrams (ERDs)
1 ER Modeling BUAD/American University Entity Relationship (ER) Modeling.
Data Modelling – ERD Entity Relationship Diagram’s Entity Relationship Diagrams and how to create them. 1.
University of Toronto Department of Computer Science © Steve Easterbrook. This presentation is available free for non-commercial use with attribution.
Entity-Relationship (ER) Modelling ER modelling - Identify entities - Identify relationships - Construct ER diagram - Collect attributes for entities &
Chapter 7 Data Modeling with Entity Relationship Diagrams
1 A Demo of Logical Database Design. 2 Aim of the demo To develop an understanding of the logical view of data and the importance of the relational model.
IMS 4212: Introduction to Data Modeling—Relationships 1 Dr. Lawrence West, Management Dept., University of Central Florida Relationships—Topics.
ERD ( Conceptual data model From the statement of data requirements a conceptual data model is produced. This describes.
Weak Entity Sets A weak entity is an entity that cannot exist in a database unless another type of entity also exists in that database. Weak entity meets.
MIS2502: Data Analytics Relational Data Modeling
DatabaseIM ISU1 Fundamentals of Database Systems Chapter 3 Data Modeling Using Entity-Relationship Model.
Data Modeling Using the Entity- Relationship (ER) Model.
Chapter 3: Modeling Data in the Organization. Business Rules Statements that define or constrain some aspect of the business Assert business structure.
Entity Relationship Diagram (ERD). Objectives Define terms related to entity relationship modeling, including entity, entity instance, attribute, relationship.
David M. Kroenke and David J. Auer Database Processing Fundamentals, Design, and Implementation Chapter Five: Data Modeling with the Entity-Relationship.
Data Modeling and Entity-Relationship Model I
Chapter 7 Data Modeling Using the Entity-Relationship (ER) Model
INF1343, Winter 2012 Data Modeling and Database Design Yuri Takhteyev Faculty of Information University of Toronto This presentation is licensed under.
CCT395, Week 4 Database Design and ER Modeling This presentation is licensed under Creative Commons Attribution License, v To view a copy of this.
INF1343, Week 6 Implementing a Database with SQL This presentation is licensed under Creative Commons Attribution License, v To view a copy of this.
CCT395, Week 6 Implementing a Database with SQL and a Case Study Exercise This presentation is licensed under Creative Commons Attribution License, v.
INF1343, Winter 2012 Data Modeling and Database Design Yuri Takhteyev Faculty of Information University of Toronto This presentation is licensed under.
CCT396, Fall 2011 Database Design and Implementation Yuri Takhteyev University of Toronto This presentation is licensed under Creative Commons Attribution.
INF1343, Week 4 Database Design and ER Modeling This presentation is licensed under Creative Commons Attribution License, v To view a copy of this.
CCT395, Week 5 Translating ER into Relations; Normalization This presentation is licensed under Creative Commons Attribution License, v To view a.
INF1343, Winter 2011 Data Modeling and Database Design Yuri Takhteyev University of Toronto This presentation is licensed under Creative Commons Attribution.
Data Modeling Using the Entity- Relationship (ER) Model
Data Modeling Using the Entity- Relationship (ER) Model
Translating ER into Relations; Normalization
Special Topics in CCIT: Databases
MIS2502: Data Analytics Relational Data Modeling
Data Modeling and Database Design INF1343, Winter 2012 Yuri Takhteyev
Database Design and Implementation
Data Modeling and Database Design INF1343, Winter 2012 Yuri Takhteyev
بسم الله الرحمن الرحيم.
Entity-Relationship Modeling "Extended"
MIS2502: Data Analytics Relational Data Modeling
MIS2502: Data Analytics Relational Data Modeling
MIS2502: Data Analytics Relational Data Modeling 2
Entity-Relationship Modeling "Extended"
Entity-Relationship Modeling "Extended"
Presentation transcript:

CCT396, Fall 2011 Database Design and Implementation Yuri Takhteyev University of Toronto This presentation is licensed under Creative Commons Attribution License, v To view a copy of this license, visit This presentation incorporates images from the Crystal Clear icon collection by Everaldo Coelho, available under LGPL from

Week 3 The ER Model

The Relational Model persona species_type species

1. Serves the purpose. 2. Simplifies updates. 3. Avoids “anomalies”. Good DB Design

Two Approaches 1. Start with whatever, then fix it 2. Start by modeling ER Modeling

The DB Lifecycle requirements analysis implementation deployment design

clientyoudatabaseusers the problem functional specification clarification a design a schema use feedback a new problem

Functional Specifications What is the system going to do? (Not how, but what.)

Course Enrollment What do we want from a course enrollment system?

“Use Cases” A student wants to enroll in a course for the next semester. The student goes to the website for the enrollment system and logs in. The student is presented with a list of courses there he or she is enrolled in. There is a button next to each course to un-enroll from it. There is also a search box that the student can use use to look for courses that they are not enrolled in. The student can find the course by the course code or course title...

ER Model E is for “Entities” R is for “Relationships” (“relationships” != “relations”)

“Use Cases” A student wants to enroll in a course for the next semester. The student goes to the website for the enrollment system and logs in. The student is presented with a list of courses there he or she is enrolled in. There is a button next to each course to un-enroll from it. There is also a search box that the student can use use to look for courses that they are not enrolled in. The student can find the course by the course code or course title...

Entities The “things” we need to keep track of in our database: students courses instructors rooms time slots

student last name first name utorid date of birth attributes programcoursepayment other entities

Entities vs Attributes Attributes usually atomic values, e.g. a number, a string, a date Entities bundles of values (But are dates really atomic?)

One Entity or Two? The book and its author? The book and its title? The film and its director? The film and its title? The city and its population? The city and its mayor? The user and their account?

student last name first name utorid date of birth “Chen’s notation”

student last name first name utorid date of birth “UML notation” (simplified)

Type vs Instance Entity as a type When we say “student” we really mean “students” as a type. Instances of entities Individual students’ records are instances of the “student” entity.

program course payment student last name first name utorid date of birth

program name code course code title payment amount date session code start date student is in a program student made a payment student is enrolled in a course course is offered in a session student last name first name utorid date of birth course belongs to a program

ER vs Data Flow Diagrams ER Diagrams The structure of the data itself Data Flow Diagrams The flow of data between the different processing steps.

ProfessorStudent database “persistent storage” submits assignment submits grade the grade is stored the grade is retrieved displays grade This is NOT what we are doing represents an actual live student

program name code course code title payment amount date session code start date student is in a program student made a payment student is enrolled in a course course is offered in a session student last name first name utorid date of birth course belongs to a program represents our record of a student

Two Degrees 1.A box in an IR diagram represents a type of record. 2.Records stores information about things in the real world.

A Movie Database What are the entities? Which are related?

Cardinality student last name first name utorid date of birth payment amount date payment amount date payment amount date payment amount date payment amount date one student, many payments “one-to-many” relationship

student last name first name utorid date of birth payment amount date “Crow’s Foot Notation”

not more than 1many “Crow’s Foot Notation”

at least 1 (mandatory) could be 0 (optional) “Crow’s Foot Notation” N

just one zero or many “UML Notation” 1..1 or just “1” 0..N or “0..*” N

at least 1 (mandatory) “Weak Entity” a weak entity studentpayment

More Examples worldcharacter speciespet courseassignment ???

Variations ownerpet manageremployee ???

Questions on 1:M?

WeWe ❤ 1:M Because they are really easy to represent in a relational database.

Many-to-Many student last name first name utorid date of birth course code title

Examples bookauthor personaddress courseinstructor ???

Movie Database Which relationships are 1:M and which are M:M?

We ! ❤ M:M Because they cannot be represented in a relational database.

Breaking Up M:M student last name first name utorid date of birth course code title

“Associative Entity” student last name first name utorid date of birth course code title enroll ment

Examples book author author ship ??? person address reside nce

Questions on M:M?

One-to-One ???

One-to-One ???

One-to-One enginecar the engine is installed in the car engines in stock cars shipped

Examples citymayor captainship chef signature dish ???

Recursive Relationships person likes

Recursive Relationships person likes

Examples employee tax return coin image ??? is filed jointly with supervises is the flip side of ???

N-nary Relationships seller sold (what?) to the buyer sellerbuyer house seller sold house (to whom?) buyer bought house (from whom?)

N-nary Relationships seller buys a house from buyer sellerbuyer house

N-nary Relationships seller house buyer sale

Putting It Together ● OpenOffice Draw – Free / open source – Available in the lab – You can get “Crow’s Foot” templates at – Alternatively, do UML notation (“n..m”) by hand ● Microsoft Visio ● Your favorite software Options for software:

Questions?

course code title session code start date student last name first name room number capacity building code map url probably redundan t might be redundan t

course code title session code start date student last name first name room number capacity building code map url student enrolls in course course is offered in session course meets in room room is in building

course code title session code start date room number capacity building code map url student last name first name

course code title session code start date student last name first name room number capacity building code map url

course code title session code start date student last name first name room number capacity building code map url enrol lmen t

course code title session code start date student last name first name room number capacity building code map url enrol lmen t

course code title session code start date student last name first name room number capacity building code map url enrol lmen t cours e insta nce

course code title session code start date student last name first name room number capacity building code map url enrol lmen t cours e insta nce

course code title session code start date student last name first name room number capacity building code map url enrol lmen t cours e insta nce

course code title session code start date student last name first name room number capacity building code map url enrol lmen t cours e insta nce

course code title session code start date student last name first name room number capacity building code map url enrol lmen t cours e insta nce

course code title session code start date student last name first name room number capacity building code map url enrollment course instance final exam?

course code title session code start date student last name first name room number capacity building code map url enrollment course instance final exam?

Questions?