IS 475/675 - Database Design and Implementation
University of Nevada, Reno: Fall Semester 2009
Last Updated 11/18/2009

     

Course Objectives

The purpose of this course is to enhance your knowledge of database design, creation, and implementation. This course combines conceptual knowledge of database management systems (DBMS) in business with practical, hands-on skills using Microsoft's SQL Server DBMS.

At the end of this course you will know or be able to do the following:

  1. Design a database that is stable and understand why your design is stable. You will use the normalization process to facilitate database design.
  2. Use entity-relationship diagrams (ERD's) to depict the design of a database. You should understand how data models such as ERD's are used to communicate design concepts with both technical and non-technical personnel.
  3. Implement a database via SQL using Microsoft's SQL Server DBMS with structured query language (SQL) to create, update, and access data in a database.
  4. Understand the objectives and design goals of a transaction database versus a data warehouse.
  5. Understand the general components of a database management system.
  6. Know what activities are the responsibility of a database administrator.

There are many topics related to DBMS that we will not discuss in this class. For example, at the end of this course, you will NOT be able to:

Texts    

Hoffer, Jeffrey A., et al. Modern Database Management.
Either of these editions will work for this class:

Syverson, Bryan; Murach, Joel. SQL Server 2008 for Developers, Mike Murach & Associates, 2008, ISBN: 978-1-890774-51-6.

Assistance    

I expect that you will try and learn the material from class sessions and the textbooks. However, if you need help with the class material, please contact me during my office hours in AB401K:

Tuesday and Thursday: 9:30-11AM or 5:30-6:30PM.

Also feel free to set up a meeting with me via email.

You may also contact my graduate assistant (Tim Reed) for help with this class. Here are the days/times he is available to help you in AB320:

MW: 4:00-6:00PM

Software    

We will use Microsoft SQL Server database management system (DBMS) to learn SQL, implement databases, and practice some basic database administration tasks. SQL Server 2008 is available in the COBA computing labs and from home using remote desktop connection.

SQL Server provides a number of tools that make it easier to manage the database environment. I prefer that you minimize the use of these tools. The purpose of using SQL as our only vehicle for communicating with the DBMS and avoiding "easy" tools is: (1) to learn SQL; (2) to better understand the commands that are frequently "hidden" by the use of wizards; and (3) to learn the basic similarities of all relational database management systems.

We will use Microsoft Visio to create and maintain data models. Visio is available in the COBA computer labs and as a free download for use at home.

Prerequisites    

The prerequisites for this course are IS 101, 201, 301, 350 (Intro. to Computer Systems Development), and 365 (Business Process Management)). The presentation of these prerequisites means you:

If you do not have the skills listed above, or you have not taken the required prerequisites for this class, please drop this class and enroll in the prerequisites.

Grading    

Your grade will be determined using the following point distribution for the course deliverables:

150 Points ERD Assignments

15%

225 Points SQL Assignments

 22.5%

225 Points Design & Implementation Project

22.5%

100 Points First Exam

10%

150 Points  Second Exam

 15%

150 Points Third Exam

15%

Your final grade for the class will be based on the percentage of total points you have earned for all work completed during the semester. The final grade will not be rounded. The grade value assigned to each given percentage range is shown below:

A 91% and Above C 71% - 76%
A- 90% C- 70%
B+ 87% - 89% D+ 67% - 69%
B 81% - 86% D 61% - 66%
B- 80% D- 60%
C+ 77% - 79% F Below 60%

There are two primary graded components of the course: Work that you do outside of class (assignments and project) and exams. The work you do outside of class may be done individually, or part of a team. The exams are done individually in class. These graded components require you to use skills and knowledge learned in your previous classes as well as skills and knowledge from this class. These components involve designing, building, and implementing databases to satisfy business application problems. You may have to learn about a specific business application domain, such as some aspect of accounting, to be able to complete the assignments and project.

The SQL and ERD assignments help you learn the basics about how to design small databases and program SQL. You may work alone or part of a team. No more than three people are allowed to work together as a team on these assignments. If you work as part of a team, the team turns in a single set of deliverables for the team.

