3. 3
The SetFocus SQL Master’s Program is an intensive,
hands-on, project oriented program where participants
gain knowledge and valuable experience putting the
SQL Server 2008 R2 skill set to use in a simulated work
environment.
This nine week program included six weeks of lecture,
two separate individual project weeks as well as a
team project during the final week of the course.
The curriculum covered Relational Database Design,
Query development using MS SQL Server 2008 R2 T-SQL,
Implementing Databases in MS SQL Server 2008 R2,
Advanced T-SQL Querying, Integration Services (SSIS)
and Reporting Services (SSRS).
4. 4
This textbook was covered
in its entirety during one of
the lecture weeks. In
addition to covering the
chapter exercises during
labs, we completed
‘homework’ assignments of
which some samples follow.
An entire week was also
dedicated to Advanced T-
SQL subjects utilizing
proprietary training material
provided by SetFocus
5. 5
T-SQL Fundamentals Example 1
Write and execute a query to retrieve the member’s full name and member_no
from the member table and the isbn and log_date values from the reservation
table for member numbers 250, 341, and 1675. Order the results by member_no
and log_date. You should show information for these members, even if they have
no books on reserve.
6. 6
T-SQL Fundamentals Example 2
Using joins and a UNION clause, write a query to retrieve a single list of members both adult
and juvenile, who have reserved ISBN number 288. The list must include the isbn, title,
member_no and name (i.e.: Smith, John) of each member who has the reservation.
Additionally, the list should indicate whether the member is an adult or a juvenile. Output
the records by name.
7. 7
T-SQL Fundamentals Example 3
Write the preceding statement again using a CASE statement. You cannot JOIN to the
adult or juvenile tables.
8. 8
The Expired Cards page is a report on credit cards that have expired and credit cards that will
expire soon. Output the customer ID, customer name and expiry date of the card for records
with an expiry date prior to 30 days after the current date (today). Display the records by expiry
date in descending order. Alias as: ‘ID’, ‘Name’, ‘Expires’.
T-SQL Fundamentals Example 4
9. 9
T-SQL Fundamentals Example 5
The Large Orders page is a report displaying the largest number of items sold per order. Display
the Order ID, Customer ID and Name along with the total number of items they ordered.
Display the record with the largest quantity first. Alias as: “Order ID’, ‘Cust ID’, ‘Customer’ and
‘# of items’.
10. 10
Advanced T-SQL
The Advanced T-SQL portion of the curriculum was a one week course utilizing
SetFocus proprietary training materials. Among the objectives of this week were:
Expose students to a variety of different database challenges that they may
face in a production environment.
Present new SQL 2006/2008 features not covered in other segments of the
class.
Provide lab time to write T-SQL queries in response to specific problems.
Provide students with a library of over 100+ T-SQL samples that can be reused in
production environments.
Several examples of items covered during this week are provided in the next
three slides.
11. 11
Advanced T-SQL Class Example 1
Write a query that will take the input variables of @EmployeeID and @RateEffectiveDate and
return the rate for an effective date.
12. 12
Advanced T-SQL Class Example 2
Use nested CTEs to summarize purchase orders and sales orders. Join the two CTEs and Rank
the results in descending POTotal order.
13. 13
Advanced T-SQL Class Example 3
The example below is one of several recursive CTEs that were studied.
14. 14
The Piggy Bank
Project was the
first major project
that we
completed during
the course.
This was a one
week project
where each
student worked
individually from a
common
specification.
Piggy Bank Project
15. 15
Students were provided with a relational database and a six page
specificatiion describing information regarding Customers, Accounts
and Transaction Types
Additional requirements included Triggers, Views, ATM Procedures,
Statement Procedures, Search Engine Queries, Test Requirements and
Test Script Requirements.
My project deliverable included a set of Stored Procedures to
implement the required functionality for the bank as well as 4 views, 1
DDL Trigger, 2 DML Triggers, and 94 individual test scripts to test the
delivered functionality.
Piggy Bank Project
29. The company Mini-Adventure Works (Mini-AD) is interested
in taking historical spreadsheet (CSV) data for their list of
products, vendors, and purchase order history, and loading
the data into a SQL Server database.
Mini-AD wants the load process to work on a go-forward
basis, so that new/modified products/vendors/orders can
be loaded in SQL Server as well.
Mini-AD’s load process for orders should validate that any
incoming orders with product numbers or vendor numbers
that do not match an existing product/vendor number
should NOT be written to the SQL Server database. Instead,
this data should be written to an exception file
and emailed.
Mini-AD also wishes to build two reports : one for top vendor
and product sales, and the second for sales by vendor and
ship method across years.
29
Project Specifications
36. 36
Project Team:
Jessica Herndon
Martin Johnson
Dennis Schmid
In addition to completing technical tasks related to this assignment
the team was required to develop a management presentation
describing all project deliverables.
Blockflix – Team Project
37. Blockflix is a new and upcoming Movie rental company.
They have opened a few stores nationwide and are in the process
of creating a centralized database for tracking inventory, sales,
customers, memberships.
They have purchased SQL Server 2008 and need a new database
created.
The database will be used to track inventory of movies, customers
and their membership types, and payments by customers.
A new website will be created that uses the database to allow
customers to rent movies online. This Web site requires the
database to be completely functional. All access to the database
must be restricted through stored procedures.
37
Project Specifications
38. 38
Team Deliverables
Design a database to support central, store and kiosk locations
Populate the database with data sufficient to support testing of
all developed processes
Develop Stored Procedures for all processing and to support all
reports
Develop SSIS package to support the processing of movie inventory
data as it is pushed to various BlockFlix locations.
Develop sample reports in SSRS
Present results to management
47. 47
XML file used to support the addition
of movie information to inventory
48. 48
Four SSRS Reports were created per spec
One report is shown below as rendered in SSRS as well as in PDF format
49. 49
About me
In 2008 I moved to Suwanee, GA. with my wife and three children
after falling in love with the area during a family visit two years earlier.
My only regret is that we did not do this sooner!
I have made a living in the Information Technology field
throughout my career in both technical and management roles
although my greatest job satisfaction has come from coding solutions
to problems presented to my team for review.
I have worked principally in the fields of database administration,
system performance management and capacity planning.
As a recent graduate of the SetFocus SQL Master’s program I am
seeking an opportunity to apply these skills in a SQL Server environment.