CS 157B Database Systems Dr. T Y Lin. 1.2 Overview of a Database Management System 1.2.1 Data-Definition Language Commands –Illustrated by three examples.

Slides:



Advertisements
Similar presentations
Three-Step Database Design
Advertisements

High-Level Database Models Spring 2011 Instructor: Hassan Khosravi.
Relational Database Design Via ER Modelling
SQL Query Examples Database Management COP4540, SCS, FIU.
Relational Database. Relational database: a set of relations Relation: made up of 2 parts: − Schema : specifies the name of relations, plus name and type.
Spring 2011 Instructor: Hassan Khosravi
Database Modifications CIS 4301 Lecture Notes Lecture /30/2006.
Chapter 3 Notes. 3.1 Functional Dependencies A functional dependency is a statement that – two tuples of a relation that agree on some particular set.
603 Database Systems Senior Lecturer: Laurie Webster II, M.S.S.E.,M.S.E.E., M.S.BME, Ph.D., P.E. Lecture 6 A First Course in Database Systems.
Functional Dependencies - Example
Relational Algebra.
CMPT 354, Simon Fraser University, Fall 2008, Martin Ester 227 Database Systems I Design Theory for Relational Databases.
Midterm Review II. Redundancy. –Information may be repeated unnecessarily in several tuples. –E.g. length and filmType. Update anomalies. –We may change.
Instructor: Amol Deshpande  Data Models ◦ Conceptual representation of the data  Data Retrieval ◦ How to ask questions of the database.
Query Compiler By:Payal Gupta Roll No:106(225) Professor :Tsau Young Lin.
SQL. 1.SQL is a high-level language, in which the programmer is able to avoid specifying a lot of data-manipulation details that would be necessary in.
CMSC424: Database Design Instructor: Amol Deshpande
Operations in the Relational Model These operation can be expressed in an algebra, called “relational algebra”. In this algebra relations are the operands.
SQL SQL is a very-high-level language, in which the programmer is able to avoid specifying a lot of data-manipulation details that would be necessary in.
Database Modifications A modification command does not return a result as a query does, but it changes the database in some way. There are three kinds.
From E/R Diagrams to Relations. The Relational Data Model Database Model (E/R) Relational Schema Physical storage Diagrams (E/R) Tables: row names: attributes.
CMSC424: Database Design Instructor: Amol Deshpande
CMSC424: Database Design Instructor: Amol Deshpande
1 Relational Data Model CS 157B Nidhi Patel. 2 What is a Data Model? A notation for describing data or information A notation for describing data or information.
Relation Decomposition A, A, … A 12n Given a relation R with attributes Create two relations R1 and R2 with attributes B, B, … B 12m C, C, … C 12l Such.
©Silberschatz, Korth and Sudarshan7.1Database System Concepts Chapter 7: Relational Database Design First Normal Form Pitfalls in Relational Database Design.
Relational Algebra CIS 4301 Lecture Notes Lecture /28/2006.
Relational Database Design by Relational Database Design by Dr.S.Sridhar, Ph.D.(JNUD), RACI(Paris, NICE), RMR(USA), RZFM(Germany) DIRECTOR ARUNAI ENGINEERING.
Relational Algebra Spring 2012 Instructor: Hassan Khosravi.
Relational Data Model Ch. 7.1 – 7.3 John Ortiz Lecture 3Relational Data Model2 Why Study Relational Model?  Most widely used model.  Vendors: IBM,
11/07/2003Akbar Mokhtarani (LBNL)1 Normalization of Relational Tables Akbar Mokhtarani LBNL (HENPC group) November 7, 2003.
© D. Wong Ch. 2 Entity-Relationship Data Model (continue)  Data models  Entity-Relationship diagrams  Design Principles  Modeling of constraints.
1 Functional Dependencies and Normalization Chapter 15.
Database Systems Relational Algebra assoc. prof., dr. Vladimir Dimitrov web: is.fmi.uni-sofia.bg.
© D. Wong Ch. 3 (continued)  Database design problems  Functional Dependency  Keys of relations  Decompositions based on Functional Dependency.
Chapter 2 Introduction to Relational Model. Example of a Relation attributes (or columns) tuples (or rows) Introduction to Relational Model 2.
Chapter 2: Intro to Relational Model. 2.2 Example of a Relation attributes (or columns) tuples (or rows)
Referential Integrity checks, Triggers and Assertions Examples from Chapter 7 of Database Systems: the Complete Book Garcia-Molina, Ullman, & Widom.
Advanced SQL Concepts - Checking of Constraints CIS 4301 Lecture Notes Lecture /6/2006.
© D. Wong Normalization  Purpose: process to eliminate redundancy in relations due to functional or multi-valued dependencies.  Decompose relation.
Operations in the Relational Model COP 4720 Lecture 8 Lecture Notes.
CS 157B Database Systems Dr. T Y Lin. Updates 1.Red color denotes updated data (ppt) 2.Class participation will be part of “extra” credits to to “quiz.
603 Database Systems Senior Lecturer: Laurie Webster II, M.S.S.E.,M.S.E.E., M.S.BME, Ph.D., P.E. Lecture 10 A First Course in Database Systems.
Dr. T. Y. Lin | SJSU | CS 157A | Fall 2011 Chapter 2 THE RELATIONAL MODEL OF DATA 1.
The Entity-Relationship Model CIS 4301 Lecture Notes 1/12/2006.
603 Database Systems Senior Lecturer: Laurie Webster II, M.S.S.E.,M.S.E.E., M.S.BME, Ph.D., P.E. Lecture 9 A First Course in Database Systems.
Multivalued Dependencies and 4th NF CIS 4301 Lecture Notes Lecture /21/2006.
SQL Exercises – Part I April
Data Modeling and the Entity-Relationship Model CS 475 Lecture Notes.
CPSC 603 Database Systems Lecturer: Laurie Webster II, M.S.S.E., M.S.E.E., M.S.BME, Ph.D., P.E. Lecture 5 Introduction to a First Course in Database Systems.
The Relational Model of Data Prof. Yin-Fu Huang CSIE, NYUST Chapter 2.
603 Database Systems Senior Lecturer: Laurie Webster II, M.S.S.E.,M.S.E.E., M.S.BME, Ph.D., P.E. Lecture 18 A First Course in Database Systems.
© D. Wong Functional Dependencies (FD)  Given: relation schema R(A1, …, An), and X and Y be subsets of (A1, … An). FD : X  Y means X functionally.
CSCI 6315 Applied Database Systems Review for Midterm Exam I Xiang Lian The University of Texas Rio Grande Valley Edinburg, TX 78539
© D. Wong Ch. 3 (part 1)  Relational Model basics  From E/R diagram to Relations.
High-level Database Models Prof. Yin-Fu Huang CSIE, NYUST Chapter 4.
1 Constraints and Triggers in SQL. 2 Constraints are conditions that must hold on all valid relation instances SQL2 provides a variety of techniques for.
Chap 3. High-Level Database Models
Introduction to Structured Query Language (SQL)
THE RELATIONAL MODEL OF DATA
Quiz Questions Q.1 An entity set that does not have sufficient attributes to form a primary key is a (A) strong entity set. (B) weak entity set. (C) simple.
Relational Database Design by Dr. S. Sridhar, Ph. D
Chap 2. The Relational Model of Data
3.1 Functional Dependencies
THE RELATIONAL MODEL OF DATA
Transforming E/R to Relational Model.
Query Compiler By:Payal Gupta Shirali Choksi Professor :Tsau Young Lin.
Chapter 3: Multivalued Dependencies
Chapter 7a: Overview of Database Design -- Normalization
Presentation transcript:

