26
1 KROENKE and AUER - DATABASE CONCEPTS (4 rd Edition) © 2010 2008 Pearson Prentice Hall DAVID M. KROENKE and DAVID J. AUER DAVID M. KROENKE and DAVID J. AUER DATABASE CONCEPTS, 4 DATABASE CONCEPTS, 4 th th Edition Edition The Relational Model The Relational Model Course: DE4, Course Teacher: Dr. D. M. Akbar Hussain Department of Electronic Systems KROENKE and AUER - DATABASE CONCEPTS (4 rd Edition) © 2010 2008 Pearson Prentice Hall Chapter Objectives Chapter Objectives Learn Learn the the conceptual conceptual foundation foundation of of the the relational relational model model Understand Understand how how relations relations differ differ from from non non-relational relational tables tables Learn Learn basic basic relational relational terminology terminology Learn Learn the the meaning meaning and and importance importance of of keys, keys, foreign foreign keys, keys, and and related related terminology terminology Understand Understand how how foreign foreign keys keys represent represent relationships relationships Learn Learn the the purpose purpose and and use use of of surrogate surrogate keys keys L th th i f f ti l f ti l d d i d d i Course: DE4, Course Teacher: Dr. D. M. Akbar Hussain Department of Electronic Systems 2-2 Learn Learn the the meaning meaning of of functional functional dependencies dependencies Learn Learn to to apply apply a process process for for normalizing normalizing relations relations

DATABASE CONCEPTS, 4th - Aalborg Universitethomes.et.aau.dk/akh/2011/database-2011_files/akbar-ch02-2011.pdf · 1 KROENKE and AUER - DATABASE CONCEPTS (4rd Edition) © 2010 2008 Pearson

  • Upload
    others

  • View
    14

  • Download
    1

Embed Size (px)

Citation preview

Page 1: DATABASE CONCEPTS, 4th - Aalborg Universitethomes.et.aau.dk/akh/2011/database-2011_files/akbar-ch02-2011.pdf · 1 KROENKE and AUER - DATABASE CONCEPTS (4rd Edition) © 2010 2008 Pearson

1

KROENKE and AUER - DATABASE CONCEPTS (4rd Edition) © 2010 2008 Pearson Prentice Hall

DAVID M. KROENKE and DAVID J. AUER DAVID M. KROENKE and DAVID J. AUER

DATABASE CONCEPTS, 4DATABASE CONCEPTS, 4thth EditionEdition

The Relational ModelThe Relational Model

Course: DE4, Course Teacher: Dr. D. M. Akbar HussainDepartment of Electronic Systems

KROENKE and AUER - DATABASE CONCEPTS (4rd Edition) © 2010 2008 Pearson Prentice Hall

Chapter ObjectivesChapter Objectives

•• LearnLearn thethe conceptualconceptual foundationfoundation ofof thethe relationalrelational modelmodel•• UnderstandUnderstand howhow relationsrelations differdiffer fromfrom nonnon--relationalrelational tablestables•• LearnLearn basicbasic relationalrelational terminologyterminology•• LearnLearn thethe meaningmeaning andand importanceimportance ofof keys,keys, foreignforeign keys,keys, andand

relatedrelated terminologyterminology•• UnderstandUnderstand howhow foreignforeign keyskeys representrepresent relationshipsrelationships•• LearnLearn thethe purposepurpose andand useuse ofof surrogatesurrogate keyskeys

•• LL thth ii ff f ti lf ti l d d id d i

Course: DE4, Course Teacher: Dr. D. M. Akbar HussainDepartment of Electronic Systems 2-2

•• LearnLearn thethe meaningmeaning ofof functionalfunctional dependenciesdependencies

•• LearnLearn toto applyapply aa processprocess forfor normalizingnormalizing relationsrelations

Page 2: DATABASE CONCEPTS, 4th - Aalborg Universitethomes.et.aau.dk/akh/2011/database-2011_files/akbar-ch02-2011.pdf · 1 KROENKE and AUER - DATABASE CONCEPTS (4rd Edition) © 2010 2008 Pearson

2

KROENKE and AUER - DATABASE CONCEPTS (4rd Edition) © 2010 2008 Pearson Prentice Hall

EntityEntity

• An entityentity is something of importance to a user that needs to berepresented in a database

