Mgmt 3830 (N) Midterm Exam Nov. 1, 1999 If you write rough drafts of answers, or decide to rewrite an answer, be sure you clearly indicate which answer you wish to have marked. Please note that for all questions, full marks will only be given to answers that are correct, complete, and clearly written. 1. Jenny’s Music School For Young Children - Data Model (50 Marks) Jenny Nagy runs a Music School for young children. She hires violin, cello, and piano teachers to teach children (under 12 years old) how to play their chosen instrument. She is responsible for hiring and paying teachers, recruiting students, billing parents or other sponsors, and scheduling lessons. Jenny is learning Microsoft Access and has asked you to prepare a preliminary Data Model based on the following description of her business. Classes follow the school year. No classes are taught in July or August or during school breaks. There are 40 weeks of classes. Most students enroll in June, at the conclusion of classes, for new classes the following year. When space permits, and for beginners’ classes, enrollments are accepted in late August from new students and returning students who did not commit themselves in June. Jenny has a basic enrollment form. The form asks for the child’s name and address, the name of the person who will typically bring the child to class and take her home, the name of anyone else authorized to take her home, telephone numbers (work and home) for those people, the person who is financially responsible for the lessons, the type of class and instrument desired (the options are described below), and an assessment of the child’s level. Jenny usually provides the assessment based on teachers’ comments from prior classes or a brief audition. The child is then put into an appropriate class. The term “class” is used, even though many lessons are private (only one student). While the person who brings the child is usually a parent, some children are accompanied by a grandparent or babysitter and some parents carpool. The school offers a variety of lesson types for all instruments, varying by time (15, 30, 45 or 60 minutes) frequency (every one, two or four weeks), level (at least four from introductory to advanced) and whether lessons are private or small group (maximum six students). One common package is a weekly 30-minute private lesson combined with a 60-minute group lesson every second week. Sometimes, children drop out of lessons. No refunds are offered, regardless of the reason. While Jenny does not expect the computer to do her scheduling automatically for her, she does expect to get class lists and teaching schedules once she has entered all the data. These would give teachers a list of their students, class times, frequency, day of week, and room number. Jenny would also like to print a facilities schedule to guard against double booking a room and make it easier to find available space for additional lessons. One of Jenny’s problems is that there are always some parents who refuse to accept certain teachers or insist on a favourite teacher. The system should record these preferences. The school has six rooms, three equipped with a piano, which can be used for both individual and group lessons for any instrument. All private piano lessons must be in these rooms. Some rooms are larger than others and, where possible, groups are put in these rooms. Group piano 1 Mgmt 3830 (N) Midterm Exam Nov. 1, 1999 lessons use electronic keyboards that students bring with them. All group lessons combine children at roughly the same level learning the same instrument. Jenny also handles receipt of payments. Payment is the responsibility of the “sponsor.” Sometimes the sponsor is a grandparent and, especially in the case of divorced parents, the sponsor may not be the parent who brings the child to the lessons. There are also cases where a child has one sponsor for one type of lesson and a different sponsor for another. Each payment covers 20 weeks. The first payment is usually made at the time of enrollment. The second is due in late January. Most payments are by cheque and the rest are paid in cash. Jenny does not accept credit cards or other forms of payment. When a cheque is received, she checks to ensure the amount is correct (matches the billed amount). One cheque may cover several different lessons for three (or even more) children while others pay for each lesson with a separate cheque. Fortunately, partial payments are rare (usually caused by a misunderstanding over enrollment) so the system can assume that each bill is paid in full or unpaid. NSF cheques have not been a problem, so the system does not need to record them specifically. Jenny must also recruit and pay the teachers. Teachers apply for positions, telling her what instrument(s) they wish to teach and what levels, class sizes, etc. they prefer. Jenny also records her assessment of which classes they are best suited to teach, not always the same as teachers’ preferences. Teacher pay varies by instrument, level (introductory to advanced), length of lesson, frequency, and group size. All teachers doing the same lesson type receive the same payment, regardless of their skill level, time of day, day of week, or other factors. All classes have a single teacher. Teachers are paid regardless of whether students show up for the lessons and, similarly, the sponsor pays for lessons even if the student is unable to attend. Occasionally, special arrangements are made to handle teacher illnesses or other events, but these can be handled informally and Jenny does not want the system to record that level of detail. Jenny expects the system to produce a list of teachers and gross payments owed. She turns that list over to her bank, and they produce pay cheques that are automatically deposited in the teachers’ bank accounts. The bank looks after CPP, EI, and other deductions, so Jenny does not need to record them in her system. Draw a Data Model to support this system. The database need only support one academic year at a time. To get full marks, your Data Model must accurately reflect the description and be wellformed. Identify any reasonable assumptions you made in creating your data model. Where you think the information given is inadequate, and it is not clear what a reasonable assumption might be, state what you need to know to complete the model. 2 Mgmt 3830 (N) Midterm Exam Nov. 1, 1999 2. Use Case (10 marks) Jenny asked another student for help with her Music School Program and that student recommended she prepare a set of Use Cases. The student prepared a Use Case Survey (not provided here) and one sample Use Case for her. Unfortunately, the student had not taken Mgt 3830. What’s wrong with this Use Case? Base your answer on both your understanding of how a good Use Case should be written and on what you know about Jenny’s operation. Although there are ten marks for this question, you should not assume that there are exactly ten problems. 3. Entity Integrity vs Referential Integrity (10 marks) Jenny has read that her database should have both Entity Integrity and Referential Integrity. She has no idea what this means. Provide an explanation that someone in her situation can understand. Provide an example for each showing what data would look like if each type of integrity was not present. Are both important? If not, give an example where the lack of integrity would not be a problem. 4. Advantages of using databases (20 marks) Lethbridge Enterprises is a family-owned business that supplies specialized parts to irrigation equipment manufacturers. They have some brilliant engineers and have developed a good reputation for high quality products at a reasonable price. But all their systems are currently running in COBOL. Most were built by student teams back in the 1980s; others were built by local consultants. One family member does programming maintenance when needed and everything seems to be working. But the owners have asked you to comment on the advantages of switching to a single company database. You have decided to prepare a presentation consisting of a set of questions that need to be answered to help them come to a decision, e.g., “How large is your company in terms of sales revenue and employees?” For each question, briefly indicate how the answer would help you decide whether a database makes sense. You want these questions to point out the key factors, benefits, costs, and risks of making the move. The owners may not be able to answer some of your questions, but list those that you believe need to be answered. 3 Mgmt 3830 (N) Midterm Exam Nov. 1, 1999 5. Data Model Conversion (10 marks) Convert the data model segment below to a set of Access tables. Show them as they would appear in the Access relationship diagram, assuming that the tables have been created and named correctly. Underline the primary keys in each table. Used in PART PartID PartName PartColor PartWeight SUBPART SubQuantity Uses INVENTORY QuantityOnHand ReorderPoint ReorderQuantity WAREHOUSE WarehouseID WarehouseName WarehouseStreet WarehouseCity WarehouseProvince WarehousePostalCode 4