Code SQL BatchFunctionProcedure

20 1.7K 0
Code SQL BatchFunctionProcedure

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Module 1.Tìm hiểu Cơ sở dữ liệu AdventureWork2008 Tạo và quản trị cơ sở dữ liệu – Database file – File groupMô tả CSDL AdventureWork2008: Gồm 6 lược đồ•Dbo•Humanresource•Person•Production•Purchasing•Sales

Module Tìm hiểu Cơ sở liệu AdventureWork2008 - Tạo quản trị sở liệu – Database file – File group Mục tiêu: - Tìm hiểu sở liệu AdventureWork2008 Tạo quản trị sở liệu Database Tạo quản lý Table (Bảng liệu) Tạo lược đồ quan hệ (Relationship Diagram) Tạo, sửa, xóa áp dụng kiểu liệu SQL Server 2008 Biết số thủ tục trợ giúp database Datatype Xây dựng ràng buộc (constraint) cho bảng Thêm, sửa, xóa truy vấn liệu Mô tả CSDL AdventureWork2008: Gồm lược đồ • • • • • • Dbo Humanresource Person Production Purchasing Sales AdventureWorks sở liệu mẫu tạo để sử dụng giảng dạy phiên Microsoft SQL Server AdventureWorks sở liệu quản lý bán hàng công ty đa quốc gia sản xuất bán mặt hàng kim loại xe đạp thể thao đến thị trường Bắc Mỹ, châu Âu châu Á Cơ sở hoạt động nằm Bothell, Washington, nhân viên họ đội bán hàng khu vực bố trí khắp sở thị trường họ Công ty tìm kiếm để mở rộng thị phần cách nhắm đến khách hàng tốt họ, mở rộng sản phẩm sẵn có thông qua trang web bên Tổ chức ý nghĩa lược đồ CSDL Schema Contains objects related to Examples HumanResources Employees of Adventure Works Employee Table Cycles Department Table Person Names and addresses of Contact Table individual customers, vendors, Address Table and employees StateProvince Table Production Products manufactured and sold BillOfMaterials Table by Adventure Works Cycles Product Table WorkOrder Table Purchasing Vendors from who parts and PurchaseOrderDetail Table products are purchased PurchaseOrderHeader Table Vendor Table Sales Customers and sales-related Customer Table data SalesOrderDetail Table SalesOrderHeader Table I Thực thao tác sở liệu AdventureWorks2008 Tạo diagram gồm bảng liên quan đến Customer Product hình trang sau SalesPerson (Sales) BusinessEntityID TerritoryID SalesQuota Bonus CommissionPct SalesYTD SalesLastYear rowguid ModifiedDate ProductCategory (Production) ProductCategor SalesTerritory (Sales) Name TerritoryID rowguid Name ModifiedDate CountryRegionCode [Group] SalesYTD SalesLastYear CostYTD CostLastYear ProductSubcategory (Production) rowguid ProductSubcategoryID ModifiedDate ProductCategoryID Name rowguid ModifiedDate Store (Sales) Customer (Sales) BusinessEntityID StoreID Name TerritoryID SalesPersonID AccountNumber Demographics rowguid rowguid ModifiedDate Product (Production) ModifiedDate WeightUnitMeasureCode Weight DaysToManufacture ProductLine StartDate Style BusinessEntity (Person) EndDate ProductSubcategoryID BusinessEntityID ProductModelID rowguid SellStartDate ModifiedDate SellEndDate DiscontinuedDate rowguid ProductVendor (Purchasing) SalesOrderHeader (Sales) SalesOrderID RevisionNumber OrderDate DueDate ShipDate Status OnlineOrderFlag SalesOrderNumber ProductID Vendor (Purchasing) BusinessEntityID StartDate AverageLeadTime AccountNumber EndDate StandardPrice Name ListPrice LastReceiptCost CreditRating ModifiedDate LastReceiptDate PreferredVendorStatus MinOrderQty ActiveFlag MaxOrderQty PurchasingWebService OnOrderQty ModifiedDate UnitMeasureCode PurchaseO rderNumber ModifiedDate AccountNumber CustomerID SalesPersonID Employee (HumanResources) BusinessEntityID SalesOrderDetail (Sales) NationalIDNumber LoginID SalesOrderID OrganizationNode SalesOrderDetailID CarrierTrackingNumber OrderQty ProductID SpecialOfferID UnitPrice UnitPriceDiscount LineTotal rowguid ModifiedDate PurchaseOrderHeader (Purchasing) PurchaseOrderID RevisionNumber Status EmployeeID VendorID ShipMethodID OrderDate OrganizationLevel JobTitle BirthDate MaritalStatus Gender HireDate SalariedFlag VacationHours ShipDate SubTotal TaxAmt Freight TotalDue ModifiedDate EmployeeDepartmentHistory (HumanResources) BusinessEntityID DepartmentID ShiftID StartDate EndDate PurchaseOrderDetail (Purchasing) PurchaseOrderID PurchaseOrderDetailID DueDate OrderQty ProductID UnitPrice LineTotal ReceivedQty RejectedQty StockedQty ModifiedDate ProductListPriceHistory (Production) ProductID BusinessEntityID ModifiedDate ProductCostHistory (Production) ProductID Class StandardCost ModifiedDate Tìm hiểu field liên kết bảng (Khóa khóa ngoại) [Production].[Product] [Person].[BusinessEntity] [Production].[ProductCostHistory] [Sales].[Store] [Production] [ProductListPriceHistory] [Production].[ProductSubcategory] [Sales].[Customer] [Production].[ProductCategory] [Sales].[SalesPerson] [Purchasing].[PurchaseOrderDetail] [Sales].[SalesOrderHeader] [Purchasing].[PurchaseOrderHeader] [Sales].[SalesOrderDetail] [Purchasing].[Vendor] [HumanResources].[Employee] [Purchasing].[ProductVendor] [HumanResources] [EmployeeDepartmentHistory] [Sales].[SalesTerritory] Sử dụng T-SQL tạo sở liệu tên SmallWorks, với file group tên SWUserData1 SWUserData2, lưu theo đường dẫn T:\Hoten\tentaptin CREATE DATABASE SmallWorks ON PRIMARY ( NAME = 'SmallWorksPrimary', FILENAME = 'T:\Hoten\SmallWorks.mdf', SIZE = 10MB, FILEGROWTH = 20%, MAXSIZE = 50MB ), FILEGROUP SWUserData1 ( NAME = 'SmallWorksData1', FILENAME = 'T:\Hoten\SmallWorksData1.ndf', SIZE = 10MB, FILEGROWTH = 20%, MAXSIZE = 50MB ), FILEGROUP SWUserData2 Dùng SSMS để xem kết quả: Click phải tên CSDL vừa tạo a Chọn filegroups, quan sát kết quả: • Có filegroups, liệt kê tên filegroup • Filegroup mặc định gì? b Chọn file, quan sát có database file? Dùng T-SQL tạo thêm filegroup tên Test1FG1 SmallWorks, sau add thêm file filedat1.ndf filedat2.ndf dung lượng 5MB vào filegroup Test1FG1 Dùng SSMS xem kết Dùng T-SQL tạo thêm một file thứ cấp filedat3.ndf dung lượng 3MB filegroup Test1FG1 Sau sửa kích thước tập tin lên 5MB Dùng SSMS xem kết Dùng T-SQL xóa file thứ cấp filedat3.ndf Dùng SSMS xem kết Xóa filegroup Test1FG1? Bạn có xóa không? Nếu không giải thích? Muốn xóa bạn phải làm gì? Xem lại thuộc tính (properties) CSDL SmallWork cửa sổ thuộc tính properties thủ tục hệ thống sp_helpDb, sp_spaceused, sp_helpfile Quan sát cho biết trang thể thông tin gì? Tại cửa sổ properties CSDL SmallWork, chọn thuộc tính ReadOnly, sau đóng cửa sổ properies Quan sát màu sắc CSDL Dùng lệnh T-SQL gỡ bỏ thuộc tính ReadOnly đặt thuộc tính cho phép nhiều người sử dụng CSDL SmallWork Trong CSDL SmallWork, tạo bảng theo cấu trúc sau: CREATE TABLE dbo.Person ( PersonID int NOT NULL, FirstName varchar(50) NOT NULL, MiddleName varchar(50) NULL, LastName varchar(50) NOT NULL, EmailAddress nvarchar(50) NULL ) ON SWUserData1 -CREATE TABLE dbo.Product ( ProductID int NOT NULL, ProductName varchar(75) NOT NULL, ProductNumber nvarchar(25) NOT NULL, StandardCost money NOT NULL, ListPrice money NOT NULL ) ON SWUserData2 10 Chèn liệu vào bảng trên, lấy liệu từ bảng Person bảng Product AdventureWorks2008 (lưu ý: rõ tên sở liệu lược đồ), dùng lệnh Select Into Dùng lệnh select* để xem liệu bảng Person bảng Product SmallWorks 11 Dùng SSMS, detach sở liệu SmallWorks khỏi phiên làm việc SQL 12 Dùng SSMS, Attach sở liệu SmallWorks vào SQL BÀI TẬP VỀ NHÀ: Yêu cầu sinh viên làm nộp lại cho giáo viên trước buổi học hôm sau I Dùng T-SQL tạo CSDL T:\HoTen\Sales, thông số tùy ý, CSDL Sales thực công việc sau: Tạo các kiểu dữ liệu người dùng sau: Name Schema Data Type Length Storage Allow Nulls Mota IDKH dbo dbo nvarchar char 40 10 50 10 Yes No DT dbo char 12 50 yes Tạo các bảng theo cấu trúc sau: SanPham Attribute name Datatype Masp char(6) TenSp varchar(20) NgayNhap Date DVT char(10) SoLuongTon Int DonGiaNhap money KhachHang MaKH TenKH Diachi Dienthoai IDKH Nvarchar(30) Nvarchar(40) DT HoaDon Attribute name Datatype MaHD Char(10) NgayLap Date NgayGiao Date Makh IDKH DienGiai Mota ChiTietHD Attribute name Datatype MaHD Char(10) Masp Char(6) Soluong int Trong Table HoaDon, sửa cột DienGiai thành nvarchar(100) Thêm vào bảng SanPham cột TyLeHoaHong float Xóa cột NgayNhap bảng SanPham Tạo ràng buộc khóa khóa ngoại cho bảng Thêm vào bảng HoaDon ràng buộc sau: − NgayGiao >= NgayLap − MaHD gồm ký tự, ký tự đầu chữ, ký tự lại số − Giá trị mặc định ban đầu cho cột NgayLap luôn ngày hành Thêm vào bảng Sản phẩm ràng buộc sau: − SoLuongTon nhập từ đến 500 − DonGiaNhap lớn − Giá trị mặc định cho NgayNhap ngày hành − DVT nhập vào giá trị ‘KG’, ‘Thùng’, ‘Hộp’, ‘Cái’ Dùng lệnh T-SQL nhập liệu vào table trên, liệu tùy ý, ý ràng buộc Table 10 Xóa hóa đơn bảng HoaDon Có xóa không? Tại sao? Nếu muốn xóa phải dùng cách nào? 11 Nhập ghi vào bảng ChiTietHD với MaHD = ‘HD999999999’ MaHD=’1234567890’ Có nhập không? Tại sao? 12 Đổi tên CSDL Sales thành BanHang 13 Tạo thư mục T:\QLBH, chép CSDL BanHang vào thư mục này, bạn có chép không? Tại sao? Muốn chép bạn phải làm gì? Sau chép bạn thực Attach vào lại SQL 14 Tạo BackUp cho CSDL BanHang 15 Xóa CSDL BanHang 16 Phục hồi lại CSDL BanHang Module Thao tác liệu I)Mục Câu lệnh SELECT sử dụng hàm thống kê với mệnh đề Group by tiêu: (Phần SV tự Having thực hành nhà, nộp 1) Liệt kê danh sách hóa đơn (SalesOrderID) lặp tháng năm 2008 có làm buổi học tổng tiền >70000, thông tin gồm SalesOrderID, Orderdate, SubTotal, kế tiếp) SubTotal =sum(OrderQty*UnitPrice) − Ôn lại cácsốcấu trúchàng tổng tiền khách hàng thuộc quốc gia 2) Đếm tổng khách câumãlệnh select có (lấy thông tin từ bảng SalesTerritory, Sales.Customer, có vùng US lệnh nhóm, Sales.SalesOrderHeader, Sales.SalesOrderDetail) Thông tin bao gồm TerritoryID, tổng số khách hàng (countofCus), tổng tiền (Subtotal) với Subtotal = SUM(OrderQty*UnitPrice) 3) Tính tổng trị giá hóa đơn với Mã theo dõi giao hàng (CarrierTrackingNumber) có ký tự đầu 4BD, thông tin bao gồm SalesOrderID, CarrierTrackingNumber, SubTotal=sum(OrderQty*UnitPrice) 4) Liệt kê sản phẩm (product) có đơn giá (unitPrice)5, thông tin gồm ProductID, name, AverageofQty 5) Liệt kê công việc (JobTitle) có tổng số nhân viên >20 người, thông tin gồm JobTitle, countofPerson=count(*) 6) Tính tổng số lượng tổng trị giá sản phẩm nhà cung cấp có tên kết thúc ‘Bicycles’ tổng trị giá >800000, thông tin gồm BusinessEntityID, Vendor_name, ProductID, sumofQty, SubTotal (sử dụng bảng [Purchasing].[Vendor] [Purchasing].[PurchaseOrderHeader] [Purchasing].[PurchaseOrderDetail]) 7) Liệt kê sản phẩm có 500 đơn đặt hàng quí năm 2008 có tổng trị giá >10000, thông tin gồm ProductID, Product_name, countofOrderID Subtotal 8) Liệt kê danh sách khách hàng có 25 hóa đơn đặt hàng từ năm 2007 đến 2008, thông tin gồm mã khách (PersonID) , họ tên (FirstName +' '+ LastName as fullname), Số hóa đơn (CountOfOrders) 9) Liệt kê sản phẩm có tên bắt đầu với ‘Bike’ ‘Sport’ có tổng số lượng bán mỗi năm 500 sản phẩm, thông tin gồm ProductID, Name, CountofOrderQty, year (dữ liệu lấy từ bảng Sales.SalesOrderHeader, Sales.SalesOrderDetail, and Production.Product) 10)Liệt kê phòng ban có lương (Rate: lương theo giờ) trung bình >30, thông tin gồm Mã phòng ban (DepartmentID), tên phòng ban (name), Lương trung bình (AvgofRate) Dữ liệu từ bảng [HumanResources].[Department], [HumanResources].[EmployeeDepartmentHistory], [HumanResources] [EmployeePayHistory] II) Subquery 1) Liệt kê sản phẩm gồm thông tin product names product ID có 100 đơn đặt hàng tháng năm 2008 2) Liệt kê sản phẩm (ProductID, name) có số hóa đơn đặt hàng nhiều tháng 7/2008 3) Hiển thị thông tin khách hàng có số đơn đặt hàng nhiều nhất, thông tin gồm: CustomerID, Name, CountofOrder 4) Liệt kê sản phẩm (ProductID, Name) thuộc mô hình sản phẩm áo dài tay với tên bắt đầu với “Long-Sleeve Logo Jersey”, dùng phép IN EXISTS, (sử dụng bảng Production.Product Production.ProductModel 5) Tìm mô hình sản phẩm (ProductModelID) mà giá niêm yết (list price) tối đa cao giá trung bình tất mô hình 6) Liệt kê sản phẩm gồm thông tin ProductID, Name, có tổng số lượng đặt hàng >5000 (dùng In, exists) 7) Liệt kê sản phẩm (ProductID, UnitPrice) có đơn giá (UnitPrice) cao bảng Sales.SalesOrderDetail 8) Liệt kê sản phầm đơn đặt hàng thông tin gồm ProductID, Name, dùng cách Not in, not exists left join 9) Liệt kê nhân viên không lập hóa đơn từ sau ngày 1/5/2008, thông tin gồm EmployeeID, FirstName, LastName (dữ liệu từ bảng HR.Employees Sales.Orders) 10)Liệt kê danh sách khách hàng (customerID, name) có hóa đơn dặt hàng năm 2007 có hóa đơn đặt hàng năm 2008 III)Các loại truy vấn Union, sử dụng tham số CTE, Merge, Pivot 1) Dùng UNION hiển thị thông tin ModifiedDate Person.Person HireDate HumanResources.Employee 2) Sử dụng tham số CTE Liệt kê danh sách record có số dòng từ 11 đến 20 bảng Sales.Orders 3) Sử dụng Merge Query, thực yêu cầu sau: a) Tạo bảng bảng tên MyOrder, gồm thuộc tính PurchaseOrderID, EmployeeID, VendorID, ShipMethodID, TotalDue, RevisionNumber, status b) Dùng lệnh Dùng lệnh Select into…chèn liệu vào bảng, lấy liệu từ bảng Purchasing.PurchaseOrderHeader c) Xóa tất dòng liệu có PurchaseOrderID khác or d) Cập nhật giá trị cột ToTalDue =1000 cho dòng có bảng MyOrder e) Dùng chức Merge để cập nhập liệu cho cột ToTalDue bảng MyOrder ToTaldue bảng Purchasing.PurchaseOrderHeader cho dòng có liệu trùng bảng, ngược lại chèn dòng khác vào bảng MyOrder 4) Pivot Query a) Tạo bảng dbo.orders có cấu trúc sau CREATE TABLE dbo.Orders ( orderid INT NOT NULL, orderdate DATE NOT NULL, empid INT NOT NULL, custid VARCHAR(5) NOT NULL, qty INT NOT NULL, CONSTRAINT PK_Orders PRIMARY KEY(orderid) ) Chèn liệu vào bảng (30001, (10001, (10005, (40001, (10006, (20001, (40005, '20070802', '20071224', '20071224', '20080109', '20080118', '20080212', '20090212', 3, 2, 1, 2, 1, 2, 3, 'A', 'A', 'B', 'A', 'C', 'B', 'A', 10), 12), 20), 40), 14), 12), 10), (20002, (30003, (30004, (30007, '20090216', '20090418', '20070418', '20090907', 1, 2, 3, 3, 'C', 'B', 'C', 'D', 20), 15), 22), 30) b) Tính tổng Qty cho nhân viên Thông tin gồm empid, custid c) Tạo bảng Pivot có dạng sau Gợi ý: SELECT empid, A, B, C, D FROM (SELECT empid, custid, qty FROM dbo.Orders) AS D PIVOT(SUM(qty) FOR custid IN(A, B, C, D)) AS P; d) Tạo query lấy liệu từ bảng dbo.Orders trả số hóa đơn lập nhân viên employee năm e) Tạo bảng pivot hiển thị số đơn đặt hàng thực nhân viên có mã 164, 198, 223, 231, and 233 nhóm theo mã người bán (vendor ID) Module Hiện thực ràng buộc toàn vẹn liệu Mục tiêu: 1) hai bảng sở liệu AdventureWorks2008 theo cấu trúc sau: − Tạo Thực mớicác create ràng buộctable toàn vẹnMyDepartment ( liệu: Primary DepID smallint not null primary key, DepName key, foreign key,nvarchar(50), GrpName domain, check,nvarchar(50) ) default table MyEmployee ( create EmpID int not null primary key, FrstName nvarchar(50), MidName nvarchar(50), LstName nvarchar(50), DepID smallint not null foreign key references MyDepartment(DepID) ) 2) Dùng lệnh insert select from chèn liệu cho bảng MyDepartment, lấy liệu từ bảng [HumanResources] [Department] 3) Tương tự câu 2, chèn 20 dòng liệu cho bảng MyEmployee lấy liệu từ bảng [Person].[Person]và [HumanResources].[EmployeeDepartmentHistory] 4) Dùng lệnh delete xóa record bảng MyDepartment với DepID=1, có thực không? Vì sao? 5) Thêm default constraint vào field DepID bảng MyEmployee, với giá trị mặc định 6) Nhập thêm record bảng MyEmployee, theo cú pháp sau: insert into MyEmployee (EmpID, FrstName, MidName, LstName) values(1, 'Nguyen',’Nhat’,'Nam'), quan sát giá trị field depID record thêm 7) Xóa foreign key constraint bảng MyEmployee, thiết lập lại khóa ngoại DepID tham chiếu đến DepID bảng MyDepartment với thuộc tính on delete set default 8) Xóa record bảng MyDepartment có DepID=7, quan sát kết hai bảng MyEmployee Mydepartment 9) Xóa foreign key bảng MyEmployee hiệu chỉnh ràng buộc khóa ngoại DepID bảng MyEmployee, thiết lập thuộc tính on delete cascading on update cascading 10)Thực xóa record bảng MyDepartment với DepID =3, có thực không? 11)Thêm ràng buộc check vào bảng MyDepartment field GrpName, cho phép nhận thêm Department thuộc group Manufacturing 12)Thêm ràng buộc check vào bảng [HumanResources].[Employee], cột Birthday, cho phép nhập thêm nhân viên có tuổi từ 18 đến 60 Module View Mục tiêu: − Tạo view, thao tác view − Tìm hiểu thuộc tính view 1) Tạo view dbo.vw_Products hiển thị danh sách sản phẩm từ bảng Production.Product Production.ProductCostHistory Thông tin bao bảng gồm ProductID, Name, Color, Size, Style, StandardCost, EndDate, StartDate 2) Tạo view List_Product_view chứa danh sách sản phẩm có 500 đơn đặt hàng quí năm 2008 có tổng trị giá >10000, thông tin gồm ProductID, Product_name, countofOrderID Subtotal 3) Tạo view dbo.vw_CustomerTotals hiển thị tổng tiền bán (total sales) từ cột TotalDue khách hàng (customer) theo tháng theo năm Thông tin gồm CustomerID, YEAR(OrderDate) AS OrderYear, MONTH(OrderDate) AS OrderMonth, SUM(TotalDue) 4) Tạo view trả tổng số lượng sản phẩm (total quantity) bán nhân viên theo năm 5) Tạo view ListCustomer_view chứa danh sách khách hàng có 25 hóa đơn đặt hàng từ năm 2007 đến 2008, thông tin gồm mã khách (PersonID) , họ tên (FirstName +' '+ LastName as fullname), Số hóa đơn (CountOfOrders) 6) Tạo view ListProduct_view chứa danh sách sản phẩm có tên bắt đầu với ‘Bike’ ‘Sport’ có tổng số lượng bán mỗi năm 500 sản phẩm, thông tin gồm ProductID, Name, CountofOrderQty, year (dữ liệu lấy từ bảng Sales.SalesOrderHeader, Sales.SalesOrderDetail, and Production.Product) 7) Tạo view List_department_View chứa danh sách phòng ban có lương (Rate: lương theo giờ) trung bình >30, thông tin gồm Mã phòng ban (DepartmentID), tên phòng ban (name), Lương trung bình (AvgofRate) Dữ liệu từ bảng [HumanResources].[Department], [HumanResources] [EmployeeDepartmentHistory], [HumanResources].[EmployeePayHistory] 8) Tạo view Sales.vw_OrderSummary với từ khóa WITH ENCRYPTION OrderMonth gồm (tháng orderYear ngày (năm ngày lập), OrderTotal lập), (tổng tiền) Sau xem thông tin trợ giúp mã lệnh view 9) Tạo view Production.vwProducts SCHEMABINDING gồm với từ khóa ProductID, WITH Name, StartDate,EndDate,ListPrice bảng Product bảng ProductCostHistory Xem thông tin View Xóa cột ListPrice bảng Product Có xóa không? Vì sao? 10)Tạo view HumanResources.vw_MaleEmployees với từ khóa WITH CHECK OPTION chứa nhân viên có phái Gender =’M’ gồm LoginID, Gender bảng HumanResources.Employee Sau tạo xong thực yêu cầu sau: a) Xem thông tin view vừa tạo b) Thực lệnh sửa Gender =’F’ cho nhân viên có LoginId = 'adventure-works\taylor0' Có sửa không? Gỉai thích? c) Sửa lại cấu trúc View cho thực việc sửa câu b d) Thực lại lệnh câu b Xem kết e) Đổi tên view thành DSNV, xóa view 11)Pattions View: Tạo bảng có cấu trúc sau: Create Table KH_BAC (Makh int, TenKh Nchar(30), Khuvuc Nvarchar(30) NOT NULL CHECK ( Khuvuc='Bac bo'), PRIMARY KEY (Makh, Khuvuc) ) Create Table KH_TRUNG (Makh int, TenKh Nchar(30), Khuvuc Nvarchar(30) NOT NULL CHECK ( Khuvuc='Trung bo'), PRIMARY KEY (Makh, Khuvuc) ) Create Table KH_NAM (Makh int, TenKh Nchar(30), Khuvuc Nvarchar(30) NOT NULL CHECK ( Khuvuc='Nam bo'), PRIMARY KEY (Makh, Khuvuc) ) Tạo view KhachHang kết nối liệu bảng Thực thêm liệu (dữ liệu sinh viên nghĩ) vào bảng Sau xem thông tin bảng view khách hàng Module Batch - Function - Stored procedure Mục tiêu: Hiểu biết cách lập trình SQL − Viết batch Tạo thực thi loại function stored procedure − Function gồm loại o Scalar function o Table value Function o MultiStatement table value Function − Stored Procedure o Tham số input output I) Batch 1) Viết batch khai báo biến @tongsoHD chứa tổng số hóa đơn sản phẩm có ProductID=’778’, @tongsoHD>500 in chuỗi “San pham 778 có 500 đơn hàng”, ngược lại tin chuỗi “San pham 778 co it don dat hang” 2) Viết đoạn Batch với tham số @makh @n chứa số hóa đơn khách hàng @makh, tham số @nam chứa năm lập hóa đơn (ví dụ @nam=2008), @n>0 in chuỗi:”Khách hàng có @n hóa đơn năm 2008” ngược lại @n=0 in chuỗi “Khách hàng hóa đơn năm 2008” 3) Viết batch tính số tiền giảm cho hóa đơn (SalesOrderID) có tổng tiền>100000, thông tin gồm [SalesOrderID], Subtotal=sum([LineTotal]), Discount (tiền giảm), với Discount tính sau: • Những hóa đơn có Subtotal[...]... đó login vào sql bằng Windows Authentication của User1 (Khởi động máy đăng nhập hệ thống bằng tài khoản của User1 ) 3) Khởi động SQL, login vào sql bằng Windows Authentication Kiểm tra quyền truy cập cơ sở dữ liệu của User1 (Mở một CSDL bất kỳ, có thực hiện được không) 4) Gán quyển cho User1 để có thể thực hiện tất cả các thao tác trên một CSDL Adventureworks2008 5) Đăng nhập lại vào SQL bằng windows... Adventureworks2008 5) Đăng nhập lại vào SQL bằng windows authentication thông qua tài khoản user1 và thực hiện các thao tác truy cập CSDL logout 6) Đăng nhập lại vào sql bằng SQL server authentication, tài khoản sa Sử dụng TSQL 7) Tạo hai login SQL server Authentication User2 và User3 8) Tạo một database user User2 ứng với login User2 và một database user User3 ứng với login User3 trên CSDL Adventureworks2008... Thực hiện thêm dữ liệu (dữ liệu do sinh viên nghĩ) vào 3 bảng này Sau đó xem thông tin 3 bảng và view khách hàng Module 5 Batch - Function - Stored procedure Mục tiêu: Hiểu và biết cách lập trình trong SQL − Viết các batch Tạo và thực thi các loại function và stored procedure − Function gồm 3 loại o Scalar function o Table value Function o MultiStatement table value Function − Stored Procedure o Tham ... vào SQL windows authentication thông qua tài khoản user1 thực thao tác truy cập CSDL logout 6) Đăng nhập lại vào sql SQL server authentication, tài khoản sa Sử dụng TSQL 7) Tạo hai login SQL. .. Authentication cho User1, sau login vào sql Windows Authentication User1 (Khởi động máy đăng nhập hệ thống tài khoản User1 ) 3) Khởi động SQL, login vào sql Windows Authentication Kiểm tra quyền... SmallWorks khỏi phiên làm việc SQL 12 Dùng SSMS, Attach sở liệu SmallWorks vào SQL BÀI TẬP VỀ NHÀ: Yêu cầu sinh viên làm nộp lại cho giáo viên trước buổi học hôm sau I Dùng T -SQL tạo CSDL T:HoTenSales,

Ngày đăng: 06/12/2016, 11:29

Mục lục

  • Module 1. Tìm hiểu Cơ sở dữ liệu AdventureWork2008 - Tạo và quản trị cơ sở dữ liệu – Database file – File group

  • Module 2. Thao tác dữ liệu

  • Module 3. Hiện thực các ràng buộc toàn vẹn dữ liệu -

  • Module 5. Batch - Function - Stored procedure

Tài liệu cùng người dùng

Tài liệu liên quan