CS 157B Database Systems Dr. T Y Lin

1.2 Overview of a Database Management System Data-Definition Language Commands –Illustrated by three examples on the website Demo by Yaniv Cohen- 2/2/2011

Chapter 2 Relational Database Modeling

2.1 An Overview of Data Models What is a Data Model? Important Data Models The Relational Model in Brief The Semistructured Model in Brief Other Data Models Comparison of Modeling Approaches

2.1.1 What is a Data Model? Real World  Math Model: “  ” is explicit correspondence between real world objects to mathematical objects Roughly Entities  tuples

2.1.1 What is a Data Model? Real World  Math Model: 1.Structure of the data (tuples) 2.Operations on the data –real world changes 3.Constraints on the data – to describe the data as close to real object as possible.

2.2 Basics of the Relational Model TitleYearLengthgenre Gone with the wind Drama Star Wars SciFi Wayne’s world199295comedy Figure 2.3 The Relation Movies

2.2.5 Equivalent Representations of a Relation A relation is a subset (of Cartesian product of domains(=sets)), so there is no order among tuples (elements) Every attribute is named, so if data(element) move with names, there is no order; we often refer such data as attribute value pair.

2.2.5 Equivalent Representations of a Relation YearGenreTitlelength 1977SciFiStar Wars ComedyWayne’s World DramaGone With the Wind231 Figure 2.4 Another presentation of the relation Movies

