1. Trang chủ
  2. » Giáo án - Bài giảng

Database design

70 246 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Database Design
Trường học Unknown University
Chuyên ngành Database Design
Thể loại Lecture Notes
Thành phố Unknown City
Định dạng
Số trang 70
Dung lượng 1,58 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Learning Objectives• Definition of normalization and its purpose in database design • Types of normal forms 1NF, 2NF, 3NF, BCNF, and 4NF • Transformation from lower normal forms to h

Trang 1

Chapter 06: Database Design

Trang 2

• Main Deliverable for Logical Modelling.

• NB Description is logical not physical.

Trang 3

• Special types of tables where

:-– Each cell is single valued

– in a given column, entries are the same type – each row is unique( PK)

– sequence of rows and columns is unimportant

• We must structure tables to ensure

minimal redundancy.

Trang 4

Problems of Redundancy

• Information redundancy - data stored

many times increases storage

requirements Fig 6.2

• Insertion Anomalies - having to enter

redundant data for each new entry or

leaving a PK Null - which breaches - what type of integrity? Ie a new branch and no staff

Trang 5

Problems of Redundancy

• Deletion Anomalies - 1 row is deleted and

other data is lost Ie deletion of Branch

B7 leads to loss of data on staff Member SA9 in Fig 6.2

• Modification Anomalies - Changing a

data many times in many places or

integrity is lost due to an anomaly.

Trang 6

Redundancy Example

• What anomalies could the relation below suffer

from?PK is Empid and Course

Empid Name Dept Salary Course Date

100 Simpson Marketing 42 000 SPSS 6 Oct 90

100 Simpson Marketing 42 000 Surveys 10 Jun 91

• This is prone to cause errors.

• Find examples of the three types of Anomaly in the above table

Trang 7

FUNCTIONAL DEPENDENCIES

Trang 8

(Read x functionally determines y) –

If and only if each x value in R has

associated with it precisely one y value in

R

In other words

Whenever two tuples of R agree on their x

Trang 10

