0% found this document useful (0 votes)
13 views

Database MEF 2021 BC 2

The document discusses the steps in building a database application using an entity relationship (ER) diagram. It describes the key steps as: 1) requirements analysis to determine what data to store, 2) conceptual database design using an ER model to provide a high-level description of the data, and 3) logical database design to convert the ER schema into a relational database schema. The document also discusses entities, attributes, relationships, and multiplicity within an ER diagram. It provides examples to illustrate many-to-many, many-to-one, and one-to-one relationship types.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views

Database MEF 2021 BC 2

The document discusses the steps in building a database application using an entity relationship (ER) diagram. It describes the key steps as: 1) requirements analysis to determine what data to store, 2) conceptual database design using an ER model to provide a high-level description of the data, and 3) logical database design to convert the ER schema into a relational database schema. The document also discusses entities, attributes, relationships, and multiplicity within an ER diagram. It provides examples to illustrate many-to-many, many-to-one, and one-to-one relationship types.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 27

ER DİAGRAM

COMP 305 DBMS COURSE


STEPS IN BUILDING A DB APPLICATION

Pick application
Conceptual design
domain

What data do I
need for my
application
How can I domain?
describe that
data?

2
STEPS IN BUILDING A DB APPLICATION

Pick application
Conceptual design
domain

diagram
SQL & Java/C+

ER
+/etc + user
interface

Implement Convert ER diagram


application code & to the data model of
user interface your DBMS product
3
ENTITY RELATIONSHIP (E/R) MODEL

Entity-relationship (ER) data model allows us to describe the data involved in a real-world
enterprise in terms of objects and their relationships and is widely used to develop an initial
database design.

4
DATABASE DESIGN STEPS

• (1) Requirements Analysis: What data to store, what the users want from the
database

• (2) Conceptual Database Design: high level description of the data (ER Model)

• (3) Logical Database Design: convert an ER schema into a relational database


schema.

5
BEYOND THE ER MODEL

• ER diagram is just an approximate description of the data, constructed through


a very subjective evaluation of the information collected during requirements
analysis.

• A more careful analysis can often refine the logical schema obtained at the end
of Step 3. Once we have a good logical schema, we must consider performance
criteria and design the physical schema.

6
DATABASE DESIGN STEPS (CONTINUED)

• (4) Schema Refinement: analyze the collection of relations in the relational


database schema to identify potential problems, and refine it (normalization
relations).

• (5) Physical Database Design:consider typical expected workloads that our


database must support and further refine the database design to ensure that it meets
desired performance criteria.

• (6) Security Design:we identify different user groups and different roles played by
various users

7
ENTITY RELATIONSHIP (E/R) MODEL
• A popular data model – useful to database designers
– Graphical representation of miniworld

• E/R design is translated to a relational design


– then implemented in an RDBMS

• Elements of E/R model


– Entities
– Entity Sets
– Attributes
– Relationships

8
E/R MODEL: ENTITIES AND ENTITY SETS

• Entity: object or “thing”


– real-world object distinguishable from other objects
– described by its attributes
• Entity set: collection of similar entities
– Similar to a class in object-oriented languages
– All with same attributes
– Correspond to class of physical or bussiness objects
Students
• E.g., Employees, products, accounts, grades, campaigns, etc.
Courses
• Represented by a rectangle:

9
E/R MODEL: ATTRIBUTES
(NITELIKLER) ID Name

• Attributes are:
– Properties of entities Student
• Like fields in a struct
• Like columns in a table/spreadsheet
• Like data members in an object
– Values in some domain (e.g., ints, strings)
• Attributes are simple values, e.g. integers or character strings, not structs, sets, etc.
• Represented by ovals:

10
RELATIONSHIPS

• Connect two or more entity sets


– e.g. students enroll in courses
– Binary relationships: connect two entity sets
• most common
– Multiway relationships: connect several Entity Sets

Students Enroll Courses


• Represented by diamonds:

11
E/R MODEL: RELATIONSHIPS
• Students Enroll in courses
• Courses are Held in rooms
• The E/R data model:
Students Enroll Courses

ID Name Held
Semester
Rooms

A relationship can also have “descriptive attributes”.

