Visualization of Functional Dependencies in a Web Environment
description
Transcript of Visualization of Functional Dependencies in a Web Environment
![Page 1: Visualization of Functional Dependencies in a Web Environment](https://reader035.fdocuments.us/reader035/viewer/2022062322/56814558550346895db22902/html5/thumbnails/1.jpg)
Visualization of FunctionalDependencies in a Web
Environment
Nikolay Georgiev
Umeå UniversityDepartment of Computing Science
SE-901 87 UmeåSweden
____________________________
![Page 2: Visualization of Functional Dependencies in a Web Environment](https://reader035.fdocuments.us/reader035/viewer/2022062322/56814558550346895db22902/html5/thumbnails/2.jpg)
2
Overview
• Theoretical Background
• Motivation
• Live Demo
• Implementation
• Conclusions
____________________________
![Page 3: Visualization of Functional Dependencies in a Web Environment](https://reader035.fdocuments.us/reader035/viewer/2022062322/56814558550346895db22902/html5/thumbnails/3.jpg)
3
Theoretical Background Relational Data Model
• Data are represented in tables/relations
• The columns in the relation identify the attributes
• A row/tuple contains all the data of a single instance of the table
• Each row must have a unique identification or key based on the data
____________________________
![Page 4: Visualization of Functional Dependencies in a Web Environment](https://reader035.fdocuments.us/reader035/viewer/2022062322/56814558550346895db22902/html5/thumbnails/4.jpg)
4
Example of a Bad Relation
Why is this a bad relation?
• A lot of redundant data
• To insert a new course one have to insert a student as well
• Deleting the student Eriksson also deletes the course Distributed Systems
____________________________
![Page 5: Visualization of Functional Dependencies in a Web Environment](https://reader035.fdocuments.us/reader035/viewer/2022062322/56814558550346895db22902/html5/thumbnails/5.jpg)
5
Relational-Database Normalization• Normalization - process of efficiently organizing the data in a database
• Normalization involves decomposing a relation into several new relations
• New relations have to be combined/joined to yield the same information
• Formal notations called normal forms (NF) ensure low storage and update cost
• NF - based on functional dependencies (FD)*
• FD - semantic relationship between attributes
• Attribute B is functionally dependant on A (A → B) if the value of A determines the value of B
• Example: Matriculation_Number → Name is satisfied but: Name → Matriculation_Number is not satisfied
____________________________
____________________________* only true for 2NF, 3NF, BCNF
![Page 6: Visualization of Functional Dependencies in a Web Environment](https://reader035.fdocuments.us/reader035/viewer/2022062322/56814558550346895db22902/html5/thumbnails/6.jpg)
6
Example of a Normalized Relation
• Only storing related data in a table
• Use the FDs and the different NF guidelines
• Ensure no information is lost (lossless-join)
• Ensure all FDs are present in the decomposition (dependency preservation)
____________________________
![Page 7: Visualization of Functional Dependencies in a Web Environment](https://reader035.fdocuments.us/reader035/viewer/2022062322/56814558550346895db22902/html5/thumbnails/7.jpg)
7
Motivation for LDBN 1.0 • Normalization is a topic in most introductory courses
• Subject considered purely theoretical, not well received by students
• Develop a tool which allows students to experiment with the subject and test themselves in practice
• Tool requirements:
o Fast and easy to use
o Test any proposed decomposition
o Test lossless join
o Test dependency preservation
o Provide sample solutions/decompositions
____________________________
![Page 8: Visualization of Functional Dependencies in a Web Environment](https://reader035.fdocuments.us/reader035/viewer/2022062322/56814558550346895db22902/html5/thumbnails/8.jpg)
8
Motivation for LDBN 1.1
• Improving the usability of the system by:
o adding new features - visualization of FDs
o improving the existing features by:
o dividing users into groups (instructional users vs. students)
o Implementing new methods for saving/loading assignments
o more power for users to edit/remove their content
____________________________
![Page 9: Visualization of Functional Dependencies in a Web Environment](https://reader035.fdocuments.us/reader035/viewer/2022062322/56814558550346895db22902/html5/thumbnails/9.jpg)
9
____________________________Live Demo
![Page 10: Visualization of Functional Dependencies in a Web Environment](https://reader035.fdocuments.us/reader035/viewer/2022062322/56814558550346895db22902/html5/thumbnails/10.jpg)
10
Implementation - Platform AJAX
• Advantageso retrieve data from the server asynchronously in the backgroundo No plug-ins required
• Disadvantageso Not a standard...
____________________________
![Page 11: Visualization of Functional Dependencies in a Web Environment](https://reader035.fdocuments.us/reader035/viewer/2022062322/56814558550346895db22902/html5/thumbnails/11.jpg)
11
Implementation - Platform(2) GWT
• Write AJAX applications in Java• Support only one codebase• Java-to-JS compiler• Browser independent code• JRE emulation/UI library/DOM API/...• Use of a debugger
____________________________
![Page 12: Visualization of Functional Dependencies in a Web Environment](https://reader035.fdocuments.us/reader035/viewer/2022062322/56814558550346895db22902/html5/thumbnails/12.jpg)
12
Implementation - System Architecture •LDBN 1.0
•Decentralized architecture
•Client side - tutoring functions
•Server side - data storage
•Key functions
o Check Solution
Algorithms for testing
o Solve Assignment
Decomposition algorithms
____________________________
![Page 13: Visualization of Functional Dependencies in a Web Environment](https://reader035.fdocuments.us/reader035/viewer/2022062322/56814558550346895db22902/html5/thumbnails/13.jpg)
13
Implementation - System Architecture(2) •LDBN 1.1
•Most of the changes in the client
•Few changes to the server
•New key functions for this project:
o FD Visualisation
o Different user groupso Regular users (students)o Instructional userso Superusers
o Load Assignment (Filters)
o More control over content:o Edit/Delete Assignments and
Comments
____________________________
![Page 14: Visualization of Functional Dependencies in a Web Environment](https://reader035.fdocuments.us/reader035/viewer/2022062322/56814558550346895db22902/html5/thumbnails/14.jpg)
14
Conclusions Fulfilment of the Design Goals
• Improve usability by introducing new tools – Visualization of FDs
• Fast and easy to use UI ( Drag and Drop)
• Giving more control to lecturers over the system.
• New assignment management.
Limitations and Future Work
• More types of visualization of FDs
• Print support
• Evaluation of the environment in a class room
____________________________
![Page 15: Visualization of Functional Dependencies in a Web Environment](https://reader035.fdocuments.us/reader035/viewer/2022062322/56814558550346895db22902/html5/thumbnails/15.jpg)
15
____________________________Questions?