1. Trang chủ
  2. » Giáo án - Bài giảng

Giải Bài Tập Hệ Quản Trị Cơ Sở Dữ Liệu IUH Tuần 1

14 58 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 14
Dung lượng 0,91 MB
File đính kèm BaiTapTH HeQT CSDL.rar (2 MB)

Nội dung

Giải bài tập Hệ quản trị cơ sở dữ liệu IUH Bài giải đầy đủ mỗi tuần này giúp sinh viên biết cách viết các truy vấn SQL để truy cập và xử lý dữ liệu trong hệ quản trị cơ sở dữ liệu. Hệ quản trị cơ sở dữ liệu là một môn học quan trọng trong chương trình đào tạo của nhóm ngành công nghệ thông tin. Môn học này giúp sinh viên nắm vững các kiến thức và kỹ năng cần thiết để giải quyết các bài tập liên quan đến hệ quản trị cơ sở dữ liệu.

Bài tập Thực hành Hệ Quản Trị Cơ sở Dữ Liệu Tuần 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 AdventureWork2008R2 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 2008R2 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 AdventureWork 2008R2: Gồm lược đồ       Dbo HumanResource Person Production Purchasing Sales - 1- Bài tập Thực hành Hệ Quản Trị Cơ sở Dữ Liệu 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 chuyên 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 ngồi Tổ chức ý nghĩa lược đồ CSDL: Schema Contains objects related to Examples HumanResources Employees of Adventure Works Cycles Employee Table Department Table Person Names and addresses of individual customers, vendors, and employees Contact Table Address Table StateProvince Table Production Products manufactured and sold by Adventure Works Cycles BillOfMaterials Table Product Table WorkOrder Table Purchasing Vendors from who parts and products are purchased PurchaseOrderDetail Table PurchaseOrderHeader Table Vendor Table Sales Customers and salesrelated data Customer Table SalesOrderDetail Table SalesOrderHeader Table I Thực thao tác sở liệu AdventureWorks2008R2 Tạo diagram gồm bảng liên quan đến Customer Product hình trang sau: - 2- Bài tập Thực hành Hệ Quản Trị Cơ sở Dữ Liệu SalesPerson (Sales) BusinessEntityID TerritoryID SalesQuota Bonus CommissionPct SalesYTD SalesLastYear rowguid ModifiedDate ProductCategor ProductCategor SalesTerritory (Sales) Name TerritoryID rowguid Name ModifiedDate CountryRegionCode [Group] SalesYTD SalesLastYear CostYTD CostLastYear ProductSubcategory (P 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 Class EndDate ProductSubcategoryID BusinessEntityID ProductModelID rowguid SellStartDate ModifiedDate SellEndDate DiscontinuedDate rowguid ProductVendor (Purcha SalesOrderHeader (Sale SalesOrderID RevisionNumber OrderDate DueDate ShipDate Status OnlineOrderFlag SalesOrderNumber ProductListPrice ProductID Vendor (Purchasing) ProductID BusinessEntityID BusinessEntityID StartDate AverageLeadTime AccountNumber EndDate StandardPrice Name ListPrice LastReceiptCost CreditRating ModifiedDate LastReceiptDate PreferredVendorStatus MinOrderQty ActiveFlag MaxOrderQty PurchasingWebService OnOrderQty ModifiedDate UnitMeasureCode PurchaseOrderNumber ModifiedDate AccountNumber CustomerID SalesPersonID Employee (HumanResource BusinessEntityID NationalIDNumber SalesOrderDetail (Sales LoginID SalesOrderID SalesOrderDetailID CarrierTrackingNumber OrderQty ProductID SpecialOfferID UnitPrice UnitPriceDiscount LineTotal rowguid ModifiedDate OrganizationNode OrganizationLevel PurchaseOrderHeader JobTitle PurchaseOrderID BirthDate RevisionNumber MaritalStatus Status Gender EmployeeID HireDate VendorID SalariedFlag ShipMethodID VacationHours OrderDate ShipDate SubTotal TaxAmt Freight TotalDue ModifiedDate EmployeeDepartmentHistor BusinessEntityID DepartmentID ShiftID StartDate EndDate PurchaseOrderDetail ( ModifiedDate PurchaseOrderID PurchaseOrderDetailID DueDate OrderQty ProductID UnitPrice LineTotal ReceivedQty RejectedQty StockedQty ModifiedDate - 3- ProductID StartDate Style BusinessEntity (Person) ProductCostHist StandardCost ModifiedDate Bài tập Thực hành Hệ Quản Trị Cơ sở Dữ Liệu 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] [Sales].[Customer] [Production].[ProductSubcategory] [Sales].[SalesTerritory] [Production].[ProductCategory] [Sales].[SalesPerson] [Purchasing].[PurchaseOrderDetail] [Sales].[SalesOrderHeader] [Purchasing].[PurchaseOrderHeader] [Sales].[SalesOrderDetail] [Purchasing].[Vendor] [HumanResources].[Employee] [Purchasing].[ProductVendor] [HumanResources].[EmployeeDepartmentHistory] Sử dụng T-SQL tạo sở liệu tên SmallWorks, với file group 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 ), - 4- tên Bài tập Thực hành Hệ Quản Trị Cơ sở Dữ Liệu FILEGROUP SWUserData2 ( NAME = 'SmallWorksData2', FILENAME = 'T:\HoTen\SmallWorksData2.ndf', SIZE = 10MB, FILEGROWTH = 20%, MAXSIZE = 50MB ) LOG ON ( NAME = 'SmallWorks_log', FILENAME = 'T:\HoTen\SmallWorks_log.ldf', SIZE = 10MB, FILEGROWTH = 10%, MAXSIZE = 20MB ) 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ó filegroup, 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 SmallWorks 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 SmallWorks, chọn thuộc tính ReadOnly, sau đóng cửa sổ properties 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 SmallWorks Trong CSDL SmallWorks, tạo bảng theo cấu trúc sau: - 5- Bài tập Thực hành Hệ Quản Trị Cơ sở Dữ Liệu 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 Insert…Select 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 kiểu liệu người dùng sau: Name Schema Data Type Length Storage Allow Nulls Mota dbo nvarchar 40 50 Yes IDKH dbo char 10 10 No DT dbo char 12 50 yes Tạo bảng theo cấu trúc sau: - 6- Bài tập Thực hành Hệ Quản Trị Cơ sở Dữ Liệu HoaDon Attribute name Datatype MaHD Char(10) NgayLap Date NgayGiao Date Makh IDKH DienGiai Mota SanPham Attribute name Datatype Masp char(6) TenSp varchar(20) NgayNhap Date DVT char(10) SoLuongTon Int DonGiaNhap money MaKH TenKH Diachi Dienthoai ChiTietHD Attribute name Datatype MaHD Char(10) Masp Char(6) Soluong int KhachHang g IDKH Nvarchar(30 ) Nvarchar(40 ) DT 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 CSDL vào lại SQL - 7- Bài tập Thực hành Hệ Quản Trị Cơ sở Dữ Liệu 14 Tạo BackUp cho CSDL BanHang 15 Xóa CSDL BanHang 16 Phục hồi lại CSDL BanHang - 8- Tạo diagram gồm bảng liên quan đến Customer Product hình trang sau: Tìm hiểu field liên kết bảng (Khóa khóa ngoại 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:\HQTCSDL_LAMBAOANH\SmallWorks.mdf', SIZE = 10MB, FILEGROWTH = 20%, MAXSIZE = 50MB ), FILEGROUP SWUserData1 ( NAME = 'SmallWorksData1', FILENAME = 'T:\HQTCSDL_LAMBAOANH\SmallWorksData1.ndf', SIZE = 10MB, FILEGROWTH = 20%, MAXSIZE = 50MB ), FILEGROUP SWUserData2 ( NAME = 'SmallWorksData2', FILENAME = 'T:\HQTCSDL_LAMBAOANH\SmallWorksData2.ndf', SIZE = 10MB, FILEGROWTH = 20%, MAXSIZE = 50MB ) LOG ON ( NAME = 'SmallWorks_log', FILENAME = 'T:\HQTCSDL_LAMBAOANH\SmallWorks_log.ldf', SIZE = 10MB, FILEGROWTH = 10%, MAXSIZE = 20MB ) GO 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ó filegroup, liệt kê tên filegroup Có filegroup Tên filegroup PRIMARY, SWUserData1, SWUserData2 Filegroup mặc định gì? Filegroup mặc định PRIMARY b Chọn file, quan sát có database file? 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 ALTER DATABASE SmallWorks ADD FILEGROUP Test1FG1; GO ALTER DATABASE SmallWorks ADD FILE ( NAME = filedat1, FILENAME = 'T:\HQTCSDL_LAMBAOANH\filedat1.ndf', SIZE = 5MB, FILEGROWTH = 10%, MAXSIZE = 20MB ) TO FILEGROUP Test1FG1; GO ALTER DATABASE SmallWorks ADD FILE ( NAME = filedat2, FILENAME = 'T:\HQTCSDL_LAMBAOANH\filedat2.ndf', SIZE = 5MB, FILEGROWTH = 10%, MAXSIZE = 20MB ) TO FILEGROUP Test1FG1; GO 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 ALTER DATABASE SmallWorks ADD FILE ( NAME = filedat3, FILENAME = 'T:\HQTCSDL_LAMBAOANH\filedat3.ndf', SIZE = 3MB, FILEGROWTH = 10%, MAXSIZE = 20MB ) TO FILEGROUP Test1FG1; ALTER DATABASE SmallWorks MODIFY FILE ( NAME = filedat3, SIZE = 5MB ); ALTER DATABASE SmallWorks REMOVE FILE filedat3; 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ì? Khơng thể filegroup chứa file liệu Trước xóa filegroup, ta cần xóa chuyển tồn file liệu khỏi filegroup Xem lại thuộc tính (properties) CSDL SmallWorks 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ì? Trong cửa sổ "Properties", ta thấy thông tin như: General, Files, Filegroups, Options, Change Tracking, Pemissions, Extended Properties EXEC sp_helpdb 'SmallWorks'; sp_helpdb để xem thông tin chi tiết sở liệu GO USE SmallWorks; sp_spaceUsed để xem thông tin không gian sử dụng sở liệu EXEC sp_spaceUsed; GO USE SmallWorks; sp_helpfile để xem thông tin chi tiết file sở liệu EXEC sp_helpfile; GO Tại cửa sổ properties CSDL SmallWorks, chọn thuộc tính ReadOnly, sau đóng cửa sổ properties 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 SmallWorks Màu sắc sở liệu chuyển từ vàng sang xám ALTER DATABASE SmallWorks SET READ_WRITE; USE SmallWorks; ALTER DATABASE SmallWorks SET MULTI_USER; Trong CSDL SmallWorks, 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 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 Insert…Select 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 Chuột phải vào sở liệu "SmallWorks" chọn "Tasks" -> "Detach " Nhấn nút "OK" để thực detach 12 Dùng SSMS, Attach sở liệu SmallWorks vào SQL Chuột phải vào nút "Databases" Object Explorer chọn "Attach " Trong cửa sổ Attach Databases, Nhấn nút "Add " để thêm sở liệu Tìm chọn tệp liệu mdf sở liệu "SmallWorks" Trong: 'T:\HQTCSDL_LAMBAOANH' 'với filename SmallWorks.mdf' Nhấn nút "OK" để đóng cửa sổ "Add Databases" quay lại cửa sổ "Attach Databases" Nhấn nút "OK" để thực attach sở liệu -BÀI TẬP VỀ NHÀ: 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 kiểu liệu người dùng sau: CREATE DATABASE Sales GO USE Sales EXEC sp_addtype Mota, 'nvarchar(50)', NULL USE Sales EXEC sp_addtype IDKH, 'char(10)' USE Sales EXEC sp_addtype DT, 'char(12)', NULL Tạo bảng theo cấu trúc sau: CREATE TABLE SanPham ( Masp char(6) NOT NULL, TenSp varchar(20), NgayNhap date, DVT char(10), SoLuongTon int, DonGiaNhap money ); CREATE TABLE HoaDon ( MaHD char(10) NOT NULL, NgayLap date, NgayGiao date, Makh IDKH, DienGiai Mota ); CREATE TABLE KhachHang ( MaKH IDKH NOT NULL, TenKH nvarchar(30) NOT NULL, DiaChi nvarchar(40), DienThoai DT ); CREATE TABLE ChiTietHD ( MaHD char(10) NOT NULL, Masp char(6) NOT NULL, Soluong int ); Trong Table HoaDon, sửa cột DienGiai thành nvarchar(100) ALTER TABLE dbo.HoaDon ALTER COLUMN DienGiai nvarchar(100); Thêm vào bảng SanPham cột TyLeHoaHong float ALTER TABLE dbo.SanPham ADD TyLeHoaHong float; Xóa cột NgayNhap bảng SanPham ALTER TABLE dbo.SanPham DROP COLUMN NgayNhap; Tạo ràng buộc khóa khóa ngoại cho bảng ALTER TABLE SanPham ADD CONSTRAINT PK_SanPham PRIMARY KEY (Masp); ALTER TABLE HoaDon ADD CONSTRAINT PK_HoaDon PRIMARY KEY (MaHD); ALTER TABLE KhachHang ADD CONSTRAINT PK_KhachHang PRIMARY KEY (MaKH); ALTER TABLE HoaDon ADD CONSTRAINT FK_HoaDon_Makh FOREIGN KEY (Makh)REFERENCES KhachHang (MaKH); ALTER TABLE ChiTietHD ADD CONSTRAINT FK_ChiTietHD_MaHD FOREIGN KEY (MaHD)REFERENCES HoaDon (MaHD); ALTER TABLE ChiTietHD ADD CONSTRAINT FK_ChiTietHD_Masp FOREIGN KEY (Masp)REFERENCES SanPham (Masp); Thêm vào bảng HoaDon ràng buộc sau: NgayGiao >= NgayLap ALTER TABLE HoaDon ADD CONSTRAINT CK_NgayGiao_NgayLap CHECK (NgayGiao >= NgayLap); MaHD gồm ký tự, ký tự đầu chữ, ký tự lại số ALTER TABLE HoaDon ADD CONSTRAINT CK_MaHD_Format CHECK (MaHD LIKE '[A-Z][AZ][0-9][0-9][0-9][0-9]'); Giá trị mặc định ban đầu cho cột NgayLap luôn ngày hành ALTER TABLE HoaDon ADD CONSTRAINT DF_HoaDon_NgayLap DEFAULT GETDATE() FOR NgayLap; Thêm vào bảng Sản phẩm ràng buộc sau: SoLuongTon nhập từ đến 500 ALTER TABLE SanPham ADD CONSTRAINT CK_SoLuongTon CHECK SoLuongTon = AND (DonGiaNhap > 0); DEFAULT GETDATE() FOR ‘Cái’ (DVT IN ('KG', Dùng lệnh T-SQL nhập liệu vào table trên, liệu tùy ý, ý ràng buộc Table INSERT INTO SanPham (Masp, TenSp, SoLuongTon, DonGiaNhap, TyLeHoaHong) VALUES ('SP0001', 'Sản phẩm 1', 100, 20000, 0.05), ('SP0002', 'Sản phẩm 2', 50, 10000, 0.1), ('SP0003', 'Sản phẩm 3', 20, 5000, 0.2); INSERT INTO KhachHang (MaKH, TenKH, DiaChi, DienThoai) VALUES ('KH01', 'Nguyễn Văn A', 'Số TPHCM', '0901234567'), ('KH02', 'Trần Thị B', 'Số 2TPHCM', '0912345678'), ('KH03', 'Lê Quang C', 'Số TPHCM', '0923456789'); INSERT INTO HoaDon (MaHD, NgayLap, NgayGiao, Makh) VALUES ('HD0001', '2023-07-20', '2023-07-25', 'KH01'), ('HD0002', '2023-07-21', '2023-07-26', 'KH02'), ('HD0003', '2023-07-22', '2023-07-27', 'KH03'); INSERT INTO ChiTietHD (MaHD, Masp, Soluong) VALUES ('HD0001', 'SP0001', 50), ('HD0002', 'SP0002', 25), ('HD0003', 'SP0003', 10); 10 Xóa hóa đơn bảng HoaDon Có xóa khơng? Tại sao? Khơng thể xóa hóa đơn bảng HoaDon bảng HoaDon có ràng buộc khóa ngoại FK_ChiTietHD_MaHD tham chiếu đến cột MaHD bảng ChiTietHD Điều có nghĩa là, hóa đơn bảng HoaDon phải có dòng tương ứng bảng ChiTietHD Nếu muốn xóa phải dùng cách nào? Cách để xóa hóa đơn bảng HoaDon xóa tất dòng tương ứng bảng ChiTietHD trước Sau xóa tất dịng bảng ChiTietHD, hóa đơn khơng cịn tham chiếu đến dịng bảng ChiTietHD xóa khỏi bảng HoaDon 11 Nhập ghi vào bảng ChiTietHD với MaHD = ‘HD999999999’ MaHD=’1234567890’ Có nhập khơng? Tại sao? Khơng thể nhập ghi vào bảng ChiTietHD với MaHD = ‘HD999999999’ MaHD=’1234567890’ Bởi hai giá trị MaHD khơng hợp lệ theo ràng buộc khóa bảng HoaDon Ràng buộc khóa bảng HoaDon yêu cầu cột MaHD phải null 12 Đổi tên CSDL Sales thành BanHang ALTER DATABASE Sales MODIFY NAME = 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? Có thể chép CSDL BanHang vào thư mục T:\QLBH CSDL BanHang tập tin liệu bình thường, nên chép theo cách thơng thường Muốn chép bạn phải làm gì? Sau chép, bạn thực Attach CSDL vào lại SQL CREATE DATABASE BanHang ON (FILENAME = 'T:\QLBH\BanHang.mdf') FOR ATTACH; 14 Tạo BackUp cho CSDL BanHang BACKUP DATABASE BanHang TO DISK = 'T:\QLBH\BanHangBackup.bak'; 15 Xóa CSDL BanHang USE master; DROP DATABASE BanHang; 16 Phục hồi lại CSDL BanHang USE master; RESTORE DATABASE BanHang FROM DISK = 'T:\QLBH\BanHangBackup.bak';

Ngày đăng: 15/01/2024, 05:31

TỪ KHÓA LIÊN QUAN

w