3. Chapter Three.pdf

F

database

Fundamental of Database Systems: Relational Data Model & ER-Model
Page 1
CHAPTER THREE
Relational Data Model & ER-Model
In database development life cycle, once all the requirements have been collected and analyzed,
the next step is to create a conceptual schema for the database, using a high-level conceptual
data model (one of which is ER-Model). This step is called conceptual design. The conceptual
schema is a concise description of the data requirements of the users and includes detailed
descriptions of the entity types, relationships, and constraints; these are expressed using the
concepts provided by the high-level data model. Because these concepts do not include
implementation details, they are usually easier to understand and can be used to communicate
with nontechnical users. The high-level conceptual schema enables the database designers to
concentrate on specifying the properties of the data, without being concerned with storage
details. Consequently, it is easier for them to come up with a good conceptual database design.
The next step in database design is the actual implementation of the database, using a
commercial DBMS. Most current commercial DBMSs use an implementation data model such
as the relational or the object-relational database model-so the conceptual schema is transformed
from the high-level data model into the implementation data model. This step is called logical
design or data model mapping, and its result is a database schema in the implementation data
model of the DBMS.
The last step is the physical design phase, during which the internal storage structures, indexes,
access paths, and file organizations for the database files are specified. In this chapter only the
basic ER model concepts for conceptual schema design are discussed.
Relational Data Model
The building blocks of the relational data model are:
 Entities: real world physical or logical object
 Attributes: properties used to describe each Entity or real world object.
 Relationship: the association between Entities
 Constraints: rules that should be obeyed while manipulating the data.
Fundamental of Database Systems: Relational Data Model & ER-Model
Page 2
1. Entities/Relation/Table
The basic object that the ER model represents is an entity, which is a "thing" in the real world
with an independent existence. An entity may be an object with a physical existence (for
example, a particular person, car, house, or employee) or it may be an object with a conceptual
existence (for example, a company, a job, or a university course). Each entity has attributes-the
particular properties that describe it. For example, an employee entity may be described by the
employee's name, age, address, salary, and job. A particular entity will have a value for each of
its attributes.
NB:
 The name given to an entity should always be a singular noun descriptive of each item to
be stored in it. E.g.: student NOT students.
 Every relation has a schema, which describes the columns, or fields
 The relation itself corresponds to our familiar notion of a table
 A relation is a collection of tuples, each of which contains values for a fixed number of
attributes
2. Attributes/Fields/Columns
Attributes are pieces of information ABOUT entities. The analysis must of course identify those
which are actually relevant to the proposed application. At this level we need to know such
things as:
 Attribute name (be explanatory words or phrases)
 The domain from which attribute values are taken (A DOMAIN is a set of values from
which attribute values may be taken.) Each attribute has values taken from a domain. For
example, the domain of Name is string and that for salary is real
 Whether the attribute is part of the entity identifier (attributes which just describe an
entity and those which help to identify it uniquely)
 Whether it is permanent or time-varying (which attributes may change their values over
time)
 Whether it is required or optional for the entity (whose values will sometimes be
unknown or irrelevant)
Fundamental of Database Systems: Relational Data Model & ER-Model
Page 3
Several types of attributes occur in the ER model: simple versus composite, single-valued versus
multi-valued, and stored versus derived.
 Composite versus Simple (Atomic) Attributes
Composite attributes can be divided into smaller subparts, which represent more basic
attributes with independent meanings. For example, Address attribute of an employee entity can
be subdivided into StreetAddress, City, State, and postal code. Attributes that are not divisible
are called simple or atomic attributes. Composite attributes can form a hierarchy; for example,
StreetAddress can be further subdivided into three simple attributes: Number, Street, and
ApartmentNumber. The value of a composite attribute is the concatenation of the values of its
constituent simple attributes.
 Single-Valued versus Multi-valued Attributes
Most attributes have a single value for a particular entity; such attributes are called single-
valued. For example, Age is a single-valued attribute of a person. In some cases an attribute can
have a set of values for the same entity-for example, Colors attribute for a car, or a
CollegeDegrees attribute for a person. Cars with one color have a single value, whereas two-tone
cars have two values for Colors. Similarly, one person may not have a college degree, another
person may have one, and a third person may have two or more degrees; therefore, different
persons can have different numbers of values for the CollegeDegrees attribute. Such attributes
are called multi-valued. A multi-valued attribute may have lower and upper bounds to constrain
the number of values allowed for each individual entity. For example, the Colors attribute of a
car may have between one and three values, if we assume that a car can have at most three
colors.
 Stored versus Derived Attributes
