Dennis Schmid Portfolio

Post on 20-Jun-2015

325 views 2 download

Tags:

description

SQL Server 2008 R2 Portfolio

Transcript of Dennis Schmid Portfolio

Dennis F. Schmid

SQL Server 2008 R2 Portfolio(770) 889-7700

1

Email: mitschmid@hotmail.com

http://www.linkedin.com/in/dennisschmid

Table of Contents

2

Introduction

T-SQL Curriculum

Piggy Bank Project

Mini Adventure Works Project

BlockFlix Project

Introduction

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).

T-SQL Curriculum

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

T-SQL Fundamentals Example 1Write 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

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

T-SQL Fundamentals Example 3

Write the preceding statement again using a CASE statement. You cannot JOIN to the adult or juvenile tables.

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

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

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

Advanced T-SQL Class Example 1Write a query that will take the input variables of @EmployeeID and @RateEffectiveDate and return the rate for an effective date.

12

Advanced T-SQL Class Example 2Use nested CTEs to summarize purchase orders and sales orders. Join the two CTEs and Rank the results in descending POTotal order.

13

Advanced T-SQL Class Example 3

The example below is one of several recursive CTEs that were studied.

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

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

Entity Relationship Diagram

16

Stored Procedures and Views

17

Withdrawal Transaction

18

Withdrawal Transaction

19

Begin Try / End Try Logic is used

Withdrawal Transaction

20

Error Processing

Withdrawal Transaction

21

Withdrawal Transaction

22

Withdrawal Transaction

23

Withdrawal Transaction

24

Withdrawal Transaction

25

Process Deposit Transaction

26

ATM Get Balance

27

Mini-Adventure Works Project

28

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

Entity Relationship Diagram

30

SSIS Control Flow for Import Orders

31

SSIS Data Flow for Header Record

32

SSIS Data Flow for Detail Record

33

SSRS Report – Vendor Sales By Year

34

Processing Options and Subscriptions

35

36

Project Team:

Jessica Herndon

Martin Johnson

Dennis Schmid

In addition to completing technical tasks related to this assignmentthe team was required to develop a management presentation describing all project deliverables.

Blockflix – Team Project

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

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

39

Database Design

40

Database Design

41

Database Design

42

Database Design

43

Database Design

44

SSIS Package Control Flow

45

SSIS Data Flow to Load Movie/Talent data

46

SSIS Data Flows to Load Movie/Talent data

47

XML file used to support the addition of movie information to inventory

48

Four SSRS Reports were created per spec

One report is shown below as rendered in SSRS as well as in PDF format

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 rolesalthough my greatest job satisfaction has come from coding solutionsto 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.