1 cs 3630 database design and implementation. 2 sets foundation of relational database. basic...
TRANSCRIPT
3
Relational Algebra Operations
• Selection• Projection• (Union)• (Set difference)• (Intersection)• Cartesian product• Join
Natural Join
Outer Join
4
Relational Algebra Operations
• Apply to relation/table instances
• The result is still a relation/table instance
• Syntax
5
Relational Algebra Operations
• Which tables?
• Which operations?
• Which common attribute for join?
• Which attributes to retrieve?
6
(Guest Booking Hotel)
Guest.*
(fromDate <= CurrentDate and toDate >= CurrentDate and hotelName = ‘Grosvenor’)
7
Design MethodologyA structured approach that uses procedures, techniques, tools, and
documentation aids to support and facilitate the process of design.
Three main phases 1. Conceptual database design E-R Model
2. Logical database design Mapping E-R Model to (relational) database schema Normalization
3. Physical database design
8
E-R Model• Entity Attributes: Simple or Composite Single-value or Multi-value Required or optional
• Relationship One-to-One One-to-Many Many-to-Many Could have attributes
9
Multiplicity
For one object on the other side!
E1 (1..1) IsRelatedTo (0..1) E2
E1 (0..*) IsRelatedTo (1..1) E2
E1 (0..*) IsRelatedTo (1..*) E2
Staff (1..*) IsRelatedTo (0..1) Branch
Renter (0..*) Views (0..*) Property
Date, Comment
10
Mapping Entity
Composite AttributeDo we need a new table?
NO!
Multi-value AttributeDo we need a new table?
YES!
11
Mapping Relationships
• One-to-Many Do we need a new table? NO!• One-to-One Do we need a new table? NO!• Many-to-Many Do we need a new table? YES!
12
Table
Table Schema
Definition
DBDL
Do not change too often
Table Instance
Records stored in database
Different at different times
Candidate keys
13
Candidate Key
A minimum set of attributes that uniquely identifies each record of a table.
No proper subset satisfying the definition.
R (Att1, Att2, Att3) Candidate Keys: (Att1, Att2) Either Att1 or Att2 is not a candidate key But Att3 could be a candidate key
14
Candidate KeyA minimum set of attributes that uniquely identifies each
record of a table. No proper subset satisfying the definition.
R (Att1, Att2, Att3, Att4) Candidate Keys: (Att1, Att2) Att3
Functional Dependency Att3 All other attributes Att1, Att2 All other attributes
Att1 All other attributes Not True Att2 All other attributes Not True
15
Candidate Key, PK, AK and FK
• A table could have more than one candidate key.
• One candidate key is selected as the primary key (PK).
• Other candidate keys become alternate keys (AK).
• PK can be copied to other tables as foreign keys (FK).
16
Functional Dependency
Definition
In a relation/table R S: a set of attributes T: a set of attributes S T For ANY relation instance If two records of R have the same values on S Then they will have the same values on T
Trivial FDs A A A, B, C B, C
First Normal Form (1NF)
• No multi-value attributes
• Done when mapping E-R model to relational schema
17
Second Normal Form (2NF)
A relation R is in 1NF, and
every non-primary-key attribute is fully functionally dependent on the primary key
Then R is in 2NF.
No Partial FD on PK.
18
Third Normal Form (3NF)
Relation R in 2NF, and
No non-Primary-Key attribute is transitively functionally dependent on the primary key
Then R is in 3NF.
No Transitive FD on PK.
Must be in 2NF!19
Boyce-Codd Normal Form (BCNF)
Definition
R in 1NF and
Every determinant (the left side of a FD) is a candidate key.
Stronger than 3NF!
20
Test 1: 50 Points• Wednesday• Lab 206• Sets• Relational Database Model• Relational Algebra• Mapping E-R model to table schema• Functional Dependency• Normalization• Open Book, Notes, Computer• Copy-paste word document
21