Design and Implementation Project help you learn about database design, ERD modeling, physical database design and the implementation of a relatively extensive database. This project requires you to create a logical design, produce a physical design for the database, create a prototype of the database using SQL Server, create a robust test dataset and write SQL queries. To receive ongoing feedback, you will submit it for grading in three separate parts. You may work as part of a team for the project. Teams may have a maximum of 3 people. I recommend that you work in a team, but you may work alone on the project, if you prefer. If you work as part of a team, the team turns in a single set of deliverables for the team.

There will be three exams given during the semester. The exams cover material gathered from your readings, projects, and class lectures. The first exam emphasizes database modeling, the second exam focuses on the SQL programming language, while the third exam is comprehensive and covers all the material in the class.

The exams are composed of multiple choice, programming, and database design questions. You may bring your SQL book to all exams. You may bring a page of notes (8.5" x 11") to the exams. It is OK to write on both sides of the page. It is OK to type the notes. It is OK to copy material and include it on the notes. It is OK to use a small font size. It is OK to hand write the notes. It is OK to include absolutely anything you want to include on your notes.

Course Policies    

Learning is a collaborative effort.

The approach used for this course takes the view that the instructor and students work in a collaborative effort.

It is my responsibility to: Establish a framework and put together the materials we use to learn about this subject; create challenging projects; provide knowledge about the topic; present the material in a way understandable to students; provide guidance for database design and implementation activities; and give timely feedback concerning my opinion of your course deliverables.

It is your responsibility to work within the course framework and learn how to design and implement databases. I expect you to ask questions and communicate with me and your fellow class members via email or in the classroom. I expect you to read your texts, complete the projects, and arrive in class prepared to learn.

If you feel you are not learning the material, then it is up to you to take steps to change that situation. I am available for assistance, but it is up to you to make the overture and ask for help. Please do not struggle for hours with an issue that could be answered quickly by myself or by another member of the class. Send email to the class, ask questions in class, visit me during my office hours, make an appointment to see me. Take an active role in your education.

In summary, we are both active participants in the learning process.

You are responsible for completing all assignments on time.   

Assignments are due during the beginning ten minutes of class on the assigned day. No late assignments will be accepted without prior approval from the instructor. Do not skip class and turn in your assignment after class; I will not accept the assignment.

I realize that emergencies do happen and you may be unable to turn in an assignment on time, or take an exam on the scheduled day. Emergencies, however, are situations that are out of your control such as illness, death, or an accident. Please inform me as soon as possible when an emergency occurs. I have an answering machine in my office for messages, and email is usually available 24 hours a day, 7 days a week. I do not consider a scheduling conflict, such as other course work or job-related work, to be an emergency. I am happy to accept assignments early, or allow you to take an exam on an earlier date, if that will help resolve a scheduling conflict. I am not happy to delay an exam or an assignment because of a personal scheduling conflict.

In addition to the dates your assignments are due, there are a few other important university-related dates you should note:

Sep. 02, 2009 Last day to add a class. Last day to change from audit to credit. Last day to get a refund if dropping an individual class.
Oct. 16, 2009 Last day to drop a class. (No refund, of course.) Last date to change from credit to audit.

The administration of this university has made it very difficult to withdraw from a course after the last date to drop a class as shown above. Note this date on your calendar and decide whether or not you wish to remain in this class by that date.

 

Give yourself enough time to learn the course material.   

Most of us "do more than one thing" in our lives. For example, we go to school, are employed, have relationships, entertain ourselves, take care of others, etc. Frequently, it is difficult to balance the demands of all our required (and not required…) activities. Since employment and education are two time-consuming activities for most students in the college, COBA faculty recommend the following maximum numbers of credits and work hours in order to effectively balance education and employment:

 Max. # of Credits

 Max. Work Hours
 15 Credits 10 Hours
 12 Credits 20 Hours
 9 Credits 30 Hours
6 Credits  40 Hours

 

A grade of "incomplete" is given only in emergencies.   

The following paragraph is repeated from the UNR 2009-2010 general catalog:

An "I" is given when a student is performing passing work, but for some uncontrollable reason is unable to complete the course requirements during the instructional period. Non-attendance, poor performance or requests to repeat the course are unacceptable reasons for issuance of the "I" mark.

You are responsible for creating a "team" rather than just working in a group.   

