UNIVERSITY OF LETHBRIDGE FACULTY OF MANAGEMENT Management 3830 - Contemporary Database Applications (Using Access) Term: Spring 2001 Instructor: Brian Dobing, Room E424, 329-2492, brian.dobing@uleth.ca Class Web Page: http://home.uleth.ca/~brian.dobing/3830.htm Class Times: Tuesday, Thursday 8:00 – 9:15 AM, W763 Office Hours: Tuesday, Thursday 9:20 - 10:45 AM, Monday 1:00 – 3:30 PM Other times may be arranged by appointment. ______________________________________________________________________________ Overview Working in teams, 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. Those students who took 2060 during or since the Fall 1998 term have some introduction to Access. Those who took 2060 earlier, or have some other database class that did not use Access, should work through the introductory chapters of the Access text. Starting this year, 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 work with Visual Basic for Applications (VBA). Those with Mgt 3821 (Visual Basic) will have an advantage in learning VBA, but only introductory skills are required. You can build a fairly impressive system in Access without any programming, but those who can write some code usually produce more impressive results. Systems Project This class attempts to simulate real system development conditions, and thus there are several important differences between this class and most others. The systems project has been divided into separate assignments called milestones. The final three milestones are cumulative. You 1 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. 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 computer software. Except for Access, the choice is up to you although Office 2000 is the assumed standard. All pages must have one-inch margins on all sides. All text should be double-spaced, 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.) Printed copies must be submitted when requested; email is not generally acceptable for text or diagrams. However, email will be used to submit your Access database files. Assignments are graded primarily for content, but presentation, spelling and grammar are also important. Note that the emailed databases will generally be due by midnight preceding 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 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. 2 For the first three milestones, solutions will be presented which represent the final product that would normally result after an extensive negotiation between the user and the designers. Some solutions will 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 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 note that we are using Access 2000. You can build a system in an earlier version of Access and convert it to Access 2000 (or build it in Access 2000 and save it in an earlier version). But Access 97 or earlier versions will not read an Access 2000 database. All databases submitted must be in Access 2000 format. You are advised to create frequent backups and retain several versions. A database can become corrupted without providing any warning. Course Web Page: Material will be posted on the course web page: http://home.uleth.ca/~brian.dobing/3830.html 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 4840/4841 textbook, providing a consistent notation and approach. 3 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 2000 Special Edition, Que Books, 1999. This book should be widely available at reasonable discounts. I did not make the book “required” because there are a number of excellent alternatives. If you already have one, you may not need another book 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. Two other Access 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. The "Running" series is designed more for beginners, as is Mastering Access (Sybex). The "Bible" is a bit more advanced, as is the Access 2000 Superguide (ZD Press). Books with “Dummy,” “Idiot,” and similar words in their titles have not been well received in the past and probably will 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 97 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). The built-in help within Access is surprisingly good, once you have learned the basics. There are Wizards, Cue Cards and documentation available. Getting help on specific error messages remains a problem, but books don’t help much there either. Many students have claimed the online help was their major source of information. And it’s free and readily available! 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 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.halfpricecomputerbooks.com/ 4 http://www.pagebytes.com/web_store.cgi http://www.copperfields.com/ http://www.oabooks.com/Welcome.asp http://www.canadacomputerbooks.com/ http://www.chapters.ca http://www.bolen.bc.ca/ http://www.nexuscomputerbooks.com/ (in Calgary) Grading Your final grade will be determined using the following percentages: Project 50 (Each milestone value is shown below) Midterm 20 Final Exam 30 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. 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 54-57 50-53 D+ D D- Although the exam is worth only 40%, this may be misleading. Individual exam marks typically have greater variance than project marks, resulting in greater impact on the final grade. 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 5 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. 6 PROJECT MILESTONES Each milestone is a basic step towards building a database system. Further details on each Milestone will be distributed in class. Milestone 1 – Practice Data Model (30 marks) Create a practice data model for a different organization than you will be working with during the term. Milestone 2 - Data Model (100 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 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 (100 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. 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 data entry forms that should be easy to use and prevent obvious errors. 7 Milestone 6 - Access Reports (100 marks) Every business requires a number of output forms and reports. Some reports can be generated by printing Access forms, but most are best done using Access Reports. 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. Switchboard Forms often include a default date that can then be used by other forms (rather than the system date). This simplifies entry of test data, and also allows users to backdate entries (e.g., process mail received yesterday under yesterday’s date). The system may also require some security provisions, such as a password. Third, your system should provide some documentation to help someone install, use, and maintain the system. Each form should contain built in help, but the time required to do this would be prohibitive. Instead, only one or two forms (which will be specified later) will require help screens. Fourth, you may wish to add some extra features. Be sure to highlight these in your cover memo, or they might be missed. You can create additional forms and reports, or add new features to existing ones. Marks for special features will depend on: the business value of what was done the technical difficulty whether the features were discussed in class or are original to your team how well the special features work 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. 8 TENTATIVE CLASS SCHEDULE Dates Topic Readings Jan 4 Jan 9 Introduction to Database Management System Development Life Cycle Introduction to Database Design and Data Models M1,2 P1 M3 Jan 11 Data Models – Identifiers and Simple Relationships Jan 16 Data Models – Weak Entities and Relationships Jan 18 Data Models – Special Cases Jan 23 Data Models – Review Milestone 1 Jan 25 Building a Relational Database M6 Jan 30 Access Tables and Relationships J2-5 Feb 1 Normalization M6 pp.232-241 MAppB, P3 Feb 6 Access Queries P4, J8-10 Feb 8 User Interface Design P6 pp.190-216 Feb 13 Creating Access Forms J12-13 Feb 15 Midterm Due MS 1 MS 2 MS 3 READING WEEK Feb 27 Physical Database Design M7, P9 Mar 1 Report Design P6 pp.219-227 Mar 6 Creating Access Reports J14-15 Mar 8 Creating Access Charts and Graphs J19 Mar 13 Documentation, Partitioning Databases Mar 15 Linking Forms and Reports Mar 20 Access Macros Mar 22 Data Integrity Mar 27 Switchboards and Menus P8, J2 p66-67, 75-77 P7, J26 Mar 29 Visual Basic for Applications J28 Apr 3 SQL M9, P5, J23 Apr 5 Creating Applications M8, P11 Apr 10 System Review MS 4 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 2000 Special Edition 9