Lecture 9: Conceptual Database Design - PowerPoint PPT Presentation

About This Presentation
Title:

Lecture 9: Conceptual Database Design

Description:

Lecture 9: Conceptual Database Design January 27th, 2003 Building an Application with a DBMS Requirements modeling (conceptual, pictures) Decide what entities should ... – PowerPoint PPT presentation

Number of Views:139
Avg rating:3.0/5.0
Slides: 40
Provided by: Alon87
Category:

less

Transcript and Presenter's Notes

Title: Lecture 9: Conceptual Database Design


1
Lecture 9Conceptual Database Design
  • January 27th, 2003

2
Building an Application with a DBMS
  • Requirements modeling (conceptual, pictures)
  • Decide what entities should be part of the
    application and how they should be linked.
  • Schema design and implementation
  • Decide on a set of tables, attributes.
  • Define the tables in the database system.
  • Populate database (insert tuples).
  • Write application programs using the DBMS
  • way easier now that the data management is taken
    care of.

3
Database Design
  • Why do we need it?
  • Agree on structure of the database before
    deciding on a particular implementation.
  • Consider issues such as
  • What entities to model
  • How entities are related
  • What constraints exist in the domain
  • How to achieve good designs

4
Database Design Formalisms
  • 1. Object Definition Language (ODL)
  • Closer in spirit to object-oriented models
  • I dont teach it anymore.
  • 2. Entity/Relationship model (E/R)
  • More relational in nature.
  • Both can be translated (semi-automatically) to
    relational schemas
  • ODL to OO-schema direct transformation (C or
    Smalltalk based system).

5
2. Entity / Relationship Diagrams
Entities Attributes Relationships between
entities
Product
address
buys
6
Keys in E/R Diagrams
  • Every entity set must have a key

name
category
price
Product
7

name
category
name
price
makes
Company
Product
stockprice
buys
employs
Person
name
ssn
address
8
What is a Relation ?
  • A mathematical definition
  • if A, B are sets, then a relation R is a subset
    of A x B
  • A1,2,3, Ba,b,c,d,
  • R (1,a), (1,c), (3,b)
  • - makes is a subset of Product x Company

9
Multiplicity of E/R Relations
  • one-one
  • many-one
  • many-many

10

name
category
name
price
makes
Company
Product
stockprice
What doesthis say ?
buys
employs
Person
name
ssn
address
11
Multi-way Relationships
How do we model a purchase relationship between
buyers, products and stores?
Can still model as a mathematical set (how ?)
12
Arrows in Multiway Relationships
  • Q what does the arrow mean ?
  • A if I know the store, person, invoice, I know
    the movie too

13
Arrows in Multiway Relationships
  • Q what do these arrow mean ?
  • A store, person, invoice determines movie and
    store, invoice, movie determines person

Invoice
VideoStore
Rental
Movie
Person
14
Arrows in Multiway Relationships
  • Q how do I say invoice determines store ?
  • A no good way best approximation
  • Q Why is this incomplete ?

15
Roles in Relationships
What if we need an entity set twice in one
relationship?
Product
Purchase
Store
buyer
salesperson
Person
16
Attributes on Relationships
date
Product
Purchase
Store
Person
17
Converting Multi-way Relationships to Binary
ProductOf
date
Product
Purchase
StoreOf
Store
BuyerOf
Person
18
From E/R Diagramsto Relational Schema
  • Entity set ? relation
  • Relationship ? relation

19
Entity Set to Relation
name
category
price
Product
Product(name, category, price) name
category
price gizmo
gadgets 19.99
20
Relationships to Relations

name
category
price
Start Year
name
makes
Company
Product
Stock price
Makes(product-name, product-category,
company-name, year) Product-name
Product-Category Company-name Starting-year
gizmo gadgets
gizmoWorks 1963
(watch out for attribute name conflicts)
21
Relationships to Relations

name
category
price
Start Year
name
makes
Company
Product
Stock price
No need for Makes. Modify Product name
category price StartYear companyName
gizmo gadgets 19.99 1963
gizmoWorks
22
Multi-way Relationships to Relations
address
name
Product
Purchase
Store
price
name
Person
Purchase( , , )
ssn
name
23
3. Design Principles
Whats wrong?
Purchase
Product
Person
President
Person
Country
Moral be faithful!
24
Design PrinciplesWhats Wrong?
date
Product
Purchase
Store
Moral pick the right kind of entities.
personAddr
personName
25
Design PrinciplesWhats Wrong?
date
Dates
Product
Purchase
Store
Moral dont complicate life more than it
already is.
Person
26
Modeling Subclasses
  • The world is inherently hierarchical. Some
    entities are special cases of others
  • We need a notion of subclass.
  • This is supported naturally in object-oriented
    formalisms.

Products
Software products
Educational products
27

Subclasses in E/R Diagrams
name
category
price
Product
isa
isa
Educational Product
Software Product
Age Group
platforms
28
Understanding Subclasses
  • Think in terms of records
  • Product
  • SoftwareProduct
  • EducationalProduct

field3
field4
field5
29
Subclasses to Relations
Product
Name Price Category
Gizmo 99 gadget
Camera 49 photo
Toy 39 gadget
Sw.Product
Name platforms
Gizmo unix
Ed.Product
Name Age Group
Gizmo todler
Toy retired
30
Modeling UnionTypes With Subclasses
Say each piece of furniture is owned either by a
person, or by a company
31
Modeling Union Types with Subclasses
  • Say each piece of furniture is owned either by a
    person, or by a company
  • Solution 1. Acceptable, imperfect (Whats wrong ?)

32
Modeling Union Types with Subclasses
  • Solution 2 better, more laborious

Owner
isa
isa
ownedBy
Person
  • Company

FurniturePiece
33
Constraints in E/R Diagrams
Finding constraints is part of the modeling
process. Commonly used constraints Keys
social security number uniquely identifies a
person. Single-value constraints a person
can have only one father. Referential
integrity constraints if you work for a company,
it
must exist in the database. Other
constraints peoples ages are between 0 and 150.
34
Keys in E/R Diagrams
name
category
Underline
price
Product
No formal way to specify multiple keys in
E/R diagrams
Person
name
ssn
address
35
Single Value Constraints
makes
v. s.
makes
36
Referential Integrity Constraints
makes
Company
Product
makes
Company
Product
37
Other Constraints
makes
lt100
Company
Product
What does this mean ?
38
Weak Entity Sets
Entity sets are weak when their key comes from
other classes to which they are related.
affiliation
University
Team
number
sport
name
39
Handling Weak Entity Sets
affiliation
University
Team
number
sport
name
Convert to a relational schema (in class)
Write a Comment
User Comments (0)
About PowerShow.com