• An entityentity represents oneone themetheme or topic

• In an entity-relationship model (discussed in Chapter 4), entitiesentitiesareare restrictedrestricted toto thingsthings thatthat cancan bebe representedrepresented byby aa singlesingle tabletable

Course: DE4, Course Teacher: Dr. D. M. Akbar HussainDepartment of Electronic Systems 2-3

KROENKE and AUER - DATABASE CONCEPTS (4rd Edition) © 2010 2008 Pearson Prentice Hall

RelationRelation

• A relationrelation is a two-dimensional table that has specificcharacteristics

• The table dimensions, like a matrix, consist of rows and columns

Course: DE4, Course Teacher: Dr. D. M. Akbar HussainDepartment of Electronic Systems 2-4

Page 3: DATABASE CONCEPTS, 4th - Aalborg Universitethomes.et.aau.dk/akh/2011/database-2011_files/akbar-ch02-2011.pdf · 1 KROENKE and AUER - DATABASE CONCEPTS (4rd Edition) © 2010 2008 Pearson

3

KROENKE and AUER - DATABASE CONCEPTS (4rd Edition) © 2010 2008 Pearson Prentice Hall

Characteristics of a RelationCharacteristics of a Relation

•• RowsRows containcontain datadata aboutabout anan entityentity•• ColumnsColumns containcontain datadata aboutabout attributesattributes ofof thethe entityentity•• CellsCells ofof thethe tabletable holdhold aa singlesingle valuevalue•• AllAll entriesentries inin aa columncolumn areare ofof thethe samesame kindkind•• EachEach columncolumn hashas aa uniqueunique namename•• TheThe orderorder ofof thethe columnscolumns isis unimportantunimportant•• TheThe orderorder ofof thethe rowsrows isis unimportantunimportant

Course: DE4, Course Teacher: Dr. D. M. Akbar HussainDepartment of Electronic Systems 2-5

•• NoNo twotwo rowsrows maymay bebe identicalidentical

KROENKE and AUER - DATABASE CONCEPTS (4rd Edition) © 2010 2008 Pearson Prentice Hall

A Sample RelationA Sample Relation

Attributes

EmployeeNumberEmployeeNumber FirstNameFirstName LastNameLastName

100100 MaryMary AbernathyAbernathy

101101 JerryJerry CadleyCadley

104104 AlexAlex CopleyCopley

107107 MeganMegan JacksonJackson

Entity

Course: DE4, Course Teacher: Dr. D. M. Akbar HussainDepartment of Electronic Systems 2-6

107107 MeganMegan JacksonJackson

Page 4: DATABASE CONCEPTS, 4th - Aalborg Universitethomes.et.aau.dk/akh/2011/database-2011_files/akbar-ch02-2011.pdf · 1 KROENKE and AUER - DATABASE CONCEPTS (4rd Edition) © 2010 2008 Pearson

4

KROENKE and AUER - DATABASE CONCEPTS (4rd Edition) © 2010 2008 Pearson Prentice Hall

ExampleExample

Course: DE4, Course Teacher: Dr. D. M. Akbar HussainDepartment of Electronic Systems 2-7

KROENKE and AUER - DATABASE CONCEPTS (4rd Edition) © 2010 2008 Pearson Prentice Hall

A Nonrelation ExampleA Nonrelation Example

EmployeeNumberEmployeeNumber PhonePhone LastNameLastName

100100 335335--6421,6421,

454454--97449744

AbernathyAbernathy

101101 215215--77897789 CadleyCadley

104104 610610--98509850 CopleyCopley

107107 299299--90909090 JacksonJackson

Course: DE4, Course Teacher: Dr. D. M. Akbar HussainDepartment of Electronic Systems 2-8

107107 299299 90909090 JacksonJackson

Page 5: DATABASE CONCEPTS, 4th - Aalborg Universitethomes.et.aau.dk/akh/2011/database-2011_files/akbar-ch02-2011.pdf · 1 KROENKE and AUER - DATABASE CONCEPTS (4rd Edition) © 2010 2008 Pearson

5

KROENKE and AUER - DATABASE CONCEPTS (4rd Edition) © 2010 2008 Pearson Prentice Hall

A Nonrelation ExampleA Nonrelation Example

