Project Topics

advertisement
CS 281 Spring 2016
Project Topics
Carefully study the following project descriptions and try to capture:



Strong and weak entities,
Relationships (binary, ternary and specialization (IS-A) relationships), role indicators for an
entity in a relationship, mapping cardinalities (1-1, 1-M, M-M) and aggregations (i.e., a
relationship as a whole serve as an entity in another relationship), etc., and,
Keys.
REMARK: In each of the below scenarios, we try to provide examples of almost all of the above
E/R elements, so please study these scenarios very carefully!
You are free (and indeed expected to) add more details (and, thus entities/relationships) to the
scenarios below. While designing your database, also keep in mind that in the upcoming stages of
the project, you have to specify interesting/sophisticated queries over this database.

Banking enterprise: Our bank is organized into branches. Each branch is located in a
particular city and identified by a unique name. Bank customers are identified by a unique
number (for example social security number) and name and address of each customer are
stored. A customer may have one or more accounts, and an account may belong to one or
more customers (i.e., a shared account). Each account originates from exactly one branch.
Bank accounts are assigned unique numbers, and include start date of the account, balance,
currency (TL, $, etc.). There are various account categories in the bank and each category
has a unique name (e.g., saving, check, investment, etc.) and interest rate. Each bank account
should fall into one such category. Customers make transactions on their accounts. Each
such transaction is uniquely identified by a number, and also includes date, time, transaction
type (money depositing or withdrawal), and amount. A money transfer also has a unique id,
date/time and cost. A customer makes a money transfer from one of his/her accounts to
another customer-account pair (i.e., the bank should know to which account the money is
transferred, and to whom). Bank employees also have unique identifiers (could be social
security numbers again). Each employee is assigned to a particular branch and personal
information (name, address, employment duration etc.) about the employee is stored. An
employee may be a customer representative, cashier or security officer. Sometimes, a
customer representative may manage a customer’s account with a particular commission
rate. Employees may work for only one manager but manager can supervise more than one
employees. A customer may have dependents. A dependent has a name and relation (wife,
children, etc.). A customer may also have a card. A card has a unique id, date given and
expiration date. A card may be an ATM card or a credit card. Each ATM card for the
customer must be associated with an account of the customer. Credit card has a limit and pay
date. Each credit card has a monthly debt with a date (month, year) and total amount. A
customer can pay his/her card debt from his account. Each such payment has a unique id,
date and amount.
1

Tourism agency: In this project, you will design a data management system for a tourism
agent that involves employees, customers, places, hotels, room options, tours,
reservations/sells, etc. Each employee has a unique SSN and personal information, including
name, address, city, birth date, etc. An employee may be a clerk or a member in the call
center of the agency. Clerks have a salary whereas call center members are paid a
commission for each sell they make, Hotels have unique names, address, Website, capacity,
star (e.g., 5 star), etc. Each hotel may have one or more features. Features have a unique id
and a description (e.g., “free for 0-6 ages”). Places have a unique name, city, country and
description. A hotel is located at a particular place. Agency buys room options from a hotel.
A room option has a unique id, a date, room type (e.g. single, double), price per room, and
no of rooms (that are bought by the agency). A customer has a unique SSN and other
personal information. A customer may make a reservation for a particular hotel. A
reservation involves a unique reservation id, start & end dates, number of rooms, cost and
reservation expiration date. (Note that, after a reservation, number of free rooms that are
bought from that hotel should be reduced). Similarly, a customer may buy rooms for a
particular hotel. This involves a unique receipt id, start & end dates, number of rooms, cost
and payment type. A tour has a unique name and description, and involves staying at a
number of hotels at some particular date intervals. Customers can reserve or buy tour(s) at
some cost. A customer may buy a tour through Web, but sometimes a call center member is
involved at selling a tour to a customer with a commission. Of course, room options (i.e., no
of available rooms) should be changed accordingly as the customers reserve, buy and cancel
some rooms. A campaign has a unique id, discount rate and date interval.

Course Registration System: You will design a data management system for the course
registration (like STARS at Bilkent) of students at a particular semester (i.e., we focus on a
particular semester (Fall 2012); we don’t consider data for all semesters). The system allows
registration operations like adding/dropping/withdrawing courses; as well as retrieving
relevant information about students, departments, courses, faculty members and classrooms.
A department is uniquely identified by an acronym (“CS”, etc). Courses have unique
identifiers and explanatory names. A course may have one or more sections. A section is
simply identified by a section id and has section capacity. A course may have prerequisite
courses. A department offers courses with sections. A department also has a list of must
courses. A section of a particular course may have an additional “quota” for students from
the other departments. A quota has a unique id. A quota may involve several departments
and a department may be in several quotas; with a capacity (e.g., CS281 Section 1 opens a
quota for 2 EE and 2 IE students). Each student is identified by a student identification
number. For each student, name, address, major and GPA values are recorded. Students
enroll to a section of a course. Of course, a student may enroll several courses, and vice
versa. For each student, the transcript involves course name and grade (only the latest grade
of a repeated course is stored). Faculty members are instructors and TAs. Their names and
room numbers are recorded. Faculty members are associated with a department. A particular
section of a course is lectured by a single instructor. Instructors may be assigned to more
than one course. Instructors have a monthly salary and a title, whereas TAs have a degree
(BS, MS, etc). TAs are assigned to a course but a course may have several TAs. An
instructor advises to each student. Classrooms have locations and maximum number of
available seats. Each classroom has available lecture slots. A lecture slot is identified by a
week day and a time slot. (You can assume that there are 8 time slots in a day). At a
particular lecture slot of a classroom, only one course section can be taught. But, a course
section can be taught at many lecture slots at several classrooms.
2
Download