SlideShare uma empresa Scribd logo
1 de 31
The Relational Model

Shriram Desai,
ramraodesai1991@gmail.com
7411001044
Why Relational Model?
 Currently


Vendors: Oracle, Microsoft, IBM

 Older


models still used

IBM’s IMS (hierarchical model)

 Recent


the most widely used

competitions

Object Oriented Model: ObjectStore

 Implementation



standard for relational Model

SQL (Structured Query Language)
SQL 3: includes object-relational extensions
Relational Model


Structures



Relations (also called Tables)
Attributes (also called Columns or Fields)
 Note:



Every attribute is simple (not composite or
multi-valued)
Constraints




Key and Foreign Key constraints (More constraints later)

Eg: Student Relation (The following 2 relations are
equivalent)
Student
Student

sNumber

sName

sNumber

sName

1

Dave

2

Greg

2

Greg

1

Dave

Murali Mani

Cardinality = 2
Arity/Degree = 2
Relational Model
 Schema



Eg: Student (sNumber, sName)
PRIMARY KEY (Student) = <sNumber>

 Schema


for a database

Schemas for all relations in the database

 Tuples


for a relation

(Rows)

The set of rows in a relation are the tuples of that
relation

 Note:

Attribute values may be null
Murali Mani
Primary Key Constraints
A



set of attributes is a key for a relation if:
No two distinct tuples can have the same values
in all key fields
A proper subset of the key attributes is not a key.

 Superkey:

A proper subset of a superkey
may be a superkey
 If multiple keys, one of them is chosen to be
the primary key.
 Eg: PRIMARY KEY (Student) = <sNumber>
 Primary key attributes cannot take null values
Murali Mani
Candidate Keys (SQL: Unique)
 Keys

that are not primary keys are candidate

keys.
 Specified in SQL using UNIQUE
 Attribute of unique key may have null values !
 Eg: Student (sNumber, sName)
PRIMARY KEY (Student) = <sNumber>
CANDIDATE KEY (Student) = <sName>
Murali Mani
Violation of key constraints
A

relation violates a primary key constraint if:



There is a row with null values for any attribute of
primary key.
(or) There are 2 rows with same values for all
attributes of primary key



 Consider

R (a, b) where a is unique. R
violates the unique constraint if all of the
following are true


2 rows in R have the same non-null values for a
Murali Mani
Keys: Example
Student
sNumber

sName

address

1

Dave

144FL

2

Greg

320FL

Primary Key: <sNumber>
Candidate key: <sName>
Some superkeys: {<sNumber, address>,
<sName>,
<sNumber>,
<sNumber, sName>
<sNumber, sName, address>}

Murali Mani
Foreign Key Constraints
 To

specify an attribute (or multiple attributes)
S1 of a relation R1 refers to the attribute (or
attributes) S2 of another relation R2
 Eg: Professor (pName, pOffice)
Student (sNumber, sName, advisor)
PRIMARY KEY (Professor) = <pName>
FOREIGN KEY Student (advisor)
REFERENCES Professor
(pName)
Murali Mani
Foreign Key Constraints
 FOREIGN

KEY R1 (S1) REFERENCES R2

(S2)
 Like a logical pointer
 The values of S1 for any row of R1 must be
values of S2 for some row in R2 (null values
are allowed)
 S2 must be a key for R2
 R2 can be the same as R1 (i.e., a relation
can have a foreign key referring to itself).
Murali Mani
Foreign Keys: Examples
Dept (dNumber, dName)
Person (pNumber, pName, dept)
Persons working for Depts

PRIMARY KEY (Dept) = <dNumber>
PRIMARY KEY (Person) =
<pNumber>
FOREIGN KEY Person (dept)
REFERENCES Dept (dNumber)

Person (pNumber, pName, father)
PRIMARY KEY (Person) = <pNumber>
FOREIGN KEY Person (father)
REFERENCES Person (pNumber)
Murali Mani

Person and his/her father
Violation of Foreign Key
constraints
 Suppose

we have: FOREIGN KEY R1 (S1)
REFERENCES R2 (S2)
 This constraint is violated if




Consider a row in R1 with non-null values for all
attributes of S1
If there is no row in R2 which have these values
for S2, then the FK constraint is violated.

Murali Mani
Relational Model: Summary
 Structures



