CSE 594 Project Page
- Project Description
- Students in teams of 2 to 3 will select an application that needs
a database and build a database application from start to finish.
- Philosophy
-
The purpose of this project is to build a complete end-to-end database application.
That includes selecting the application, designing the database, building the
database and writing the appropriate application code.
- Goals
- Finding an application for which a database system would be required
- Modeling the domain of the application, and defining the
application functionalities
- Designing and implementing the schema
- Populating the database (this should not be the main focus
of the project)
- Writing the code needed to embed the database system in the application
- Note: the application should include both querying and updating the database.
- Schedule
- There are a few intermediate milestones in the project:
- April 11: Groups formed
- April 25: Proposal - provide a short description of the domain you choose
and the functionality that your application will provide,
- May 2: Conceptual design (i.e., E/R diagram) and relational schema defined.
Send these to Alon and Maya.
- Then you start coding. Start as early as possible!
- June 3: What does the end result look like?
In the last week of classes (before the final exam) you will hand in your project.
There are two options. Either you make it web accessible, and in that case we go to
the URL and check it out. The second option is to arrange a demo time in the lab.
We'll send out times for the demos (June 3-6). In any case, you will also hand in a
short summary describing your project and what were the interesting/difficult issues
you encountered.
- Suggested projects
- Here are a few possible ideas:
- Movies:
-
In this domain you would be modeling entities movies, their actors,
directors, genres, playing times, reviews. There exist several sources
on the WWW from which you can get data to populate such a
database. You can support various queries such as finding specific
playing times, finding movies in Seattle directed by a given
director. You can also support updates to the reviews section of the
database (e.g., viewers giving their own opinions). Another
functionality is to provide personal profiles of people (i.e., the
movies they like) and then try to recommend movies to them based on
profiles of viewers with similar tastes.
- Books:
-
In this domain you would be modeling entities such as books, their
authors, topics (which may be a complex hierarchy). You may also model
various attributes of the authors, the institutions they belong to,
etc. You can support a buy/sell service of used books, books used in
specific university courses. A personal profile, similar to the one
for movies is also a possibility. Pointing an interested buyer to a
web source to buy a book is also an interesting option.
- Realty:
-
This domain would require modeling apartments/houses and their properties,
areas of town and their various properties (e.g., bus lines, crime
rate distance from various landmarks). You would provide an interface
for offering apartments/houses for rent or purchase, finding apartments.
Some data can be found from the Seattle Times and other sources.
- Database of web sites:
-
In this domain, your basic entities would be web sites. You can model
their various properties: topic, url, organization to which they
belong, other sites they point to, reviews of the site, quality, cost
of accessing, etc. Users can add new sites that they found to the
database, add opinions about existing sites, or search for sites that
may be of interest for them. See Yahoo.com for a partial
inspiration.