Вы находитесь на странице: 1из 56

Data Models & Relational Model

Characteristics
Lecture 2
Learning Outcomes
 In this chapter, you will learn:
 terminologies related to database design
 data models
 relational database operators

2
Data Modeling
 Data modeling
 It is the first step in designing a database
 It refers to the process of creating a specific data model for a
problem domain

 Data model
 It is a simple representation (usually graphical) of complex real-
world data structures
 A model is an abstraction of complex real-world object

3
The Importance of Data Models
 Facilitate interaction among the designer, programmer, and
the end user
 Data model is an abstraction (“blueprint”)
 A high-level description of your database.

4
Basic Building Blocks
 Entity: is a person, place, thing or event about which data
will be collected and stored.
 Attribute: a characteristic of an entity
 Relationship: describes an association among entities
 One-to-many (1:M)
 Many-to-many (M:N or M:M)
 One-to-one (1:1)
 Constraint: a restriction placed on the data
 E.g., student’s GPA must be between 0 and 4

5
Business Rules
 is a brief, precise, unambiguous description of a policy,
procedure or principle within a specific organization
 Properly written business rules are used to define
entities, attributes, relationships and constraints.
 Example:
 An agent can serve many customers
 A training session cannot be scheduled for fewer than 10 employees or
for more than 30 employees

6
Evolution of Data Models

7
Hierarchical Model
 Data are represented as a tree-like structure
 The hierarchical structure contains levels
 A higher layer is perceived as the parent of the level
directly beneath it, which is called the child
 The hierarchical model depicts a set of one-to-many
relationships between a parent and its children
 Each parent can have many children, but each child has only
one parent

8
Hierarchical Model
Network Model
 Unlike the hierarchical model
(each child has only one parent),
the network model allows a
record to have more than one
parent C B
 Example: an order is related to
both a customer who placed it
and a salesperson who made A
the sale

10
Relational Model
 The basic data structure of the relational model is the
table
 Relation = table

 Allows designer to focus on the logical representation of


the data and its relationships rather than on the physical
storage details

11
Entity-Relationship Diagram
• Based on entities, attributes, and relationships
• Complements the relational data model concepts
Object-Oriented (OO) Model
 Data and relationships are contained in a single structure
known as an object
 An object:
 is described by its factual content (just like entity)
 Contains all operations that can be performed

 Unlike entity, object includes information about


 relationships between the facts within the object
 its relationship with other objects

 OODM (object-oriented data model) is the basis for


OODBMS
Object-Oriented (OO) Model
 Attributes describe the properties of an object
 Objects that share similar characteristics are grouped in
classes
 Classes are organized in a class hierarchy
 Inheritance: object inherits methods and attributes of
parent class
 UML based on OO concepts that describe diagrams and
symbols
Object-Oriented (OO) Model
Emerging Data Models:
Big Data and NoSQL
 Big Data
 Find new and better ways to manage large amounts of Web-
generated data and derive business insight from it
 Relational approach does not always match the needs of
organizations with Big Data challenges

 NoSQL databases
 Not based on the relational model, hence the name NoSQL
 Supports distributed database architectures
 Provides high scalability, high availability, and fault tolerance
 Supports very large amounts of sparse data
Relational Model
– Table and Their Characteristics

Student File Attribute


Field
Id No. Name Faculty Major Column
1100 Ali FIT SE
1200 Bobby FIT MIS Entity Occurrence
1300 Clement FCM MM Record
1400 David FCM MM
Row
1500 Evelyn FOE CE

Conceptual data modeling notation


Entity
File processing Notation
File Relational Table Notation
Table
17
18
Study this table
carefully

Primary key – is
an attribute that
uniquely identifies
any given row or
an entity

19
Keys
 Key ensures that each row in a table is uniquely identifiable

 Primary key – an attribute that uniquely identifies any


given row (e.g., STU_Num)

 Key is based on the concept of determination


 If you know the value of attribute A, you can determine the
value of attribute B
 E.g., STU_NUM determines STU_NAME, STU_DOB, etc.

20
Functional Dependence
 The value of one or more attributes determines the value of
one or more other attributes
 Notation:

STU_NUM STU_NAME

is called is called

Determinant Dependent

 Keys are basically the determinants in functional dependencies

