dennis schmid portfolio

49
Dennis F. Schmid SQL Server 2008 R2 Portfolio (770) 889-7700 1 Email: [email protected] http://www.linkedin.com/in/dennisschmid

Upload: dennis-schmid

Post on 20-Jun-2015

333 views

Category:

Documents


2 download

DESCRIPTION

SQL Server 2008 R2 Portfolio

TRANSCRIPT

Page 1: Dennis Schmid Portfolio

Dennis F. Schmid

SQL Server 2008 R2 Portfolio(770) 889-7700

1

Email: [email protected]

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

Page 2: Dennis Schmid Portfolio

Table of Contents

2

Introduction

T-SQL Curriculum

Piggy Bank Project

Mini Adventure Works Project

BlockFlix Project

Page 3: Dennis Schmid Portfolio

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

Page 4: Dennis Schmid Portfolio

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

Page 5: Dennis Schmid Portfolio

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.

Page 6: Dennis Schmid Portfolio

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.

Page 7: Dennis Schmid Portfolio

7

T-SQL Fundamentals Example 3

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

Page 8: Dennis Schmid Portfolio

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

Page 9: Dennis Schmid Portfolio

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

Page 10: Dennis Schmid Portfolio

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.

Page 11: Dennis Schmid Portfolio

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.

Page 12: Dennis Schmid Portfolio

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.

Page 13: Dennis Schmid Portfolio

13

Advanced T-SQL Class Example 3

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

Page 14: Dennis Schmid Portfolio

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

Page 15: Dennis Schmid Portfolio

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

Page 16: Dennis Schmid Portfolio

Entity Relationship Diagram

16

Page 17: Dennis Schmid Portfolio

Stored Procedures and Views

17

Page 18: Dennis Schmid Portfolio

Withdrawal Transaction

18

Page 19: Dennis Schmid Portfolio

Withdrawal Transaction

19

Begin Try / End Try Logic is used

Page 20: Dennis Schmid Portfolio

Withdrawal Transaction

20

Error Processing

Page 21: Dennis Schmid Portfolio

Withdrawal Transaction

21

Page 22: Dennis Schmid Portfolio

Withdrawal Transaction

22

Page 23: Dennis Schmid Portfolio

Withdrawal Transaction

23

Page 24: Dennis Schmid Portfolio

Withdrawal Transaction

24

Page 25: Dennis Schmid Portfolio

Withdrawal Transaction

25

Page 26: Dennis Schmid Portfolio

Process Deposit Transaction

26

Page 27: Dennis Schmid Portfolio

ATM Get Balance

27

Page 28: Dennis Schmid Portfolio

Mini-Adventure Works Project

28

Page 29: Dennis Schmid Portfolio

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

Page 30: Dennis Schmid Portfolio

Entity Relationship Diagram

30

Page 31: Dennis Schmid Portfolio

SSIS Control Flow for Import Orders

31

Page 32: Dennis Schmid Portfolio

SSIS Data Flow for Header Record

32

Page 33: Dennis Schmid Portfolio

SSIS Data Flow for Detail Record

33

Page 34: Dennis Schmid Portfolio

SSRS Report – Vendor Sales By Year

34

Page 35: Dennis Schmid Portfolio

Processing Options and Subscriptions

35

Page 36: Dennis Schmid Portfolio

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

Page 37: Dennis Schmid Portfolio

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

Page 38: Dennis Schmid Portfolio

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

Page 39: Dennis Schmid Portfolio

39

Database Design

Page 40: Dennis Schmid Portfolio

40

Database Design

Page 41: Dennis Schmid Portfolio

41

Database Design

Page 42: Dennis Schmid Portfolio

42

Database Design

Page 43: Dennis Schmid Portfolio

43

Database Design

Page 44: Dennis Schmid Portfolio

44

SSIS Package Control Flow

Page 45: Dennis Schmid Portfolio

45

SSIS Data Flow to Load Movie/Talent data

Page 46: Dennis Schmid Portfolio

46

SSIS Data Flows to Load Movie/Talent data

Page 47: Dennis Schmid Portfolio

47

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

Page 48: Dennis Schmid Portfolio

48

Four SSRS Reports were created per spec

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

Page 49: Dennis Schmid Portfolio

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.