12
A LITTLE SET THEORY
• A mathematical set is a collection of members
• A set is defined by its members
– No other structure, no order, no duplicates allowed
• Sets specified by listing:
– {1, 2, 3, …} = S
• Or by “set-builder” notation:
– { x in S: 2 divides x} = ?
– { x in Presidents | reelected(x)} = ?

• One set can be a subset of another (which is a superset of it)

• Given two sets X and Y, the cross product or Cartesian product is


X x Y = {(x,y): x in X, y in Y} = the set of all ordered pairs
• Important: (x,y) != {x,y}
• In an order pair or tuple
– Order matters; duplicates are allowed 13
A LITTLE SET THEORY
• Mathematically, a relation between X and Y is just a subset of X x Y = all those
pairs (x,y) s.t. x is related to y

• Example: owner-of O on People, Cats


– O(Ali, Tekir) holds

• The equals relation E on N, N:


– E(3,3) holds
– E(3,4) does not hold
– E is still a set: E = {(1,1), (2,2), (3,3), …}

• Father-of relation F on People, People:


– F(father, son) holds
– F(son, father) does not hold
–  Relations aren’t necessarily symmetric
14
RELATIONSHIPS
If A, B are sets, then a relation R is a subset of A x
B.
1 a

A 2 b
A = {1, 2, 3} B = {a, b, c, d}
c
3
R = {(1,a), (1,c), (3,b)} B d

makes is a subset of Product x Company:


makes Company
Product
15
MULTIPLICITY OF RELATIONSHIPS

Many-many Many-one One-one


Representation of relationships

• No arrow: many-to-many
• Sharp arrow: many-to-one
• Rounded arrow: “exactly one”
– “key constraint”
• One-one:
16
REPRESENTING “MULTIPLICITY”
• Show a many-one relationship by an arrow
entering the “one” side.

• Show a one-one relationship by arrows entering


both entity sets.

• Rounded arrow = “exactly one,” i.e., each entity of


the first set is related to exactly one entity of the
target set.
17
MULTIPLICITY OF RELATIONSHIPS
Many-to-many:
Students Enrolls Courses

Many-to-one: a student living in a residence hall

Student Live Residence hall

Many-to-exactly-one: a student must live in a residence hall

Student Live Residence hall

18
EXAMPLE E/R DIAGRAM
Name
Name

Students Enrolls Courses

ID ID

Assisting

ID TA Name

19
EXAMPLE E/R DIAGRAM

• OK if each TA is a TA of all students


– Student and TA connected only through Course

• But what if students were divided among multiple TAs?


– Then a student in C20.0046 would be related to only one of the TA's for C20.0046—
which one?
– Schema doesn’t store enough info

• 3-way relationship is helpful here

20
MULTIWAY RELATIONSHIPS Courses
Students Enrolls

Enrolls entries:
Students Courses TAs TAs

Condi C20.0046 Donald


George C20.0046 Dick Enrolls determines TA:
Alberto C20.0046 Colin (student, course)  at
… … … most one TA

21
SECOND MULTIWAY E.G.: RENTING MOVIES
• Scenario: a Customer Rents a Movie from a VideoStore
on a certain date
date
VideoStore

Rental Movie

Customer

• date should belong to the fact of the renting


– Relationship attribute
22
ROLES IN RELATIONSHIPS
• Entity set may appear more than once in a relship
– Generally distinct entities
• Each appearance is in a different role
• Edges labeled by roles
Course (Pre- Course
Successor req) (Successor)
Accounting Finance-I
Pre-req Course Finance-I Derivatives
Prereq Finance-I Finance-II
Calculus Derivatives

23
KEYS

• A key is a set of attributes for one entity set such that no two entities in this set agree on all the
attributes of the key.
– It is allowed for two entities to agree on some, but not all, of the key attributes.
• We must designate a key for every entity set.

24
UNDERLINE THE KEY FOR EACH ENTITY SET
name category

multi-attribute keys
price are okay!

Product
Multiple
“candidate keys”?
Pick just one to be Is this a good
the key. Person
key?

address name ssn

25
EXAMPLE: A MULTI-ATTRIBUTE KEY

dept number hours room

Courses

 Note that hours and room could also serve as a


key, but we must select only one key.

26
END OF LECTURE 2
N E X T W E E K : E R D I A G R A M S PA RT 2

27

You might also like