EmployeeNumberEmployeeNumber PhonePhone LastNameLastName

100100 335335--64216421 AbernathyAbernathy

101101 215215--77897789 CadleyCadley

104104 610610--98509850 CopleyCopley

100100 335335--64216421 AbernathyAbernathy

Course: DE4, Course Teacher: Dr. D. M. Akbar HussainDepartment of Electronic Systems 2-9

yy

107107 299299--90909090 JacksonJackson

KROENKE and AUER - DATABASE CONCEPTS (4rd Edition) © 2010 2008 Pearson Prentice Hall

ExampleExample

Course: DE4, Course Teacher: Dr. D. M. Akbar HussainDepartment of Electronic Systems 2-10

Page 6: DATABASE CONCEPTS, 4th - Aalborg Universitethomes.et.aau.dk/akh/2011/database-2011_files/akbar-ch02-2011.pdf · 1 KROENKE and AUER - DATABASE CONCEPTS (4rd Edition) © 2010 2008 Pearson

6

KROENKE and AUER - DATABASE CONCEPTS (4rd Edition) © 2010 2008 Pearson Prentice Hall

ExampleExample

Course: DE4, Course Teacher: Dr. D. M. Akbar HussainDepartment of Electronic Systems 2-11

KROENKE and AUER - DATABASE CONCEPTS (4rd Edition) © 2010 2008 Pearson Prentice Hall

TerminologyTerminology

TableTable RowRow ColumnColumn

FileFile RecordRecord FieldField

RelationRelation TupleTuple AttributeAttribute

Course: DE4, Course Teacher: Dr. D. M. Akbar HussainDepartment of Electronic Systems 2-12

Page 7: DATABASE CONCEPTS, 4th - Aalborg Universitethomes.et.aau.dk/akh/2011/database-2011_files/akbar-ch02-2011.pdf · 1 KROENKE and AUER - DATABASE CONCEPTS (4rd Edition) © 2010 2008 Pearson

7

KROENKE and AUER - DATABASE CONCEPTS (4rd Edition) © 2010 2008 Pearson Prentice Hall

A KeyA Key

•• AA keykey isis oneone (or(or more)more) columnscolumns ofof aa relationrelation thatthat isis (are)(are)usedused toto identifyidentify aa rowrow..

Unique Unique

Course: DE4, Course Teacher: Dr. D. M. Akbar HussainDepartment of Electronic Systems 2-13

or or

NonuniqueNonunique

KROENKE and AUER - DATABASE CONCEPTS (4rd Edition) © 2010 2008 Pearson Prentice Hall

Uniqueness of KeysUniqueness of Keys

Unique KeyUnique Key NonNon--unique Keyunique Key

Data value is unique for each row.Data value is unique for each row.

Consequently, Consequently, the key will the key will

Data value may be shared among Data value may be shared among several rows.several rows.

Consequently, the key will identify Consequently, the key will identify

Course: DE4, Course Teacher: Dr. D. M. Akbar HussainDepartment of Electronic Systems 2-14

yy yyuniquely identify a uniquely identify a single rowsingle row.. set of rows.set of rows.

Page 8: DATABASE CONCEPTS, 4th - Aalborg Universitethomes.et.aau.dk/akh/2011/database-2011_files/akbar-ch02-2011.pdf · 1 KROENKE and AUER - DATABASE CONCEPTS (4rd Edition) © 2010 2008 Pearson

8

KROENKE and AUER - DATABASE CONCEPTS (4rd Edition) © 2010 2008 Pearson Prentice Hall

Key ExampleKey Example

EMPLOYEE (EMPLOYEE (EmployeeNumberEmployeeNumber, , LastNameLastName, Department, Email, Phone), Department, Email, Phone)

Course: DE4, Course Teacher: Dr. D. M. Akbar HussainDepartment of Electronic Systems 2-15

KROENKE and AUER - DATABASE CONCEPTS (4rd Edition) © 2010 2008 Pearson Prentice Hall

A Composite KeyA Composite Key

• A compositecomposite keykey is a key that contains two or more attributes

• For a key to be unique, often it must become a composite key

Course: DE4, Course Teacher: Dr. D. M. Akbar HussainDepartment of Electronic Systems 2-16