In some cases, two (or more) attribute values are related-for example, the Age and BirthDate
attributes of a person. For a particular person entity, the value of Age can be determined from the
current (today's) date and the value of that person's BirthDate. The Age attribute is hence called a
derived attribute and is said to be derivable from the BirthDate attribute, which is called a
stored attribute. Some attribute values can be derived from related entities; for example, an
Fundamental of Database Systems: Relational Data Model & ER-Model
Page 4
attribute NumberOfEmployees of a department entity can be derived by counting the number of
employees related to (working for) that department.
 Null Values
In some cases a particular entity may not have an applicable value for an attribute. For example,
the ApartmentNumber attribute of an address applies only to addresses that are in apartment
buildings and not to other types of residences, such as single-family homes. Similarly, a
CollegeDegrees attribute applies only to persons with college degrees. For such situations, a
special value called null is created. An address of a single-family home would have null for its
ApartmentNumber attribute, and a person with no college degree would have null for
CollegeDegrees.
NB:
 NULL applies to attributes which are not applicable or which do not have values.
 You may enter the value NA (meaning not applicable)
 Value of a key attribute cannot be null.
 Default value - assumed value if no explicit value
 Key Attributes of Entity
An important constraint on the entities of an entity is the key or uniqueness constraint on
attributes. An entity usually has an attribute whose values are distinct for each individual entity
in the entity set. Such an attribute is called a key attribute (Primary Key), and its values can be
used to identify each entity uniquely. For example, a Name attribute can be a key for a
COMPANY entity type, because no two companies are allowed to have the same name. For the
PERSON entity type, a typical key attribute is SocialSecurityNumber. Sometimes, several
attributes together form a key, meaning that the combination of the attribute values must be
distinct for each entity. If a set of attributes possesses this property, the proper way to represent
this is to define a composite attribute and designate it as a key attribute of the entity type.
Notice that such a composite key must be minimal; that is, all component attributes must be
included in the composite attribute to have the uniqueness property. An entity type may also
have no key, in which case it is called a weak entity.
Fundamental of Database Systems: Relational Data Model & ER-Model
Page 5
Summary of Key Attributes
o Each row of a table is uniquely identified by a PRIMARY KEY composed of one or
more columns
o Group of columns, that uniquely identifies a row in a table is called a CANDIDATE
KEY
o A column or combination of columns that matches the primary key of another table is
called a FOREIGN KEY. Used to cross-reference tables
 Value Sets (Domains) of Attributes
Each simple attribute of an entity type is associated with a value set (or domain of values), which
specifies the set of values that may be assigned to that attribute for each individual entity. For
instance, if the range of ages allowed for employees is between 16 and 70, we can specify the
value set of the Age attribute of EMPLOYEE to be the set of integer numbers between 16 and
70. Similarly, we can specify the value set for the Name
3. Relationships
A relationship type R among n entity types E1, E2, --- En, defines a set of associations among
entities. For example, consider a relationship type WORKS_FOR between two entity types
EMPLOYEE and DEPARTMENT, which associates each employee with the department for
which the employee works.
Degree of a Relationship
The degree of a relationship type is the number of participating entity types. Hence, the
WORKS-FOR relationship is of degree two. A relationship type of degree two is called binary,
and one of degree three is called ternary. Relationships can generally be of any degree, but the
ones most common are binary relationships. Higher-degree relationships are
For example, suppose that we want to capture which employees use which skills on which
project. We might try to represent this data in a database as three binary relationships between
skills and project, project and employee, and employee and skill.
Fundamental of Database Systems: Relational Data Model & ER-Model
Page 6
Fig. A ternary relationship
 Works-on
o Abebe and Kebede have worked on projects A and B.
 Used-on
o Abebe has used programming skills on project x
 Have skill
o An employee has a certain skill. This is different than used on because there are
some skills that an employee has that he or she may not have used on a particular
project.
 Needed
o A project needs a particular skill. This is different than used on because there may
be some skills for which employees have not been assigned to the project yet.
 Manages
o An employee manages a project. This is a completely different dimension than
skill so it could not be captured by used on.
Role Names and Recursive Relationships
Each entity that participates in a relationship plays a particular role in the relationship. The role
name signifies the role that a participating entity from the entity type plays in each relationship
instance, and helps to explain what the relationship means. For example, in the WORKS_FOR
relationship type, EMPLOYEE plays the role of employee or worker and DEPARTMENT plays
the role of department or employer.
Fundamental of Database Systems: Relational Data Model & ER-Model
Page 7
In some cases the same entity participates more than once in a relationship with the same entity
in different roles. In such cases the role name is essential for distinguishing the meaning of each
participation. Such relationship types are called recursive relationships. For example, the
SUPERVISION relationship type relates an employee to a supervisor, where both employee and
supervisor entities are members of the same EMPLOYEE entity.
Cardinality Ratios for Binary Relationships
An important concept about relationship is the number of instances/tuples that can be associated
with a single instance from one entity in a single relationship. The cardinality ratio for a binary
relationship specifies the maximum number of relationship instances that an entity can participate
in. The number of instances participating or associated with a single instance from an entity in a
relationship is called the CARDINALITY of the relationship.
For example, in the WORKS_FOR binary relationship type, DEPARTMENT: EMPLOYEE is of
cardinality ratio 1: N, meaning that each department can be related to (that is, employs) any
number of employees. But an employee can be related to (work for) only one department. The
possible cardinality ratios for binary relationship types are 1:1, l:M, M:l, and M:M.
 ONE-TO-ONE: one tuple is associated with only one other tuple
 An example of a 1:1 binary relationship is MANAGES, which relates a
department entity to the employee who manages that department. This means any
point in time an employee can manage only one department and a department has
only one manager
 Another example of 1:1 relationship: Building – Location as a single building
will be located in a single location and as a single location will only accommodate
a single Building.
Fundamental of Database Systems: Relational Data Model & ER-Model
Page 8
 ONE-TO-MANY: one tuple can be associated with many other tuples, but not the
reverse.
 Eg1. Department-Student: as one department can have multiple students.
 Eg 2: Employee-Deprtament: as one employee can work in multiple departments.
 MANY-TO-ONE: many tuples are associated with one tuple but not the reverse.
 E.g. Employee – Department: as many employees belong to a single
department.
 MANY-TO-MANY: one tuple is associated with many other tuples and from the
other side, with a different role name one tuple will be associated with many tuples
 E.g. Student – Course: as a student can take many courses and a single course
can be attended by many students.
 E.g. Employee- Project: as an employee works-on many projects and a single
project can be done by many employees.
Fundamental of Database Systems: Relational Data Model & ER-Model
Page 9
4. Relational Constraints/Integrity Rules
 Relational Integrity
o Domain Integrity: No value of the attribute should be beyond the allowable
limits
o Entity Integrity: In a base relation, no attribute of a primary key can be null
o Referential Integrity: If a foreign key exists in a relation, either the foreign key
value must match a candidate key in its home relation or the foreign key value
must be null foreign key to primary key match-ups
o Enterprise Integrity: Additional rules specified by the users or database
administrators of a database are incorporated
Relational languages and views
The languages in relational database management systems are the DDL and the DML that are
used to define or create the database and perform manipulation on the database. We have the two
kinds of relation in relational database. The difference is on how the relation is created, used and
updated:
1. Base Relation
A Named Relation corresponding to an entity in the conceptual schema, whose tuples are
physically stored in the database.
2. View
Is the dynamic result of one or more relational operations operating on the base relations to
produce another virtual relation. So a view virtually derived relation that does not necessarily
exist in the database but can be produced upon request by a particular user at the time of request.
Purpose of a view
 Hides unnecessary information from users
 Provide powerful flexibility and security
 Provide customized view of the database for users
 A view of one base relation can be updated.
 Update on views derived from various relations is not allowed
Fundamental of Database Systems: Relational Data Model & ER-Model
Page 10
Conceptual Database Design
Conceptual design revolves around discovering and analyzing organizational and user data
requirements. The important activities are to identify: Entities, Attributes, Relationships and
Constraints and based on these components develop the ER model using ER diagrams.
The Entity Relationship (E-R) Model
Entity-Relationship modeling is used to represent conceptual view of the database. The main
components of ER Modeling are: Entities, Attributes, Relationships and Constraints. Before
working on the conceptual design of the database, one has to know and answer the following
basic questions.
 What are the entities and relationships in the enterprise
 What information about these entities and relationships should we store in the
database?
 What are the integrity constraints that hold? Constraints on each data with respect to
update, retrieval and store.
 Represent this information pictorially in ER diagrams, then map ER diagram into a
relational database schema.
ER-Diagrams
 Entity is represented by a RECTANGLE containing the name of the entity
 Attributes are represented by OVALS and are connected to the entity by a line
Fundamental of Database Systems: Relational Data Model & ER-Model
Page 11
 A derived attribute is indicated by a DOTTED LINE
 PRIMARY KEYS are underlined
 Relationships are represented by DIAMOND shaped symbols
Structural Constraints on Relationships
Relationship types usually have certain constraints that limit the possible combinations of entities
that may participate in the corresponding relationship set. These constraints are determined from
the miniworld situation that the relationships represent. For example, if a company has a rule that
each employee must work for exactly one department, then we would like to describe this
constraint in the schema. We can distinguish two main types of relationship structural
constraints: cardinality ratio and participation.
1. Constraints on Relationship / Multiplicity/ Cardinality Constraints
Multiplicity constraint is the number of or range of possible occurrence of an entity
type/relation that may relate to a single occurrence/tuple of an entity type/relation through a
particular relationship. These constraints are mostly used to insure appropriate enterprise
constraints.
 Specifies that each entity e in E participates in at least min and at most max
relationship instances in R
 Default(no constraint): min=0, max=n (signifying no limit)
 Must have minmax, min0, max 1
Key
Fundamental of Database Systems: Relational Data Model & ER-Model
Page 12
 One-to-One Relationship
Relationship Manages between Employee and Department
 The multiplicity of the relationship is:
o One department can only have one manager
o One employee could manage either one or no departments
0…1 1…1
 One-to-Many Relationship
Relationship Leads between Employee and Project
 The multiplicity of the relationship
o One staff may Lead one or more project(s)
o One project is Lead by one employee
0…* 1…1
 Many-to-Many Relationship
Relationship Teaches between Instructor and Course
 The multiplicity of the relationship
o One Instructor Teaches one or more Course(s)
o One Course is thought by zero or more instructor(s)
1…* 0…*

2. Participation of an Entity Set in a Relationship Set
Total participation (indicated by double line): every entity in the entity set participates in at
least one relationship in the relationship set. The entity with total participation will be connected
with the relationship using a double line.
Employee Department
Manages
Employee Project
Leads
Instructor Course
Teaches
Fundamental of Database Systems: Relational Data Model & ER-Model
Page 13
E.g. 1: Participation of EMPLOYEE in “belongs to” relationship with DEPARTMENT is total
since every employee should belong to a department.
E.g. 2: Participation of EMPLOYEE in “manages” relationship with DEPARTMENT,
DEPARTMENT will have total participation but not EMPLOYEE
Partial participation: some entities may not participate in any relationship in the relationship
set
E.g. 1: Participation of EMPLOYEE in “manages” relationship with DEPARTMENT,
EMPLOYEE will have partial participation since not all employees are managers.
Fundamental of Database Systems: Relational Data Model & ER-Model
Page 14
Attributes of Relationship Types
Relationship types can also have attributes, similar to those of entity types. For example, to
record the number of hours per week that an employee works on a particular project, we can
include an attribute Hours for the WORKS_ON relationship type. Another example is to include
the date on which a manager started managing a department via an attribute StartDate for the
MANAGES relationship type.
Notice that attributes of 1:1 or 1:M relationship types can be migrated to one of the participating
entity types. For example, the StartDate attribute for the MANAGES relationship can be an
attribute of either EMPLOYEE or DEPARTMENT, although conceptually it belongs to
Fundamental of Database Systems: Relational Data Model & ER-Model
Page 15
MANAGES. This is because MANAGES is a 1:1 relationship, so every department or employee
entity participates in at most one relationship instance. Hence, the value of the StartDate attribute
can be determined separately, either by the participating department entity or by the participating
employee (manager) entity.
Weak Entity Types
Entity types that do not have key attributes of their own are called weak entity types. In contrast,
regular entity types that do have a key attribute are called strong entity types. Entities belonging
to a weak entity type are identified by being related to specific entities from another entity type
in combination with one of their attribute values.
A weak entity type always has a total participation constraint (existence dependency) with
respect to its identifying relationship, because a weak entity cannot be identified without an
owner entity. However, not every existence dependency results in a weak entity type. For
example, a DRIVER_LICENSE entity cannot exist unless it is related to a PERSON entity, even
though it has its own key (LicenseNumber) and hence is not a weak entity.
Consider the entity type DEPENDENT, related to EMPLOYEE, which is used to keep track of
the dependents of each employee via a l:N relationship (Figure 3.2). The attributes of
DEPENDENT are Name (the first name of the dependent), BirthDate, Sex, and Relationship (to
the employee). Two dependents of two distinct employees may, by chance, have the same values
for Name, BirthDate, Sex, and Relationship, but they are still distinct entities. They are identified
as distinct entities only after determining the particular employee entity to which each dependent
is related. Each employee entity is said to own the dependent entities that are related to it. A
weak entity type normally has a partial key, which is the set of attributes that can uniquely
identify weak entities that are related to the same owner entity. In our example, if we assume that
no two dependents of the same employee ever have the same first name, the attribute Name of
DEPENDENT is the partial key. In the worst case, a composite attribute of all the weak entity's
attributes will be the partial key.
Fundamental of Database Systems: Relational Data Model & ER-Model
Page 16
ER-to-Relational Mapping Algorithm
 Step 1: Mapping of Regular Entity Types
For each regular (strong) entity type E in the ER schema, create a relation R that includes all the
simple attributes of E. Include only the simple component attributes of a composite attribute.
Choose one of the key attributes of E as primary key for R. If the chosen key of E is composite,
the set of simple attributes that form it will together form the primary key of R.
Example: For the company database ER (Figure 3.2)
o regular entities are: EMPLOYEE, DEPARTMENT, and PROJ ECT
o The foreign key and relationship attributes, if any, are not included yet; they will
be added during subsequent steps. These include the attributes SUPERSSN and
DNO of EMPLOYEE, MGRSSN and MGRSTARTDATE of DEPARTMENT,
and DNUM of PROJECT.
o In our example, we choose empid, DNUMBER, and PNUMBER as primary keys
for the relations EMPLOYEE, DEPARTMENT, and PROJECT,
 Step 2: Mapping of Weak Entity Types
For each weak entity W in the ER schema with owner entity type E, create a relation R and
include all simple attributes (or simple components of composite attributes) of W as attributes of
R. In addition, include as foreign key attributes of R the primary key attributes) of the relations)
that correspond to the owner entity types): this takes care of the identifying relationship type of
W. The primary key of R is the combination of the primary keys of the owners and the partial
key of the weak entity type W, if any.
 In our example, we create the relation DEPENDENT in this step to correspond to the