One FD : - ( { S#} { City} )

• Because every tuple of that relation with

a given S# value also has the same city value.

• The left and right hand side of an FD are

sometimes called determinant and the

dependents respectively.

Trang 12

Extended definition over basic one

• Let R be the relation variable, and let x

and y be arbitrary subset of the set of

attributes of R Then we says that Y is functionally dependent on x – in symbol.

X Y (Read x functionally determines y)

• If and only if, in every possible legal

value of R, each x value has associated with it precisely one y value

Or in other words

• In every possible legal value of R,

whenever two tuple agree on their X

values, they also agree on their Y value.

Trang 13

TRIVIAL & NON-TRIVIAL DEPENDENCIES

• One-way to reduce the size of the set of

FD we need to deal with is to eliminate the trivial dependencies.

• An FD is trivial if and only if the right

hand side is a subset of the left hand side.

e.g <S#, P#> <S#> (Trivial)

• Nontrivial dependencies are the one,

which are not trivial.

Trang 14

CLOSURE of a set of dependencies

• The set of all FDs that are implied by a

given set S of FDs is called the closure of

S, denoted by S +

• So we need an algorithm which compute

S + from S.

Trang 16

Then compute the closure (A, B) + of the set

of attributes under this set of FD’s

Trang 17

1 We initialize the result CLOSURE [Z, S]

to <A, B>

2 We now go round the inner loop four

times, once for each for the given FDs

An the first iteration (For FD A BC),

we find that the left hand side is indeed

a subset of CLOSURE (Z, S) as

computed so for, so we add attributes (B and C) to the result CLOSURE [Z, S] is now the set <A, B, C>.

Trang 18

3 On the second iteration (for FD E

CF> we find that the left hand side is

not a subset of the result as computed so for, which than remain unchanged.

4 On the third iteration (For FD B E),

we add E to the closure, which now has the value <A, B, C, E>

5 On the fourth iteration, (for FD CD

EF), remains unchanged

Trang 19

6 Inner loop times, on the first iteration

no change, second, it expands to <A,B,

C, E, F> third & fourth, no change.

7 Again inner loop four times, no change,

and so the whole process terminates.

Trang 21

Armstrong rules (contd )

Now we define a set of FD to be

irreducible as minimal; if and only if it satisfies the following two properties (1) The right hand side of every FD in S

involve just one attribute (i.e., it is a singleton set)

(2) The left hand side of every FD in S is

irreducible in turn meaning that no

attribute can be discarded from the

determinant without changing the

CLUSURE S +

Trang 22

Compute an irreducible set of FD that is

equivalent to this given set.

Trang 23

(1) The step is to rewrite the FD such that

each has a singleton right hand side.

Trang 24

2 Next, attributed C can be eliminated

from the left hand side of the FD AC

Trang 25

3 Next, we observe that the FD AB C

can be eliminated, because again we have

Trang 28

Normalization

Trang 29

Learning Objectives

• Definition of normalization and its

purpose in database design

• Types of normal forms 1NF, 2NF, 3NF,

BCNF, and 4NF

• Transformation from lower normal forms

to higher normal forms

• Design concurrent use of normalization

and E-R modeling are to produce a good database design

• Usefulness of denormalization to generate

Trang 30

• Main objective in developing a logical

data model for relational database

systems is to create an accurate

representation of the data, its

relationships, and constraints.

• To achieve this objective, must identify a

suitable set of relations.

Trang 31

• Four most commonly used normal forms are first

(1NF), second (2NF) and third (3NF) normal

forms, and Boyce–Codd normal form (B CNF).

• Based on functional dependencies among the

attributes of a relation.

• A relation can be normalized to a specific form

to prevent possible occurrence of update

anomalies.

Trang 32

• Normalization is the process for assigning attributes to entities

– Reduces data redundancies

– Helps eliminate data anomalies

– Produces controlled redundancies to link tables

• Normalization stages

– 1NF - First normal form

– 2NF - Second normal form

– 3NF - Third normal form

– 4NF - Fourth normal form

Trang 33

Data Redundancy

• Major aim of relational database design is

to group attributes into relations to

minimize data redundancy and reduce file storage space required by base relations.

• Problems associated with data redundancy

are illustrated by comparing the

following Staff and Branch relations with

Trang 34

Data Redundancy

Trang 35

Data Redundancy

• StaffBranch relation has redundant data:

details of a branch are repeated for every member of staff.

• In contrast, branch information appears

only once for each branch in Branch

relation and only branchNo is repeated in Staff relation, to represent where each

Trang 36

Update Anomalies

• Relations that contain redundant

information may potentially suffer from update anomalies

• Types of update anomalies include:

– Insertion,

– Deletion,

– Modification.

Trang 37

– If A and B are attributes of relation R, B is

functionally depe ndent on A (denoted A  B),

if each value of A in R is associate d with

e xactly one value of B in R.

Trang 38

Functional Dependency

• Property of the meaning (or semantics) of

the attributes in a relation.

• Diagrammatic representation:

Determinant of a functional dependency

refers to attribute or group of attributes

on left-hand side of the arrow.

Trang 39

Example - Functional

Dependency

Trang 40

Functional Dependency

• Main characteristics of functional

dependencies used in normalization:

– have a 1:1 relationship between attribute(s) on

left and right-hand side of a dependency;

– hold for all time;

– are nontrivial.

Trang 41

Functional Dependency

• Complete set of functional dependencies for a

given relation can be very large

• Important to find an approach that can reduce set

to a manageable size.

• Need to identify set of functional dependencies

(X) for a relation that is smaller than complete set

of functional dependencies (Y) for that relation and has property that every functional dependency

in Y is implied by functional dependencies in X

Trang 42

The Process of Normalization

• Formal technique for analyzing a relation

based on its primary key and functional

dependencies between its attributes.

• Often executed as a series of steps Each

step corresponds to a specific normal form, which has known properties.

• As normalization proceeds, relations

become progressively more restricted

(stronger) in format and also less vulnerable

to update anomalies.

Trang 43

Relationship Between

Normal Forms

Trang 44

Unnormalized Form (UNF)

• A table that contains one or more

repeating groups.

• To create an unnormalized table:

– transform data from information source (e.g

form) into table format with columns and

row s.

Trang 45

First Normal Form (1NF)

• A relation in which intersection of each

row and column contains one and only one value.

Trang 46

UNF to 1NF

• Nominate an attribute or group of

attributes to act as the key for the

unnormalized table.

• Identify repeating group(s) in

unnormalized table which repeats for the key attribute(s).

Trang 47

UNF to 1NF

• All key attributes defined

• No repeating groups in table

• All attributes dependent on

primary key

Trang 48

Second Normal Form (2NF)

• Based on concept of full functional

dependency:

– A and B are attributes of a relation,

– B is fully dependent on A if B is functionally

dependent on A but not on any proper subs et of A.

• 2NF - A relation that is in 1NF and every

non-primary-key attribute is fully functionally

dependent on the primary key (no partial

dependency)

Trang 49

1NF to 2NF

• Identify primary key for the 1NF relation.

• Identify functional dependencies in the relation.

• If partial dependencies exist on the

primary key remove them by placing

them in a new relation along with copy of their determinant.

Trang 50

2NF Conversion Results

Figure 4.5

Trang 51

Third Normal Form (3NF)

• Based on concept of transitive dependency:

– A, B and C are attributes of a relation such that if A  B

and B  C,

– then C is transitively dependent on A through B

(Provided that A is not functionally dependent on B or C).

• 3NF - A relation that is in 1NF and 2NF and in

which no non-primary-key attribute is transitively dependent on the primary key.

Trang 52

• If transitive dependencies exist on the

primary key remove them by placing them

in a new relation along with copy of their determinant.

Trang 53

3NF Conversion Results

• Prevent referential integrity violation by

adding a JOB_CODE

PROJECT (PROJ_NUM, PROJ_NAME)

ASSIGN (PROJ_NUM, EMP_NUM, HOURS)

EMPLOYEE (EMP_NUM, EMP_NAME, JOB_CLASS) JOB (JOB_CODE, JOB_DESCRIPTION, CHG_HOUR)

Trang 54

General Definitions of 2NF and

3NF

• Second normal form (2NF)

– A relation that is in 1NF and every

non-primary-key attribute is fully functionally

dependent on any candidate key

• Third normal form (3NF)

– A relation that is in 1NF and 2NF and in

which no non-primary-key attribute is

transitiv ely dependent on any candidate key

Trang 55

Boyce–Codd Normal Form

(BCNF)

• Based on functional dependencies that

take into account all candidate keys in a relation, however BCNF also has

additional constraints compared with

general definition of 3NF.

• BCNF - A relation is in BCNF if and only

if every determinant is a candidate key

Trang 56

Boyce–Codd normal form (BCNF)

• Difference between 3NF and BCNF is that for a

functional dependency A B, 3NF allows this dependency in a relation if B is a primary-key attribute and A is not a candidate key

• Whereas, BCNF insists that for this

dependency to remain in a relation, A must be

a candidate key

• Every relation in BCNF is also in 3NF

However, relation in 3NF may not be in BCNF.

Trang 57

Boyce–Codd normal form (BCNF)

• Violation of BCNF is quite rare

• Potential to violate BCNF may occur in a

relation that:

– contains two (or more) composite candidate

keys;

– the candidate keys overlap (i.e have at least

one attribute in common).

Trang 58

3NF Table Not in BCNF

Figure 4.7

Trang 59

Decomposition of Table Structure to Meet BCNF

Trang 60

BCNF Conversion Results

Trang 61

Review of Normalization (UNF to

BCNF)

Trang 62

Review of Normalization (UNF to

BCNF)

Trang 63

Review of Normalization (UNF to

BCNF)

Trang 64

Review of Normalization (UNF to

BCNF)

Trang 65

3NF Table Not in BCNF

Figure 4.7

Trang 66

Decomposition of Table Structure to Meet BCNF

Trang 67

Decomposition into BCNF

Trang 68

– Loss of system speed

• Normalization purity is difficult to sustain due to conflict in:

– Design efficiency

– Information requirements

– Processing

Trang 69

Unnormalized Table Defects

• Data updates less efficient

• Indexing more cumbersome

• No simple strategies for creating views

Trang 70

• We will use normalization in database

design to create a set of relations in 3FN normal form:

– Each entity has a unique primary key, and

each attribute depends upon the primary key

– No partial dependency

– No transitive dependency

Ngày đăng: 12/05/2014, 11:55

Xem thêm

TỪ KHÓA LIÊN QUAN

w