Relational databases pervade the corporate landscape. They store the data which is lifeblood of the modern corporation. The smooth operation of corporate databases is often a critical component of corporate success. This course introduces the concepts necessary to model data for use in relational databases. We will cover how to design a database and store, retrieve and manipulate data in various ways. We will cover both theory and practical skills. There are many DataBase Management System (DBMS) products on the market today. Each one is based on the same underlying theory but may have some practical differences. We will study the general theory and will use the "Microsoft SQL Server" DBMS for practical applications.
We will be using Microsoft SQL Server 2005 Express for in-class work and homework assignments. This software is NOT installed on any of the publicly accessable computers. You can download a free copy of the software from Microsoft's website from the following location: http://msdn2.microsoft.com/en-us/express/aa718378.aspx.
Download the HW assignments from http://yrosenthal.com/pub/murachsql2005/Exercises.doc. You will need a password to access this file. I will tell you the password on the first day of class. You are required to do all of the problems for each chapter as we complete the chapters.
Homeworks must be submitted via the Angel system BEFORE the next class. HW MAY NOT BE SUBMITTED LATE. If you will miss class, you can still submit the HW via Angel. We may or may not review the homework in class. If we do not review a HW in class then I will provide a solution that you can review at home. For most homeworks I will not be strict about your getting all homework problems correct. I want to see that you have attaempted the solution and have posted an answer that shows me that you tried. For these homeworks you will get full credit if you post a reasonable attempt at an answer. You will get no credit if your answer is copied or shows that you didn't even try. There may be some homeworks that I will grade on a point system. I will let you know which ones those will be when they are assigned.
You are permitted up to 3 absences. If you have more than 3 absenses then you MUST have a very good reason for ALL of your absenses or else your grade may suffer.
We will cover some information in class that is not in the book. If you miss a class, make sure to get the notes from someone who was there.
| Date | Topics | Readings (from Murach) |
|---|---|---|
Week 1 |
Intro to relational databases and SQL Server. DBMS architecture: 3 tiered design - clients/appliation servers/DB server. Structure of a relational DB - tables, columns, rows, etc, using management studio. Introduction to SELECT, WHERE, ORDER BY. |
Chaps 1, 2 |
Week 2 |
Details of SELECT statement: string and arithmetic expressions, functions, DISTINCT, TOP, comparison operators, AND, OR, NOT, IN, BETWEEN, LIKE, IS [NOT] NULL, aliases and column numbers. Simple INNER joins to retrieve data from multiple tables. Newer and older JOIN syntax. RIGHT, LEFT and FULL OUTER JOINS, CROSS JOINS. |
Chaps 3, 4 |
Week 3 |
set operations - UNION, EXCEPT, INTERSECT, aggregate functions, GROUP BY, HAVING. Introduction to subqueries, correlated and non-correlated subqueries, subqueries that return 1 column and 1 row/many rows, IN, ALL, ANY, SOME, EXISTS |
end of Chap 4, Chaps 5, 6 |
Week 4 |
INSERT, UPDATE, DELETE, SQL Data Types, CAST, CONVERT, string/numeric/date/other functions |
Chaps 7, 8 |
Week 5 |
TEST #1 - on Murach chapters 1 through 8 (and any other information that we cover) Creating database objects (database, tables, indexes, etc), ALTER, designing a database, normal forms |
Chaps 9, 10, 11, handouts |
Week 6 |
Views - creating views, updatable/non-updatable views, using views to insert/delete records, catalog views (database dictionary), scripts, scalar/table variables, temporary tables, conditional processing, error handling, system functions and session settings, dynamic SQL |
Chaps 12, 13 |
Week 7 |
Stored procedures, user defined functions, triggers |
Chaps 14 |
Week 8 |
More stored procedures, cursors |
Chaps 14, 15 |
Week 9 |
Transactions |
Chaps 16 |
Week 10 |
Database Security |
Chaps 17 |
Week 11 |
Data warehouse technology and management. |
Handouts |
Week 12 |
XML |
Chaps 18 |
Week 13 |
Writing application code to access databases |
Handouts |