weak entity type DEPENDENT.
 We include the primary key empId of the EMPLOYEE relation which corresponds to the
owner entity type-as a foreign key attribute of DEPENDENT;
 The primary key of the DEPENDENT relation is the combination {empId,
DEPENDENT_NAME} because DEPENDENT_NAME is the partial key of
DEPENDENT.
Fundamental of Database Systems: Relational Data Model & ER-Model
Page 17
 Step 3: Mapping of Binary 1:1 Relationship Types.
For each binary 1:1 relationship type R in the ER schema, identify the relations S and T that
correspond to the entity types participating in R. Choose one of the relations-S, say-and include
as a foreign key in S the primary key of T. It is better to choose an entity type with total
participation in R in the role of S. Include all the simple attributes (or simple components of
composite attributes) of the 1:1 relationship type R as attributes of S.
 In our example, we map the 1:1 relationship type MANAGES by choosing the
participating entity type DEPARTMENT to serve in the role of S, because its
participation in the MANAGES relationship type is total (every department has a
manager). We include the primary key of the EMPLOYEE relation as foreign key in the
DEPARTMENT relation and rename it MGRSSN. We also include the simple attribute
STARTDATE of the MANAGES relationship type in the DEPARTMENT relation and
rename it MGRSTARTDATE.
 Note that it is possible to include the primary key of S as a foreign key in T instead. In
our example, this amounts to having a foreign key attribute, say
DEPARTMENT_MANAGED in the EMPLOYEE relation, but it will have a null value
for employee tuples who do not manage a department.
 Step 4: Mapping of Binary 1:N Relationship Types.
For each regular binary 1:N relationship type R, identify the relation S that represents the
participating entity type at the N-side of the relationship type. Include as foreign key in S the
primary key of the relation T that represents the other entity type participating in R; this is done
because each entity instance on the N-side is related to at most one entity instance on the 1-side
of the relationship type. Include any simple attributes (or simple components of composite
attributes) of the 1:N relationship type as attributes of S.
 In our example, we now map the 1:N relationship types WORKS_FOR, CONTROLS,
and SUPERVISION .
 For WORKS_FOR we include the primary key DNUMBER of the DEPARTMENT
relation as foreign key in the EMPLOYEE relation and call it DNO.
Fundamental of Database Systems: Relational Data Model & ER-Model
Page 18
 For SUPERVISION we include the primary key of the EMPLOYEE relation as foreign
key in the EMPLOYEE relation itself because the relationship is recursive-and call it
SUPERSSN.
 The CONTROLS relationship is mapped to the foreign key attribute DNUM of