Page 9: DATABASE CONCEPTS, 4th - Aalborg Universitethomes.et.aau.dk/akh/2011/database-2011_files/akbar-ch02-2011.pdf · 1 KROENKE and AUER - DATABASE CONCEPTS (4rd Edition) © 2010 2008 Pearson

9

KROENKE and AUER - DATABASE CONCEPTS (4rd Edition) © 2010 2008 Pearson Prentice Hall

Composite Key ExampleComposite Key Example

Course: DE4, Course Teacher: Dr. D. M. Akbar HussainDepartment of Electronic Systems 2-17

KROENKE and AUER - DATABASE CONCEPTS (4rd Edition) © 2010 2008 Pearson Prentice Hall

A Candidate KeyA Candidate Key

• A candidatecandidate keykey is called “candidate” because it is a candidate tobe selected as key (primary).

• A candidate key is a uniqueunique keykey..

EMPLOYEEEMPLOYEE ((EmployeeNumberEmployeeNumber,, FirstNameFirstName,, LastNameLastName,, Department,Department, Email,Email, Phone)Phone)

Course: DE4, Course Teacher: Dr. D. M. Akbar HussainDepartment of Electronic Systems 2-18

EmployeeNumberEmployeeNumber,, Email,Email, PhonePhone

((FirstNameFirstName,, LastNameLastName,, Department)Department)

Page 10: DATABASE CONCEPTS, 4th - Aalborg Universitethomes.et.aau.dk/akh/2011/database-2011_files/akbar-ch02-2011.pdf · 1 KROENKE and AUER - DATABASE CONCEPTS (4rd Edition) © 2010 2008 Pearson

10

KROENKE and AUER - DATABASE CONCEPTS (4rd Edition) © 2010 2008 Pearson Prentice Hall

A Primary KeyA Primary Key

• A primaryprimary keykey is a candidate key chosen to be the main key for therelation.

• If you know the value of the primaryprimary keykey, you will be able touniquely identify a single row.

Course: DE4, Course Teacher: Dr. D. M. Akbar HussainDepartment of Electronic Systems 2-19

KROENKE and AUER - DATABASE CONCEPTS (4rd Edition) © 2010 2008 Pearson Prentice Hall

Task performed by a Primary KeyTask performed by a Primary Key

The primary key is used for the following 4 tasks;

1. First, it is used to uniquely identify the rows in a table.2. Second, it is used to represent rows in relationships.3. Third, most DBMS products use the values of the primary key to organize

the storage of the relation.4. Finally, primary keys are used in indexes and other structures to improve

performance for search operations.

Course: DE4, Course Teacher: Dr. D. M. Akbar HussainDepartment of Electronic Systems 2-20

performance for search operations.

Page 11: DATABASE CONCEPTS, 4th - Aalborg Universitethomes.et.aau.dk/akh/2011/database-2011_files/akbar-ch02-2011.pdf · 1 KROENKE and AUER - DATABASE CONCEPTS (4rd Edition) © 2010 2008 Pearson

11

KROENKE and AUER - DATABASE CONCEPTS (4rd Edition) © 2010 2008 Pearson Prentice Hall

Defining the Primary Key in Microsoft AccessDefining the Primary Key in Microsoft Access

Course: DE4, Course Teacher: Dr. D. M. Akbar HussainDepartment of Electronic Systems 2-21

KROENKE and AUER - DATABASE CONCEPTS (4rd Edition) © 2010 2008 Pearson Prentice Hall

Defining the Primary Key in Microsoft SQL Server 2005Defining the Primary Key in Microsoft SQL Server 2005

Course: DE4, Course Teacher: Dr. D. M. Akbar HussainDepartment of Electronic Systems 2-22

Page 12: DATABASE CONCEPTS, 4th - Aalborg Universitethomes.et.aau.dk/akh/2011/database-2011_files/akbar-ch02-2011.pdf · 1 KROENKE and AUER - DATABASE CONCEPTS (4rd Edition) © 2010 2008 Pearson

12

KROENKE and AUER - DATABASE CONCEPTS (4rd Edition) © 2010 2008 Pearson Prentice Hall

Defining the Primary Key in Defining the Primary Key in MySQLMySQL

Course: DE4, Course Teacher: Dr. D. M. Akbar HussainDepartment of Electronic Systems 2-23

