CHAPTER 15 Normalization Flashcards

1
Q

What is relational database design?

A

The grouping of attributes to form “good” relation schemas

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Two levels of relation schemas

A

The logical “user view” level

The storage “base relation” level

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Logical level

A

how users interpret the relation schemas

and the meaning of their attributes.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Storage level

A

how the tuples in a base relation are stored and updated

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Database design approaches

A

bottom-up design

top-down design

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

bottom up design

A

considers the basic relationships among individual attributes as the starting point and uses those to construct relation schemas. not popular

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

top down design

A

starts with a number of groupings of

attributes into relations that exist together naturally

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

The implicit goals

of the design activity

A

information preservation, and minimum redundancy

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

informal guidelines for good relational design

A

Making sure that the semantics of the attributes is clear in the schema
Reducing redundant info. in tuples
Reducing the Null values in tuples
Disallowing the possibility of generating spurious tuples

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

GUIDELINE 1: Informally, each tuple in a relation should represent one entity or relationship instance. What are the problems if this is not followed?

A

Mixing attributes of multiple entities may cause problems
Information is stored redundantly wasting storage
Problems with update anomalies
Insertion anomalies
Deletion anomalies
Modification anomalies

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Guideline 2: Design the base relation schemas so that no insertion, deletion, or modification anomalies are present in the relations. If there are anomalies what should you do?

A

If any anomalies are present, note them

clearly and make sure that the programs that update the database will operate correctly

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Guildeline 3: As far as possible, avoid placing attributes in a base relation whose values may frequently be NULL. If there are null values what should you do?

A

If NULLs are unavoidable, make sure that they apply in exceptional cases only and do not apply to a majority of tuples in the relation.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

spurious tuples

A

Bad designs for a relational database may result in erroneous results for certain JOIN operations

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

GUIDELINE 4: The relations should be designed to satisfy the lossless join condition.

A

No spurious tuples should be generated by doing a natural-join of any relations.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

There are two important properties of decompositions

A

non-additive or losslessness of the corresponding join

preservation of the functional dependencies.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Functional dependencies

A

constraint between two sets of attributes from the
database
are used to define normal forms for relations

17
Q

A set of FDs is minimal if it satisfies the following conditions:

A

Every dependency in F has a single attribute for its RHS

We cannot remove any dependency from F and have a set of dependencies that is equivalent to F.

We cannot replace any dependency X -> A in F with a dependency Y -> A, where Y proper-subset-of X ( Y subset-of X) and still have a set of dependencies that is equivalent to F.

18
Q

Normalization

A

The process of decomposing unsatisfactory “bad” relations by breaking up their attributes into smaller relations

19
Q

Normal form

A

Condition using keys and FDs of a relation to certify whether a relation schema is in a particular normal form

20
Q

Normalization of data

A

process of analyzing the given relation schemas based on their FDs and primary keys to achieve the desirable properties of (1) minimizing redundancy and (2) minimizing the insertion, deletion, and update anomalies

21
Q

lossless join property

A

guarantees that the spurious tuple generation problem does not occur with respect to the relation schemas created after decomposition.

22
Q

dependency preservation property

A

ensures that each functional dependency is represented in some individual relation resulting after decomposition.

23
Q

Inference Rules for FD

A

Decomposition If X -> YZ, then X -> Y and X -> Z

Union If X -> Y and X -> Z, then X -> YZ

Psuedotransitivity If X -> Y and WY -> Z, then WX -> Z

24
Q

Normalization use

A

carried out in practice so that the resulting designs are of high quality and meet the desirable properties

25
Q

Denormalization

A

the process of storing the join of higher normal form relations as a base relation

26
Q

superkey

A

set of attributes that makes sure the tuples are unique.

27
Q

key

A

superkey with the additional property that removal of any attribute from K will cause K not to be a superkey any more

28
Q

candidate key

A

If a relation schema has more than one key, each is called a candidate key

29
Q

1st Normal Form

A

Disallows composite attributes, multivalued attributes, and nested relations; attributes whose values for an individual tuple are non-atomic

30
Q

2nd Normal Form

A

if every non-prime attribute A in R is fully functionally dependent on the primary key
R can be decomposed into 2NF relations via the process of 2NF normalization

31
Q

3rd Normal Form

A

if it is in 2NF and no non-prime attribute A in R is transitively dependent on the primary key

32
Q

BCNF

A

A relation schema R is in BCNF if whenever a nontrivial functional dependency X → A holds in R, then X is a superkey of R.