1 / 12

# CS4221 Project - PowerPoint PPT Presentation

P04. CS4221 Project . Implement Bernstein’s algorithm. He Jingxiao ( A0087637N ) LeNhat Minh ( A0074403N ) Wang Zihao ( A0073222U ) Wu Shitong ( A0070050B ). Why do we need a CASE tool ?. Fast way to extract relations schema based on given functional dependencies.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

## PowerPoint Slideshow about ' CS4221 Project ' - auryon

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

### CS4221 Project

Implement Bernstein’s algorithm

He Jingxiao ( A0087637N)

LeNhat Minh ( A0074403N )

Wang Zihao ( A0073222U )

Wu Shitong ( A0070050B )

• Fast way to extract relations schema based on given functional dependencies.

• Display the results of each decompose step.

• GUI & API

• Server : http://54.251.192.210/index.php/bernstein/

• Language : PHP, JavaScript, html

• Users input functional dependencies.

• Perform normalization and synthesizing to 3rd normal form following Bernstein's algorithm:

• Step 1: Eliminate extraneous attributes.

• Step 2: Finding covering.

• Step 3: Partition.

• Step 4: Merge equivalent keys.

• Step 5: Eliminate transitive dependencies

• Step 6: Construct relations.

• Language used : Java

• Shortcoming 1:

Bernstein’s algorithm does not guarantee reconstructibility (or losslessness).

Output of example 3:

• 1. Find all the attributes from the previous relations

• 2. Compare the attributes from last step with the original full attributes to retrieve the loss attributes

• 3. Create a new Relation with any key and loss attributes

• Shortcoming 2:

Bernstein's algorithm does not always find all the keys

High level logic to find all the keys attributes

• Find all the attributes

• Get every combination of attributes

• Check if the closure of the combination is all the attributes

• Retain only keys

Result attributes

Results are then fed back to the frond end

THANK YOU attributes