UNIVERSITY OF LETHBRIDGE FACULTY OF MANAGEMENT Management 3830 - Contemporary Database Applications (Using Access) Term: Spring 2003 Instructor: Brian Dobing, Room E424, 329-2492, brian.dobing@uleth.ca Class Web Page: http://classes.uleth.ca/200301/mgt3830a Class Times: Mon, Wed 15:05 – 16:20 PM, D631 Office Hours: Tuesday, Thursday 1:30 - 3:30 PM Other times may be arranged by appointment. ______________________________________________________________________________ Overview Working in pairs, students will design and build a small database system for a business application following the five-stage model below: 1. create a data model for the new system; 2. design a database structure based on the data model; 3. design and build a user interface for transaction processing; 4. design and build management reports for analysis and decision making; and, 5. combine all the above into a complete, documented, usable and well-tested system. Prerequisites This course requires Mgt 2060, which has included Access since the Fall 1998 term. Those who have some other introductory software class that did not use Access, or have studied Access but forgotten all or most of it, should work through the introductory chapters of the Access text. Computer Science 1620 is also required. While the class does not require a knowledge of Java or C++ (or any other language), a basic understanding of programming structures will be needed to do some introductory work with Visual Basic for Applications (VBA). Systems Project The systems project has been divided into separate assignments called milestones. The final three milestones are cumulative. You cannot simply accept a low grade on milestone 5 or 6 and forget about it. The final milestone requires that you submit the complete project, including corrections to work done in some previous milestones. 1 Second, you are responsible for building a system and you need to do whatever it takes to succeed. As with real systems, the answers cannot always be found in specific chapters of a textbook. Most of you will have limited experience with Access. You will need to develop a strategy to effectively learn this software, through books, on-line help, in-class demonstrations and, most importantly, experimentation. The schedule on the last page of this syllabus suggests readings for some of the topics. You will probably find that learning Access is much more difficult than learning Word or Excel. Each milestone will normally be done in teams of two students each. No three-person teams will be permitted, even if this means that someone must work alone. You can change partners any time during the first four milestones, or choose to work alone. But the final three milestones are cumulative and are best done by consistent teams. Two projects of equal quality will get the same grade, even if one is by a two-person team and the other is by someone working alone. Assignment Rules All milestones, including supporting text and diagrams, must be prepared using Access 2002 and Word 2002. All pages must have one-inch margins on all sides. All text should be doublespaced, with a 12-point font, unless the assignment says otherwise. (This requirement applies to regular text, not titles, labels inside diagrams, or other special text.) Each milestone will specify whether printed copies, emailed files, or both are to be submitted. Assignments are graded primarily for content, but presentation, spelling and grammar are also important. Note that the emailed databases will generally be due by 1230 PM on the day of the class. This allows me to verify that all of them have been received and are readable before class. The printed portions of all assignments are due at the start of class. Any extensions due to lab problems, weather, or other reasons will be emailed to the class list and posted on the course web page. Please look there first if any unusual events occur. Written assignments can also be left under the door of my office if I'm not there. Submitted assignments may be used during the class to illustrate different ways of approaching a problem. For the first four milestones, there will be a 10% penalty for submissions received between the due time and the start of class and a 25% penalty for submissions made during class time. Because the solutions will be discussed in class, no submissions can be accepted once the class is over. For the final three milestones, late submissions will be accepted with a penalty of 25% per day. Late penalties are subtracted from the grade you otherwise would have earned. So if Milestone 1 is submitted an hour late and is worth 80/100, it would receive a grade of 70/100. A 50% penalty means a loss of 50 points, rather than receiving half what you normally would. For milestones 2 and 3, solutions will be presented which represent the final product that would normally result after an extensive negotiation between the user and the designers. Solutions may be simplified to limit the workload for the next stage. But, more importantly, the solutions allow you to continue on the project without the risk of building on an incorrect foundation. Otherwise, you could begin with an incorrect data model, implement it in Access, and then be unable to 2 generate the required reports. Teams are free to enhance the basic solution and will receive credit for doing so in the final milestone. This will be further discussed in class. Lab Facilities and Software University Computer Labs, where most of you will build your Access databases, can become very busy at critical times. Unfortunately, this is unlikely to change. You can use your own computer, but the official class software is Access 2002 (also known as XP). Course Web Page: Material will be posted on the course web page: http://classes.uleth.ca/200301/mgt3830a You should be able to find the course syllabus, assignments, and some class notes. Any subsequent corrections, additions, etc. will also be posted on the web page. You are responsible for checking your email regularly. I will try to respond to email and voice mail messages. However, I cannot provide long and detailed responses that way. Some questions may be answered on the class web page and/or brought up in the following class. Textbooks, Readings, Materials Two database management texts are available on reserve in the library. Recommended readings are shown in the class schedule. Fred R. McFadden, Jeffrey A. Hoffer and Mary B. Prescott, Modern Database Management, 5th Edition, Addison Wesley, 1999. This book is by the same authors as the old 4840/4841 textbook. Their notation is a bit different from that used in the current textbook, but the concepts are similar. Gerald V. Post, Database Management Systems, Irwin/McGraw-Hill, 1999 This book is more applied and should be more helpful in building your project. While Access is used in its examples, it is not designed to teach Access. Each team should purchase a book on Access as well. The recommended text is: Roger Jennings, Using Microsoft Access 2002 Special Edition, Que Books, 2002. This book should be widely available at reasonable discounts. I did not make the book “required” because there are a number of excellent alternatives. Those wanting to use XP should get an XP book. If you already have a good Access book, you may not need another one that covers much of the same material. Regardless of your choice, a good Access book is essential and you should not expect to build a satisfactory project without one. Lecture notes alone will not be sufficient. 3 Two other Access 2000 books that have been well received by students in the past are: John L. Viescas, Running Microsoft Access 2000, Microsoft Press, 1999 Cary N. Prague and Michael R. Irwin, Access 2000 Bible, IDG Books, 1999. Books with “Dummy,” “Idiot,” and similar words in their titles are probably not be sufficient to build a good project. But they might help you get started. On the other hand, books with the words “programming” or “developer” in the title are generally far more advanced than this class requires and are not a good place to starting learning Access. For those who are looking for a more advanced book, one of the better choices is Alison Balter’s, Mastering Microsoft Access 2000 Development, Sams, 1999. If you can find discounted Access 2000 versions of these or other books, they may be well worth buying. The changes are minor (at least those that will affect the class project). Access comes with its own sample “Northwinds” database. You can find examples of most of the features you want by looking through the forms and reports and seeing how they do things. Finding ideas in Northwinds, books, sample databases and Access web sites is an essential part of the learning process. However, you are expected to apply the ideas and not just make a copy of Northwinds or some similar example. Some possible places to find computer books are listed below. This list was compiled in midAugust 2002 and has not been checked or updated since. I have not dealt with all these sites and offer no guarantees on their service or pricing. Caveat emptor! http://www.amazon.ca/ http://www.bolen.bc.ca/ http://www.canadacomputerbooks.com/ http://chapters.indigo.ca http://www.copperfields.com/ http://www.halfpricecomputerbooks.com/ http://www.nexuscomputerbooks.com/ (in Calgary) http://www.pagebytes.com/web_store.cgi Grading Your final grade will be determined using the following percentages: Project 60 (Each milestone value is shown below) Midterm 15 Final Exam 25 Although the exams are worth half your grade, this may be misleading. Individual exam marks typically have greater variance than project marks, resulting in greater impact on the final grade. The following is an approximate grading curve. Final scores will be rounded, e.g., 77.5 will be a B. The actual grade distributions for this semester may be adjusted (but only to the advantage of students) and will not be determined until the end of the semester when all marks are in. The final grade distribution will be consistent with past classes. 4 95-100 90-94 86-89 A+ A A- 82-85 78-81 74-77 B+ B B- 70-73 66-69 62-65 C+ C C- 58-61 50-57 < 50 D+ D F Academic Integrity It is critical to the reputation of the Faculty of Management, and of our degrees, that everyone associated with our faculty behave with the highest academic integrity. As a Faculty that helps create business and government leaders, we have a special obligation to ensure that our ethical standards are beyond reproach. Any dishonesty in our academic transactions violates this trust. The University of Lethbridge Calendar addresses the issue of academic dishonesty under the heading “Student Discipline Policy. Of particular concern, but certainly not the only violations, are: copying someone else's program, even with minor modifications and with or without their permission, from a diskette, printed copy, or even by observing what they are doing providing a disk or printout or otherwise allowing someone else to copy your work allowing someone else to do all or part of your assignment working jointly with others to create a single solution and then customizing it for each student presenting code taken substantially from books, CD-ROMs, the Internet or other sources as your own Students cheating on exams or assisting others to do so will receive an "F" in the course. Cooperation between teams is generally encouraged when it involves technical matters, such as how Access works. But close cooperation on content resulting in virtually identical submissions is not acceptable. Milestones that include material that has obviously been copied between two or more teams will ALL receive a mark of ZERO. Thus, it is important that you protect your work against copying. Any significant copying of programs found in other books or on the Internet will be regarded as a serious violation and will also receive a mark of ZERO. Receiving any substantial outside assistance from Access experts is not acceptable. However, applying ideas found in these sources is strongly encouraged. If you do copy anything, make a note of it just as you would reference a quotation in a term paper. If you are unsure about what is or is not acceptable, please see me first. You also have some responsibility to ensure that your partner does not violate the policy on Academic Integrity. Should a violation occur, both members are jointly accountable unless the violation can be clearly attributed to a specific individual. 5 PROJECT MILESTONES Each milestone is a basic step towards building a database system. Further details on each Milestone will be distributed in class. Milestone 0 – Entities and Attributes (20 marks) Identify the key entities and attributes for a system. Milestone 1 – Practice Data Model (30 marks) Create a practice data model for an organization. Milestone 2 - Data Model (70 marks) Create a data model capable of supporting the operations and management requirements identified in the organization description. An important part of this milestone is determining what those requirements are. Some may not be explicitly stated, but are nevertheless critical to successful operations. Also consider possible management reports for analysis and decision making, and what data they will require. Data may also be needed for organizational control, such as tracking which employee has processed each transaction. Milestone 2 Revised Data Model (30 marks) All submissions for Milestone 2 will be distributed. Based on ideas you see in these models, you can revise and resubmit your data model. Milestone 3 - Access Database (20 marks) Implement the data model as a relational database in Access. You will be given a data model to work with, rather than using your own from Milestone 2. Create each Access table and field needed and choose an appropriate data type for each field. Choose a key field(s) for each table. Then build a relationship diagram, which will resemble your data model. The diagram should fit on the screen and be well organized with all fields visible. (In other words, each data file box should be large enough that no scroll bars are needed.) Add relationships, including referential integrity where appropriate. Captions, validation rules, etc. should not be added at this time. Nor should you add any data. Milestone 4 - Access Queries (80 marks) Create a variety of queries to retrieve information, using the Access database (including data) distributed after Milestone 3. Some of these queries may be useful in creating Forms or Reports in later milestones. 6 Milestone 5 - Access Data Entry and Control (100 marks) Using your database from Milestone 4, the first step is to add control features to the tables (e.g., field captions, field sizes, integrity checks, etc.). Then you can create Access Forms, primarily designed for data entry. For example, systems must often be able to add new customers, modify data for existing ones (e.g., a new address), and record basic transactions. In this milestone, you will create basic but well-designed data entry forms that should allow record additions and modifications. Additional features will be added in Milestone 7. Milestone 6 - Access Reports (100 marks) Every organization requires a variety of printed output from databases. In Access, printed output is generally done using “Reports” while screen output is done using “Forms.” Thus, a Customer Receipt is an Access Report, even though we do not usually think of them as reports in the normal sense of the term. The purpose of the reports will be specified, but you will need to determine what data should be included and how it should be organized. Milestone 7 - Final System (150 marks) Each team will submit their final product, a working, documented system that provides at least the key functionality required. Attach a cover memo to explain what you have done and what features (if any) you have been unable to include. Be honest - if you hide problems that are discovered the penalty will be much greater. (That's true both for this assignment and in business generally.) There are four key parts to this milestone. First, you need to resubmit some material from earlier milestones. All forms (Milestone 5) and reports (Milestone 6) will be graded again. However, different aspects may be tested this time. A project could get a lower or higher score, even if nothing was changed. Second, you need to add a Switchboard Form and navigation buttons that allow users to move among the forms easily. The system may also require some prototype (not functional) security provisions, such as a password. Third, your system should provide some documentation to help someone use and maintain the system. While each Form should contain built in help, the time required to do this would be prohibitive. Instead, only one Form (which will be specified later) will require Help. Fourth, you may wish to add some extra features. Be sure to highlight these in your cover memo, or they might be missed. Keep in mind the fundamental goal of this course. The highest grades will go to the teams providing the best designed, documented and working systems that support the organization. 7 TENTATIVE CLASS SCHEDULE Dates Topic Readings Due Jan 6 Jan 8 Introduction to Database Management System Development Life Cycle Introduction to Database Design and Data Models M1,2 P1 M3, Jpp.59-69 Jan 13 Data Models – Identifiers and Simple Relationships Jan 15 Data Models – Weak Entities and Relationships Jan 20 Data Models – Special Cases Jan 22 Data Models – Review Milestone 1 Jan 27 Building a Relational Database M6 Jan 29 Normalization M6 pp.232-241 MAppB, P3, Jpp.69-85 MS 2 Feb 3 Access Tables and Relationships J5-7 MS 2 Rev Feb 5 Access Queries P4, J9-11,13 Feb 10 User Interface Design P6 pp.190-216 Feb 12 Creating Access Forms J14-15 Feb 17 Reading Week Feb 24 Report Design P6 pp.219-227 Feb 26 Creating Access Reports J16-17 Mar 3 Midterm Mar 5 Creating Access Charts and Graphs Mar 10 Midterm Review Mar 12 Documentation, Splitting Databases Mar 17 Improving Forms Mar 19 Access Macros/Visual Basic for Applications P5 Mar 24 Data Integrity Mar 26 Switchboards, Linking Forms and Reports P10 p363-374 M13 p493-505 P8, J2 p107-8 Mar 31 Apr 2 SQL and VBA Creating Applications P7, M9, J27-29 P5 Apr 7 Database Administration M8, P11 Apr 9 System Review MS 0 MS 1 MS 3 MS 4 J18 J19 MS 5 MS 6 MS 7 Mn refers to chapters in McFadden, Hoffer and Prescott, Modern Database Management Pn refers to chapters in Post, Database Management Systems Jn refers to chapters in Jennings, Using Microsoft Access 2002 Special Edition 8