Normalisation Example

Views:
 
Category: Others/ Misc
     
 

Presentation Description

No description available.

Comments

Presentation Transcript

Normalisation Example : 

Normalisation Example CS2312

Normalisation Example : 

Normalisation Example BEER_DATABASE Additional Notes: Warehouses are shared by breweries. Each beer is unique to the brewer. Each brewery is based in a city.

Minimal Sets of Functional Dependencies : 

Minimal Sets of Functional Dependencies A set of functional dependencies F is minimal if: 1. Every dependency F has a single determined attribute A 2. We cannot remove any dependency from F and still have a set of dependencies equivalent to F 3. We cannot replace and dependency X  A in F with a dependency A X, where A  X and still have a set of dependencies that is equivalent to F I.e. a canonical form with no redundancies (beer, brewery, strength, city, region, warehouse, quantity) beer brewery beer strength brewery  city city  region beer, warehouse,  quantity

Relational Synthesis Algorithm into 3NF: (beer, brewery, strength, city, region, {warehouse, quantity}) : 

Relational Synthesis Algorithm into 3NF: (beer, brewery, strength, city, region, {warehouse, quantity}) set D := { R } ; P. 426, P. 431 1. Find a minimal cover G for F 2. For each determinant X of a functional dependency that appears in G create a relation schema { X  A1, X  A2…X  Am} in D where X  A1, X  A1, … X  A1m are the only dependencies in G with X as the determinant; 3. Place any remaining (unplaced) attributes in a single relation to ensure attribute preservation property so we don’t lose anything. 4. If none of the relations contains a key of R, create one more relation that contains attributes that form a key for R. beer brewery (beer, brewery, strength) beer strength brewery  city (brewery, city) city  region (city, region) beer, warehouse,  quantity (beer, warehouse, quantity)

Step-wise normalisation: (beer, brewery, strength, city, region, {warehouse, quantity}) : 

Step-wise normalisation: (beer, brewery, strength, city, region, {warehouse, quantity}) beer brewery, strength partial dependency brewery  city transitive dependency city  region transitive dependency beer, warehouse,  quantity repeating group 1NF remove repeating group (beer, brewery, strength, city, region, {warehouse, quantity}) (beer, warehouse, quantity) beer, warehouse,  quantity (beer, brewery, strength, city, region) beer brewery, strength transitive dependency brewery  city transitive dependency city  region

(beer, brewery, strength, city, region) : 

(beer, brewery, strength, city, region) beer brewery, strength brewery  city transitive dependency city  region transitive dependency 2NF no partial dependencies 3NF/BCNF no transitive dependencies (beer, brewery, strength, city, region) (city, region) city  region (beer, brewery, strength, city) beer brewery, strength brewery  city (brewery, city) brewery  city (beer, brewery, strength) beer brewery, strength Take the most indirect transitive dependencies

Using BNCF decomposition algorithm:(beer, brewery, strength, city, region, warehouse, quantity) : 

Using BNCF decomposition algorithm:(beer, brewery, strength, city, region, warehouse, quantity) beer brewery, strength partial dependency brewery  city transitive dependency city  region transitive dependency beer, warehouse,  quantity Directly to BCNF take a violating dependency and form a relation from it. First choose a direct transitive dependency and its closure (beer, brewery, strength, city, region, warehouse, quantity) brewery  city (brewery, city, region) brewery  city city  region transitive dependency (beer, brewery, strength, warehouse, quantity) beer brewery, strength partial dependency beer, warehouse,  quantity

Using BNCF decomposition algorithm:(beer, brewery, strength, city, region, warehouse, quantity) : 

Using BNCF decomposition algorithm:(beer, brewery, strength, city, region, warehouse, quantity) beer brewery, strength partial dependency brewery  city transitive dependency city  region transitive dependency beer, warehouse,  quantity take a violating dependency and form a relation from it. First the partial dependency and its closure (beer, brewery, strength, city, region, warehouse, quantity) beer brewery, strength (beer, brewery, strength, city, region) beer brewery, strength brewery  city transitive dependency city  region transitive dependency normalise as before... (beer, warehouse, quantity) beer, warehouse,  quantity