It is your choice whether you work alone or part of a team for the assignments and projects in this class. You may choose your own team members. All team members receive the same grade for deliverables; I do not adjust the grade if a team member performs very well and other team members simply do nothing. Thus, you are responsible for creating an effective "team" environment. This includes selecting a team leader, knowing each other's goals for work in the class, developing work priorities, producing individual milestones, having a backup plan, and controlling team behavior.

If necessary, you can "fire" a teammate and/or "hire" a new teammate. To "fire" a teammate, it must happen at the start of a new assignment cycle; you cannot "fire" a teammate the day before an assignment is due. You must send the person an email noting that they have been removed from the team, and cc: me as well as the rest of the team. If you "hire" a new teammate, you must follow the same process: at the start of a new assignment cycle send the person an email and cc: me as well as each member of the rest of the team. I recommend that you avoid choosing teammates purely because they are friends. Instead, choose teammates who have similar goals for this class (grade, level of learning), who can meet with you either face-to-face or virtually, who are reliable, and who have skills that complement your own.

Being polite is a survival skill.   

Civilized people refer to the rules of correct behavior as "being polite." The rules of correct behavior can differ depending upon the people and the situation. I recommend that you learn what it takes to "be polite" in any group of people with which you interact. Some of the rules of correct behavior for this class are:

Don't cheat. Cheating includes plagiarism, fraud and other forms of academic dishonesty. Examples of cheating include: If you give your work to another student to copy; if you give your work to another student to reference, and that student turns in the work as his/her own; if you take the work of another student and turn it in as your own; if you use the work of a student who did the same (or a similar) project a prior semester and turn it in as your own; and/or if you work with another person outside your group and you both turn in the same results. These examples are not all encompassing, so try and avoid even the look of impropriety with your assignments. Cheating will result in an "F" for an assignment, or failure in the class, depending on the infraction. All incidences of cheating will be reported to the Office of Student Judicial Affairs

Don't chat. If you have a question, or want to present your opinion about an issue under scrutiny, say it loud enough for the class to hear.

Don't wander in and out of class. Don't leave during a class session unless you really need to leave. I assume that if you really need to leave class that it is not a temporary situation. For example, if you have an appointment that you absolutely MUST go to and need to leave class early, I will understand. I also understand that you might become ill during a class and have to leave. What I don't understand is when you constantly walk in and out of class.

Be lively. I think database topics are exciting and hope you will, too. If you stay awake, ask questions and answer my questions chances are you will learn more in the class. It is impolite to fall asleep in class.

Don't be late. Class meeting times are relatively short - we have 2.5 hours a week for 14 weeks to review all required material. Please be on time for class so that we can make full use of our time without interruptions.

Tell me when you are going to leave early.
If you must leave a class early, and you can anticipate that need in advance, please tell me when you will be leaving.

Don't eat large and/or noisy food. Please don't bring an entire meal to eat during class, but drinks and small quantities of quiet snacks are OK.

Manage your devices.
Please make sure that all devices capable of making sounds are silent. Don't answer a cell phone during class. If you absolutely MUST answer the phone (example: your spouse is giving birth…), then take the call outside. Keep texting to a minimum. If you use a computer during class, please use it for class-related work. Don't surf, do Facebook, watch movies, watch football, or play games (etc., etc., etc...).

Don't complain about your grade in class.
I am happy to discuss any of your grades received on any of your assignments at any time during my office hours. You can also make an appointment, call me, or send email to discuss a grade. I prefer not to take the small amount of time allotted to the class as a whole to discuss individual grades, or to make appointments to discuss individual grades. Talk to me about it outside of class.

You are responsible for knowing material covered in class.   

I will be lecturing about material that is not in your text and I expect you to know this material for your exams. Please do not ask me whether you missed anything "important" when you miss a class. I believe that what we do in class is important, and I consider the person who asks this question to be rude (impolite). If you miss a class, it is up to you to find a classmate who will provide you with notes of the class material.

Course Schedule    

Date

Discussion Topic

Related Text

Assignment Due
08-25 Introduction to Database Management Systems (DBMS) and database design DB:Chapters 1, 2 na
08-27 Introduction to Database Design, the Relational Model, and ERDs DB: Chapter 2
SQL: Chapter 1

