Dbms Reference Material 2
Dbms Reference Material 2
Slide 3- 3
Overview of Database Design Process
Slide 3- 4
Example COMPANY Database
• We need to create a database schema design based on the following
(simplified) requirements of the COMPANY Database:
• The company is organized into DEPARTMENTs. Each department has a name,
number and an employee who manages the department. We keep track of
the start date of the department manager. A department may have several
locations.
• Each department controls a number of PROJECTs. Each project has a unique
name, unique number and is located at a single location.
Slide 3- 5
Example COMPANY Database
(Contd.)
• We store each EMPLOYEE’s social security number, address, salary, sex, and
birthdate.
• Each employee works for one department but may work on several projects.
• We keep track of the number of hours per week that an employee currently works on
each project.
• We also keep track of the direct supervisor of each employee.
• Each employee may have a number of DEPENDENTs.
• For each dependent, we keep track of their name, sex, birthdate, and relationship to the
employee.
Slide 3- 6
ER Model Concepts
• Entities and Attributes
• Entities are specific objects or things in the mini-world that are represented in the
database.
• For example the EMPLOYEE John Smith, the Research DEPARTMENT, the ProductX
PROJECT
• Attributes are properties used to describe an entity.
• For example an EMPLOYEE entity may have the attributes Name, SSN, Address, Sex,
BirthDate
• A specific entity will have a value for each of its attributes.
• For example a specific employee entity may have Name='John Smith', SSN='123456789',
Address ='731, Fondren, Houston, TX', Sex='M', BirthDate='09-JAN-55‘
• Each attribute has a value set (or data type) associated with it – e.g. integer, string,
subrange, enumerated type, …
Slide 3- 7
Types of Attributes (1)
• Simple
• Each entity has a single atomic value for the attribute. For example, SSN or Sex.
• Composite
• The attribute may be composed of several components. For example:
• Address(Apt#, House#, Street, City, State, ZipCode, Country), or
• Name(FirstName, MiddleName, LastName).
• Composition may form a hierarchy where some components are themselves composite.
• Multi-valued
• An entity may have multiple values for that attribute. For example, Color of a CAR or
PreviousDegrees of a STUDENT.
• Denoted as {Color} or {PreviousDegrees}.
Slide 3- 8
Types of Attributes (2)
• In general, composite and multi-valued attributes may be nested
arbitrarily to any number of levels, although this is rare.
• For example, PreviousDegrees of a STUDENT is a composite multi-valued
attribute denoted by {PreviousDegrees (College, Year, Degree, Field)}
• Multiple PreviousDegrees values can exist
• Each has four subcomponent attributes:
• College, Year, Degree, Field
Slide 3- 9
Example of a composite attribute
Slide 3- 10
Entity Types and Key Attributes (1)
• Entities with the same basic attributes are grouped or typed
into an entity type.
• For example, the entity type EMPLOYEE and PROJECT.
• An attribute of an entity type for which each entity must
have a unique value is called a key attribute of the entity
type.
• For example, SSN of EMPLOYEE.
Slide 3- 11
Entity Types and Key Attributes (2)
• A key attribute may be composite.
• VehicleTagNumber is a key of the CAR entity type with
components (Number, State).
• An entity type may have more than one key.
• The CAR entity type may have two keys:
• VehicleIdentificationNumber (popularly called VIN)
• VehicleTagNumber (Number, State), aka license plate number.
• Each key is underlined
Slide 3- 12
Displaying an Entity type
• In ER diagrams, an entity type is displayed in a rectangular box
• Attributes are displayed in ovals
• Each attribute is connected to its entity type
• Components of a composite attribute are connected to the oval representing
the composite attribute
• Each key attribute is underlined
• Multivalued attributes displayed in double ovals
• See CAR example on next slide
Slide 3- 13
Entity Type CAR with two keys and a
corresponding Entity Set
Slide 3- 14
Entity Set
• Each entity type will have a collection of entities stored in the
database
• Called the entity set
• Previous slide shows three CAR entity instances in the entity set for
CAR
• Same name (CAR) used to refer to both the entity type and the entity
set
• Entity set is the current state of the entities of that type that are
stored in the database
Slide 3- 15
Initial Design of Entity Types for the
COMPANY Database Schema
Slide 3- 16
Initial Design of Entity Types:
EMPLOYEE, DEPARTMENT, PROJECT, DEPENDENT
Slide 3- 17
Refining the initial design by introducing
relationships
• The initial design is typically not complete
• Some aspects in the requirements will be represented as
relationships
• ER model has three main concepts:
• Entities (and their entity types and entity sets)
• Attributes (simple, composite, multivalued)
• Relationships (and their relationship types and relationship sets)
• We introduce relationship concepts next
Slide 3- 18
Relationships and Relationship Types (1)
Slide 3- 19
Relationship instances of the WORKS_FOR N:1
relationship between EMPLOYEE and DEPARTMENT
Slide 3- 20
Relationship instances of the M:N WORKS_ON
relationship between EMPLOYEE and PROJECT
Slide 3- 21
Relationship type vs. relationship set (1)
• Relationship Type:
• Is the schema description of a relationship
• Identifies the relationship name and the participating entity types
• Also identifies certain relationship constraints
• Relationship Set:
• The current set of relationship instances represented in the database
• The current state of a relationship type
Slide 3- 22
Relationship type vs. relationship set (2)
Slide 3- 23
Refining the COMPANY database schema by
introducing relationships
• By examining the requirements, six relationship types are identified
• All are binary relationships( degree 2)
• Listed below with their participating entity types:
• WORKS_FOR (between EMPLOYEE, DEPARTMENT)
• MANAGES (also between EMPLOYEE, DEPARTMENT)
• CONTROLS (between DEPARTMENT, PROJECT)
• WORKS_ON (between EMPLOYEE, PROJECT)
• SUPERVISION (between EMPLOYEE (as subordinate), EMPLOYEE (as supervisor))
• DEPENDENTS_OF (between EMPLOYEE, DEPENDENT)
Slide 3- 24
ER DIAGRAM – Relationship Types are:
WORKS_FOR, MANAGES, WORKS_ON, CONTROLS, SUPERVISION,
DEPENDENTS_OF
Slide 3- 25