PROJECT, which references the primary key DNUMBER of the DEPARTMENT
relation.
 Step 5: Mapping of Binary M:N Relationship Types.
For each binary M:N relationship type R, create a new relation S to represent R. Include as
foreign key attributes in S the primary keys of the relations that represent the participating entity
types; their combination will form the primary key of S. Also include any simple attributes of the
M:N relationship type (or simple components of composite attributes) as attributes of S. Notice
that we cannot represent an M:N relationship type by a single foreign key attribute in one of the
participating relations (as we did for 1:1 or I:N relationship types) because of the M:N
cardinality ratio; we must create a separate relationship relation S.
 In our example, we map the M:N relationship type WORKS_ON by creating the
relation WORKS_ON.
 We include the primary keys of the PROJECT and EMPLOYEE relations as foreign keys
in WORKS_ON and rename them PNO and ESSN, respectively.
 We also include an attribute HOURS in WORKS_ON to represent the HOURS attribute
of the relationship type. The primary key of the WORKS_ON relation is the combination
of the foreign key attributes {ESSN, PNO}.
 Step 6: Mapping of Multivalued Attributes.
For each multivalued attribute A, create a new relation R. This relation R will include an
attribute corresponding to A, plus the primary key attribute K-as a foreign key in R-of the
relation that represents the entity type or relationship type that has A as an attribute. The primary
key of R is the combination of A and K. If the multivalued attribute is composite, we include its
simple components.
Fundamental of Database Systems: Relational Data Model & ER-Model
Page 19
 In our example, we create a relation DEPT_LOCATIONS. The attribute DLOCATION
represents the multivalued attribute LOCATIONS of DEPARTMENT, while
DNUMBER-as foreign key represents the primary key of the DEPARTMENT relation.
The primary key of DEPT_LOCATIONS is the combination of {DNUMBER,
DLOCATION}. A separate tuple will exist in DEPT_LOCATIONS for each location that
a department has.
 Step 7: Mapping of N-ary Relationship Types.
For each n-ary relationship type R, where n > 2, create a new relation S to represent R. Include as
foreign key attributes in S the primary keys of the relations that represent the participating entity
types. Also include any simple attributes of the n-ary relationship type (or simple components of
composite attributes) as attributes of S. The primary key of S is usually a combination of all the
foreign keys that reference the relations representing the participating entity types.
For example, consider the relationship type SUPPLY of the Figure above. This can be mapped to
the relation SUPPLY shown in below; whose primary key is the combination of the three foreign
keys {SNAME, PARTNO, PROJNAME}.

Recomendados

Fundamentals of database system - Data Modeling Using the Entity-Relationshi... por
Fundamentals of database system  - Data Modeling Using the Entity-Relationshi...Fundamentals of database system  - Data Modeling Using the Entity-Relationshi...
Fundamentals of database system - Data Modeling Using the Entity-Relationshi...Mustafa Kamel Mohammadi
959 vistas44 diapositivas
Entity Relationship Model por
Entity Relationship ModelEntity Relationship Model
Entity Relationship ModelA. S. M. Shafi
10 vistas3 diapositivas
Chapter3 por
Chapter3Chapter3
Chapter3Jafar Nesargi
1.1K vistas35 diapositivas
Chapter3 por
Chapter3Chapter3
Chapter3Jafar Nesargi
466 vistas35 diapositivas
Data modeling using the entity relationship model por
Data modeling using the entity relationship modelData modeling using the entity relationship model
Data modeling using the entity relationship modelJafar Nesargi
10.8K vistas33 diapositivas
Chapter-3 Data Modeling Using the Entity-Relationship Model por
Chapter-3  Data Modeling Using the Entity-Relationship ModelChapter-3  Data Modeling Using the Entity-Relationship Model
Chapter-3 Data Modeling Using the Entity-Relationship ModelRaj vardhan
1.1K vistas12 diapositivas

Más contenido relacionado

Similar a 3. Chapter Three.pdf

Data modeling por
Data modelingData modeling
Data modelingTala Alnaber
5K vistas98 diapositivas
Data Modeling Er por
Data Modeling ErData Modeling Er
Data Modeling Er1ajnabi4u
2.3K vistas89 diapositivas
database por
databasedatabase
databaseMonirHossain707319
9 vistas26 diapositivas
Jobs manager vs supervisor.pptx por
Jobs manager vs supervisor.pptxJobs manager vs supervisor.pptx
Jobs manager vs supervisor.pptxprosofts1
4 vistas38 diapositivas
Er diagrams por
Er diagramsEr diagrams
Er diagramsVisnuDharsini
37 vistas29 diapositivas
Database and Math Relations por
Database and Math RelationsDatabase and Math Relations
Database and Math RelationsProf Ansari
686 vistas31 diapositivas

Similar a 3. Chapter Three.pdf(20)

Data Modeling Er por 1ajnabi4u
Data Modeling ErData Modeling Er
Data Modeling Er
1ajnabi4u2.3K vistas
Jobs manager vs supervisor.pptx por prosofts1
Jobs manager vs supervisor.pptxJobs manager vs supervisor.pptx
Jobs manager vs supervisor.pptx
prosofts14 vistas
Database and Math Relations por Prof Ansari
Database and Math RelationsDatabase and Math Relations
Database and Math Relations
Prof Ansari686 vistas
27 f157al5enhanced er diagram por dddgh
27 f157al5enhanced er diagram27 f157al5enhanced er diagram
27 f157al5enhanced er diagram
dddgh1.8K vistas
ERD with complete knowledge por Asma Rasool
ERD with complete knowledgeERD with complete knowledge
ERD with complete knowledge
Asma Rasool341 vistas
Chapter 2. Concepctual design -.pptx por santosh96234
Chapter 2. Concepctual design -.pptxChapter 2. Concepctual design -.pptx
Chapter 2. Concepctual design -.pptx
santosh962347 vistas
08. Object Oriented Database in DBMS por koolkampus
08. Object Oriented Database in DBMS08. Object Oriented Database in DBMS
08. Object Oriented Database in DBMS
koolkampus9.7K vistas

Más de fikadumola

Unit-2.pdf por
Unit-2.pdfUnit-2.pdf
Unit-2.pdffikadumola
11 vistas33 diapositivas
Databases for beginners.pdf por
Databases for beginners.pdfDatabases for beginners.pdf
Databases for beginners.pdffikadumola
6 vistas113 diapositivas
2. Chapter Two.pdf por
2. Chapter Two.pdf2. Chapter Two.pdf
2. Chapter Two.pdffikadumola
9 vistas13 diapositivas
1. Chapter One.pdf por
1. Chapter One.pdf1. Chapter One.pdf
1. Chapter One.pdffikadumola
8 vistas13 diapositivas
The principle that how to film prints.pptx por
The principle that how to film prints.pptxThe principle that how to film prints.pptx
The principle that how to film prints.pptxfikadumola
23 vistas35 diapositivas
Image Transfer Techniques.pptx por
Image Transfer Techniques.pptxImage Transfer Techniques.pptx
Image Transfer Techniques.pptxfikadumola
11 vistas32 diapositivas

Más de fikadumola(7)

