Cs4221 project
Download
1 / 12

CS4221 Project - PowerPoint PPT Presentation


  • 136 Views
  • Uploaded on

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.

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

PowerPoint Slideshow about ' CS4221 Project ' - auryon


An Image/Link below is provided (as is) to download presentation

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

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
Why do we need a CASE tool ?

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

  • Display the results of each decompose step.



Front end
Front-end

  • GUI & API

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

  • Language : PHP, JavaScript, html


Input
Input

  • Users input functional dependencies.


Back end
Back-end

  • 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


Back end enhancements in bernstein s algorithm
Back-end ( Enhancements in Bernstein’s algorithm)

  • Shortcoming 1:

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

Output of example 3:


High level logic to add new relation with key and loss attributes
High level logic to add new relation with key and loss attributes

  • 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


Back end enhancements in bernstein s algorithm1
Back-end ( Enhancements in Bernstein’s algorithm) attributes

  • Shortcoming 2:

    Bernstein's algorithm does not always find all the keys


High level logic to 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
Result attributes

Results are then fed back to the frond end


Thank you
THANK YOU attributes


ad