KROENKE and AUER - DATABASE CONCEPTS (4rd Edition) © 2010 2008 Pearson Prentice Hall

A Surrogate KeyA Surrogate Key

•• AA surrogatesurrogate keykey isis aa unique,unique, numericnumeric valuevalue thatthat isis addedadded toto aarelationrelation byby thethe DBMSDBMS toto serveserve asas thethe primaryprimary keykey..

•• SurrogateSurrogate keykey valuesvalues havehave nono meaningmeaning toto usersusers andand areare usuallyusuallyhiddenhidden onon forms,forms, queriesqueries andand reportsreports..

•• AA surrogatesurrogate keykey isis oftenoften usedused inin placeplace ofof aa compositecomposite primaryprimary keykey..

Course: DE4, Course Teacher: Dr. D. M. Akbar HussainDepartment of Electronic Systems 2-24

Page 13: DATABASE CONCEPTS, 4th - Aalborg Universitethomes.et.aau.dk/akh/2011/database-2011_files/akbar-ch02-2011.pdf · 1 KROENKE and AUER - DATABASE CONCEPTS (4rd Edition) © 2010 2008 Pearson

13

KROENKE and AUER - DATABASE CONCEPTS (4rd Edition) © 2010 2008 Pearson Prentice Hall

More on Surrogate KeyMore on Surrogate Key

A surrogate key is an artificial key that is created to act as theA surrogate key is an artificial key that is created to act as theprimary key for a relation.

The surrogate key is a unique, numeric value that is appended tothe relation (by DBMS).

Surrogate keys are used in situations when no suitable primary keyexists within the user data, or when all available primary keyswithin the data are too cumbersome for an efficient design.

Course: DE4, Course Teacher: Dr. D. M. Akbar HussainDepartment of Electronic Systems 2-25

Surrogate key values have no meaning to the users and arenormally hidden on all forms, reports, and displays. Most DBMSproducts have the ability to automatically generate values forsurrogate keys as needed.

KROENKE and AUER - DATABASE CONCEPTS (4rd Edition) © 2010 2008 Pearson Prentice Hall

Surrogate Key ExampleSurrogate Key Example

Course: DE4, Course Teacher: Dr. D. M. Akbar HussainDepartment of Electronic Systems 2-26

Page 14: DATABASE CONCEPTS, 4th - Aalborg Universitethomes.et.aau.dk/akh/2011/database-2011_files/akbar-ch02-2011.pdf · 1 KROENKE and AUER - DATABASE CONCEPTS (4rd Edition) © 2010 2008 Pearson

14

KROENKE and AUER - DATABASE CONCEPTS (4rd Edition) © 2010 2008 Pearson Prentice Hall

Relationships Between TablesRelationships Between Tables

•• AA tabletable maymay bebe relatedrelated toto otherother tablestables

•• ForFor exampleexample::

AnAn EmployeeEmployee worksworks inin aa DepartmentDepartment AA ManagerManager controlscontrols aa ProjectProject

Course: DE4, Course Teacher: Dr. D. M. Akbar HussainDepartment of Electronic Systems 2-27

AA ManagerManager controlscontrols aa ProjectProject

KROENKE and AUER - DATABASE CONCEPTS (4rd Edition) © 2010 2008 Pearson Prentice Hall

A Foreign KeyA Foreign Key

• To preserve relationships, you may need to create a foreignforeign keykey..

• A foreignforeign keykey is a primary key from one table placed into anothertable.

• The key is called a foreignforeign keykey in the table that received the key

Course: DE4, Course Teacher: Dr. D. M. Akbar HussainDepartment of Electronic Systems 2-28

The key is called a foreignforeign keykey in the table that received the key.

Page 15: DATABASE CONCEPTS, 4th - Aalborg Universitethomes.et.aau.dk/akh/2011/database-2011_files/akbar-ch02-2011.pdf · 1 KROENKE and AUER - DATABASE CONCEPTS (4rd Edition) © 2010 2008 Pearson

15

KROENKE and AUER - DATABASE CONCEPTS (4rd Edition) © 2010 2008 Pearson Prentice Hall

Foreign Key Example IForeign Key Example I

ProjectProject

ProjIDProjID

ProjNameProjName

ManagerManager

MgrIDMgrID

MgrNameMgrName

