1 / 12

Relational Database Schema Designer using Bernstein’s Algorithm

Explore a powerful schema designer tool that applies Bernstein's Algorithm for optimal design. Includes features for key determination and normalization.

hersom
Download Presentation

Relational Database Schema Designer using Bernstein’s Algorithm

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Relational Database Schema Designer using Bernstein’s Algorithm Group P11 Aloysius Ang Wooi Kiak Chan Yee Wei Han En Chou Reymond Edlin

  2. Introduction • Web application • Developed using Laravel web application framework • GUI based on HTML, CSS, AngularJS • Backend logic based on PHP

  3. System Overview

  4. Software Architecture: Technology & Tools Frontend Written in Javascript, HTML, CSS Backend Written in PHP, MySQL

  5. Software Architecture: Graphical User Interface

  6. Software Architecture: Graphical User Interface

  7. Software Architecture: Functionalities (NF Tester) Approach: • Determine all possible candidate key(s) using the set of functional dependencies for a given relation • Determine prime attributes • Evaluate the normal form state based on Zaniolo’s definitions

  8. Software Architecture: Functionalities (Bernstein Algorithm) 6 major steps: • Eliminate extraneous attributes • Obtain a non redundant covering • Partition into groups with similar LHS • Merge equivalent keys • Eliminate transitive dependencies • Construct relations

  9. Software Architecture: Functionalities (Improved Bernstein) 3 main shortcomings overcomed: • Retain losslessness due to attributes not in any functional dependencies • Finding all keys to all relations • Removing superfluous attributes

  10. Software Architecture: Functionalities (Lossless) • Determine decomposed relations losslessness • Construct an array of the dimension equals number of relations by number of attributes • Using chase algorithm to fill the table • Decomposition is lossless if at least one row is entirely made up of symbols; a(1), a(2), ... , a(n)

  11. Software Architecture: Functionalities (Dependency Preserving) • Determine decomposed relations dependency preservation • Using an algorithm to correctly determine the dependency preservation • All FDs has to be checked and proven to be preserving • If at least one FD failed the test, the decomposition is deemed to be not dependency preserving

  12. Demo

More Related