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