Course: DE4, Course Teacher: Dr. D. M. Akbar HussainDepartment of Electronic Systems 2-29

MgrIDMgrID

KROENKE and AUER - DATABASE CONCEPTS (4rd Edition) © 2010 2008 Pearson Prentice Hall

Foreign Key Example IIForeign Key Example II

DepartmentDepartment

DeptIDDeptID

DeptNameDeptName

EmployeeEmployee

EmpIDEmpID

DeptIDDeptID

Course: DE4, Course Teacher: Dr. D. M. Akbar HussainDepartment of Electronic Systems 2-30

LocationLocation EmpNameEmpName

Page 16: DATABASE CONCEPTS, 4th - Aalborg Universitethomes.et.aau.dk/akh/2011/database-2011_files/akbar-ch02-2011.pdf · 1 KROENKE and AUER - DATABASE CONCEPTS (4rd Edition) © 2010 2008 Pearson

16

KROENKE and AUER - DATABASE CONCEPTS (4rd Edition) © 2010 2008 Pearson Prentice Hall

Referential IntegrityReferential Integrity

•• ReferentialReferential integrityintegrity states that every value of a foreign keymust match a value of an existing primary key

• For example (see previous slide)

If EmpID = 4 in EMPLOYEE has a DeptID = 7 (a foreignkey), a Department with DeptID = 7 must exist inDEPARTMENT

Course: DE4, Course Teacher: Dr. D. M. Akbar HussainDepartment of Electronic Systems 2-31

The primary key value must exist before the foreign keyvalue is entered.

KROENKE and AUER - DATABASE CONCEPTS (4rd Edition) © 2010 2008 Pearson Prentice Hall

Foreign KeyForeign Key

DepartmentDepartment

DeptIDDeptID = 7= 7

DeptNameDeptName

EmployeeEmployee

EmpIDEmpID = 4= 4

DeptIDDeptID = 7= 7

Course: DE4, Course Teacher: Dr. D. M. Akbar HussainDepartment of Electronic Systems 2-32

LocationLocation EmpNameEmpName

Page 17: DATABASE CONCEPTS, 4th - Aalborg Universitethomes.et.aau.dk/akh/2011/database-2011_files/akbar-ch02-2011.pdf · 1 KROENKE and AUER - DATABASE CONCEPTS (4rd Edition) © 2010 2008 Pearson

17

KROENKE and AUER - DATABASE CONCEPTS (4rd Edition) © 2010 2008 Pearson Prentice Hall

Referential Integrity in Microsoft AccessReferential Integrity in Microsoft Access

Course: DE4, Course Teacher: Dr. D. M. Akbar HussainDepartment of Electronic Systems 2-33

KROENKE and AUER - DATABASE CONCEPTS (4rd Edition) © 2010 2008 Pearson Prentice Hall

Foreign Keys inForeign Keys inMicrosoft SQL Server 2005Microsoft SQL Server 2005

Course: DE4, Course Teacher: Dr. D. M. Akbar HussainDepartment of Electronic Systems 2-34

Page 18: DATABASE CONCEPTS, 4th - Aalborg Universitethomes.et.aau.dk/akh/2011/database-2011_files/akbar-ch02-2011.pdf · 1 KROENKE and AUER - DATABASE CONCEPTS (4rd Edition) © 2010 2008 Pearson

18

KROENKE and AUER - DATABASE CONCEPTS (4rd Edition) © 2010 2008 Pearson Prentice Hall

Foreign Keys inForeign Keys inMySQLMySQL

Course: DE4, Course Teacher: Dr. D. M. Akbar HussainDepartment of Electronic Systems 2-35

KROENKE and AUER - DATABASE CONCEPTS (4rd Edition) © 2010 2008 Pearson Prentice Hall

The Null ValueThe Null Value

• A NullNull valuevalue means that no data was entered

• This is different from a zero, space character or tab character

Course: DE4, Course Teacher: Dr. D. M. Akbar HussainDepartment of Electronic Systems 2-36

Page 19: DATABASE CONCEPTS, 4th - Aalborg Universitethomes.et.aau.dk/akh/2011/database-2011_files/akbar-ch02-2011.pdf · 1 KROENKE and AUER - DATABASE CONCEPTS (4rd Edition) © 2010 2008 Pearson

19

