gatlinburgh - Animated DataBase Courseware

Download Report

Transcript gatlinburgh - Animated DataBase Courseware

Kennesaw State University
Database Courseware Project
(http://coffee.kennesaw.edu/)
Mario A.M. Guimaraes
([email protected])
and Martha Myers
([email protected])
Database courseware (NSF)
• design and develop animations in support of
key database concepts. Current topics
SQL (finished prototypes)
Database Design (few prototypes)
Concurrency (design, 1st prototype)
SQL Queries – prototypes
available
• Visual Basic (downloadable)
Visualization
• Java (java applets)
Construction & Visualization
SQL Queries - motivation
• Low student scores in tests involving
queries
• Construction: allows student to break SQL
queries into parts and quickly access the
results.
• Visualization: Associating code that
students already know with code they are
unfamiliar.
Database Design – prototype
available (Flash)
• Convert E-R Diagrams to tables
1) Scenario
2) E-R Diagram is drawn
3) User is presented with several options
4) For each selected option, feedback,
animating data redundancy and null
value is shown.
E-R Diagram -> Table –
motivation
• Instructor may show several conversion
options in a few minutes.
• Students memorize or are given the solution
(test results)
• Students have trouble detecting redundancy
Concurrency
• Lost Update (being implemented)
• Deadlock (being implemented)
The Lost Update:
A Concurrency Problem
(table view)
Trx1 requests and receives a
Time 1 copy of X, 1000.
Time 2
Trx2 requests and receives a
copy of X, 1000.
Trx1 decreases its value by
100 and returns the result
Time 3 (900) to the database.
Time 4
Trx2 increases the value 1000
by 200 and returns the new
value (1200) to the database.
Deadlock
Trx1 requests and receives a
copy of X, 1000.
Trx2 requests and receives a
copy of Y, 2000.
Trx2 requests a copy of X, and
enters wait
Trx1 requests a copy of Y, and
enters wait
Next Prototypes
• Database Design:
Class Diagrams
Object x Relational
Normalization
SQL Queries
Indexes: B-Trees, Hashing, Bitmap