MSIS 5643 – Advanced Database Management Systems Fall 2013 Spears School of Business Oklahoma State University Instructor: Dr. Rathindra Sarathy, Professor of Management Science & Information Systems Contact Information: Office: 221 Spears School of Business; Office hours: 3:00 – 4:30 p.m. Tuesdays Email: rathin.sarathy@okstate.edu Phone: 405-744-8646 Course Site: Desire2Learn (Online Classroom): http://oc.okstate.edu Syllabus Attachment: http://academicaffairs.okstate.edu/current-students/46-syllabus-attachment Overview of the Course The effective use of database technology in business and industry has become critical in today’s global, competitive environment. Students completing this class should gain a solid understanding of database concepts, theoretical and applied, and should be prepared to work effectively in the database environments that are so prevalent in today's global business enterprises. They should have a substantive introduction to concepts data warehousing and web-enabled databases. I am attempting to make available to you considerable amounts of information that are reflective of today's database and data warehousing environments. Course Prerequisites You should be a graduate student at OSU. Additionally the ability to use Access, the Microsoft Office database management system, is something that you should have prior to taking this class. It will not be taught in this class. You should have Internet access so that you can login to D2L and the virtual lab at OSU (http://virtuallabs.okstate.edu). We will also be using Visual Studio.Net and SQL Server available via virtual labs. I will also be dealing with some programming (VB.Net) so if you are taking this course as an elective and you are uncomfortable with this you may consider dropping the class till you have satisfied the prerequisites. Course Goals This course introduces concepts and develops skills in database design, implementation and management. In addition students will be exposed to advanced topics such as web-enabled databases and data warehousing. Course Objectives 1) Students should understand today’s relational database practices, approaches and issues 2) Students should understand tools, methodologies, and skills for working successfully with databases in today's global, data-driven business models 3) Student should be able to apply some of these tools and skills through problems and exercises 4) Students will learn about web-enabled databases, and implement this knowledge using ASP.Net 5) Students will participate in a team-based database development project and build a database with a webbased front-end for a real application • • • • • • • • • • • • • • • Program Learning Goal Supported Business knowledge and competency Critical and creative thinking skills Business knowledge and competency Critical and creative thinking skills Technology skills Business knowledge and competency Critical and creative thinking skills Technology skills Critical and creative thinking skills Technology skills Ethical decision-making Business knowledge and competency Critical and creative thinking skills Technology skills Written communication skills Texts and Supplementary Materials Database Systems: A Practical Approach to Design, Implementation, and Management, 5/E, by Thomas Connolly and Carolyn Begg, Fifth Edition; published by Addison-Wesley 2010, ISBN-13: 9780321523068. Companion Web site: http://wps.aw.com/aw_connollyb_database_5/110/28382/7265991.cw/index.html Grading Policy (tentative) Exam I: Exam II: Exam III: Project TOTAL POINTS 100 100 100 100 400 Final grades will be assigned according to the following percentages: A: 90 – 100; B: 80 – 90; C: 70 – 80 D: 60-70 F: < 60 I (very rarely) may have some scaling at the end of the semester. Exams The exams will have problems/questions. There may be matching, multiple choice, fill-in-the-blank and/or short answer sections, and problems to work. (For example, an exam could contain 2 SQL problems, 20 matching questions, and 10 fill-in-the-blank questions.) I will give you some additional guidance as to exam content ahead of time. All exams will be proctored and some or all may be computer-based. Homework Exercises At the end of many of the chapters covered in the Semester Schedule (shown below) a set of questions and/or exercises is provided. Answering and working some of these (the ones relevant to the lectures) will give you a good basis for studying for the question and problem sections of our exams. I will also be providing assignment problems and solutions. I will not be collecting or grading assignments. These assignments help you prepare for the exams, and you are strongly advised to do them. Drops or Withdrawals and Special Accommodations for Students Please see the University Syllabus Attachment at http://academicaffairs.okstate.edu/current-students/46-syllabus-attachment for this information. Make-up Exam Policy Students are expected to take each exam on the date given. If for any reason a student cannot attend an exam, they will need to inform me ahead of time. After I grant permission, they must make arrangements on their own with the university testing center to take the exam. The testing center charges a fee to proctor the exam. MSIS 5643 – Fall 2013 Schedule (Tentative – subject to change) Week Before Aug. 20 Aug 20 Topic Book Chapter Aug 27 Go to http://oc.okstate.edu and, under “Students” in the left frame, choose D2L.This is our class infrastructure for assignments and class slides, etc. Lecture 1: Introduction to Databases, Environment and 1, 2 & 3 Architectures Lecture 2: The Relational Model, Algebra & Calculus 4&5 Sep 03 Lecture 3: SQL Data Manipulation 6 Sep 10 Lecture 4: SQL Data Definition & Advanced SQL 7&8 Sep 17 10 & 11 Sep 24 Lecture 5: Database Design and Fact Finding Techniques EXAM I Oct 01 Lecture 6: Entity-Relationship Models 12 & 13 Oct 08 Lecture 7: Database Normalization 14 & 15 Oct 15 Lecture 8: Conceptual & Logical DB Design 16 & 17 Oct 22 Lecture 9: Building ASP.Net Interfaces Oct 29 EXAM II Nov 05 Lecture 10: Physical Database Design & Security 18, 19 & 20 Nov 12 Lecture 11: Physical Database Design – Transactions 21 Nov 19 Lecture 13: Data Warehousing Dec 03 Lecture 13: Data Warehousing (continued) Dec 10 EXAM III (See University Final Exam Schedule) 32, 33 & 34 Term Project Assignment: Each team is responsible for finding a business or real-world situation for which a database is needed and to build associated user interfaces for data entry, queries and reports. Teams: You may do the term project by yourself or in a team with a minimum of two and a maximum of three people. (If you choose to have a team, you should pick your partner(s) because I don’t assign them.) All team related problems are the teams’ problems. I will not interfere, and don’t expect me to arbitrate. If a team member does not contribute, fire him/her. If you don’t like a team, quit that team and if you cannot find another team, work by yourself. A team member who quits a team or is fired will then be responsible for another version of the same project, or a different project. I will assign one grade for the whole team. Grading: Your grade on this project has three parts: (1) (80 points) The first set of points is assigned to the defined milestones that you need to accomplish. These points are associated with completing the milestones satisfactorily and on time and turning them in to the appropriate drop box in D2L, and not with the product itself. Only one milestone report per team should be submitted in the D2L drop box. Milestone #1 (Project Proposal) #2 (Interview Questions) #3 (Interview Responses) #4 (Conceptual DB Design) #5 (Logical DB Design) #6 (DB Implementation) #7 (Web prototype & Final Documentation) Due Date Sunday Sep 01 Sunday Sep 15 Sunday Sep 29 Sunday Oct 13 Sunday Oct 27 Sunday Nov 17 Sunday Dec 08 80 Points 5 10 10 10 10 15 20 (2) (15 points) The second part is associated with the product itself. That is, these points reflect the success and quality of the final database system and your final report (3) (5 points) The third part is associated with submitting weekly progress reports. For the weekly progress reports, each member of the team will have to submit the report; it can be the same report for all members of the team. The progress report doesn’t have to be long or involved – just tell me what stage you are in, what you have done this week, and how you are doing. The report should be a single Microsoft Word file, it must be cumulative and must contain all the previous weeks’ reports, with the current week’s report first. You will not get credit unless you submit something each week. The cumulative Wordfile must be named: Team#_LastName_firstName.docx. For Example: Team1_Sarathy_Rathin.docx. This progress report should be submitted by everyone, every week, in the respective dropboxes. No late progress reports will be accepted. Please remember: Late assignments will be penalized 25% per day that it is overdue. Milestones & Cumulative Project Documentation: Each milestone output is cumulatively added to your project documentation. That is, each milestone becomes a chapter in your system documentation. So your system document grows with each milestone. Before the due date for each milestone, please turn in the cumulative project documentation into the associated D2L drop box. That is, milestone1 report must be first, followed by milestone 2, 3 etc. So, just add each milestone’s documentation to the end of the previous milestone documentation. There will be only one report per team. The filename must be Team#_Milestone#.docx. Example, Team1_Milestone1.doc Failure to follow documentation rules will result in point deductions. Given the large number of projects, it makes my job very difficult if I have to search through multiple documents, documents that are not in order, or badly organized documents. I will impose penalties if this happens. Milestone #1 (5 points) Due: Sunday Sep 01 Prepare a written project proposal: This should be simple - a page or less - and should say what the company/organization is, who your main contact is, include a statement of the situation or problem, state what you intend to accomplish with your system, and give an idea of the information/output that will be generated by your system. Also, if you plan to work alone, then indicate on the proposal that you are alone. If you choose to be on a team, then organize it, choose a team name, and then include the first and last names of your members. I will go through the proposal and let you know whether it is reasonable or whether you should make some changes. Milestone #2 (10 points) Due: Sunday Sep 15 Prepare a set of interview procedures/questions (Important: carefully read chapter 11 in your book and in particular the DreamHome Case Study in pages 302 – 317) in the book BEFORE YOU DO YOUR INTERVIEWS) . You will actually prepare a longer list of questions than shown there. Set up a set of open-ended and/or short-answer questions to get the information you need (see below). You need to collect enough information to provide the following in Milestone 3. Problems in the existing system Mission Statement and Mission System Boundary Major User Views User requirements for the new system, including: Outputs of the system including output screens, reports and business documents to be produced by the system. This means that you have collected enough information needed for you to write the SQL queries and stored procedures that will eventually produce these outputs The data that needs to be stored in the new system including description of all the major entities, data attributes (their data type, length, precision etc.), the relationships among the entities, the projected number of records, and possible future growth in the number of records Any business constraints that the stored data needs to reflect Data entry requirements (what data will be collected for storing and processing) and what kind of validation needs to be performed. REMEMBER that it is OK to collect all this data over a period of time, so you may check with your client whether you can contact them more than once. Milestone #3 (10 points) Due: Sunday Sep 29 Prepare a document with interview findings: Interview at least one person involved in the business/organization to determine what the needs are and what outputs are generally needed in reports; document the interview findings and responses to the questions you asked (see below). Your documentation should include the following: Responses to your interview questions including person(s) interviewed, data and time of interview Problems in the existing system (document a list of 3 to 5 major problems) Mission Statement, Mission Objectives (document something like Figures 11-8 & 11-9 in Page 303 & 308 of book), System Boundary (document something like Figure 11.10 on Page 309 of book), Cross-reference of user views with the main types of data used by each (document something like Figure 11-11 in Page 310 and Table 11-7 in Page 314) Description of data requirements (document similar to pages A-1 and A-2 in Appendix A) Transaction Requirements (document similar to pages A-3 and A-4 in Appendix A). Copies of any documents that the user is willing to provide– you may want to scan these documents into pdf files Milestone #4 (10 points) Due: Sunday Oct 13 Prepare the Conceptual Database Design: Prepare the conceptual DB design for the company based on needs as found through the interview. Include an EER diagram Include a data dictionary of variable names and information (document similar to Fig 16.4 Page 428). Document the transactions (Update & query transactions) needed to satisfy the data input and output reports requirements of your system. This would be a revised list from Milestone 3 (document similar to pages A-3 and A-4 in Appendix A Validate your EER diagram by mapping these transactions on to your E-R diagram (document similar to Figure 16.9 in Page 435). Milestone #5 (10 points) Due: Sunday Oct 27 Prepare the Logical Database Design: Design the set of normalized tables (document these similar to Figure 17.5 in Page 458). Draw the Global Relation Diagram (document these similar to Figure 17.9 in Page 466). Draw the Relational Schema Diagram, show the functional dependencies and justify why each relation is at least in BCNF. Prepare and document the SQL queries for all the data input and output transaction requirements that you identified in the previous milestone. Milestone #6 (15 points) Due: Sunday Nov 17 Implement the Database Design in MySQL & SQL Server. Implement the tables and relationships in MySQL. Each table should contain at least 5 records. Create stored procedures to create the database tables and relationships in Microsoft SQL Server and to populate each table with 5 records (at least). Execute these stored procedures and test them. Create stored procedures to backup and restore the database. Execute these stored procedures and test them. Prepare a document that contains o the printout of the MySQL tables, o the relationship diagram from MySQL, and o the stored procedures from SQL Server. Milestone #7 (20 points) Due: Sunday Dec 08 Design and construct web prototype of your system in ASP.Net. Then submit final documentation and User Manual. Using Visual Studio, design the web-based system that you can deliver to your client. The web based system will have: A home page that contains links to an administrator page. Access to the administrator page is through a Login page. Any attempt to access the admin web page directly should also cause re-direction back to the log on page. The admin page should permit the administrator to o create/backup/restore the database, add/modify/delete records in any table, o to produce any administrator related reports, and o to search the database. The home page will also have links to pages that let users enter data (all data has to be validated), and produce output reports identified in milestone 3. Prepare a short (but functional) user’s manual for your client (how to access your system; how to input and/or modify data; and what your system can produce and how your user should accomplish it. You might have a “trouble-shooting” section, if that makes sense for your project.). Complete the web prototype of your system in the DBMS that your client can use (the system should be functional on a set of test data); The prototype should enable the user to enter validated data into the database tables, maintain the database through the administrator page, and produce the important documents and reports required by the client. Create two appendices to your cumulative project documentation, one containing the User Manual and the other containing Screenshots of your web prototype. Deliver the prototype (with the interface) and the User’s Manual to the person(s) you interviewed. (If the person wants to implement and use your database at a later time, they should be able to hire someone to input the data and have your system up and running); Ask the person in the company/situation you work with send me an e-mail message to rathin.sarathy@okstate.edu or a memo on company letterhead indicating that you delivered them the system you developed.