Build a virtual vide rental ostore, a la These are the



1. Model entities such as videos, their titles, actors, directors,

etc...  Create a schema and an E/R diagram representing your

database. Create useful and meaningful relationships between the

entity sets (for example one relationship is between videos and

actors). Also describe any constraints you want to have on your schema

(referential integrity constraints, functional dependencies, etc...).


2. Transform your E/R diagram into SQL syntax and create a "real" database

in SQL Server using your model.


3. Populate your database. You can either use "synthetic" data or download

a list of "real" videos and populate your database. You should have at

least 25 videos in the database. If you choose to use synthetic data,

please use meaningful names and entries.


4. Create another table(s) storing customers along with their VISA and M/C

card numbers and other relevant information. Create meaningful

relationships between customers and videos, actors, etc...


5. Create a WEB portal to your database. Videos should be able to be found

using actors, titles, directors. Once a search has completed, a

web page should be created summarizing the results of the search. Also for

each video in the summary, there is a link that the user can click on to

expand the information about the respective video.


6. Add e-commerce functionality to your website. Let a user be able to

buy his/her desired video from your database. Each buyer needs to be

able to order his video, and fill in his credit card information. (Do

not worry about security issues). Store the credit card information in

your database, so that a user does not have to enter this information

more than once. However, allow the user to modify his credit card

information.  Keep track of how many copies of each video you

currently have in stock: when a customer rents a video, that number

has to decrease.  Create another page for returning a rented video.


BONUS: If a user is searching for a video you don't have in stock,

your database application should go to and search for the

respective video and add it to your database. The price of the video

should be 20% higher than at  For example the following URL

searches for "as good as it gets":



NOTE: Do not make your schema too complex: the entire project should

contain at most 3-4 entity sets plus relationships.