Relations (Tables)
Attributes (Columns, Fields)

 Constraints


Key





Primary key, candidate key (unique)

Super Key
Foreign Key
Murali Mani
ER schema → Relational
schema
Simple Algorithm




Entity type E → Relation E’
 Attribute of E → Attribute as E’
 Key for E → Primary Key for E’
For relationship type R between E1, E2, …, En





Create separate relation R’
Attributes of R’ are primary keys of E1, E2, …, En and
attributes of R
Primary Key for R’ is defined as:






If the maximum cardinality of any Ei is 1, primary key for R’ =
primary key for Ei
Else, primary key for R’ = primary keys for E1, E2, …, En

Define “appropriate” foreign keys from R’ to E1, E2, …, En
Murali Mani
Simple algorithm: Example 1
pNumber

dNumber
Person

(1, *)

Works
For

(0, *)

pName

Dept

dName
years

Person (pNumber, pName)
Dept (dNumber, dName)
WorksFor (pNumber, dNumber, years)
PRIMARY KEY (Person) = <pNumber>
PRIMARY KEY (Dept) = <dNumber>
PRIMARY KEY (WorksFor) = <pNumber, dNumber>
FOREIGN KEY WorksFor (pNumber) REFERENCES Person (pNumber)
FOREIGN KEY WorksFor (dNumber) REFERENCES Dept (dNumber)
Murali Mani
Simple Algorithm: Example 2
Supplier (sName, sLoc)
Consumer (cName, cLoc)
Product (pName, pNumber)
Supply (supplier, consumer,
product, price, qty)

pNumber

pName

Product
(0, *)
sName

cName
Supplier

(1, *)

Supply

(0, *)

Consumer

sLoc

cLoc
price

qty

PRIMARY Key (Supplier) = <sName> PRIMARY Key (Consumer) = <cName>
PRIMARY Key (Product) = <pName>
PRIMARY Key (Supply) = <supplier, consumer, product>
FOREIGN KEY Supply (supplier) REFERENCES Supplier (sName)
FOREIGN KEY Supply (consumer) REFERENCES Consumer (cName)
FOREIGN KEY Supply (product) REFERENCES Product (pName)
Murali Mani
Simple Algorithm: Example 3
pN um ber

pN am e

P a rt

s u p e rP a rt
(0 , *)

s u b P a rt
(0 , 1 )

Part (pName, pNumber)
Contains (superPart, subPart, quantity)

C o n t a in s

q u a n t ity

PRIMARY KEY (Part) = <pNumber>
PRIMARY KEY (Contains) = <subPart>
FOREIGN KEY Contains (superPart) REFERENCES Part (pNumber)
FOREIGN KEY Contains (subPart) REFERENCES Part (pNumber)
Murali Mani
Decreasing the number of
Relations
Technique 1


If the relationship type R contains an entity type,
say E, whose maximum cardinality is 1, then R
may be represented as attributes of E.




If the cardinality of E is (1, 1), then no “new nulls” are
introduced
If the cardinality of E is (0, 1) then “new nulls” may be
introduced.

Murali Mani
Example 1
sNumber

pNumber
Student

(1,1)

Has
Advisor

(0, *)

sName

Professor

pName
years

Student (sNumber, sName, advisor, years)
Professor (pNumber, pName)
PRIMARY KEY (Student) = <sNumber>
PRIMARY KEY (Professor) = <pNumber>
FOREIGN KEY Student (advisor) REFERENCES Professor (pNumber)
Note: advisor will never be null for a student
Murali Mani
Example 2
pNumber

dNumber
Person

(0,1)

Works
For

(0, *)

Dept

pName

dName
years

Person (pNumber, pName, dept, years)
Dept (dNumber, dName)
PRIMARY KEY (Person) = <pNumber>
PRIMARY KEY (Dept) = <dNumber>
FOREIGN KEY Person (dept) REFERENCES Dept (dNumber)
Dept and years may be null for a person
Murali Mani
Example 3
pNum ber

pNam e

P a rt

s u p e rP a rt
(0 , *)

s u b P a rt
(0 , 1 )
C o n t a in s

q u a n tity

Part (pNumber, pname, superPart, quantity)
PRIMARY KEY (Part) = <pNumber>
FOREIGN KEY Part (superPart) REFERENCES Part (pNumber)
Note: superPart gives the superpart of a part, and it may be null
Murali Mani
Decreasing the number of
Relations
Technique 2 (not recommended)