Databases for beginners.pdf por fikadumola
Databases for beginners.pdfDatabases for beginners.pdf
Databases for beginners.pdf
fikadumola6 vistas
2. Chapter Two.pdf por fikadumola
2. Chapter Two.pdf2. Chapter Two.pdf
2. Chapter Two.pdf
fikadumola9 vistas
1. Chapter One.pdf por fikadumola
1. Chapter One.pdf1. Chapter One.pdf
1. Chapter One.pdf
fikadumola8 vistas
The principle that how to film prints.pptx por fikadumola
The principle that how to film prints.pptxThe principle that how to film prints.pptx
The principle that how to film prints.pptx
fikadumola23 vistas
Image Transfer Techniques.pptx por fikadumola
Image Transfer Techniques.pptxImage Transfer Techniques.pptx
Image Transfer Techniques.pptx
fikadumola11 vistas
how to setting up of lab..pptx por fikadumola
how to setting up of lab..pptxhow to setting up of lab..pptx
how to setting up of lab..pptx
fikadumola2 vistas

Último

7 NOVEL DRUG DELIVERY SYSTEM.pptx por
7 NOVEL DRUG DELIVERY SYSTEM.pptx7 NOVEL DRUG DELIVERY SYSTEM.pptx
7 NOVEL DRUG DELIVERY SYSTEM.pptxSachin Nitave
56 vistas35 diapositivas
Gopal Chakraborty Memorial Quiz 2.0 Prelims.pptx por
Gopal Chakraborty Memorial Quiz 2.0 Prelims.pptxGopal Chakraborty Memorial Quiz 2.0 Prelims.pptx
Gopal Chakraborty Memorial Quiz 2.0 Prelims.pptxDebapriya Chakraborty
553 vistas81 diapositivas
The basics - information, data, technology and systems.pdf por
The basics - information, data, technology and systems.pdfThe basics - information, data, technology and systems.pdf
The basics - information, data, technology and systems.pdfJonathanCovena1
77 vistas1 diapositiva
Class 10 English notes 23-24.pptx por
Class 10 English notes 23-24.pptxClass 10 English notes 23-24.pptx
Class 10 English notes 23-24.pptxTARIQ KHAN
95 vistas53 diapositivas
Universe revised.pdf por
Universe revised.pdfUniverse revised.pdf
Universe revised.pdfDrHafizKosar
108 vistas26 diapositivas
ISO/IEC 27001 and ISO/IEC 27005: Managing AI Risks Effectively por
ISO/IEC 27001 and ISO/IEC 27005: Managing AI Risks EffectivelyISO/IEC 27001 and ISO/IEC 27005: Managing AI Risks Effectively
ISO/IEC 27001 and ISO/IEC 27005: Managing AI Risks EffectivelyPECB
457 vistas18 diapositivas

Último(20)

7 NOVEL DRUG DELIVERY SYSTEM.pptx por Sachin Nitave
7 NOVEL DRUG DELIVERY SYSTEM.pptx7 NOVEL DRUG DELIVERY SYSTEM.pptx
7 NOVEL DRUG DELIVERY SYSTEM.pptx
Sachin Nitave56 vistas
The basics - information, data, technology and systems.pdf por JonathanCovena1
The basics - information, data, technology and systems.pdfThe basics - information, data, technology and systems.pdf
The basics - information, data, technology and systems.pdf
JonathanCovena177 vistas
Class 10 English notes 23-24.pptx por TARIQ KHAN
Class 10 English notes 23-24.pptxClass 10 English notes 23-24.pptx
Class 10 English notes 23-24.pptx
TARIQ KHAN95 vistas
Universe revised.pdf por DrHafizKosar
Universe revised.pdfUniverse revised.pdf
Universe revised.pdf
DrHafizKosar108 vistas
ISO/IEC 27001 and ISO/IEC 27005: Managing AI Risks Effectively por PECB
ISO/IEC 27001 and ISO/IEC 27005: Managing AI Risks EffectivelyISO/IEC 27001 and ISO/IEC 27005: Managing AI Risks Effectively
ISO/IEC 27001 and ISO/IEC 27005: Managing AI Risks Effectively
PECB 457 vistas
JiscOAWeek_LAIR_slides_October2023.pptx por Jisc
JiscOAWeek_LAIR_slides_October2023.pptxJiscOAWeek_LAIR_slides_October2023.pptx
JiscOAWeek_LAIR_slides_October2023.pptx
Jisc72 vistas
Scope of Biochemistry.pptx por shoba shoba
Scope of Biochemistry.pptxScope of Biochemistry.pptx
Scope of Biochemistry.pptx
shoba shoba121 vistas
Narration lesson plan.docx por TARIQ KHAN
Narration lesson plan.docxNarration lesson plan.docx
Narration lesson plan.docx
TARIQ KHAN99 vistas
SIMPLE PRESENT TENSE_new.pptx por nisrinamadani2
SIMPLE PRESENT TENSE_new.pptxSIMPLE PRESENT TENSE_new.pptx
SIMPLE PRESENT TENSE_new.pptx
nisrinamadani2173 vistas
Education and Diversity.pptx por DrHafizKosar
Education and Diversity.pptxEducation and Diversity.pptx
Education and Diversity.pptx
DrHafizKosar107 vistas
Use of Probiotics in Aquaculture.pptx por AKSHAY MANDAL
Use of Probiotics in Aquaculture.pptxUse of Probiotics in Aquaculture.pptx
Use of Probiotics in Aquaculture.pptx
AKSHAY MANDAL81 vistas
UWP OA Week Presentation (1).pptx por Jisc
UWP OA Week Presentation (1).pptxUWP OA Week Presentation (1).pptx
UWP OA Week Presentation (1).pptx
Jisc68 vistas
Community-led Open Access Publishing webinar.pptx por Jisc
Community-led Open Access Publishing webinar.pptxCommunity-led Open Access Publishing webinar.pptx
Community-led Open Access Publishing webinar.pptx
Jisc69 vistas
Lecture: Open Innovation por Michal Hron
Lecture: Open InnovationLecture: Open Innovation
Lecture: Open Innovation
Michal Hron95 vistas

