1. Trang chủ
  2. » Công Nghệ Thông Tin

Instructor Inputs - Session 9 pps

10 273 1
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 10
Dung lượng 493,96 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

BrandID BrandName B01 Lee B02 Nike B03 Reebok Solution You need to execute the following insert statements to create the ProductBrand table and store three records in the ProductBrand

Trang 1

Instructor Inputs S e

Trang 3

¤NIIT Instructor Inputs 9.3

This session includes exercises of Chapter 5 and Chapter 6

Exercise 1

Insert the following data in the ProductBrand table of the AdventureWorks database

BrandID BrandName

B01 Lee B02 Nike B03 Reebok

Solution

You need to execute the following insert statements to create the ProductBrand table and

store three records in the ProductBrand table

Create Table ProductBrand

(

BrandID varchar(4),

BrandName varchar(20)

)

INSERT INTO ProductBrand VALUES (‘B01’, ‘Lee’)

INSERT INTO ProductBrand VALUES (‘B02’, ‘Nike’)

INSERT INTO ProductBrand VALUES (‘B03’, ‘Reebok’)

Exercise 2

AdventureWorks, Inc has set up a new store Insert the following data into the database:

Store Name – Car Store

Sales Person ID – 283

Demographics - <StoreSurvey

XMLns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/StoreSurvey">

Solutions to Exercises

Chapter 5

Trang 4

Tip

<AnnualSales>350000</AnnualSales>

<AnnualRevenue>35000</AnnualRevenue>

<BankName>International Bank</BankName>

<BusinessType>BM</BusinessType>

<YearOpened>1980</YearOpened>

<Specialty>Road</Specialty>

<SquareFeet>7500</SquareFeet>

<Brands>AW</Brands>

<Internet>T1</Internet>

<NumberEmployees>7</NumberEmployees>

</StoreSurvey>

A store in AdventureWorks is treated like a customer Therefore, you need to first

create a record in the customer table by storing the territory id and specifying the

customer type as 'S' Then you need to add the store details in the Store table

Solution

Generate the customerId for the new store by storing the details in the Customer table as follows:

INSERT INTO Sales.Customer VALUES (7,'S', DEFAULT, DEFAULT)

Store the details of the new store in the Store table as follows:

INSERT INTO Sales.Store VALUES(29484, 'Car store', 285,

'<StoreSurvey

xmlns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/StoreSurvey">

<AnnualSales>350000</AnnualSales>

<AnnualRevenue>35000</AnnualRevenue>

<BankName>International Bank</BankName>

<BusinessType>BM</BusinessType>

<YearOpened>1980</YearOpened>

<Specialty>Road</Specialty>

<SquareFeet>7500</SquareFeet>

<Brands>AW</Brands>

<Internet>T1</Internet>

<NumberEmployees>7</NumberEmployees>

</StoreSurvey>', DEFAULT, DEFAULT)

Trang 5

¤NIIT Instructor Inputs 9.5

Exercise 3

The address of a vendor, Comfort Road Bicycles, has changed You need to update the

following data in the AdventureWorks database

City Atlanta StateProvinceID 17

PostalCode 30308

Solution

To update the data, write the following statements in the Query Editor window of the

Microsoft SQL Server Management Studio window:

Update Purchasing.VendorAddress

set AddressID =

(Select AddressID from Person.Address Where AddressLine1 = '4151

Olivera'

AND City = 'Atlanta')

FROM Purchasing.VendorAddress va, Purchasing.Vendor v

WHERE va.VendorID = v.VendorID

AND v.Name = 'Comfort Road Bicycles'

Exercise 4

Delete all the records from the ProductBrand table Ensure that you do not delete the

table

Solution

To delete all the records, write the following statements in the Query Editor window of

the Microsoft SQL Server Management Studio window:

Truncate table ProductBrand

Trang 6

Exercise 5

The users of AdventureWorks need to publish the details of all the customers and their address on the organizations website To perform this task, you need to retrieve the data in the XML format

Solution

To retrieve the data in XML format, write the following statements in the Query Editor window of the Microsoft SQL Server Management Studio window:

SELECT c.CustomerID, TerritoryID, AccountNumber, CustomerType,

AddressLine1, City,

StateProvinceID, PostalCode

FROM Sales.Customer c JOIN Sales.CustomerAddress ca

ON c.CustomerID = ca.CustomerID

JOIN Person.Address a

ON ca.AddressID = a.AddressID

FOR XML PATH('Customer')

Exercise 6

The management of AdventureWorks require a list displaying the skills of all the

candidates who have applied for a vacancy The details of all the candidates are stored in the XML format in the HumanResources.JobCandidate table

Solution

To generate the list, write the following statement in the Query Editor window of the Microsoft SQL Server Management Studio window:

SELECT JobCandidateID, Resume.value('declare namespace

ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume";

(/ns:Resume/ns:Name/ns:Name.First)[1]','nvarchar(20)') AS [First Name],

Resume.value('declare namespace

ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume";

(/ns:Resume/ns:Name/ns:Name.Last)[1]','nvarchar(20)') AS [Last Name], Resume.value('declare namespace

ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume";

Trang 7

¤NIIT Instructor Inputs 9.7

(/ns:Resume/ns:Skills)[1]','nvarchar(max)') AS [Skills]

FROM HumanResources.JobCandidate

Exercise 7

The production of a bicycle at AdventureWorks involves a number of phases In each

phase, the bicycle is moved to a different work center The details of all the work centers

are stored in the Production.ProductModel table Bicycles of different types go through

different set of work centres, depending on the components that need to be attached The

management wants a list of all the types of bicycles that go through work center 10 How

will you generate this list?

Solution

To generate the list, write the following statement in the Query Editor window of the

Microsoft SQL Server Management Studio window:

WITH

XMLNAMESPACES ('

http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelManuInstructions' AS pd )

SELECT ProductModelID

FROM Production.ProductModel WHERE

Instructions.exist('/pd:root/pd:Location[@LocationID=10]' ) = 1

Exercise 8

There is a change in the production process of the bicycle with the product model id 7

Due to this change, the bicycle will not be going to work centre 10 You need to update

this change in the database How will you perform this task?

Solution

To update the changes, write the following statements in the Query Editor window of

the Microsoft SQL Server Management Studio window:

WITH

XMLNAMESPACES ('

http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelManuInstructions' AS pd )

UPDATE Production.ProductModel SET

Instructions.modify('delete (/pd:root/pd:Location)[1]' )

WHERE ProductModelID = 7

Trang 8

Exercise 1

The SalesOrderDetail and SalesOrderHeader tables store the details of the sales orders To generate a report displaying the sales order id and the total amount of all the products purchased against an order, you are using the following query:

SELECT sd.SalesOrderID, sum(LineTotal) AS [Total Amount]

FROM Sales.SalesOrderDetail sd JOIN Sales.SalesOrderHeader sh

ON sd.SalesOrderID = sh.SalesOrderID

GROUP BY sd.SalesOrderID

The table contains a large amount of data Create an appropriate index to optimize the execution of this query

Solution

To optimize the query performance, you need to create the clustered index on the

SalesOrderID attribute of the table SalesOrderHeader table as this column contains unique and non-null values To solve the problem, you need to execute the following statement:

CREATE NONCLUSTERED INDEX idxSalesOrderID

ON Sales.SalesOrderDetail (SalesOrderID)

Exercise 2

The Store table is often queried The queries are based on the CustomerID attribute and take long time to execute Optimize the execution of the queries In addition, ensure that the CustomerID attribute does not contain duplicate values

Solution

To optimize the execution of the queries, based on the CustomerID attribute of the Store table, you need to create a unique nonclustered index on the CustomerID column To solve the problem, you need to execute the following statement:

CREATE UNIQUE NONCLUSTERED INDEX Idx_CustomerID

ON Sales.Store(CustomerID)

Chapter 6

Trang 9

¤NIIT Instructor Inputs 9.9

Exercise 3

The SalesOrderDetail table is often queried The queries are based on the

SalesOrderDetailID and SalesOrderID attributes The execution of the queries takes a

long time Optimize the execution of the queries

Solution

You need to create the nonclustered index on the SalesOrderDetailID and SalesOrderID

attributes of the SalesOrderDetail table in order to speed up the query execution To solve

the problem, you need to execute the following statement:

CREATE NONCLUSTERED INDEX Idx_SalesOrderId_SalesOrderDetailId

ON Sales.SalesOrderDetail(SalesOrderId, SalesOrderDetailId)

Ngày đăng: 31/07/2014, 15:20

TỪ KHÓA LIÊN QUAN