If the relationship type R between E1 and E2 is
1:1, and the cardinality of E1 or E2 is (1, 1), then
we can combine everything into 1 relation.
Let us assume the cardinality of E1 is (1, 1). We
have one relation for E2, and move all attributes
of E1 and for R to be attributes of E2.



If the cardinality of E2 is (1, 1), no “new nulls” are
introduced
If the cardinality of E2 is (0, 1) then “new nulls” may
be introduced.
Murali Mani
Example 1
sNumber

pNumber
Student

(0,1)

Has
Advisor

(1,1)

Professor

sName

pName
years

Student (sNumber, sName, pNumber, pName, years)
PRIMARY KEY (Student) = <sNumber>
CANDIDATE KEY (Student) = <pNumber>
Note: pNumber, pName, and years can be null for students with
no advisor

Murali Mani
Example 2
sNumber

pNumber
Student

(1,1)

Has
Advisor

(1,1)

Professor

sName

pName
years

Student (sNumber, sName, pNumber, pName, years)
PRIMARY KEY (Student) = <sNumber>
CANDIDATE KEY (Student) = <pNumber>
Note: pNumber cannot be null for any student.
Murali Mani
Other details
 Composite


attribute in ER

Include an attribute for every component of the
composite attribute.

 Multi-valued




attribute in ER

We need a separate relation for any multi-valued
attribute.
Identify appropriate attributes, keys and foreign
key constraints.

Murali Mani
Composite and Multi-valued
attributes in ER
sNumber

sName

major

Student

sAge
address

street

city

state

Student (sNumber, sName, sAge, street, city, state)
StudentMajor (sNumber, major)
PRIMARY KEY (Student) = <sNumber>
PRIMARY KEY (StudentMajor) = <sNumber, major>
FOREIGN KEY StudentMajor (sNumber) REFERENCES Student (sNumber)
Murali Mani
Weak entity types
 Consider







weak entity type E

A relation for E, say E’
Attributes of E’ = attributes of E in ER + keys for
all indentifying entity types.
Key for E’ = the key for E in ER + keys for all the
identifying entity types.
Identify appropriate FKs from E’ to the identifying
entity types.

Murali Mani
Weak entity types: Example

Dept (dNumber, dName)
Course (cNumber, dNumber, cName)
PRIMARY KEY (Dept) = <dNumber>
PRIMARY KEY (Course) = <cNumber, dNumber>
FOREIGN KEY Course (dNumber) REFERENCES Dept (dNumber)

Murali Mani
ISA Relationship types:
Method 1
sNumber

sName

Student (sNumber, sName)
UGStudent (sNumber, year)
GradStudent (sNumber, program)

Student

year

ISA

UGStudent

ISA

program

GradStudent

An UGStudent will be represented
in both Student relation as well as
UGStudent relation (similarly
GradStudent)

PRIMARY KEY (Student) = <sNumber>
PRIMARY KEY (UGStudent) = <sNumber>
PRIMARY KEY (GradStudent) = <sNumber>
FOREIGN KEY UGStudent (sNumber)
REFERENCES Student (sNumber)
FOREIGN KEY UGStudent (sNumber)
REFERENCES Student (sNumber)

Murali Mani
ISA Relationship types:
Method 2
sNumber

sName

Student

year

ISA

ISA

UGStudent

program

GradStudent

Student (sNumber, sName, year, program)
PRIMARY KEY (Student) = <sNumber>
Note: There will be null values in the relation.
Murali Mani
ISA Relationship types:
Method 3
Student (sNumber, sName)
UGStudent (sNumber, sName, year)
GradStudent (sNumber, sName, program)
UGGradStudent (sNumber, sName,
year, program)
sNumber

sName

PRIMARY KEY (Student) = <sNumber>
PRIMARY KEY (UGStudent) = <sNumber>
PRIMARY KEY (GradStudent) = <sNumber>
PRIMARY KEY (UGGradStudent) = <sNumber>

Student

year

ISA

UGStudent

ISA

program

Any student will be represented in
only one of the relations as
appropriate.

GradStudent

Murali Mani

Mais conteúdo relacionado

Semelhante a Relational model for Databases

