cs4221 project
Download
Skip this Video
Download Presentation
CS4221 Project

Loading in 2 Seconds...

play fullscreen
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)
  • 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
  • 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

Results are then fed back to the frond end

ad