2.2.6 Relation Instances All the relation examples given in the web site are Relation Instances Relation is a variable Relation instance is a value in the variable.

Database Schema about Movies Moviestar ( name : string, address : string, gender : char, birthdate : date ) Movies( title: string; Year : integer, Length : integer, Genre : string, studioName : string, producerC# : integer )

StarsIn ( MovieTitle: string, Movieyear : integer Starname : string ) MovieExec ( name: string, address : string cert# : integer netWorth : integer ) Studio ( name: string, address : string pressC# : integer )

2.2.9 Exercises for Section 2.2 Next example is for exercise

Two relations of Banking database acctNoTypeBalance 12345Savings Checking Saving25 firstNameLastNameId noAccount RobbieBanks LennaHand LennaHand The relations accounts The relations customers Figure 2.6 Two relations of banking customers

2.3 Defining a Relation Schema in SQL Relations in SQL Data Types Simple Table Declarations Modifying Relation Schemas Default Values Declaring Keys Exercises for Section 2.3

2.3.1 Relations in SQL

2.3.2 Data Types

2.3.3 Simple Table Declarations

Example CREATE TABLE Movie ( title VARCHAR(255), year INTEGER, length INTEGER, inColor CHAR(1), studioName CHAR(50), producerC# INTEGER, ); Figure 2.7 : SQL declaration of the table Movies

Example 2 : Moviestar CREATE TABLE MOVIESTAR ( NAME CHAR(30), ADDRESS VARCHAR2(50), GENDER CHAR(6), BIRTHDATE DATE ); Figure 2.8 Declaring the relation schema for the Moviestar relation

2.3.4 Modifying Relation Schemas CREATE TABLE MOVIEEXEC (NAME CHAR(30) NOT NULL, ADDRESS VARCHAR2(50) NOT NULL, CERT# VARCHAR2(10) NOT NULL, NETWORTH NUMBER(15) NOT NULL );

2.3.4 Modifying Relation Schemas REMARK we're going to add a Foreign Key In MOVIEEXEC Table ALTER TABLE MovieExec ADD FOREIGN KEY (Cert#) REFERENCES Movie(ProducerC#);

2.3.5 Default Values

Example 2.5 We consider Example 2.3. To use the default character ? As the default for an unknown gender.\ Earliest possible date for Unknown Birthdate. DATE ‘ ’ –Gender CHAR(1) DEFAULT ‘?’, –Birthdate DATE DEFAULT DATE ‘ ’,

Another Example We could have declared the default value for new attribute phone to be ‘listed’ when we added this attribute, ALTER TABLE MovieStar ADD phone CHAR (16) DEFAULT ‘ unlisted’;

2.3.6 Declaring Keys

Example 2.6 Schema MovieStar No star would use the name of another star, we shall assume the name itself forms a key for this relation. Then we can declare name as PRIMARY KEY. CREATE TABLE MovieStar ( name CHAR (30) Primary Key, address VARCHAR (255), gender CHAR(1), birthdate DATE );

Alternative way We can use separate definition of key. Unique can replace Primary Key CREATE TABLE MOVIESTAR ( name CHAR(30), address VARCHAR2(255), gender CHAR(1), birthdate DATE, PRIMARY KEY (name) ); Figure 2.10Separate declaration of the key

Example 2.7 The Relation Movie, whose key is the pair of attributes ‘title and year’ must be declared like this CREATE TABLE Movies( title CHAR(100), yearINTEGER, lengthINTEGER, genreCHAR(10), studiNameCHAR(30), producerC#INTEGER, PRIMARY KEY (title,year) );

2.3.7 Exercises for Section 2.3

2.4 An Algebraic Query Language Why Do We Need a Special Query Language? What is an Algebra? Overview of Relational Algebra Set Operations on Relations Projection Selection Cartesian Product Natural Joins Theta-Joins Combining Operations to Form Queries Naming and Renaming Relationships Among Operations A Linear Notation for Algebraic Expressions Exercises for Section 2.4

2.4.1 Why Do We Need a Special Query Language?

2.4.2 What is an Algebra?

2.4.3 Overview of Relational Algebra

2.4.4 Set Operations on Relations

NameAddressGenderBirthdate Carrie Fisher123 Maple st., HollywoodF9/9/99 Mark hamill456 Oak road., BrentwoodM8/8/88 Relation R NameAddressGenderBirthdate Carrie Fisher123 Maple st., HollywoodF9/9/99 Harrison Ford789 Palm Dr., Beverly HillsM7/7/77 Relation S Figure 2.12 Two Relations

Example 2.8 Relation R and S UNION (R S) is Note: the two tuples for Carrie Fisher from two relations appear only once in result NameAddressGenderBirthdate Carrie Fisher123 Maple st., HollywoodF9/9/99 Mark Hamill456 oak Rd., BrentwoodM8/8/88 Harrison Ford789 Palm Dr., Beverly HillsM7/7/77

The Intersection (R S) Now, Only the Carrie Fisher tuple appears, because only it is in both relations. The Difference is R-S is Fisher and Hamill tuples appear in R and thus are candidates for R-S. thus Fisher appear in S. so is not R-S. NameAddressGenderBirthdate Carrie Fisher123 Maple st., Hollywood F9/9/99 NameAddressGenderBirthdate Mark Hamill 456 oak Rd., Brentwood M8/8/88

2.4.5 Projection

Projection TitleYearLengthGenreStudionameproducerC# Star Wars SciFiFox12345 Galaxy ComedyDreamWorks67890 Wayne’s World ComedyParamount99999 Figure 2.13 the Relation Movies

Example 2.9 TitleYearLength Star Wars Galaxy Quest Wayne’s World ∏ Title,year,length (Movies) ∏ genre (Movies) Genre SciFi Comedy

2.4.6 Selection

Example 2.10 The relation Movies be as in Fig then the value of expression length >= 100(Movie) is TitleYearLengthGenreStudioNameproducerC# Star Wars SciFiFox12345 Galaxy ComedyDreamWorks67890

Example 2.11 Set tuples in the relation movies that represent Fox Movies atleast 100 minutes long. You can use AND for more than one condition. Length >= 100 AND studioName = ‘Fox’ (Movies) Is the only one in the resulting relation. TitleYearLengthGenreStudioNameproducerC# Star Wars SciFiFox12345

2.4.7 Cartesian Product

2.4.8 Natural Joins

AB BCD Relation R Relation S Relation R X S AR.BS.BCD

Example 2.13 ABCD

2.4.9 Theta-Joins

ABC BCD Relation U (a) Relation V (b) Result U V ABCD Figure 2.16 Natural join of relations

Example 2.15 Consider all nine pairs of tuples, one from each relation. Whether A component from U-tuple is less than the D Component of the V-tuple. AU.BU.CV.BV.CD Figure 2.17 Result of U theta Join A < D V

Example 2.16 U and V that has more complex condition : U A < D AND (U.B != V.B) V We require for successful pairing not only that the A component of U-tuple be less than D component of the V-tuple, but that the two tuples disagree on their respective B components is the only one to satisfy both conditions, so this relation is the result of the theta-join. AU.BU.CV.BV.CD

Combining Operations to Form Queries

∏ Title,year (σ length >=100 (Movies) ∩ σ StudioName =‘Fox’ (Movies) Represents the same expression ∩ ∏ Title,year σ length >=100 σ StudioName =‘Fox’

Naming and Renaming

Example 2.18 ABXCD Figure 2.19 R X ρ s (X,C,D) (S)

Relationships Among Operations

A Linear Notation for Algebraic Expressions

Exercises for Section 2.4

2.5 Constraints on Relations Relational Algebra as a Constraint Language Referential Integrity Constraints Key Constraints Additional Constraint Examples Exercises for Section Summary of Chapter References for Chapter 2

2.5.1 Relational Algebra as a Constraint Language

2.5.2 Referential Integrity Constraints

Example 2.21 Consider the two relations from our running movie database: Movie(title,year,length,genre,studioName, producerC#) MovieExec(name,address,cert#,netWorth) ∏ producerC# (Movies) ⊆ ∏ cert# (MocvieExec)

Example 2.22 StarsIn(movietitle, movieYear,starName) Movie(title,year,length,studioName, producerC#) ∏ movieTitle, movieYear (StarsIn) ⊆ ∏ title,year (Movies)

2.5.3 Key Constraints

Example 2.23 Recall that name is the key for relation MovieStar(name,address,gender,birthdate)

2.5.4 Additional Constraint Examples

Example Recall the name of the Key for relation MovieStar(Name,address,gender,birthdate) The requirement can be expressed by the algebraic expression σ MS1.name = MS2.name AND MS1.address ≠ MS2.address (MS1 x MS2) = ∅ MS1 in the product MS1 x MS2 is shorthand for the remaining ρ MS1(name,address,gender,birthdate) (MovieStar)

Example 2.24

The only legal value for Gender attribute is ‘F’ and ‘M’. We can express the gender attribute of MovieStar alegrabically by: σ Mgender ≠‘F’ AND gender ≠‘M’ (MovieStar) = ∅

Example 2.25 If one must have networth of at least $100,000,000 to be president of movie studio. We can define this algebraically but first we have to perform theta-join on this two relations. –MovieExec(name,address,cert#,networth) –Studio(name,address, presC#)

We can express this constraint as : σ networth < (Studio ⋈ presC# = cert# MovieExec) ∅ Alternative way to express the same constraints is to compare the set of certificates that represent studio president with the set of certificates that represents the networth of atleast $ ; Former must be the subset of the latter. ∏ TpressC# (Studio) ⊆ ∏ cert# (σ networth < (MovieExec))

2.5.5 Exercises for Section 2.5

2.6 Summary of Chapter 2

2.7 References for Chapter 2

Chapter 3 Design Theory for Relational Databases

3.1 Functional Dependencies Definition of Functional Dependency Keys of Relations Superkeys Exercises for Section 3.1

3.1.1 Definition of Functional Dependency

3.1.2 Keys of Relations

3.1.3 Superkeys

3.1.4 Exercises for Section 3.1

3.2 Rules About Functional Dependencies Reasoning About Functional Dependencies The Splitting/Combining Rule Trivial Functional Dependencies Computing the Closure of Attributes Why the Closure Algorithm Works The Transitive Rule Closing Sets of Functional Dependencies Projecting Functional Dependencies Exercises for Section 3.2

3.2.1 Reasoning About Functional Dependencies

3.2.2 The Splitting/Combining Rule

3.2.3 Trivial Functional Dependencies

3.2.4 Computing the Closure of Attributes

3.2.5 Why the Closure Algorithm Works

3.2.6 The Transitive Rule

3.2.7 Closing Sets of Functional Dependencies

3.2.8 Projecting Functional Dependencies

3.2.9 Exercises for Section 3.2

3.3 Design of Relational Database Schemas Anomalies Decomposing Relations Boyce-Codd Normal Form Decomposition into BCNF Exercises for Section 3.3

3.3.1 Anomalies

3.3.2 Decomposing Relations

3.3.3 Boyce-Codd Normal Form

3.3.4 Decomposition into BCNF

3.3.5 Exercises for Section 3.3

3.4 Decomposition: The Good, Bad, and Ugly Recovering Information from a Decomposition The Chase Test for Lossless Join Why the Chase Works Dependency Preservation Exercises for Section 3.4

3.4.1 Recovering Information from a Decomposition

3.4.2 The Chase Test for Lossless Join

3.4.3 Why the Chase Works

3.4.4 Dependency Preservation

3.4.5 Exercises for Section 3.4

3.5 Third Normal Form Definition of Third Normal Form The Synthesis Algorithm for 3NF Schemas Why the 3NF Synthesis Algorithm Works Exercises for Section 3.5

3.5.1 Definition of Third Normal Form

3.5.2 The Synthesis Algorithm for 3NF Schemas

3.5.3 Why the 3NF Synthesis Algorithm Works

3.5.4 Exercises for Section 3.5

3.6 Multivalued Dependencies Attribute Independence and Its Consequent Redundancy Definition of Multivalued Dependencies Reasoning About Multivalued Dependencies Fourth Normal Form Decomposition into Fourth Normal Form Relationships Among Normal Forms Exercises for Section 3.6

3.6.1 Attribute Independence and Its Consequent Redundancy

3.6.2 Definition of Multivalued Dependencies

3.6.3 Reasoning About Multivalued Dependencies

3.6.4 Fourth Normal Form

3.6.5 Decomposition into Fourth Normal Form

3.6.6 Relationships Among Normal Forms

3.6.7 Exercises for Section 3.6

3.7 An Algorithm for Discovering MVD's The Closure and the Chase Extending the Chase to MVD's Why the Chase Works for MVD's Projecting MVD's Exercises for Section Summary of Chapter References for Chapter 3

3.7.1 The Closure and the Chase

3.7.2 Extending the Chase to MVD's

3.7.3 Why the Chase Works for MVD's

3.7.4 Projecting MVD's

3.7.5 Exercises for Section 3.7

3.8 Summary of Chapter 3

3.9 References for Chapter 3

Chapter 4 High-Level Database Models

4.1 The Entity/Relationship Model Entity Sets Attributes Relationships Entity-Relationship Diagrams Instances of an E/R Diagram Multiplicity of Binary E/R Relationships Multiway Relationships Roles in Relationships Attributes on Relationships Converting Multiway Relationships to Binary Subclasses in the E/R Model Exercises for Section 4.1

4.1.1 Entity Sets

4.1.2 Attributes

4.1.3 Relationships

4.1.4 Entity-Relationship Diagrams

4.1.5 Instances of an E/R Diagram

4.1.6 Multiplicity of Binary E/R Relationships

4.1.7 Multiway Relationships

4.1.8 Roles in Relationships

4.1.9 Attributes on Relationships

Converting Multiway Relationships to Binary

Subclasses in the E/R Model

Exercises for Section 4.1

4.2 Design Principles Faithfulness Avoiding Redundancy Simplicity Counts Choosing the Right Relationships Picking the Right Kind of Element Exercises for Section 4.2

4.2.1 Faithfulness

4.2.2 Avoiding Redundancy

4.2.3 Simplicity Counts

4.2.4 Choosing the Right Relationships

4.2.5 Picking the Right Kind of Element

4.2.6 Exercises for Section 4.2

4.3 Constraints in the E/R Model Keys in the E/R Model Representing Keys in the E/R Model Referential Integrity Degree Constraints Exercises for Section 4.3

4.3.1 Keys in the E/R Model

4.3.2 Representing Keys in the E/R Model

4.3.3 Referential Integrity

4.3.4 Degree Constraints

4.3.5 Exercises for Section 4.3

4.4 Weak Entity Sets Causes of Weak Entity Sets Requirements for Weak Entity Sets Weak Entity Set Notation Exercises for Section 4.4

4.4.1 Causes of Weak Entity Sets

4.4.2 Requirements for Weak Entity Sets

4.4.3 Weak Entity Set Notation

4.4.4 Exercises for Section 4.4

4.5 From E/R Diagrams to Relational Designs From Entity Sets to Relations From E/R Relationships to Relations Combining Relations Handling Weak Entity Sets Exercises for Section 4.5

4.5.1 From Entity Sets to Relations

4.5.2 From E/R Relationships to Relations

4.5.3 Combining Relations

4.5.4 Handling Weak Entity Sets

4.5.5 Exercises for Section 4.5

4.6 Converting Subclass Structures to Relations E/R-Style Conversion An Object-Oriented Approach Using Null Values to Combine Relations Comparison of Approaches Exercises for Section 4.6

4.6.1 E/R-Style Conversion

4.6.2 An Object-Oriented Approach

4.6.3 Using Null Values to Combine Relations

4.6.4 Comparison of Approaches

4.6.5 Exercises for Section 4.6

4.7 Unified Modeling Language UML Classes Keys for UML classes Associations Self-Associations Association Classes Subclasses in UML Aggregations and Compositions Exercises for Section 4.7

4.7.1 UML Classes

4.7.2 Keys for UML classes

4.7.3 Associations

4.7.4 Self-Associations

4.7.5 Association Classes

4.7.6 Subclasses in UML

4.7.7 Aggregations and Compositions

4.7.8 Exercises for Section 4.7

4.8 From UML Diagrams to Relations UML-to-Relations Basics From UML Subclasses to Relations From Aggregations and Compositions to Relations The UML Analog of Weak Entity Sets Exercises for Section 4.8

4.8.1 UML-to-Relations Basics

4.8.2 From UML Subclasses to Relations

4.8.3 From Aggregations and Compositions to Relations

4.8.4 The UML Analog of Weak Entity Sets

4.8.5 Exercises for Section 4.8

4.9 Object Definition Language Class Declarations Attributes in ODL Relationships in ODL Inverse Relationships Multiplicity of Relationships Types in ODL Subclasses in ODL Declaring Keys in ODL Exercises for Section 4.9

4.9.1 Class Declarations

4.9.2 Attributes in ODL

4.9.3 Relationships in ODL

4.9.4 Inverse Relationships

4.9.5 Multiplicity of Relationships

4.9.6 Types in ODL

4.9.7 Subclasses in ODL

4.9.8 Declaring Keys in ODL

4.9.9 Exercises for Section 4.9

4.10 From ODL Designs to Relational Designs From ODL Classes to Relations Complex Attributes in Classes Representing Set-Valued Attributes Representing Other Type Constructors Representing ODL Relationships Exercises for Section Summary of Chapter References for Chapter 4

From ODL Classes to Relations

Complex Attributes in Classes

Representing Set-Valued Attributes

Representing Other Type Constructors

Representing ODL Relationships

Exercises for Section 4.10

4.11 Summary of Chapter 4

4.12 References for Chapter 4