Relational model
Relational modelRelational model
Relational modelJihin Raju
 
3 relational model
3 relational model3 relational model
3 relational modelUtkarsh De
 
Module 2_Relational Algebra.pptx
Module 2_Relational Algebra.pptxModule 2_Relational Algebra.pptx
Module 2_Relational Algebra.pptxShashiKumarB5
 
The Relational Data Model and Relational Database Constraints Ch5 (Navathe 4t...
The Relational Data Model and Relational Database Constraints Ch5 (Navathe 4t...The Relational Data Model and Relational Database Constraints Ch5 (Navathe 4t...
The Relational Data Model and Relational Database Constraints Ch5 (Navathe 4t...Raj vardhan
 
4 the sql_standard
4 the  sql_standard4 the  sql_standard
4 the sql_standardUtkarsh De
 
316_16SCCCS4_2020052505222431.pptdatabasex
316_16SCCCS4_2020052505222431.pptdatabasex316_16SCCCS4_2020052505222431.pptdatabasex
316_16SCCCS4_2020052505222431.pptdatabasexabhaysonone0
 
Eer >r.model
Eer >r.modelEer >r.model
Eer >r.modellavya3
 
Database systems-Formal relational query languages
Database systems-Formal relational query languagesDatabase systems-Formal relational query languages
Database systems-Formal relational query languagesjamunaashok
 
Mca ii-dbms- u-iii-sql concepts
Mca ii-dbms- u-iii-sql conceptsMca ii-dbms- u-iii-sql concepts
Mca ii-dbms- u-iii-sql conceptsRai University
 
Math functions, relations, domain & range
Math functions, relations, domain & rangeMath functions, relations, domain & range
Math functions, relations, domain & rangeRenee Scott
 
Entity Relationship Diagram
Entity Relationship DiagramEntity Relationship Diagram
Entity Relationship DiagramShakila Mahjabin
 
ER to relational Mapping: Data base design using ER to relational language. C...
ER to relational Mapping: Data base design using ER to relational language. C...ER to relational Mapping: Data base design using ER to relational language. C...
ER to relational Mapping: Data base design using ER to relational language. C...Raj vardhan
 
Web app development_database_design_er-mapping_12
Web app development_database_design_er-mapping_12Web app development_database_design_er-mapping_12
Web app development_database_design_er-mapping_12Hassen Poreya
 
Fundamentals of database system - Relational data model and relational datab...
Fundamentals of database system  - Relational data model and relational datab...Fundamentals of database system  - Relational data model and relational datab...
Fundamentals of database system - Relational data model and relational datab...Mustafa Kamel Mohammadi
 

Semelhante a Relational model for Databases (20)

Relational model
Relational modelRelational model
Relational model
 
3 relational model
3 relational model3 relational model
3 relational model
 
3_Relational_Model.pdf
3_Relational_Model.pdf3_Relational_Model.pdf
3_Relational_Model.pdf
 
Module 2_Relational Algebra.pptx
Module 2_Relational Algebra.pptxModule 2_Relational Algebra.pptx
Module 2_Relational Algebra.pptx
 
Relational+algebra (1)
Relational+algebra (1)Relational+algebra (1)
Relational+algebra (1)
 
The Relational Data Model and Relational Database Constraints Ch5 (Navathe 4t...
The Relational Data Model and Relational Database Constraints Ch5 (Navathe 4t...The Relational Data Model and Relational Database Constraints Ch5 (Navathe 4t...
The Relational Data Model and Relational Database Constraints Ch5 (Navathe 4t...
 
Lec02
Lec02Lec02
Lec02
 
Ra Revision
Ra RevisionRa Revision
Ra Revision
 
4 the sql_standard
4 the  sql_standard4 the  sql_standard
4 the sql_standard
 
316_16SCCCS4_2020052505222431.pptdatabasex
316_16SCCCS4_2020052505222431.pptdatabasex316_16SCCCS4_2020052505222431.pptdatabasex
316_16SCCCS4_2020052505222431.pptdatabasex
 
Eer >r.model
Eer >r.modelEer >r.model
Eer >r.model
 
Database systems-Formal relational query languages
Database systems-Formal relational query languagesDatabase systems-Formal relational query languages
Database systems-Formal relational query languages
 
Unit-2.pdf
Unit-2.pdfUnit-2.pdf
Unit-2.pdf
 
Mca ii-dbms- u-iii-sql concepts
Mca ii-dbms- u-iii-sql conceptsMca ii-dbms- u-iii-sql concepts
Mca ii-dbms- u-iii-sql concepts
 
Math functions, relations, domain & range
Math functions, relations, domain & rangeMath functions, relations, domain & range
Math functions, relations, domain & range
 
R Algebra.ppt
R Algebra.pptR Algebra.ppt
R Algebra.ppt
 
Entity Relationship Diagram
Entity Relationship DiagramEntity Relationship Diagram
Entity Relationship Diagram
 
ER to relational Mapping: Data base design using ER to relational language. C...
ER to relational Mapping: Data base design using ER to relational language. C...ER to relational Mapping: Data base design using ER to relational language. C...
ER to relational Mapping: Data base design using ER to relational language. C...
 
Web app development_database_design_er-mapping_12
Web app development_database_design_er-mapping_12Web app development_database_design_er-mapping_12
Web app development_database_design_er-mapping_12
 
Fundamentals of database system - Relational data model and relational datab...
Fundamentals of database system  - Relational data model and relational datab...Fundamentals of database system  - Relational data model and relational datab...
Fundamentals of database system - Relational data model and relational datab...
 

Mais de Ramrao Desai

Enhanced Data rates for Global Evolution (EDGE)
Enhanced Data rates for Global Evolution (EDGE)Enhanced Data rates for Global Evolution (EDGE)
Enhanced Data rates for Global Evolution (EDGE)Ramrao Desai
 
Java tutorial for Beginners and Entry Level
Java tutorial for Beginners and Entry LevelJava tutorial for Beginners and Entry Level
Java tutorial for Beginners and Entry LevelRamrao Desai
 
Super Resolution in Digital Image processing
Super Resolution in Digital Image processingSuper Resolution in Digital Image processing
Super Resolution in Digital Image processingRamrao Desai
 
Using PowerPoint to Design Effective Presentations
Using PowerPoint to Design Effective PresentationsUsing PowerPoint to Design Effective Presentations
Using PowerPoint to Design Effective PresentationsRamrao Desai
 
Effective presentation for successful presentation
Effective presentation for successful presentationEffective presentation for successful presentation
Effective presentation for successful presentationRamrao Desai
 
Digital light processing
Digital light processingDigital light processing
Digital light processingRamrao Desai
 
Leading the way to an intelligent network
Leading the way to an intelligent networkLeading the way to an intelligent network
Leading the way to an intelligent networkRamrao Desai
 

Mais de Ramrao Desai (11)

Enhanced Data rates for Global Evolution (EDGE)
Enhanced Data rates for Global Evolution (EDGE)Enhanced Data rates for Global Evolution (EDGE)
Enhanced Data rates for Global Evolution (EDGE)
 
Java tutorial for Beginners and Entry Level
Java tutorial for Beginners and Entry LevelJava tutorial for Beginners and Entry Level
Java tutorial for Beginners and Entry Level
 
Super Resolution in Digital Image processing
Super Resolution in Digital Image processingSuper Resolution in Digital Image processing
Super Resolution in Digital Image processing
 
Eerm mapping c++
Eerm mapping c++Eerm mapping c++
Eerm mapping c++
 
Using PowerPoint to Design Effective Presentations
Using PowerPoint to Design Effective PresentationsUsing PowerPoint to Design Effective Presentations
Using PowerPoint to Design Effective Presentations
 
Effective presentation for successful presentation
Effective presentation for successful presentationEffective presentation for successful presentation
Effective presentation for successful presentation
 
Internet Banking
Internet BankingInternet Banking
Internet Banking
 
Digital light processing
Digital light processingDigital light processing
Digital light processing
 
Capsule camera
Capsule cameraCapsule camera
Capsule camera
 
Cyber crime
Cyber crimeCyber crime
Cyber crime
 
Leading the way to an intelligent network
Leading the way to an intelligent networkLeading the way to an intelligent network
Leading the way to an intelligent network
 

Último

1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdfQucHHunhnh
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxVishalSingh1417
 
Making and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdfMaking and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdfChris Hunter
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfPoh-Sun Goh
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.christianmathematics
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104misteraugie
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxRamakrishna Reddy Bijjam
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeThiyagu K
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdfQucHHunhnh
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsTechSoup
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.MaryamAhmad92
 
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...Shubhangi Sonawane
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...Nguyen Thanh Tu Collection
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfJayanti Pande
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibitjbellavia9
 
Energy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural Resources
Energy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural ResourcesEnergy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural Resources
Energy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural ResourcesShubhangi Sonawane
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphThiyagu K
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...christianmathematics
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsMebane Rash
 
Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxVishalSingh1417
 

Último (20)

1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptx
 
Making and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdfMaking and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdf
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
Energy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural Resources
Energy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural ResourcesEnergy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural Resources
Energy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural Resources
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptx
 

Relational model for Databases

  • 1. The Relational Model Shriram Desai, ramraodesai1991@gmail.com 7411001044
  • 2. Why Relational Model?  Currently  Vendors: Oracle, Microsoft, IBM  Older  models still used IBM’s IMS (hierarchical model)  Recent  the most widely used competitions Object Oriented Model: ObjectStore  Implementation   standard for relational Model SQL (Structured Query Language) SQL 3: includes object-relational extensions
  • 3. Relational Model  Structures   Relations (also called Tables) Attributes (also called Columns or Fields)  Note:  Every attribute is simple (not composite or multi-valued) Constraints   Key and Foreign Key constraints (More constraints later) Eg: Student Relation (The following 2 relations are equivalent) Student Student sNumber sName sNumber sName 1 Dave 2 Greg 2 Greg 1 Dave Murali Mani Cardinality = 2 Arity/Degree = 2
  • 4. Relational Model  Schema   Eg: Student (sNumber, sName) PRIMARY KEY (Student) = <sNumber>  Schema  for a database Schemas for all relations in the database  Tuples  for a relation (Rows) The set of rows in a relation are the tuples of that relation  Note: Attribute values may be null Murali Mani
  • 5. Primary Key Constraints A   set of attributes is a key for a relation if: No two distinct tuples can have the same values in all key fields A proper subset of the key attributes is not a key.  Superkey: A proper subset of a superkey may be a superkey  If multiple keys, one of them is chosen to be the primary key.  Eg: PRIMARY KEY (Student) = <sNumber>  Primary key attributes cannot take null values Murali Mani
  • 6. Candidate Keys (SQL: Unique)  Keys that are not primary keys are candidate keys.  Specified in SQL using UNIQUE  Attribute of unique key may have null values !  Eg: Student (sNumber, sName) PRIMARY KEY (Student) = <sNumber> CANDIDATE KEY (Student) = <sName> Murali Mani
  • 7. Violation of key constraints A relation violates a primary key constraint if:  There is a row with null values for any attribute of primary key. (or) There are 2 rows with same values for all attributes of primary key   Consider R (a, b) where a is unique. R violates the unique constraint if all of the following are true  2 rows in R have the same non-null values for a Murali Mani
  • 8. Keys: Example Student sNumber sName address 1 Dave 144FL 2 Greg 320FL Primary Key: <sNumber> Candidate key: <sName> Some superkeys: {<sNumber, address>, <sName>, <sNumber>, <sNumber, sName> <sNumber, sName, address>} Murali Mani
  • 9. Foreign Key Constraints  To specify an attribute (or multiple attributes) S1 of a relation R1 refers to the attribute (or attributes) S2 of another relation R2  Eg: Professor (pName, pOffice) Student (sNumber, sName, advisor) PRIMARY KEY (Professor) = <pName> FOREIGN KEY Student (advisor) REFERENCES Professor (pName) Murali Mani
  • 10. Foreign Key Constraints  FOREIGN KEY R1 (S1) REFERENCES R2 (S2)  Like a logical pointer  The values of S1 for any row of R1 must be values of S2 for some row in R2 (null values are allowed)  S2 must be a key for R2  R2 can be the same as R1 (i.e., a relation can have a foreign key referring to itself). Murali Mani
  • 11. Foreign Keys: Examples Dept (dNumber, dName) Person (pNumber, pName, dept) Persons working for Depts PRIMARY KEY (Dept) = <dNumber> PRIMARY KEY (Person) = <pNumber> FOREIGN KEY Person (dept) REFERENCES Dept (dNumber) Person (pNumber, pName, father) PRIMARY KEY (Person) = <pNumber> FOREIGN KEY Person (father) REFERENCES Person (pNumber) Murali Mani Person and his/her father
  • 12. Violation of Foreign Key constraints  Suppose we have: FOREIGN KEY R1 (S1) REFERENCES R2 (S2)  This constraint is violated if   Consider a row in R1 with non-null values for all attributes of S1 If there is no row in R2 which have these values for S2, then the FK constraint is violated. Murali Mani
  • 13. Relational Model: Summary  Structures   Relations (Tables) Attributes (Columns, Fields)  Constraints  Key    Primary key, candidate key (unique) Super Key Foreign Key Murali Mani
  • 14. ER schema → Relational schema Simple Algorithm   Entity type E → Relation E’  Attribute of E → Attribute as E’  Key for E → Primary Key for E’ For relationship type R between E1, E2, …, En    Create separate relation R’ Attributes of R’ are primary keys of E1, E2, …, En and attributes of R Primary Key for R’ is defined as:    If the maximum cardinality of any Ei is 1, primary key for R’ = primary key for Ei Else, primary key for R’ = primary keys for E1, E2, …, En Define “appropriate” foreign keys from R’ to E1, E2, …, En Murali Mani
  • 15. Simple algorithm: Example 1 pNumber dNumber Person (1, *) Works For (0, *) pName Dept dName years Person (pNumber, pName) Dept (dNumber, dName) WorksFor (pNumber, dNumber, years) PRIMARY KEY (Person) = <pNumber> PRIMARY KEY (Dept) = <dNumber> PRIMARY KEY (WorksFor) = <pNumber, dNumber> FOREIGN KEY WorksFor (pNumber) REFERENCES Person (pNumber) FOREIGN KEY WorksFor (dNumber) REFERENCES Dept (dNumber) Murali Mani
  • 16. Simple Algorithm: Example 2 Supplier (sName, sLoc) Consumer (cName, cLoc) Product (pName, pNumber) Supply (supplier, consumer, product, price, qty) pNumber pName Product (0, *) sName cName Supplier (1, *) Supply (0, *) Consumer sLoc cLoc price qty PRIMARY Key (Supplier) = <sName> PRIMARY Key (Consumer) = <cName> PRIMARY Key (Product) = <pName> PRIMARY Key (Supply) = <supplier, consumer, product> FOREIGN KEY Supply (supplier) REFERENCES Supplier (sName) FOREIGN KEY Supply (consumer) REFERENCES Consumer (cName) FOREIGN KEY Supply (product) REFERENCES Product (pName) Murali Mani
  • 17. Simple Algorithm: Example 3 pN um ber pN am e P a rt s u p e rP a rt (0 , *) s u b P a rt (0 , 1 ) Part (pName, pNumber) Contains (superPart, subPart, quantity) C o n t a in s q u a n t ity PRIMARY KEY (Part) = <pNumber> PRIMARY KEY (Contains) = <subPart> FOREIGN KEY Contains (superPart) REFERENCES Part (pNumber) FOREIGN KEY Contains (subPart) REFERENCES Part (pNumber) Murali Mani
  • 18. Decreasing the number of Relations Technique 1  If the relationship type R contains an entity type, say E, whose maximum cardinality is 1, then R may be represented as attributes of E.   If the cardinality of E is (1, 1), then no “new nulls” are introduced If the cardinality of E is (0, 1) then “new nulls” may be introduced. Murali Mani
  • 19. Example 1 sNumber pNumber Student (1,1) Has Advisor (0, *) sName Professor pName years Student (sNumber, sName, advisor, years) Professor (pNumber, pName) PRIMARY KEY (Student) = <sNumber> PRIMARY KEY (Professor) = <pNumber> FOREIGN KEY Student (advisor) REFERENCES Professor (pNumber) Note: advisor will never be null for a student Murali Mani
  • 20. Example 2 pNumber dNumber Person (0,1) Works For (0, *) Dept pName dName years Person (pNumber, pName, dept, years) Dept (dNumber, dName) PRIMARY KEY (Person) = <pNumber> PRIMARY KEY (Dept) = <dNumber> FOREIGN KEY Person (dept) REFERENCES Dept (dNumber) Dept and years may be null for a person Murali Mani
  • 21. Example 3 pNum ber pNam e P a rt s u p e rP a rt (0 , *) s u b P a rt (0 , 1 ) C o n t a in s q u a n tity Part (pNumber, pname, superPart, quantity) PRIMARY KEY (Part) = <pNumber> FOREIGN KEY Part (superPart) REFERENCES Part (pNumber) Note: superPart gives the superpart of a part, and it may be null Murali Mani
  • 22. Decreasing the number of Relations Technique 2 (not recommended)   If the relationship type R between E1 and E2 is 1:1, and the cardinality of E1 or E2 is (1, 1), then we can combine everything into 1 relation. Let us assume the cardinality of E1 is (1, 1). We have one relation for E2, and move all attributes of E1 and for R to be attributes of E2.   If the cardinality of E2 is (1, 1), no “new nulls” are introduced If the cardinality of E2 is (0, 1) then “new nulls” may be introduced. Murali Mani
  • 23. Example 1 sNumber pNumber Student (0,1) Has Advisor (1,1) Professor sName pName years Student (sNumber, sName, pNumber, pName, years) PRIMARY KEY (Student) = <sNumber> CANDIDATE KEY (Student) = <pNumber> Note: pNumber, pName, and years can be null for students with no advisor Murali Mani
  • 24. Example 2 sNumber pNumber Student (1,1) Has Advisor (1,1) Professor sName pName years Student (sNumber, sName, pNumber, pName, years) PRIMARY KEY (Student) = <sNumber> CANDIDATE KEY (Student) = <pNumber> Note: pNumber cannot be null for any student. Murali Mani
  • 25. Other details  Composite  attribute in ER Include an attribute for every component of the composite attribute.  Multi-valued   attribute in ER We need a separate relation for any multi-valued attribute. Identify appropriate attributes, keys and foreign key constraints. Murali Mani
  • 26. Composite and Multi-valued attributes in ER sNumber sName major Student sAge address street city state Student (sNumber, sName, sAge, street, city, state) StudentMajor (sNumber, major) PRIMARY KEY (Student) = <sNumber> PRIMARY KEY (StudentMajor) = <sNumber, major> FOREIGN KEY StudentMajor (sNumber) REFERENCES Student (sNumber) Murali Mani
  • 27. Weak entity types  Consider     weak entity type E A relation for E, say E’ Attributes of E’ = attributes of E in ER + keys for all indentifying entity types. Key for E’ = the key for E in ER + keys for all the identifying entity types. Identify appropriate FKs from E’ to the identifying entity types. Murali Mani
  • 28. Weak entity types: Example Dept (dNumber, dName) Course (cNumber, dNumber, cName) PRIMARY KEY (Dept) = <dNumber> PRIMARY KEY (Course) = <cNumber, dNumber> FOREIGN KEY Course (dNumber) REFERENCES Dept (dNumber) Murali Mani
  • 29. ISA Relationship types: Method 1 sNumber sName Student (sNumber, sName) UGStudent (sNumber, year) GradStudent (sNumber, program) Student year ISA UGStudent ISA program GradStudent An UGStudent will be represented in both Student relation as well as UGStudent relation (similarly GradStudent) PRIMARY KEY (Student) = <sNumber> PRIMARY KEY (UGStudent) = <sNumber> PRIMARY KEY (GradStudent) = <sNumber> FOREIGN KEY UGStudent (sNumber) REFERENCES Student (sNumber) FOREIGN KEY UGStudent (sNumber) REFERENCES Student (sNumber) Murali Mani
  • 30. ISA Relationship types: Method 2 sNumber sName Student year ISA ISA UGStudent program GradStudent Student (sNumber, sName, year, program) PRIMARY KEY (Student) = <sNumber> Note: There will be null values in the relation. Murali Mani
  • 31. ISA Relationship types: Method 3 Student (sNumber, sName) UGStudent (sNumber, sName, year) GradStudent (sNumber, sName, program) UGGradStudent (sNumber, sName, year, program) sNumber sName PRIMARY KEY (Student) = <sNumber> PRIMARY KEY (UGStudent) = <sNumber> PRIMARY KEY (GradStudent) = <sNumber> PRIMARY KEY (UGGradStudent) = <sNumber> Student year ISA UGStudent ISA program Any student will be represented in only one of the relations as appropriate. GradStudent Murali Mani