1 Trước khi chuẩn hóa và chỉnh sửa ..... Bảng Employees đạt 3NF Bảng EmployeeTerritories đạt 4NF không cần chỉnh sửa... Bảng Categories đạt 4NF không cần chỉnh sửa Bảng OrderDetails đạt
Trang 1VIỆN TOÁN NG D NG VÀ TIN HỨ Ụ ỌC
TIỂU LUẬN GIỮA K Ỳ
BỘ MÔN: CƠ SỞ Ữ D LIỆU CHỦ ĐỀ: RETAIL SALES Giảng viên hướng d n: Ths Nguy n Danh Tú ẫ ễ
Trang 31 1 Trước khi chuẩn hóa và chỉnh sửa 7
1.2 Sau khi chu n hóa và ch nh sẩ ỉ ửa 13
2 Truy v n d li u 17 ấ ữ ệ2.1 Các câu l nh truy v n (10 câu )ệ ấ 17
2.2 Tăng tốc độ truy vấn dữ liệu 22
2.2.1 T o Indexạ 22
2.2.2 T o Partitionạ 23
3 Procedure Insert, Delete, Update d li u 24 ữ ệ3.1 Các procedure Insert, Delete, Update t ng b ng d liừ ả ữ ệu 24
3.1.1 Các procedure Insert t ng b ng d liừ ả ữ ệu 24
3.1.2 Các procedure Update t ng b ng d liừ ả ữ ệu 25
3.3.3 Các procedure Delete t ng b ng d liừ ả ữ ệu 26
3.2 S d ng transactionử ụ 27
3.3 Đổ dữ liệu trong cơ sở dữ liệu 33 4 K t lu n 36 ế ậ
Tài li u tham kh o 37 ệ ả
Trang 41 T ng quan v CSDL ổ ề
• DB Retail Sales được tạo nên từ cơ sở ữ ệ d li u m u Northwind ẫ
• DB Northwind là về một công ty có tên “Northwind Trader” - chuyên nhập kh u và xu t kh u các loẩ ấ ẩ ại thực phẩm đặ ản t khc s ừ ắp nơi trên thế
giới: nắm bắ ấ ả các giao dịch bán hàng gi a Northwind Trader và các t t t c ữ
khách hàng của công ty cũng như giao dịch giữa Northwind và các nhà cung c p c a nó ấ ủ
Chi ti t bao g m: ế ồ
1 Suppliers/Vendors of Northwind nhà cung c p c a Northwind – ấ ủ
2 Customers of Northwind – khách hàng/người mua hang c a Northwind ủ
3 Employee details of Northwind traders nhân viên c a Northwind – ủ
Trang 58 Sales Order transaction chi ti t v các giao d– ế ề ịch di n ra gi a khách ễ ữ
hàng và Northwind
9 Inventory transactions – chi ti t các giao dế ịch di n ra v i hàng t n kho ễ ớ ồ
10 Invoices chi ti– ết hóa đơn được nêu ra so với đơn đặt hàng 1 1 Trước khi chu n hóa và ch nh s a ẩ ỉ ử
S ố lượng b n ghi các b ng cả ả ủa cơ sở ữ ệ d li u:
Mô hình thực thể ER
Trang 6Bảng Products vi ph m chu n 1 t i thu c tínạ ẩ ạ ộ h ‘QuantityPerUnit’
Trang 7Bảng Employees đạt 3NF
Bảng EmployeeTerritories đạt 4NF (không cần chỉnh sửa)
Trang 8Bảng Categories đạt 4NF (không cần chỉnh sửa)
Bảng OrderDetails đạt 4NF
Trang 9Bảng Orders đạt 4NF (không cần chỉnh sửa)
Trang 10
Bảng Region đạt 4NF (không cần chỉnh sửa)
Bảng Shippers đạt 3NF
Bảng Suppliers đạt 3NF
Trang 111.2 Sau khi chu n hóa và ch nh s a ẩ ỉ ử
Các bảng đều đạt 4NF tr lên ở
Không m t d li u các b ng g c ấ ữ ệ ở ả ốKhông gây ra dư thừa, kì d dị ữ liệu
Trang 12
Sơ đồ RE
➢ Bảng Products cũ tách thành 3 bảng đạt 4NF: Products, ProductUnits,
QuantityPerUnits
➢ Bảng Employees cũ tách thành 2 bảng đạt 4NF: Employees, EmployeeInformation
➢ Bảng Shippers cũ tách thành 2 bảng đạt 4NF: ShipperPhone, ShipperInformation
➢ Bảng Customers cũ tách thành 2 bảng đạt 4NF: Customers, CustomerInformation
➢ Bảng Supliers cũ tách thành 2 bảng đạt 4NF: SupplierPhone, SupplierInformation
➢ Bảng Products
Trang 13➢ Bảng Products
➢ Bảng ProductUnits
Trang 14➢ Bảng QuantityPerUnit
➢ Bảng SupplierInformation
Trang 152 Truy v n d liấ ữ ệu
2.1 Các câu l nh truy v n (10 câu ) ệ ấ
Lấy ra mã nhân viên, tên nhân viên London ở
Lấy ra mã khách hàng, tên khách hàng tại Mexico
Trang 16L y ra mã s n phấ ả ẩm, số lượng, tên s n ph m,giá s n phả ẩ ả ẩm mà có địa ch nhà ỉ
cung c p thu c Pháp ấ ộ
Lấy ra mã đơn hàng, mã khách hàng, có EmployeeID < 5 thuộc b ng Order có ả
quốc gia thu c M ộ ỹ
Trang 17Lấy tên công ty cung cấp, địa chỉ mà có giá sản ph m > 13 ẩ
Lấy ra mã nhân viên, địa chỉ mà có freight > 30 từ bảng Customers và Orders
Trang 18Lấy ra freight, mã nhân viên t b ng order có mã nhân viên > 2 và < ừ ả 5 được sắp xếp theo freight tăng dần
Trang 19Chọn 3 cột nhưng không lấy giá trị trùng như từ ả b ng với điều kiện và được sắp xếp
Join hai b ng nhau dùng inner join ả
Trang 20Lấy ra bảng shipper có tên cty bắt đầu b ng USP ằ
2.2 Tăng tốc độ truy vấn dữ liệu 2.2.1 T o Index ạ
• Trước khi đánh Index
Trang 21• Sau khi đánh Index
2.2.2 T o Partition ạ
Trang 223 Procedure Insert, Delete, Update d li u ữ ệ
3.1 Các procedure Insert, Delete, Update t ng b ng d li u ừ ả ữ ệ
3.1.1 Các procedure Insert t ng b ng d li u ừ ả ữ ệ• Cú pháp
• Với bảng Region: trước và sau khi Insert d li u ữ ệ
Trang 233.1.2 Các procedure Update t ng b ng d li u ừ ả ữ ệ
• Cú pháp
• Với bảng Shippers: trước và sau khi Update dữ ệ li u
Trang 243.3.3 Các procedure Delete t ng b ng d li u ừ ả ữ ệ
• Với bảng Region: trước và sau khi Delete d li u ữ ệ
Trang 253.2 Sử dụng transaction
3.2.1 TRANSACTION trong SQL
là ti n trình thế ực hiện m t nhóm các câu lộ ệnh SQL Các câu lệnh này được thực thi một cách tuần tự và độc lập Một Transaction được thực hi n thành ệcông khi tất c câu lả ệnh đều thành công, khi đó tất cả các thay đổi dữ li u ệđược thực hiện trong Transaction được lưu vào cơ sở dữ li u Tuy nhiên, ệnếu ch mỉ ột trong số đó thấ ại thì toàn b tit b ộ ến trình sẽ ấ th t bại, đồng nghĩa với vi c d li u ph i rollback v trệ ữ ệ ả ề ạng thái ban đầu (dữ liệu được khôi phục về trạng thái trước khi th c hi n Transaction).ự ệ
3.2.3 Nghiệp vụ thực tế
Trang 26➢ Nghiệp vụ 1 : Thay đổi tên và mã giảm giá cho đơn hàng có mã sản phảm là 2 và 4
➢ Nghiệp vụ 2: Thay đổi số lượng đặt mới
Trang 27➢ Nghiệp vụ 3 : Xóa sản phẩm đã hết thêm sản phẩm mới và cập nhật lại số loại sản phẩm
Trang 28➢ Nghiệp vụ 4: Khách hàng muốn sửa địa chỉ giao hàng và tăng số lượng đặt hàng
Trang 29• Cập nh t d li u (COMMIT) ậ ữ ệ
Trang 30• ROLLBACK
Trang 31• SAVEPOINT
3.3 Đổ ữ ệ d li u trong cơ sở ữ ệ d li u
• Đầu tiên tạo một Database mới tên là NewDB
Trang 32• Tạo các b ng gi ng các b ng trong Database gả ố ả ốc RetailSales Đây là ví dụ v t o 2 b ng Categories và Customers ề ạ ả
• Sau khi t o xong thì bạ ắt đầu ch y ph n CREATE PROCEDURE (Ví d t o ạ ầ ụ ạ
procedure cho b ng Categories) ả
Trang 33Sau khi chạy xong tấ ảt c PROCEDURE thì bắt đầu g i hàm bọ ắt đầu đổ ữ ệu d li
Trang 344 K t lu n ế ậ
Tổng k t nhế ững điều đã làm được: - Truy vấn được dữ ệ li u theo yêu c u ầ- Tìm hiểu được cấu trúc của cơ sở ữ ệ d li u - Chuyển đổi được dữ ệ ừ các cơ sở ữ ệ li u t d li u - Tối ưu thời gian th c hi n truy v n ự ệ ấ
- T o các c u trúc d liạ ấ ữ ệu và đối tượng trên cơ sở d li u ữ ệ
Tổng k t nhế ững gì đã học được: - Đọc và phân tích được lược đồ quan h ệ
- N m bắ ắt được các khái niệm cơ sở ữ ệ d li u theo ngôn ng nghi p v ữ ệ ụ- Th c hi n thành th o các công c truy vự ệ ạ ụ ấn trong cơ sở ữ ệ d li u
Trang 35Tài liệu tham kh o ả
[1] Nguy n Kim Anh, Nguyên lý c a các hễ ủ ệ cơ sở ữ ệu, NXB ĐH quố d lic gia Hà Nội, 2004
[2] Tr n Nguyên Phong, Giáo trình th c hành SQL ầ ự
[3] Elmasri Navathe, Fundamentals of Database Systems 7th edition