3. Chapter Three.pdf

  • 1. Fundamental of Database Systems: Relational Data Model & ER-Model Page 1 CHAPTER THREE Relational Data Model & ER-Model In database development life cycle, once all the requirements have been collected and analyzed, the next step is to create a conceptual schema for the database, using a high-level conceptual data model (one of which is ER-Model). This step is called conceptual design. The conceptual schema is a concise description of the data requirements of the users and includes detailed descriptions of the entity types, relationships, and constraints; these are expressed using the concepts provided by the high-level data model. Because these concepts do not include implementation details, they are usually easier to understand and can be used to communicate with nontechnical users. The high-level conceptual schema enables the database designers to concentrate on specifying the properties of the data, without being concerned with storage details. Consequently, it is easier for them to come up with a good conceptual database design. The next step in database design is the actual implementation of the database, using a commercial DBMS. Most current commercial DBMSs use an implementation data model such as the relational or the object-relational database model-so the conceptual schema is transformed from the high-level data model into the implementation data model. This step is called logical design or data model mapping, and its result is a database schema in the implementation data model of the DBMS. The last step is the physical design phase, during which the internal storage structures, indexes, access paths, and file organizations for the database files are specified. In this chapter only the basic ER model concepts for conceptual schema design are discussed. Relational Data Model The building blocks of the relational data model are:  Entities: real world physical or logical object  Attributes: properties used to describe each Entity or real world object.  Relationship: the association between Entities  Constraints: rules that should be obeyed while manipulating the data.
  • 2. Fundamental of Database Systems: Relational Data Model & ER-Model Page 2 1. Entities/Relation/Table The basic object that the ER model represents is an entity, which is a "thing" in the real world with an independent existence. An entity may be an object with a physical existence (for example, a particular person, car, house, or employee) or it may be an object with a conceptual existence (for example, a company, a job, or a university course). Each entity has attributes-the particular properties that describe it. For example, an employee entity may be described by the employee's name, age, address, salary, and job. A particular entity will have a value for each of its attributes. NB:  The name given to an entity should always be a singular noun descriptive of each item to be stored in it. E.g.: student NOT students.  Every relation has a schema, which describes the columns, or fields  The relation itself corresponds to our familiar notion of a table  A relation is a collection of tuples, each of which contains values for a fixed number of attributes 2. Attributes/Fields/Columns Attributes are pieces of information ABOUT entities. The analysis must of course identify those which are actually relevant to the proposed application. At this level we need to know such things as:  Attribute name (be explanatory words or phrases)  The domain from which attribute values are taken (A DOMAIN is a set of values from which attribute values may be taken.) Each attribute has values taken from a domain. For example, the domain of Name is string and that for salary is real  Whether the attribute is part of the entity identifier (attributes which just describe an entity and those which help to identify it uniquely)  Whether it is permanent or time-varying (which attributes may change their values over time)  Whether it is required or optional for the entity (whose values will sometimes be unknown or irrelevant)
  • 3. Fundamental of Database Systems: Relational Data Model & ER-Model Page 3 Several types of attributes occur in the ER model: simple versus composite, single-valued versus multi-valued, and stored versus derived.  Composite versus Simple (Atomic) Attributes Composite attributes can be divided into smaller subparts, which represent more basic attributes with independent meanings. For example, Address attribute of an employee entity can be subdivided into StreetAddress, City, State, and postal code. Attributes that are not divisible are called simple or atomic attributes. Composite attributes can form a hierarchy; for example, StreetAddress can be further subdivided into three simple attributes: Number, Street, and ApartmentNumber. The value of a composite attribute is the concatenation of the values of its constituent simple attributes.  Single-Valued versus Multi-valued Attributes Most attributes have a single value for a particular entity; such attributes are called single- valued. For example, Age is a single-valued attribute of a person. In some cases an attribute can have a set of values for the same entity-for example, Colors attribute for a car, or a CollegeDegrees attribute for a person. Cars with one color have a single value, whereas two-tone cars have two values for Colors. Similarly, one person may not have a college degree, another person may have one, and a third person may have two or more degrees; therefore, different persons can have different numbers of values for the CollegeDegrees attribute. Such attributes are called multi-valued. A multi-valued attribute may have lower and upper bounds to constrain the number of values allowed for each individual entity. For example, the Colors attribute of a car may have between one and three values, if we assume that a car can have at most three colors.  Stored versus Derived Attributes In some cases, two (or more) attribute values are related-for example, the Age and BirthDate attributes of a person. For a particular person entity, the value of Age can be determined from the current (today's) date and the value of that person's BirthDate. The Age attribute is hence called a derived attribute and is said to be derivable from the BirthDate attribute, which is called a stored attribute. Some attribute values can be derived from related entities; for example, an
  • 4. Fundamental of Database Systems: Relational Data Model & ER-Model Page 4 attribute NumberOfEmployees of a department entity can be derived by counting the number of employees related to (working for) that department.  Null Values In some cases a particular entity may not have an applicable value for an attribute. For example, the ApartmentNumber attribute of an address applies only to addresses that are in apartment buildings and not to other types of residences, such as single-family homes. Similarly, a CollegeDegrees attribute applies only to persons with college degrees. For such situations, a special value called null is created. An address of a single-family home would have null for its ApartmentNumber attribute, and a person with no college degree would have null for CollegeDegrees. NB:  NULL applies to attributes which are not applicable or which do not have values.  You may enter the value NA (meaning not applicable)  Value of a key attribute cannot be null.  Default value - assumed value if no explicit value  Key Attributes of Entity An important constraint on the entities of an entity is the key or uniqueness constraint on attributes. An entity usually has an attribute whose values are distinct for each individual entity in the entity set. Such an attribute is called a key attribute (Primary Key), and its values can be used to identify each entity uniquely. For example, a Name attribute can be a key for a COMPANY entity type, because no two companies are allowed to have the same name. For the PERSON entity type, a typical key attribute is SocialSecurityNumber. Sometimes, several attributes together form a key, meaning that the combination of the attribute values must be distinct for each entity. If a set of attributes possesses this property, the proper way to represent this is to define a composite attribute and designate it as a key attribute of the entity type. Notice that such a composite key must be minimal; that is, all component attributes must be included in the composite attribute to have the uniqueness property. An entity type may also have no key, in which case it is called a weak entity.
  • 5. Fundamental of Database Systems: Relational Data Model & ER-Model Page 5 Summary of Key Attributes o Each row of a table is uniquely identified by a PRIMARY KEY composed of one or more columns o Group of columns, that uniquely identifies a row in a table is called a CANDIDATE KEY o A column or combination of columns that matches the primary key of another table is called a FOREIGN KEY. Used to cross-reference tables  Value Sets (Domains) of Attributes Each simple attribute of an entity type is associated with a value set (or domain of values), which specifies the set of values that may be assigned to that attribute for each individual entity. For instance, if the range of ages allowed for employees is between 16 and 70, we can specify the value set of the Age attribute of EMPLOYEE to be the set of integer numbers between 16 and 70. Similarly, we can specify the value set for the Name 3. Relationships A relationship type R among n entity types E1, E2, --- En, defines a set of associations among entities. For example, consider a relationship type WORKS_FOR between two entity types EMPLOYEE and DEPARTMENT, which associates each employee with the department for which the employee works. Degree of a Relationship The degree of a relationship type is the number of participating entity types. Hence, the WORKS-FOR relationship is of degree two. A relationship type of degree two is called binary, and one of degree three is called ternary. Relationships can generally be of any degree, but the ones most common are binary relationships. Higher-degree relationships are For example, suppose that we want to capture which employees use which skills on which project. We might try to represent this data in a database as three binary relationships between skills and project, project and employee, and employee and skill.
  • 6. Fundamental of Database Systems: Relational Data Model & ER-Model Page 6 Fig. A ternary relationship  Works-on o Abebe and Kebede have worked on projects A and B.  Used-on o Abebe has used programming skills on project x  Have skill o An employee has a certain skill. This is different than used on because there are some skills that an employee has that he or she may not have used on a particular project.  Needed o A project needs a particular skill. This is different than used on because there may be some skills for which employees have not been assigned to the project yet.  Manages o An employee manages a project. This is a completely different dimension than skill so it could not be captured by used on. Role Names and Recursive Relationships Each entity that participates in a relationship plays a particular role in the relationship. The role name signifies the role that a participating entity from the entity type plays in each relationship instance, and helps to explain what the relationship means. For example, in the WORKS_FOR relationship type, EMPLOYEE plays the role of employee or worker and DEPARTMENT plays the role of department or employer.
  • 7. Fundamental of Database Systems: Relational Data Model & ER-Model Page 7 In some cases the same entity participates more than once in a relationship with the same entity in different roles. In such cases the role name is essential for distinguishing the meaning of each participation. Such relationship types are called recursive relationships. For example, the SUPERVISION relationship type relates an employee to a supervisor, where both employee and supervisor entities are members of the same EMPLOYEE entity. Cardinality Ratios for Binary Relationships An important concept about relationship is the number of instances/tuples that can be associated with a single instance from one entity in a single relationship. The cardinality ratio for a binary relationship specifies the maximum number of relationship instances that an entity can participate in. The number of instances participating or associated with a single instance from an entity in a relationship is called the CARDINALITY of the relationship. For example, in the WORKS_FOR binary relationship type, DEPARTMENT: EMPLOYEE is of cardinality ratio 1: N, meaning that each department can be related to (that is, employs) any number of employees. But an employee can be related to (work for) only one department. The possible cardinality ratios for binary relationship types are 1:1, l:M, M:l, and M:M.  ONE-TO-ONE: one tuple is associated with only one other tuple  An example of a 1:1 binary relationship is MANAGES, which relates a department entity to the employee who manages that department. This means any point in time an employee can manage only one department and a department has only one manager  Another example of 1:1 relationship: Building – Location as a single building will be located in a single location and as a single location will only accommodate a single Building.
  • 8. Fundamental of Database Systems: Relational Data Model & ER-Model Page 8  ONE-TO-MANY: one tuple can be associated with many other tuples, but not the reverse.  Eg1. Department-Student: as one department can have multiple students.  Eg 2: Employee-Deprtament: as one employee can work in multiple departments.  MANY-TO-ONE: many tuples are associated with one tuple but not the reverse.  E.g. Employee – Department: as many employees belong to a single department.  MANY-TO-MANY: one tuple is associated with many other tuples and from the other side, with a different role name one tuple will be associated with many tuples  E.g. Student – Course: as a student can take many courses and a single course can be attended by many students.  E.g. Employee- Project: as an employee works-on many projects and a single project can be done by many employees.
  • 9. Fundamental of Database Systems: Relational Data Model & ER-Model Page 9 4. Relational Constraints/Integrity Rules  Relational Integrity o Domain Integrity: No value of the attribute should be beyond the allowable limits o Entity Integrity: In a base relation, no attribute of a primary key can be null o Referential Integrity: If a foreign key exists in a relation, either the foreign key value must match a candidate key in its home relation or the foreign key value must be null foreign key to primary key match-ups o Enterprise Integrity: Additional rules specified by the users or database administrators of a database are incorporated Relational languages and views The languages in relational database management systems are the DDL and the DML that are used to define or create the database and perform manipulation on the database. We have the two kinds of relation in relational database. The difference is on how the relation is created, used and updated: 1. Base Relation A Named Relation corresponding to an entity in the conceptual schema, whose tuples are physically stored in the database. 2. View Is the dynamic result of one or more relational operations operating on the base relations to produce another virtual relation. So a view virtually derived relation that does not necessarily exist in the database but can be produced upon request by a particular user at the time of request. Purpose of a view  Hides unnecessary information from users  Provide powerful flexibility and security  Provide customized view of the database for users  A view of one base relation can be updated.  Update on views derived from various relations is not allowed
  • 10. Fundamental of Database Systems: Relational Data Model & ER-Model Page 10 Conceptual Database Design Conceptual design revolves around discovering and analyzing organizational and user data requirements. The important activities are to identify: Entities, Attributes, Relationships and Constraints and based on these components develop the ER model using ER diagrams. The Entity Relationship (E-R) Model Entity-Relationship modeling is used to represent conceptual view of the database. The main components of ER Modeling are: Entities, Attributes, Relationships and Constraints. Before working on the conceptual design of the database, one has to know and answer the following basic questions.  What are the entities and relationships in the enterprise  What information about these entities and relationships should we store in the database?  What are the integrity constraints that hold? Constraints on each data with respect to update, retrieval and store.  Represent this information pictorially in ER diagrams, then map ER diagram into a relational database schema. ER-Diagrams  Entity is represented by a RECTANGLE containing the name of the entity  Attributes are represented by OVALS and are connected to the entity by a line
  • 11. Fundamental of Database Systems: Relational Data Model & ER-Model Page 11  A derived attribute is indicated by a DOTTED LINE  PRIMARY KEYS are underlined  Relationships are represented by DIAMOND shaped symbols Structural Constraints on Relationships Relationship types usually have certain constraints that limit the possible combinations of entities that may participate in the corresponding relationship set. These constraints are determined from the miniworld situation that the relationships represent. For example, if a company has a rule that each employee must work for exactly one department, then we would like to describe this constraint in the schema. We can distinguish two main types of relationship structural constraints: cardinality ratio and participation. 1. Constraints on Relationship / Multiplicity/ Cardinality Constraints Multiplicity constraint is the number of or range of possible occurrence of an entity type/relation that may relate to a single occurrence/tuple of an entity type/relation through a particular relationship. These constraints are mostly used to insure appropriate enterprise constraints.  Specifies that each entity e in E participates in at least min and at most max relationship instances in R  Default(no constraint): min=0, max=n (signifying no limit)  Must have minmax, min0, max 1 Key
  • 12. Fundamental of Database Systems: Relational Data Model & ER-Model Page 12  One-to-One Relationship Relationship Manages between Employee and Department  The multiplicity of the relationship is: o One department can only have one manager o One employee could manage either one or no departments 0…1 1…1  One-to-Many Relationship Relationship Leads between Employee and Project  The multiplicity of the relationship o One staff may Lead one or more project(s) o One project is Lead by one employee 0…* 1…1  Many-to-Many Relationship Relationship Teaches between Instructor and Course  The multiplicity of the relationship o One Instructor Teaches one or more Course(s) o One Course is thought by zero or more instructor(s) 1…* 0…*  2. Participation of an Entity Set in a Relationship Set Total participation (indicated by double line): every entity in the entity set participates in at least one relationship in the relationship set. The entity with total participation will be connected with the relationship using a double line. Employee Department Manages Employee Project Leads Instructor Course Teaches
  • 13. Fundamental of Database Systems: Relational Data Model & ER-Model Page 13 E.g. 1: Participation of EMPLOYEE in “belongs to” relationship with DEPARTMENT is total since every employee should belong to a department. E.g. 2: Participation of EMPLOYEE in “manages” relationship with DEPARTMENT, DEPARTMENT will have total participation but not EMPLOYEE Partial participation: some entities may not participate in any relationship in the relationship set E.g. 1: Participation of EMPLOYEE in “manages” relationship with DEPARTMENT, EMPLOYEE will have partial participation since not all employees are managers.
  • 14. Fundamental of Database Systems: Relational Data Model & ER-Model Page 14 Attributes of Relationship Types Relationship types can also have attributes, similar to those of entity types. For example, to record the number of hours per week that an employee works on a particular project, we can include an attribute Hours for the WORKS_ON relationship type. Another example is to include the date on which a manager started managing a department via an attribute StartDate for the MANAGES relationship type. Notice that attributes of 1:1 or 1:M relationship types can be migrated to one of the participating entity types. For example, the StartDate attribute for the MANAGES relationship can be an attribute of either EMPLOYEE or DEPARTMENT, although conceptually it belongs to
  • 15. Fundamental of Database Systems: Relational Data Model & ER-Model Page 15 MANAGES. This is because MANAGES is a 1:1 relationship, so every department or employee entity participates in at most one relationship instance. Hence, the value of the StartDate attribute can be determined separately, either by the participating department entity or by the participating employee (manager) entity. Weak Entity Types Entity types that do not have key attributes of their own are called weak entity types. In contrast, regular entity types that do have a key attribute are called strong entity types. Entities belonging to a weak entity type are identified by being related to specific entities from another entity type in combination with one of their attribute values. A weak entity type always has a total participation constraint (existence dependency) with respect to its identifying relationship, because a weak entity cannot be identified without an owner entity. However, not every existence dependency results in a weak entity type. For example, a DRIVER_LICENSE entity cannot exist unless it is related to a PERSON entity, even though it has its own key (LicenseNumber) and hence is not a weak entity. Consider the entity type DEPENDENT, related to EMPLOYEE, which is used to keep track of the dependents of each employee via a l:N relationship (Figure 3.2). The attributes of DEPENDENT are Name (the first name of the dependent), BirthDate, Sex, and Relationship (to the employee). Two dependents of two distinct employees may, by chance, have the same values for Name, BirthDate, Sex, and Relationship, but they are still distinct entities. They are identified as distinct entities only after determining the particular employee entity to which each dependent is related. Each employee entity is said to own the dependent entities that are related to it. A weak entity type normally has a partial key, which is the set of attributes that can uniquely identify weak entities that are related to the same owner entity. In our example, if we assume that no two dependents of the same employee ever have the same first name, the attribute Name of DEPENDENT is the partial key. In the worst case, a composite attribute of all the weak entity's attributes will be the partial key.
  • 16. Fundamental of Database Systems: Relational Data Model & ER-Model Page 16 ER-to-Relational Mapping Algorithm  Step 1: Mapping of Regular Entity Types For each regular (strong) entity type E in the ER schema, create a relation R that includes all the simple attributes of E. Include only the simple component attributes of a composite attribute. Choose one of the key attributes of E as primary key for R. If the chosen key of E is composite, the set of simple attributes that form it will together form the primary key of R. Example: For the company database ER (Figure 3.2) o regular entities are: EMPLOYEE, DEPARTMENT, and PROJ ECT o The foreign key and relationship attributes, if any, are not included yet; they will be added during subsequent steps. These include the attributes SUPERSSN and DNO of EMPLOYEE, MGRSSN and MGRSTARTDATE of DEPARTMENT, and DNUM of PROJECT. o In our example, we choose empid, DNUMBER, and PNUMBER as primary keys for the relations EMPLOYEE, DEPARTMENT, and PROJECT,  Step 2: Mapping of Weak Entity Types For each weak entity W in the ER schema with owner entity type E, create a relation R and include all simple attributes (or simple components of composite attributes) of W as attributes of R. In addition, include as foreign key attributes of R the primary key attributes) of the relations) that correspond to the owner entity types): this takes care of the identifying relationship type of W. The primary key of R is the combination of the primary keys of the owners and the partial key of the weak entity type W, if any.  In our example, we create the relation DEPENDENT in this step to correspond to the weak entity type DEPENDENT.  We include the primary key empId of the EMPLOYEE relation which corresponds to the owner entity type-as a foreign key attribute of DEPENDENT;  The primary key of the DEPENDENT relation is the combination {empId, DEPENDENT_NAME} because DEPENDENT_NAME is the partial key of DEPENDENT.
  • 17. Fundamental of Database Systems: Relational Data Model & ER-Model Page 17  Step 3: Mapping of Binary 1:1 Relationship Types. For each binary 1:1 relationship type R in the ER schema, identify the relations S and T that correspond to the entity types participating in R. Choose one of the relations-S, say-and include as a foreign key in S the primary key of T. It is better to choose an entity type with total participation in R in the role of S. Include all the simple attributes (or simple components of composite attributes) of the 1:1 relationship type R as attributes of S.  In our example, we map the 1:1 relationship type MANAGES by choosing the participating entity type DEPARTMENT to serve in the role of S, because its participation in the MANAGES relationship type is total (every department has a manager). We include the primary key of the EMPLOYEE relation as foreign key in the DEPARTMENT relation and rename it MGRSSN. We also include the simple attribute STARTDATE of the MANAGES relationship type in the DEPARTMENT relation and rename it MGRSTARTDATE.  Note that it is possible to include the primary key of S as a foreign key in T instead. In our example, this amounts to having a foreign key attribute, say DEPARTMENT_MANAGED in the EMPLOYEE relation, but it will have a null value for employee tuples who do not manage a department.  Step 4: Mapping of Binary 1:N Relationship Types. For each regular binary 1:N relationship type R, identify the relation S that represents the participating entity type at the N-side of the relationship type. Include as foreign key in S the primary key of the relation T that represents the other entity type participating in R; this is done because each entity instance on the N-side is related to at most one entity instance on the 1-side of the relationship type. Include any simple attributes (or simple components of composite attributes) of the 1:N relationship type as attributes of S.  In our example, we now map the 1:N relationship types WORKS_FOR, CONTROLS, and SUPERVISION .  For WORKS_FOR we include the primary key DNUMBER of the DEPARTMENT relation as foreign key in the EMPLOYEE relation and call it DNO.
  • 18. Fundamental of Database Systems: Relational Data Model & ER-Model Page 18  For SUPERVISION we include the primary key of the EMPLOYEE relation as foreign key in the EMPLOYEE relation itself because the relationship is recursive-and call it SUPERSSN.  The CONTROLS relationship is mapped to the foreign key attribute DNUM of PROJECT, which references the primary key DNUMBER of the DEPARTMENT relation.  Step 5: Mapping of Binary M:N Relationship Types. For each binary M:N relationship type R, create a new relation S to represent R. Include as foreign key attributes in S the primary keys of the relations that represent the participating entity types; their combination will form the primary key of S. Also include any simple attributes of the M:N relationship type (or simple components of composite attributes) as attributes of S. Notice that we cannot represent an M:N relationship type by a single foreign key attribute in one of the participating relations (as we did for 1:1 or I:N relationship types) because of the M:N cardinality ratio; we must create a separate relationship relation S.  In our example, we map the M:N relationship type WORKS_ON by creating the relation WORKS_ON.  We include the primary keys of the PROJECT and EMPLOYEE relations as foreign keys in WORKS_ON and rename them PNO and ESSN, respectively.  We also include an attribute HOURS in WORKS_ON to represent the HOURS attribute of the relationship type. The primary key of the WORKS_ON relation is the combination of the foreign key attributes {ESSN, PNO}.  Step 6: Mapping of Multivalued Attributes. For each multivalued attribute A, create a new relation R. This relation R will include an attribute corresponding to A, plus the primary key attribute K-as a foreign key in R-of the relation that represents the entity type or relationship type that has A as an attribute. The primary key of R is the combination of A and K. If the multivalued attribute is composite, we include its simple components.
  • 19. Fundamental of Database Systems: Relational Data Model & ER-Model Page 19  In our example, we create a relation DEPT_LOCATIONS. The attribute DLOCATION represents the multivalued attribute LOCATIONS of DEPARTMENT, while DNUMBER-as foreign key represents the primary key of the DEPARTMENT relation. The primary key of DEPT_LOCATIONS is the combination of {DNUMBER, DLOCATION}. A separate tuple will exist in DEPT_LOCATIONS for each location that a department has.  Step 7: Mapping of N-ary Relationship Types. For each n-ary relationship type R, where n > 2, create a new relation S to represent R. Include as foreign key attributes in S the primary keys of the relations that represent the participating entity types. Also include any simple attributes of the n-ary relationship type (or simple components of composite attributes) as attributes of S. The primary key of S is usually a combination of all the foreign keys that reference the relations representing the participating entity types. For example, consider the relationship type SUPPLY of the Figure above. This can be mapped to the relation SUPPLY shown in below; whose primary key is the combination of the three foreign keys {SNAME, PARTNO, PROJNAME}.