General Description

Design (Phase 1) and implement (Phase 2) a database system, TV411, to maintain information about the wide range of television programs available to consumers of subscription based systems (like Cable and Satellite). The data stored will be used to inform consumers about the available programs that are televised in the different networks. Based on this information, the consumer may decide to watch a program or to record it on a DVR (Digital Video Recorder). The TV411 database system will be the repository of all data related to what is showing on television.

The goals of the design phase are to model as much of the television programming enterprise as possible. Needless to say, this will be a large model. Your job in this phase is to focus on modeling it as completely and correctly as possible. You must create a UML class diagram of the model while applying all of the design patterns we have learned about.

The goals of the implementation phase are to demonstrate your relational database skills in creating tables in the relational model, maintaining integrity constraints, inserting/updating/deleting information, and creating queries on the data that you have supplied. NOTE: you will not implement the complete model from the first phase since there will not be time. Instead, Dr. Monge will meet with each group after the design phase and determine what parts of the model each group will implement. So do not start on the implementation phase until after you have been assigned the part of the enterprise you will implement. Different groups might end up implementing comparable but different parts of the enterprise.

Background

Television networks broadcast their signals in one of three ways. Traditional television is broadcasted via radio waves requiring a television antenna. Cable television is broadcasted via radio frequency signals trasmitted over coaxial cables or optical fibers. Finally, satellite television is transmitted via communication satellites. Satellite and cable television companies charge subscribers a fee to receive the services; currently about 27% of US households subscribe to satellite service, while about 60% subscribe to cable service. A recent trend is for subscribers to buy or rent a Digital Video Recorder (DVR) and pay for the service that allows them to freeze and to digitally record live TV.

A TV411 database is required that will be transmitted to the DVR or cable/satellite TV receiver. The subscriber may then use the receiver to view the television listings, find out detailed information about any of the shows being broadcasted, and to select shows to be recorded on the DVR.

Cable and satellite companies are distributors of television programs whose rights are owned by television networks (e.g.: WB, ABC, CNN). Each TV network is in its own channel (signal) and controls its programming on that channel. Programs vary from series (e.g.: Lost, Desperate Housewifes, Passions), movies (e.g.: Lord of the Rings), to sporting events (e.g.: SuperBowl, FIFA World Cup), etc. Programs are put into categories such as Sports, News, Movies. Programs can also be described by a genre such as Comedy, Drama, Suspense, Reality, etc.

A television program has a title, length, rating, and a synopsis of what the program is about. These programs can be showing for the first time or could also be airing for a repeat -- often times referred to as a rerun.

Required Functionality

Here is a sample of the functionality that should be possible with the data in the TV411 database system.

  1. What are the family-rated movies showing this weekend?
  2. For a given subscriber, what shows are sheduled to be recorded?
  3. Display a TV schedule for a particular day on given times. E.g.: display the programs scheduled to show on Friday between 6 and 11pm.
  4. Having selected a specific program, a subscriber may want to view any related information such as the synopsis of the program, its rating, genre, category, etc.
  5. What is the average price for television services being paid by subscribers?
  6. How many consumers are subscribed on each of the television packages available?
  7. What are the top twenty series that consumers are recording on DVRs?
  8. Additional functionality to be added later. To incorporate this functionality, you need to design the database with flexibility in mind. Is your database prepared to handle a television network? A new television series?

Getting started

Any database project starts with examining the actual data involved.  Often times, prior to the time you build the relational structures for the database, the raw data for your database exists.  It may be filed on paper forms in filing cabinets, or it may be on web sites, or sales forms, or weekly/monthly reports, etc.  Before you do any actual modeling, it helps to know that data you will have to deal with, so the first step is to study the data available.

On this project, there are lots of resources where you can gather information about the enteprise. Many of you are likely subscribers on either a cable system or satellite system. Start paying closer attention to the information that is available whenever you watch programs or schedule programs to record. You do not need to be a subscriber to start learning about the enterprise, use the web to learn more about television networks, television shows, cable systems, satellite systems, DVR, etc.

Project administration

This is a group project and as such each student will work on this project with at least one other student from the class. Each member of the group has an equal share on the responsibilities in completing the project. Every group must follow these guidelines as you work on the project:

  1. Every group must keep track of the contributions made by each of the members. Every week each group must send a report via e-mail stating the contributions made by each person during that week. All weekly reports are due by the end of lab time every Thursday (except on Thanksgiving week).
  2. All of these reports must be included with your final project at the end of the semester. In each report, clearly state the contributions and work accomplished by each individual.
  3. Every group member (including sender) must be a recipient of the weekly report; do this in the CC line of the e-mail.
  4. The grade in the project will have two components: a group grade that is based on the completeness and quality of the project submitted and an individual grade that is based on the contributions the person has made for the success of the team.
  5. When a team presents their project (more details to follow later), I will ask questions to each person to evaluate their understanding of the work accomplished during the project. This may affect a person's individual grade as well as the group grade.

You are developers...

To reflect a certain amount of reality in this project, Dr. Monge will play the role of client and each group independently forms the database design and development team being assigned the project. In the setting of this project, the client has requested your services as he lacks the necessary database skills that you posess. There will be two official times for interaction with the client, each is referred to as a round. In each round, the database teams will send the questions to the client via e-mail. These questions must be about the enterprise and not about how to model or implement some aspect of the enterprise. The client will answer each team's questions only and these will be sent via a reply e-mail message. After the first round, the client will hold a private meeting with each database team to clarify answers to any questions from the first round. In all of the rounds, each team will get only answers to the questions submitted by the team. Team members may communicate only with other member of the same group. Inter-team communication is prohibited.

Deadlines of project activities
Activity How/Where? When?
Round #1: List of first round questions for the client Send the list via e-mail with subject: CECS-323: TV411 First Round, group # Wednesday Nov. 2nd 11:59AM
Client answers the first round of questions and meets DB teams Answers will be sent via e-mail Thursday Nov. 3rd
Client will meet each group
Round #2: List of second round questions for the client Send the list via e-mail with subject: CECS-323: TV411 Second Round, group # Wednesday Nov. 9th 11:59AM
Client answers the second round of questions Answers will be sent via e-mail reply to each team Thursday Nov. 10th
Final UML Diagram and documentation. Follow instructions here. Printed (hard copy) to be turned in by end of lab. Copy must also be send via e-mail message with subject:
CECS-323: TV411 UML Diagram, group #
Thursday Nov. 17 11:45am
Implementation Phase: implement the relational database of TV411 Print the relational database scheme, SQL DDL script, SQL DML, and a final report. Thursday Dec. 8 11:45am

NOTE: All of the above deadlines are hard. They will not be adjusted and any team missing a deadline will be penalized in their grade as specified in the syllabus.

E-mail communication

All e-mail messages must meet the following format requirements:

  1. For group initiated messages, each member of the group must be copied in the CC line
  2. The e-mail subject line must be as specified in the project handout.  All other e-mail messages whose subject line is not specified must have an appropriate subject line that starts with CECS-323: TV411
  3. The e-mail body must be in HTML or in plain text.
  4. Each of the First & Second round questions must be numbered and must be organized based on topics as best as possible.
  5. The e-mail must be received no later than the set deadline.

References

  1. WikiPedia's entries on satellite television and on cable television.
  2. J.D. Power and Associates Study on Cable/Satellite TV Satisfaction.
  3. epiguides.com is a site that contains episode lists for over 2,500 TV shows.
  4. zap2it.com and tv.com provide tv schedules.

Database Resources