21
Keys
 Composite Key
 a key that is composed of more than one attribute

(STU_LNAME, STU_FNAME, STU_HRS


STU_INIT, STU_PHONE)

 Superkey
 a key that can uniquely identify any row in the table
 STU_NUM
 (STU_LNAME, STUFNAME, STU_INIT, STU_PHONE)

22
Keys
 Candidate Key
 It is a minimal superkey that is superkey without any
unnecessary attributes
 STU_NUM
 (STU_LNAME, STU_FNAME, STU_INIT, STU_PHONE)
 (STU_NUM, STU_LNAME) 
 Secondary Key
 A key that is used strictly for data retrieval purposes
 Customer’s phone number
23
Keys
 Foreign key
 is the primary key of one table that has been placed into
another table to create a common attribute
Summary

25
Integrity Rules
 Many RDBMs enforce integrity rules automatically
 Application design must conform to the integrity rules:
 entity integrity
 referential integrity

26
Integrity Rules (cont’d.)
 Entity integrity
 is the condition in which each row in the table has its own
unique identity
 To ensure entity integrity, the primary key has two
requirements:
 All of the values in the primary key must be unique
 No null value (i.e., absence of any data value) is allowed in
any part of the primary key
 Null values can create logical problems when tables are linked

27
Integrity Rules (cont’d.)
 Referential integrity
 is the condition in which every foreign key must either be:
 null (providing that it does not form part of its table’s
primary key)
or
 an entry which matches the primary key value in the table
to which it is related
Integrity Rules (cont’d.)

29
Relationships within a Relational Database
 1:M relationship
 1:1 relationship
 M:N relationships

30
The 1:M Relationship
 The norm in any relational database design
 1:M relationship between painter and painting

Chen’s model

Crow’s foot model

This course
follows Crow’s
foot model
31
The 1:M Relationship

32
The 1:1 Relationship
 One entity related to only one other entity, and vice
versa
 Could indicate that:
 two entities actually belong in the same table
 entity components were not defined properly

33
The 1:1 Relationship

34
The M:N Relationships
 Many-to-many (M:N) relationships - associations
among two or more entities in which one occurrence of
an entity is associated with many occurrences of a related
entity
 To avoid problems inherent to M:N relationships
 need to break M:N relationships produce two sets of 1:M
relationships using a composite entity

35
The M:N Relationship
 Chen’s model

 Crow’s foot model

36
Composite Entity for M:N Relationship

Chen’s model Composite


Entity

37
Composite Entity for M:N Relationship

Crow’s foot model Composite


Entity

38
Converting M:N into 1:M Relationships

39
The Expanded ER Model

Chen’s model

40
The Expanded ER Model

Crow’s foot model

41
Relational Set Operators
 Relational algebra
 Defines theoretical way of manipulating table contents using
relational operators
 Use of relational algebra operators on existing relations
produces new relations:

• SELECT • DIFFERENCE
• PROJECT • JOIN
• UNION • PRODUCT
• INTERSECT • DIVIDE

42
Select
 Yields values for all rows found in a table.
 It yields a horizontal subset of a table.

43
Project
 Produces a list of all values for selected attributes
 It yields a vertical subset of a table.
Union
 Combines all rows from two tables.
 The tables must be union compatible (same attribute
characteristics).

45
Intersect
 Produces a listing that contains only the rows that appear
in both tables.
 The tables must be union compatible (same attribute
characteristics).

46
Difference
 Yields all row in one table that are not found in the other
table, i.e. it subtracts one table from the other.
 The table must be union compatible.

47
Product
 Produces a list of all possible pairs of rows from two
tables.

48
Join
 Natural Join
 Links tables by selecting rows with common values in
common attribute(s)

49
Join
 1st step: Product

50
Join
 2nd step: Select
 Select operation performed on the output of the 1st step,
shows only the rows for which the common attribute
values match.

51
Join
 3rd step: Project
 Performed to yield a single copy of each attribute, thereby
eliminating the duplicate columns.

52
Join
 Outer join
 Matched pairs are retained and any unmatched values in
other table are left null
 Two types:
 Left outer join
 Right outer join

53
Example - Left Outer Join

54
Example - Right Outer Join

55
Divide
 Requires the use of one-single column table and one two-
column table.

56

Вам также может понравиться