KROENKE and AUER - DATABASE CONCEPTS (4rd Edition) © 2010 2008 Pearson Prentice Hall

The Problem of Null ValuesThe Problem of Null Values

• A Null is often ambiguous. It could mean…

TheThe columncolumn valuevalue isis notnot appropriateappropriate forfor thethe specificspecific rowrow TheThe columncolumn valuevalue isis notnot decideddecided TheThe columncolumn valuevalue isis unknownunknown

• Each may have entirely different implications

Course: DE4, Course Teacher: Dr. D. M. Akbar HussainDepartment of Electronic Systems 2-37

KROENKE and AUER - DATABASE CONCEPTS (4rd Edition) © 2010 2008 Pearson Prentice Hall

Functional DependencyFunctional Dependency

• A relationship between attributes in which one attribute (or groupof attributes) determines the value of another attribute in the sametable

• Illustration…

The price of one cookie can determine the price of a box of 12 cookies,so the BoxPrice is dependent on quantity & Unit price of Cookie.

Course: DE4, Course Teacher: Dr. D. M. Akbar HussainDepartment of Electronic Systems 2-38

Page 20: DATABASE CONCEPTS, 4th - Aalborg Universitethomes.et.aau.dk/akh/2011/database-2011_files/akbar-ch02-2011.pdf · 1 KROENKE and AUER - DATABASE CONCEPTS (4rd Edition) © 2010 2008 Pearson

20

KROENKE and AUER - DATABASE CONCEPTS (4rd Edition) © 2010 2008 Pearson Prentice Hall

DeterminantsDeterminants

• The attribute (or attributes) that we use as the starting point (thevariable on the left side of the equation) is called a determinant

Course: DE4, Course Teacher: Dr. D. M. Akbar HussainDepartment of Electronic Systems 2-39

KROENKE and AUER - DATABASE CONCEPTS (4rd Edition) © 2010 2008 Pearson Prentice Hall

Candidate/Primary Keys and Functional DependencyCandidate/Primary Keys and Functional Dependency

• By definition…

A candidate key A candidate key of a relation will functionally determine all other attributes in the row

• Likewise, by definition…

A primary key A primary key of a relation will functionally determine all other attributes in the row

Course: DE4, Course Teacher: Dr. D. M. Akbar HussainDepartment of Electronic Systems 2-40

Page 21: DATABASE CONCEPTS, 4th - Aalborg Universitethomes.et.aau.dk/akh/2011/database-2011_files/akbar-ch02-2011.pdf · 1 KROENKE and AUER - DATABASE CONCEPTS (4rd Edition) © 2010 2008 Pearson

21

KROENKE and AUER - DATABASE CONCEPTS (4rd Edition) © 2010 2008 Pearson Prentice Hall

Primary Key and Functional Dependency ExamplePrimary Key and Functional Dependency Example

Course: DE4, Course Teacher: Dr. D. M. Akbar HussainDepartment of Electronic Systems 2-41

KROENKE and AUER - DATABASE CONCEPTS (4rd Edition) © 2010 2008 Pearson Prentice Hall

Relation & DataRelation & Data

Course: DE4, Course Teacher: Dr. D. M. Akbar HussainDepartment of Electronic Systems 2-42

Page 22: DATABASE CONCEPTS, 4th - Aalborg Universitethomes.et.aau.dk/akh/2011/database-2011_files/akbar-ch02-2011.pdf · 1 KROENKE and AUER - DATABASE CONCEPTS (4rd Edition) © 2010 2008 Pearson

22

KROENKE and AUER - DATABASE CONCEPTS (4rd Edition) © 2010 2008 Pearson Prentice Hall

Primary & Candidate Key (Formal Definition)Primary & Candidate Key (Formal Definition)

Course: DE4, Course Teacher: Dr. D. M. Akbar HussainDepartment of Electronic Systems 2-43

KROENKE and AUER - DATABASE CONCEPTS (4rd Edition) © 2010 2008 Pearson Prentice Hall

NormalizationNormalization

• Functional Dependencies and determinants can be used to formrelations.

• A process of analyzing a relation to ensure that it is well formed.

• More specifically, if a relation is normalizednormalized (well formed), rows canbe inserted, deleted or modified without creating updateanomalies.

