The document discusses the relational model and how to map an entity-relationship schema to a relational schema. It covers key aspects of the relational model including relations, attributes, primary keys, foreign keys, and how to represent different entity types and relationship types as relations and attributes while preserving constraints and cardinalities. Examples are provided to illustrate mapping entity-relationship diagrams to equivalent relational schemas.
Functional dependencies in Database Management SystemKevin Jadiya
Slides attached here describes mainly Functional dependencies in database management system, how to find closure set of functional dependencies and in last how decomposition is done in any database tables
Functional dependencies in Database Management SystemKevin Jadiya
Slides attached here describes mainly Functional dependencies in database management system, how to find closure set of functional dependencies and in last how decomposition is done in any database tables
Groep 7/8 heeft groente/fruit-poppetjes in een PP een verhaal laten spelen.
Horen bij het Da Vinci-onderwerp Groente en Fruit, gezonde voeding.
Gemaakt door: Maud, Lies, Saskia, Maks, Eline en Tara
Groep 7/8 heeft groente/fruit-poppetjes in een PP een verhaal laten spelen.
Horen bij het Da Vinci-onderwerp Groente en Fruit, gezonde voeding.
Gemaakt door: Maud, Lies, Saskia, Maks, Eline en Tara
I have described here that work which I have done in 3-months at a Pakistan Government Institution Entomological Research Institute that is under Ayub Agriculture Research Institution, Faisalabad.
The Pure Diamond Investment presentation detailing information about fancy coloured diamonds, historical diamond price performance, media articles, industry partners and why diamonds are an interesting investment option.
Development of GM Crops (Methods) against insect diversitySajid Aslam
My presentation Covers
Insertion of Foreign gene into host plant from any other plant or organism to make plant resistance against insect pests attack or to increase plant productivity/shelf life is known as "Genetically Modified Plants"
My presentation included
1. Methods to make GM crops
A. Direct Gene Methods
B. Vector Mediated Methods
C. Intact plant Methods
A. Direct Methods:
i. Physical Methods
ii. Chemical Methods
Physical Methods:
i. Micro-injection
ii. Particle bombardment
iii. Gene Gun Method
iv. Laser Micro-Beam
v. Electroporation
Chemical Methods:
i. Physico-chemical Uptake of DNA
ii. Liposome Encapsulation
iii. Silicon Carbide Fiber
B. Vector Mediated Methods:
i. Bacteria
ii. Viruses
C. Intact Plant
i. Macro-Injection
ii. Pollen Tube Pathway
2. Why Need to make GM Crops
Increase Shelf Life, Productivity, make Resistance against insect pests etc
3. Risks/Side Effects of GM Crops
4. Released Varieties of GM Crops
Cotton, Wheat, Rice, Papaya, Oil seeds
5. Resistance against Insect Diversity
Mosaic Viruses, Bollworms, Ringspot Vrius etc
6. Questions
The Relational Data Model and Relational Database Constraints Ch5 (Navathe 4t...Raj vardhan
The Relational Data Model and Relational Database Constraints
Ch5 (Navathe 4th edition)/ Ch7 (Navathe 3rd edition)
Example of STUDENT Relation(figure 5.1)
What is Relational model
Characteristics
Relational constraints
Representation of schemas
characteristics and Constraints of Relational model with proper examples.
Updates and dealing with constraint violations in Relational model
2. Why Relational Model?
Currently the most widely used
Vendors: Oracle, Microsoft, IBM
Older models still used
IBM’s IMS (hierarchical model)
Recent competitions
Object Oriented Model: ObjectStore
Implementation standard for relational Model
SQL (Structured Query Language)
SQL 3: includes object-relational extensions
Murali Mani
3. Relational Model
Structures
Relations (also called Tables)
Attributes (also called Columns or Fields)
Note: Every attribute is simple (not composite or
multi-valued)
Student
Murali Mani
Constraints
Key and Foreign Key constraints (More constraints later)
Eg: Student Relation (The following 2 relations are
equivalent)
Student
sNumber sName
1 Dave
2 Greg
sNumber sName
2 Greg
1 Dave
Cardinality = 2
Arity/Degree = 2
4. Relational Model
Schema for a relation
Eg: Student (sNumber, sName)
PRIMARY KEY (Student) = <sNumber>
Schema for a database
Schemas for all relations in the database
Tuples (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
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
Murali Mani
(pName)
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)
PRIMARY KEY (Dept) = <dNumber>
PRIMARY KEY (Person) =
<pNumber>
FOREIGN KEY Person (dept)
REFERENCES Dept (dNumber)
Murali Mani
Persons working for Depts
Person and his/her father
Person (pNumber, pName, father)
PRIMARY KEY (Person) = <pNumber>
FOREIGN KEY Person (father)
REFERENCES Person (pNumber)
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
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
Person (pNumber, pName)
Dept (dNumber, dName)
WorksFor (pNumber, dNumber, years)
Murali Mani
Person
pNumber
pName
Dept
dNumber
dName
Works
For
(1, *) (0, *)
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)
17. Simple Algorithm: Example 3
p N a m e p N u m b e r
s u p e r P a r t s u b P a r t
( 0 , * ) ( 0 , 1 )
Part (pName, pNumber)
Contains (superPart, subPart, quantity)
Murali Mani
P a r t
C o n t a i n s
q u a n t i t y
PRIMARY KEY (Part) = <pNumber>
PRIMARY KEY (Contains) = <subPart>
FOREIGN KEY Contains (superPart) REFERENCES Part (pNumber)
FOREIGN KEY Contains (subPart) REFERENCES Part (pNumber)
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. Murali Mani
Example 1
Student
sNumber
sName
Professor
pNumber
pName
Has
Advisor
(1,1) (0, *)
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
20. Murali Mani
Example 2
Person
pNumber
pName
Dept
dNumber
dName
Works
For
(0,1) (0, *)
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
21. p N a m e p N u m b e r
P a r t
s u p e r P a r t s u b P a r t
( 0 , * ) ( 0 , 1 )
Murali Mani
Example 3
C o n t a i n s
q u a n t i t y
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
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. Murali Mani
Example 1
Student
sNumber
sName
Professor
pNumber
pName
Has
Advisor
(0,1) (1,1)
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
24. Murali Mani
Example 2
Student
sNumber
sName
Professor
pNumber
pName
Has
Advisor
(1,1) (1,1)
years
Student (sNumber, sName, pNumber, pName, years)
PRIMARY KEY (Student) = <sNumber>
CANDIDATE KEY (Student) = <pNumber>
Note: pNumber cannot be null for any student.
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
Student
address
Murali Mani
sAge
major
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)
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
29. ISA Relationship types:
Method 1
year program
Murali Mani
sNumber sName
Student
ISA ISA
GradStudent
UGStudent
Student (sNumber, sName)
UGStudent (sNumber, year)
GradStudent (sNumber, program)
PRIMARY KEY (Student) = <sNumber>
PRIMARY KEY (UGStudent) = <sNumber>
PRIMARY KEY (GradStudent) = <sNumber>
FOREIGN KEY UGStudent (sNumber)
REFERENCES Student (sNumber)
FOREIGN KEY UGStudent (sNumber)
An UGStudent will be represented REFERENCES Student (sNumber)
in both Student relation as well as
UGStudent relation (similarly
GradStudent)
30. ISA Relationship types:
Method 2
sNumber sName
Student
ISA ISA
year program
Murali Mani
GradStudent
UGStudent
Student (sNumber, sName, year, program)
PRIMARY KEY (Student) = <sNumber>
Note: There will be null values in the relation.
31. ISA Relationship types:
Method 3
year program
Murali Mani
sNumber sName
Student
ISA ISA
GradStudent
UGStudent
Student (sNumber, sName)
UGStudent (sNumber, sName, year)
GradStudent (sNumber, sName, program)
UGGradStudent (sNumber, sName,
year, program)
PRIMARY KEY (Student) = <sNumber>
PRIMARY KEY (UGStudent) = <sNumber>
PRIMARY KEY (GradStudent) = <sNumber>
PRIMARY KEY (UGGradStudent) = <sNumber>
Any student will be represented in
only one of the relations as
appropriate.