Database Design & Relational Model Presentation
Sign up for the class email listserv
09-01 Database Design - ERDs DB: Appendix A, Chapter 3
SQL: Chapter 9
Declare team via email
09-03

Database Design - ERDs

Microsoft Visio Demonstration (ERDs only)

DB: Chapters 3, 4 ERD #1: 15%
09-08 Database Design - Developing models

DB: Chapters 3, 4

Database Design - Heuristics

ERD #2: 25%
09-10  Database Design - Developing models 

DB: Chapters 3, 4, new handout

Database Design - Evaluation and Generalization

ERD #3: 25%
09-15  Database Design - Developing models  DB: Chapters 3, 4 prior handouts ERD #4: 35% 
09-17  First Exam 

DB: Chapters 1-4, Appendix A, Handouts 

First Exam FAQ File 

na 
09-22

SQL: Database creation and update

SQL: Introduction to Queries

SQL: Chapters 1, 10

SQL - Table Create and Populate

na
09-24 SQL: Database creation and update practice

SQL: Chapters 2, 10
DB: Chapter 7

Sharing Files on SQL Server

Creating Readable output via MSAccess

In-Class SQL Exercise #1

Meet in Computer Lab: AB208

na
09-29 SQL: All about queries

SQL: Chapters 3, 8
DB: Chapter 7

Introduction to SQL Queries

SQL #1: 15%
10-01 SQL: How to summarize data and introducing really simple sub-queries

SQL: Chapters 5, 8

SQL Aggregate/Group Functions Lab

Meet in Computer Lab: AB208

na
10-06 SQL: Joining tables

SQL: Chapter 4

SQL Join Presentation

SQL #2: 20%
10-08 SQL: Joining tables and more sub-queries

SQL: Chapters 4, 6

SQL Join Lab

SQL Join Lab 1 Answers

Meet in Computer Lab: AB208

na
10-13 SQL: Joining tables and harder sub-queries

SQL: Chapters 4, 6
DB: Chapter 8

SQL Join Lab #2

SQL Join Lab 2 Answers

Meet in Computer Lab: AB208

na
10-15  SQL: Introduction to views and Complex queries 

SQL: Chapter 12
DB: Chapter 8

SQL View Presentation

Meet in Computer Lab: AB208

SQL #3: 30% 
10-20  Complex queries  SQL: Chapter 12  na  
10-22 SQL: Practice for Exam SQL: Chapters 3-8, 12
DB: Chapters 7, 8
na 
10-27 Second Exam

DB: Chapters 1-2, 7-8
SQL: Chapters 1-10, 12

Second Exam FAQ File

na 
10-29 Database design - normalization

DB: Chapter 5

Normalization Presentation

Design Exercise 1

SQL #4: 35%
11-03 Database design - normalization DB: Chapter 5
SQL: Chapter 9
na 
11-05 Database design - normalization

DB: Chapter 5
SQL: Chapter 9

Design Exercise 2

na
11-10 Database design - normalization DB: Chapter 5
SQL: Chapter 9
na 
11-12 Developing a robust test dataset
Physical Database Design

DB: Chapter 6
Appendix C

Test Dataset and Physical Design

Design & Imp Project - Part 1
(25% of the total project grade)
11-17 Physical Database Design DB: Chapter 8 na 
11-19 Data Warehousing

DB: Chapter 11

Data Warehouse Presentation

na
11-24 Data Quality and Integration DB9: Chapter 12 na
11-26 Holiday: Thanksgiving na  na 
12-01 Database Administration DB8: Chapter 12
DB9: Chapter 13
na 
12-03  Database Administration DB8: Chapter 12
DB9: Chapter 13
na  
12-08 Review Comprehensive Design and Imp. Project - Part 2
(75% of the total project grade) 
 
12-10 Third Exam (4:30-6:30PM) Comprehensive na  

Since there are two texts for the class, and one of the texts could be one of two editions, the notation "DB:" is used to mean either edition of Modern Database Management, "DB8:" is used for Modern Database Management Eighth Edition, "DB9:" is used for Modern Database Management Ninth Edition, and "SQL:" is used to denote SQL Server 2008 for Developers. This schedule is subject to change based on the progression of the class.

Copyright, Dana Edberg, 2009. All materials available on this website are included in the copyright. Do not copy, use or distribute the materials on this website without the written permission of the author.