Course: DE4, Course Teacher: Dr. D. M. Akbar HussainDepartment of Electronic Systems 2-44

• Normalization is a complex topic.

• Requirement is that: A Table or Relation should have one theme.

Page 23: DATABASE CONCEPTS, 4th - Aalborg Universitethomes.et.aau.dk/akh/2011/database-2011_files/akbar-ch02-2011.pdf · 1 KROENKE and AUER - DATABASE CONCEPTS (4rd Edition) © 2010 2008 Pearson

23

KROENKE and AUER - DATABASE CONCEPTS (4rd Edition) © 2010 2008 Pearson Prentice Hall

NormalizationNormalization

Course: DE4, Course Teacher: Dr. D. M. Akbar HussainDepartment of Electronic Systems 2-45

KROENKE and AUER - DATABASE CONCEPTS (4rd Edition) © 2010 2008 Pearson Prentice Hall

Normalization PrinciplesNormalization Principles

• Relational design principles for normalized relations:

To be a well-formed relation, every determinantdeterminant must be a candidatecandidate keykey

Any relation that is not well formed should be broken into two or morewell-formed relations.

Course: DE4, Course Teacher: Dr. D. M. Akbar HussainDepartment of Electronic Systems 2-46

Page 24: DATABASE CONCEPTS, 4th - Aalborg Universitethomes.et.aau.dk/akh/2011/database-2011_files/akbar-ch02-2011.pdf · 1 KROENKE and AUER - DATABASE CONCEPTS (4rd Edition) © 2010 2008 Pearson

24

KROENKE and AUER - DATABASE CONCEPTS (4rd Edition) © 2010 2008 Pearson Prentice Hall

Normalization ProcessNormalization Process

• Identify all Candidate Keys of the relation.• Identify all the functional dependencies in the relation.• Examine the determinants, if any determinant is not a candidate key

then obviously it is not a welformed relation, so: Place the columns of the functional dependencies in a new relation of their

own. Make the determinant of the functional dependency the primary key of

the new relation. Leave a copy of the determinant as a foreign key in the original relation.

Course: DE4, Course Teacher: Dr. D. M. Akbar HussainDepartment of Electronic Systems 2-47

py g y g Create a referential integrity constriants between original relation new

relation.

• Repeat previous step until every determinant of every relation is acandidate key.

KROENKE and AUER - DATABASE CONCEPTS (4rd Edition) © 2010 2008 Pearson Prentice Hall

Normalization ExampleNormalization Example

Course: DE4, Course Teacher: Dr. D. M. Akbar HussainDepartment of Electronic Systems 2-48

Page 25: DATABASE CONCEPTS, 4th - Aalborg Universitethomes.et.aau.dk/akh/2011/database-2011_files/akbar-ch02-2011.pdf · 1 KROENKE and AUER - DATABASE CONCEPTS (4rd Edition) © 2010 2008 Pearson

25

KROENKE and AUER - DATABASE CONCEPTS (4rd Edition) © 2010 2008 Pearson Prentice Hall

Normalization ExampleNormalization Example

Course: DE4, Course Teacher: Dr. D. M. Akbar HussainDepartment of Electronic Systems 2-49

KROENKE and AUER - DATABASE CONCEPTS (4rd Edition) © 2010 2008 Pearson Prentice Hall

Normalization ExampleNormalization Example

Course: DE4, Course Teacher: Dr. D. M. Akbar HussainDepartment of Electronic Systems 2-50

Page 26: DATABASE CONCEPTS, 4th - Aalborg Universitethomes.et.aau.dk/akh/2011/database-2011_files/akbar-ch02-2011.pdf · 1 KROENKE and AUER - DATABASE CONCEPTS (4rd Edition) © 2010 2008 Pearson

26

KROENKE and AUER - DATABASE CONCEPTS (4rd Edition) © 2010 2008 Pearson Prentice Hall

Normalization ExampleNormalization Example

Course: DE4, Course Teacher: Dr. D. M. Akbar HussainDepartment of Electronic Systems 2-51

KROENKE and AUER - DATABASE CONCEPTS (4rd Edition) © 2010 2008 Pearson Prentice Hall

Modification ProblemModification Problem

Course: DE4, Course Teacher: Dr. D. M. Akbar HussainDepartment of Electronic Systems 2-52