1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tiểu luận Đề tài Ứng dụng quản lý Đặt Đơn hàng

53 0 0
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Ứng dụng quản lý đặt đơn hàng
Tác giả Phạm Thanh Tùng
Người hướng dẫn Trần Hoài Thuận
Trường học Trường Đại học Gia Định
Chuyên ngành Công nghệ thông tin
Thể loại Tiểu luận
Năm xuất bản 2023
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 53
Dung lượng 9,22 MB

Nội dung

NoSQL là một loại cơ sở dữ liệu phi quan hệ, không sử dụng SQL như các hệ quan tri co sở dữ liệu quan hệ truyền thống.. NoSQL được sử dụng rộng rãi trong các ứng dụng web hiện đại và các

Trang 1

BO GIAO DUC VA DAO TAO TRUONG ĐẠI HỌC GIA ĐỊNH KHOA: CÔNG NGHỆ THÔNG TIN

Ngành: CÔNG NGHỆ THÔNG TIN

Chuyén nganh : HE THONG THONG TIN VA DU LIEU LON

Giảng viên hướng dẫn: Trần Hoài Thuận

Sinh viên thực hiện: Phạm Thanh Tùng

MSSV: 2113110018

Lớp: KISHTTTO1

TP HO CHI MINH, NAM 2023

Trang 2

Khoa/Vién:CONG NGHE THONG TIN

NHAN XET VA CHAM DIEM CUA GIANG VIEN

TIEU LUAN MON: HE QUAN TRI CO SO DU LIEU

1 Hog va tên sinh viên :Phạm Thanh Tùng .- << << «<< <<<<

2 Tén dé tai: : UNG DUNG QUAN LY DAT DON HÀNG Sen nè

3 Nhan xét:

a) Những kết quả đạt được:

4 Điểm đánh giá (heo thang điểm 10, làm tròn đến 0.5):

Sinh viên: Phạm Thanh Tùng Điêm số: Điểm chữ: CC n2 nh nh kg kh key

1P HCM, ngày tháng năm 20

Giảng viên chấm thi

(Kỹ và ghi rõ họ tên)

Trần Hoài Thuận

Trang 3

NoSQL là một loại cơ sở dữ liệu phi quan hệ, không sử dụng SQL như các hệ quan tri co

sở dữ liệu quan hệ truyền thống NoSQL được sử dụng rộng rãi trong các ứng dụng web hiện đại và các ứng dụng lưu trữ dữ liệu lớn Trong khóa học nay, chúng ta sẽ tìm hiểu về các loại cơ sở dữ liệu NoSQL khác nhau, cách chúng hoạt động và cách sử dụng chúng trong các ứng dụng thực tế

Cơ sở đữ liệu NoSQL đang trở thành một phần quan trọng trong việc xây dựng các ứng dụng web và các hệ thông lưu trữ đữ liệu lớn Với NoSQL, chúng ta có thế lưu trữ vả truy vấn dữ liệu một cách nhanh chóng vả linh hoạt hơn so với các hệ thống quan hệ truyền thống Các loại cơ sở đữ liệu NoSQL phô biến bao gồm cơ sở đữ liệu key-value, cơ sở đữ liệu document, cơ sở đữ liệu column-family và cơ sở dữ liệu praph Trong khóa học này, chúng ta sẽ tìm hiểu chỉ tiết về từng loại cơ sở đữ liệu này vả tìm hiểu cách sử dụng chúng trong các ứng dụng thực tế

Trang 4

Loi cam on

Em xin gửi lời cảm ơn chân thành vả sự trí ân sâu sắc đối với các thầy cô của trường Đại học Gia Định, đặc biệt là các thầy cô Công Nghệ Thông Tin của trường đã tạo điều kiện cho em thực hiện đồ án tốt nghiệp Và em cũng xin chân thành cám ơn thầy/cô Nguyễn

Thị Hồng Khánh đã nhiệt tình hướng dẫn hướng dẫn em hoản thành tốt khóa thực tập

Trong quá trình thực tập, cũng như là trong quá trình làm bài báo cáo thực tập, khó tránh khỏi sai sót, rất mong các thầy, cô bỏ qua Đồng thời do trình độ lý luận cũng như kinh nghiệm thực tiễn còn hạn chế nên bải báo cáo không thể tránh khỏi những thiếu sót, em rất mong nhận được ý kiến đóng góp thầy, cô để em học thêm được nhiều kinh nghiệm và

sẽ hoàn thành tốt hơn bài báo cáo tốt nghiệp sắp tới

Em xin chân thành cảm ơn!

Trang 5

Muc luc

Chương!: Tổng quan về cơ sở lý thuyết Cơ sở dữ liệu NoSQL - 555cc se cà crerrrerrrkerrrkerree 8

II?) nh - .ẽố.ốẼ.Ẽ 8

1.2 Các khả năng của hệ quản trị CS L 1 2 1S 11 12111 2111 H111 51H 1H HH TH Hà HH hệt 8

1.3 Đặc diém cia mGt hé quan tri CSDL a cececsecescsccescssesevsscesssesesecesersvsserevessvevesessvessessesevtevevsevessevees 9 1.3.2 SU trltu tung hod AU GU ce ceesesesessssesesesesessessseseseseseseseseseseseseseseessseassesescscseseeassnseseseaeeees 9 1.3.2 XỨ lý câu hỏi Công việc của bộ xử lý câu hỒI 2n c 22H Hee 10

Chuong2: PHAN TICH VA THIET KE CAU TRUC.ecscccssssssssssesssesssessssessscsssecassesssccasecesscsacesecsseeneaseees 11

2.1 Giới thiệu các lệnh thường gặp trong NoSQL - - - - nhà HH TT HT HH HT nh khe 11

2.2 Tổng quan vấn đề - 5 t1 H102 010 t21 21 1 10 10 1 1g ng ng 0n 1211101 u 12

2.3 DATABASE (CO SỞ DỮ LIỆU) 2.3.1.1 Tạo câu trúc bẳng -: 2222-22222222E22ztervrerrsrre 14

P5 ÄT 80 8i 0 0 176 .ddL|ÄH||||A - 15 2.3.1.3 Tao bag NAN NO - :-©-^4 ÔÒỎ 15

th V h8 0a n."':'." Ô 16 h8: 80 8o cá nh .i 16 2.3.1.6 Tạo bảng phiêu giao hàng - 0 1S n2 2H HT H21 1111111111011 rree 17 2.3.1.7 Tao bang chi tit ni nh L 17

2.3.2 Thém rang budc duy nhat (UNIQUE) cho truOng TenHH trong bang HangHoa 18

2.3.4 Thém rang budc kim tra cho trUONg SLCON cscccsesssssessssseesessuessessesseesessseseesecessesestesssneseans 19 2.3.5 Thêm ràng buỘc mặc định (DEAULT) cho cOt NgayDat cccecccccsssssssessssecssscssssceesesseseeeesseeeess 19

2.3.7 Xoá cỘt DiaChi trong bảng KHACHHANG và tạo lại cột với ràng buộc “HCM” 19

2.3.8 Xóa khóa ngoại MaDat trong PHIEUGIAHANG tham chiêu tới MaDat trong DonDatHang, sau

PR:-0\ U00) 0000.) 0n ho.(A43 21

1 bảng khách hàng L2 1 211211211211 211 1101 1151151112 11 11101111511 011 1H 1x HH HH vn ke Ha 23 2.4 QUERY (TRUY VẤN) ch HH HH H2 HH ung HH nh Hà H21 2n rgg re, 26 2.4.1 Cho biết chỉ tiết giao hàng của đơn đặt hàng DH01 (tên hàng hóa, sô lượng giao và đơn giá

Trang 6

hiển thị sõ lân đặt hàng bằng 0 Hiển thị: Mã khách hàng, tên khách hàng, số lân đặt 28 2.4.5 Cho biết tổng tiên cỦa từng phiêu giao hàng trong năm 2023, hiển thị: mã giao, ngày giao,

tổng tiên, với tổng tiên = SUM(SLGiao#DonGiaGiaO) -2- 2s e3 SE 3 1E EE711315 11731 Exrree 29

2.4.6 Cho biết khách hàng nào có 2 lân đặt hàng trở lên, hiển thị: mã khách hàng, tên khách hàng, E7 .A ,ÔỎ 30 2.4.7 Cho biết mặt hàng nào đã được giao với tổng số lượng giao nhiêu nhât, hiển thị: mã hàng, tên hàng hóa, tổng số lượng đã giao - cọ St HT 11011111 11 1101111 erre 30 2.4.8 Tăng số lượng còn của mặt hàng có mã bắt đâu băng ký tự”M” lân 10 -+ 31 2.4.9 Copy dữ liệu bảng HangHoa sang một bảng HangHoaCopy, sau đó xóa nhỮng mặt hàng chưa

được đặt trong bằng HangHoa Chèn lại vào bảng HangHoa những dòng bị xóa từ bảng

HangHoaCOpyy - LH HH TH nh HH TH TT TP gs 31

2.4.10 Cập nhật sô điện thoại cho khách hàng có mã KHO6 Là St nnnnnHerrey 32 2.4.11 Sửa giá trị TinhTrang=NULL cho tât cả các đơn đặt hàng - c7 cà crrererrrey 32 2.4.12Thêm cột ThanhTien cho bảng ChiTietGiaoHang, sau đó cập nhật giá trị cho cỘt này với

ThanhTien = SLGiao#DonGiaGiaO HH HH TT HH Tà Hà TH 32 2.5 VIEW (KHUNG NHÌN) SH tàn HH HH n1 t hề HH1 hg gu ru ru 33 2.5.1 Tạo view thông kê doanh số giao hàng của từng mặt hàng trong 6 tháng đâu năm 2023 33 2.5.2Tạo view cho biết mặt hàng nào có tổng sô lượng được đặt lớn nhất trong năm 2023 34

2.5.3Tạo view cho biết danh sách khách hàng ở HCM có sử dụng WITH CHECK OPTION, sau đó chèn 2 khách hàng vào view này, mỘt khách hàng có địa chỉ HCM và một khách hàng có địa chÏ Ởở Long An, có nhận xét gì trong 2 trường hỢp này? ¿- Là vì 22H11 ru 34

2.6.1 Thêm cỘt TongTien vào phiều giao hàng, sau đó dùng con tr cập nhập giá trị cho cỘt

TongTien, với TongTien=SUM(SLGiao*DonGiaGiao) hay nói cách khác TongTien = SUM(ThanhTien)}

2.6.2 Thêm mới cột THUONG2023 vào bảng KhachHang để lưu giỮ số tiên khách hàng được 0"15/9/0-8105)01-81927E5 0017 5 .A 37 2.6.3 Vào ngày 1/1/2024, cân tăng giá của tât cả các mặt hàng lên 10% so với đơn giá hiện hành.38

2.7 STORE PROCEDURE+TRANSACTION (Thu tục nội tại + giao dịch) ào co s2 40

2.7.1 Tạo thỦ tục truyên vào mã đơn đặt hàng (@maddh) và mã hàng hóa (@mahh), xuât ra số

lượng hàng hóa @mahh được đặt trong đơn đặt hàng @maddh -. : cccctsvsieereerersrsree 40 2.7.2 Tạo thỦ tục truyên vào mã phiêu giao hàng, xuất ra tổng tiên của phiều giao hàng đó 41

2.7.3 Tạo thỦ tục truyên vào mã khách hàng, hiển thị các đơn đặt hàng của khách hàng đó, gôm

các thông tin: Mã đặt, ngày đặt, mã giao, ngày giaO ch n TH HH HH HH Hệ 41 2.7.4 Tạo thỦ tục truyên vào ngày1 và ngày2, đêm xem có bao nhiêu phiêu giao hàng đƯỢc giao

trong khoảng thời gian tỪ ngày1 đên ngày2 2n n nàn 1a 42

Trang 7

2.7.5 Tạo thủ tục thêm mới một hàng hóa với tham sô đâu vào là: mã hàng, tên hàng, đơn vị tính,

2.7.6Tạo thủ tục thêm mới mỘt ChiTietGiaoHang với các tham sô đâu vào là: mã giao, mã hàng

2.8.1 Tạo thỦ tục truyên vào mã đơn đặt hàng (@maddh) và mã hàng hóa (@mahh), xuât ra số

lượng hàng hóa @mahh được đặt trong đơn dat hang @maddh bang FUNCTION 44 2.8.2 Tạo thỦ tục truyên vào mã phiêu giao hàng, xuất ra tổng tiên cỦa phiếu giao hàng đó bằng

In 01s n L A - 44

2.8.3 Tạo thủ tục truyên vào mã khách hàng, hiển thị cdc dOn dat hang cUla khdch hang dé bang

In 01s n L A - 45

2.8.4 Tạo thỦ tục truyên vào ngày1 và ngày2, đêm xem có bao nhiêu phiêu giao hàng đƯỢc giao

trong khoảng thời gian từ ngày1 đên ngày2 băng hàm FUNCTION 2-5525 2cccccceccrrerree 45 2.9 TRIGGER (RÀNG BUỘC TOÀN VẸN) HH HH HH H1 1212 ru ớ 46

2.9.1 Cài đặt ràng buộc sau bằng 2 cách: constraint và trigger “Số lượng còn của hàng hóa phải lớn hơn

OP c nc n1 n1 k 11x kg k1 XE kg 9X kg kkck E915 X KT k1 X 1H 11121151111 46 2.9.2 Cài đặt ràng buỘc sau bằng 2 cách: constraint và trigger “Đơn vị tính của hàng hóa chỉ nhận một trong các giá trị: Cái, Thùng, Chiếc, Chai, LOi” - ¿5-5 + 22x Se xe eexecereExrvkrxrkrereereererrre 47 2.9.3 Cài đặt ràng buộc: “Mỗi đơn đặt hàng chỉỈ có tôi đa 1 phiêu giao hàng” - 47 2.9.4 Cài đặt ràng buộc: “Ngày giao hàng phải bãng hoặc sau ngày đặt hàng nhưng không được

CÔ) NA “ -“-(dAA Ô 52

Trang 8

Chương!: Tổng quan về cơ sở lý thuyết Cơ sở dữ liệu NoSQL

1.1 Định nghĩa

Hệ quản trị cơ sở đữ liệu (Database Management System - DBMS): Là một hệ thông phần mềm cho phép tạo lập cơ sở dữ liệu và điều khiên mọi truy nhập đối với cơ sở đữ

liệu đó Trên thị trường phần mềm hiện nay ở Việt Nam đã xuất hiện khá nhiều phần

mềm hệ quản trị cơ sở dữ liệu như: Microsoft Access, Foxpro, DB2, SQL Server, Oracle,.v.v

Hé quan trico so dir ligu quan hé (Relation Database Management System - RDBMS) la mét hé quan trị cơ sở dữ liệu theo mô hình quan hệ

1.2 Các khả năng của hệ quản trị CSDL

Có hai khả năng chính cho phép phân biệt các hệ quản trị cơ sở đữ liệu với các kiêu hệ

thống lập trình khác:

Khả năng quản lý dữ liệu tồn tại lâu dài: đặc điểm nảy chỉ ra rằng có một cơ sở dữ liệu tồn tại trong một thời gian dai, nội đung của cơ sở đữ liệu này là các đữ liệu mà hệ quản trị CSDL truy nhập và quản lý

.Khả năng truy nhập các khối lượng đữ liệu lớn một cách hiệu quả Ngoài hai khả năng

cơ bản trên, hệ quản trị CSDL còn có các khả năng khác mà có thé thấy trong hầu hết các

dữ liệu viQuản lý giao dịch, có nghĩa là khả năng cung cấp các truy nhập đồng thời, đúng đắn đối với CSDL từ nhiều người sử dụng tại cùng một thời điểm

Điều khiến truy nhập, có nghĩa là khả năng hạn chế truy nhập đến các đữ liệu bởi những

người sử dụng không được cấp phép vả khảnăng kiểm tra tính đúng đắn của CSDL

viii.Phục hồi đữ liệu, có nghĩa là có khả năng phục hồi dữ liệu, không làm mất mát đữ liệu với các lỗi hệ thống

1.3 Đặc điểm của một hệ quản trị CSDL

1.3.1 Sự trừu tượng hoa dữ liệu

Để cho hệ thống có thể sử dụng được, hệ quản trị CSDL phải tra cứu hay tìm kiếm dữ liệu một cách có hiệu quả Điều nay dẫn đến việc thiết kế các cấu trúc dữ liệu

Trang 9

tạp này thông qua một số mức trừu tượng đếđơn giản hoá các tương tác của người sử dụng đối với hệ thống

Ba mức trừu tượng dữ liệu

-Mức vật lý: Mức thấp nhất của sự trừu tượng mô tả dữ liệu được lưu trữ một cách thực

sự như thế nảo Tại mức vật lý, các cấu trúc đữ liệu mức thấp phức tạp được mô tả chi

+Một sơđồ CSDL đặc tả bởi một tập các định nghĩa được biêu diễn bởi một ngôn ngữđặc biệt được gọi là ngôn ngữđịnh nghĩa dữ liệu Kết quả của việc dịch các ngôn ngữnảy là một tập các bảng được lưu trữ trong một tệp đặc biệt được gọi là từđiển

dữ liệu hay thư mục dữ liệu

Một tùđiển đữ liệu là một tệp chứa các siêu dữ liệu có nghĩa là các dữ liệu về

dữ liệu Tệp này được tra cứu trước khi dữ liệu thực sựđược đọc hay được sửa đôi trong hé CSDL

Cấu trúc và các phương pháp truy nhập được sử đụng bởi hệ CSDL được đặc tả bởi một tập các định nghĩa trong một kiểu đặc biệt của DDL là ngôn ngữđịnh nghĩa và lưu trữ dữ liệu

-Ngôn ngữ thao tác dữ liệu (Data Manipulation Language - DML):

Các yêu cầu về thao tác đữ liệu bao gồm: *Tìm kiếm thông tin được lưu trữ trong CSDL

Trang 10

Một ngôn ngữ thao tác dữ liệu (DML) là một ngôn ngữcho phép người sử dụng truy nhập hay thao tác dữ liệu được tổ chức bởi mô hình dữ liệu thích hợp Có hai kiêu ngôn ngữ thao tác dữ liệu cơ bản:

Các DML thủ tục đòi hỏi người sử dụng phải đặc tả đữ liệu nảo cần tìm kiếm và tìm kiếm

những dữliệu nảy như thế nảo sCác DML phi thủ tục đòi hỏi người sử dụng đặc tảđữ

liệu nào cần tìm kiếm ma không phải đặc tả tìm kiếm những dữ liệu này như thế nào

1.3.2 Xử lÿ câu hỏi Công việc của bộ xử ly câu hỏi

Là biến đổi một truy van hay một thao tác CSDL, có thêđược biểu diễn ở các mức cao thành một dãy các yêu cầu đối với các đữ liệu lưu trữ trong CSDL Thường phần khó nhất của nhiệm vụ xử lý câu hỏi là tối ưu hoá câu hỏi, có nghĩa là lựa chọn một kế hoạch tốt nhất đối với hệ thống lưu trữđê trả lời truy vấn nảy nhanh nhất

Trang 11

Chuong2: PHAN TICH VA THIET KE CÂU TRÚC

2.1 Giới thiệu các lệnh thường gặp trong NoSQL

Lệnh SELECT: Truy vấn và lấy đữ liệu từ cơ sở đữ liệu Lệnh này cho phép bạn chọn các cột cần lay dữ liệu, chỉ định bảng dé truy van, ap dung cac điều kiện đề lọc dữ liệu và sắp xếp đữ liệu theo yêu câu

Lệnh INSERT: Thêm một bản ghi mới vào cơ sở dữ liệu Lệnh này cho phép bạn chèn một bản ghi mới vào trong bảng đã được tạo

Lệnh UPDATE: Cập nhật một bản ghi đã có trong cơ sở dữ liệu Lệnh này cho phép ban thay đôi giá trị của một hoặc nhiều cột trong một bản ghi đã tồn tại

Lệnh DELETE: Xóa một bản ghi đã có trong cơ sở dữ liệu Lệnh này cho phép bạn xóa một hoặc nhiều bản ghi khỏi bảng

Lệnh CREATE: Tạo mới một bảng, một chế độ xem hoặc một thủ tục trong cơ sở đữ liệu Lệnh này cho phép bạn tạo mới các đối tượng trong cơ sở đữ liệu như bảng, chế độ xem hoặc thủ tục

Lệnh ALTER: Thay đổi cầu trúc của một bảng hoặc một chế độ xem đã tôn tại trong cơ

sở đữ liệu Lệnh nảy cho phép bạn thêm hoặc xóa các cột trong bảng, đổi tên bảng hoặc cột, thay đổi kiểu dữ liệu của cột và nhiều hơn nữa

Lệnh DROP: Xóa một bảng, một chế độ xem hoặc một thủ tục khỏi cơ sở dữ liệu Lệnh này cho phép bạn xóa các đối tượng đã được tạo ra trong cơ sở đữ liệu như bảng, chế độ xem hoặc thủ tục

Trang 12

2.2 Tong quan van dé

Cho cơ sở dữ liệu Quản lý đơn đặt hàng như sau:

NgayDat DonGaHH DonGia MaKH

°°" ChitietDatHang _

Ý MaDat

@ MaHH SLDat

KHO2 Cửa hàng Hoàng Gia | Long An | 0938776266

KHO3 Nguyễn Lan Anh Cần Thơ | O896317388

KHO4 Cty TNHH An Phuéc | Long An | 0993810503

KHOS Huynh Ngoc Trung HCM 0916783565

KHOG Cửa hành “Trung Tín Tay Ninh | 0938435706

MaHH | TenHH DVT | SLCon | DonGiaHH

BU Ban Ui Phillip Cai 60 350000

cD Nồi com dién Sharp | Cái 100 700000

DM Đầu máy Sharp Cái aS 1200000

MG Máy giặt Sanyo Cái 10 4700000

MQ May quat Senko Cai 40 400000

TL Ta lanh Hitachi Cai sO 5500000

TV Tivi Samsung Cai 33 7800000

Trang 13

Thông tin bảng PhieuGiaoHang: Thong tin bang ChiTietDatHang:

MaGiao | NgayGiao | MaDat MaDat | MaHH | SLDat GH0L | 02-02-2022 | DH0I HD0I [BU | 15

GH02 | 15-02-2022 | DH02 HDOI |MD |10

GH03 | 24-02-2023 | DH03 HD0I [TL |4

GH0S | 10-05-2023 | DH05 HD0 |BU | 20

GH06 | 18-06-2023 | HD06 HD02 | TL 3

MaGiao | MaHH | SLGiao | DonGiaGiao HDO |TL |5

Trang 14

2.3 DATABASE (CO SO DU LIEU)

2.3.1.1 Tao cau tric bang

Trang 15

2.3.1.2 Tao bang khach hang

Tạo bảng KhachHang

IF O8JECT_ID('KhachHang') IS NULL

CREATE TABLE KhachHang (

MaKH VARCHAR(4) NOT NULL,

TenKH NVARCHAR(5@) NOT NULL,

DiaChi NVARCHAR(10@) NOT NULL,

DienThoai VARCHAR(1@) NOT NULL,

PRIMARY KEY (MaKH)

CREATE TABLE HangHoa (

MaHH VARCHAR(2) NOT NULL,

TenHH NVARCHAR(5@) NOT NULL,

DVT NVARCHAR(19) NOT NULL,

SLCon INT NOT NULL,

DonGiaHH INT NOT NULL,

PRIMARY KEY (MaHH)

GO

Hinh 3 bang hang hoa

Trang 16

2.3.1.4 Tao bang lich sw gia

CREATE TABLE LichSuGia (

MaHH VARCHAR(2) NOT NULL,

NgayHL DATE NOT NULL,

DonGia INT NOT NULL,

constraint pk_lichsugia primary key(MaHH,NgayHL)

Hình 4: Tạo bảng lịch sử giả

2.3.1.5 Tao bang don dat hang

Tao bang DonDatHang

IF OBJECT_ID('DonDatHang’) IS NULL

CREATE TABLE DonDatHang (

MaDat VARCHAR(4) NOT NULL,

NgayDat DATE NOT NULL,

MaKH VARCHAR(4) NOT NULL,

TinhTrang BIT NOT NULL ,

PRIMARY KEY (MaDat),

Trang 17

2.3.1.6 Tao bang phiéu giao hang

Tao bảng PhieuGiaoHang

IF OBJECT_ID('PhieuGisoHang') IS NULL

CREATE TABLE PhieuGiaoHang (

MaGiao VARCHAR(4) NOT NULL,

NgayGiao DATE NOT NULL,

MaDat VARCHAR(4) NOT NULL,

PRIMARY KEY (MaGiao),

Hinh 6: Tao bang phiéu giao hang

2.3.1.7 Tao bang chi tiét đặt hàng

Tao bang ChiTietDatHang

IF OBJECT_ID( 'ChiTietDatHang*) IS NULL

CREATE TABLE ChiTietDatHang (

MaDat VARCHAR(4) NOT NULL,

MaHH VARCHAR(2) NOT NULL,

SLDat INT NOT NULL,

PRIMARY KEY (MaDat, MaHH),

Trang 18

Tao bang ChiTietGiaoHang

IF OBJECT_ID('ChiTietGiaoHang') IS NULL

CREATE TABLE ChiTietGiaoHang (

MaGiao VARCHAR(4) NOT NULL,

MaHH VARCHAR(2) NOT NULL,

SLGiao INT NOT NULL,

DonGiaGiao INT NOT NULL,

PRIMARY KEY (MaGiao, MaHH),

);

go

ALTER TABLE LichSuGia ADD

CONSTRAINT fk_MaHH FOREIGN KEY(MaHH) REFERENCES HangHoa(MaHH)

ALTER TABLE DonDatHang ADD

CONSTRAINT #k_DDHANG_MaKH FOREIGN KEY(MaKH) REFERENCES KhachHang(MaKH)

ALTER TABLE PhieuGiaoHang ADD

CONSTRAINT fk_PGH_MaDat FOREIGN KEY(MaDat) REFERENCES DonDatHang(MaDat)

ALTER TABLE PhieuGiaoHang DROP CONSTRAINT fk_PGH_MaDat; xóa

ALTER TABLE ChiTietDatHang ADD

CONSTRAINT fk_CTDH_MaDat FOREIGN KEY(MaDat) REFERENCES DonDatHang(MaDat) ,

CONSTRAINT fk_CTDH_MaHH FOREIGN KEY(MaHH) REFERENCES HangHoa(MaHH)

xda

ALTER TABLE ChiTietDatHang DROP CONSTRAINT fk_CTDH_MaDat

ALTER TABLE ChiTietDatHang DROP CONSTRAINT fk_CTDH_MaHH

ALTER TABLE ChiTietGiaoHang ADD

CONSTRAINT fk_CTGH_MaGiao FOREIGN KEY(MaGiao) REFERENCES PhieuGiaoHang(MaGiao), CONSTRAINT fk_CTGH_MaHH FOREIGN KEY(MaHH) REFERENCES HangHoa(MaHH)

xóa kn

ALTER TABLE ChiTietGiaoHang DROP CONSTRAINT fk_CTGH_MaHH

ALTER TABLE ChiTietGiaoHang DROP CONSTRAINT fk_CTGH_MaGiao

Hinh 8: Tao bang chi tiét giao hang

2.3.2 Thém ring buéc duy nhat (UNIQUE) cho trwong TenHH trong bang HangHoa

Trang 19

2.3.4 Thêm ràng buộc kiểm tra cho trường SLCon

c Để thêm ràng buộc kiểm tra (CHECK) cho trường SLCon, yêu cầu là trường này chỉ

hận giá trị : 9

LTER TABLE HangHoa

DD CONSTRAINT CK_SLCon CHECK(SLCon >= @);

Hình 10: Thêm ràng buộc kiêm tra cho trường SLCon

2.3.5 Thêm ràng buộc mặc định (DEAULT) cho cột NgapĐat

d Để thêm ràng buộc mặc định (DEFAULT) cho cột NgayDat trong bảng

DonDatHang với giá trị mặc đỉnh lầ ngày hiện tại

ALTER TABLE DonDatHang

ADD CONSTRAINT DF_NgayDat DEFAULT GETDATE() FOR NgayDat;

XY

Hình lI: Thêm ràng bu6c mac dinh (DEAULT) cho cét NgayDat

2.3.6 Xoa bang KHACHHANG

e.xóa bảng KHACHHANG, bạn có thế sử dụng câu lệnh SQL sau:

ROP TABLE KhachHang;

Nễu không xóa được bảng KHACHHANG,

Lý do có thể là do bảng KHACHHANG đang được sử dụng bởi các bảng khác hoặc có khóa ngoại liên kết

Hình lI: Xoá bảng KHACHHAN

2.3.7 Xod cột DiaChỉ trong bảng KHACHHÀNG và tạo lại cột với ràng buộc “HCM”

Z - - ẢN f xóa cột DiaChỉi trong bảng KhachHang và tạo lại cột này với ràng buộc mặc định

là "HCH"”

LTER TABLE KhachHang

DROP COLUMN DiaChi;

LTER TABLE KhachHang

DD DiaChi VARCHAR(5@) DEFAULT 'HCM';

nN

19

Trang 20

Hình l2: Xoá cột DiaChi trong bang KHACHHANG va tao lai c6t voi ràng buộc

ALTER TABLE PhieuGiaoHang

ROP CONSTRAINT fk_PGH_MaDat;

ALTER TABLE PhieuGiaoHang

ADD CONSTRAINT #k_PGH_MaDat FOREIGN KEY(MaDat) REFERENCES DonDatHang(MaDat);

Hình 13: Xóa khóa ngoại MaDat trong PHIEUGIAHANG tham chiếu tới MaDat trong DonDatHane, sau đó tạo lại khóa ngoại này

Trang 21

2.3.9 Nhap dit liéu cho bang

N'Cửa hàng Hoàng Gia', N'Long An', '9938776266'),

N'Nguyễn Lan Anh', N'Cần Thơ', '9896317388'),

N'Cty TNHH An Phước', N'Long An', '@9938105@3'), N'Huỳnh Ngọc Trung', N'HCM', '9916783565'),

N'Cửa hành Trung Tín', N'Tây Ninh', '99384357096'); SELECT * FROM KhachHang

INSERT INTO HangHoa

('BU', N'Bàn ủi Phillip', N'Cái', 69, 359000),

('CD', N'Nồi cơm điện Sharp', N'Cái', 190, 799999),

('DM', N'Đầu máy Sharp', N'Cái', 75, 1290999),

('MG', N'Máy giặt Sanyo', N'Cái', 19, 4700990),

('MQ', N'Máy quạt Senko', N'Cái', 49, 490090),

('TL', N'Tủ lạnh Hitachi', N'Cái', 59, 5599990),

('TV', N'Tivi Samsung', N'Cái', 33, 7800000);

SELECT * FROM HangHoa

SET DATEFORMAT dmy

INSERT INTO LichSuGia (MaHH, NgayHL, DonGia)

SELECT * FROM LichSuGia

INSERT INTO DonDatHang

Trang 22

SELECT * FROM DonDatHang

SET DATEFORMAT dmy

SELECT* FROM PhieuGiaoHang

INSERT INTO ChiTietDatHang

29),

3),

8), 5), 5), 12), 15), 6),

5),

30), 7)»

INSERT INTO ChiTietGiaoHang (MaGiao, MaHH,

INSERT INTO PhieuGiaoHang (MaGiao, NgeyGiao, MaDat)

(MaDat, MaHH, SLDat)

SELECT * FROM ChiTietDatHang

SLGiao, 300000),

19, 1000090),

4, 5000009),

19, 300009),

8, 4700000), 350000), 1200090),

Trang 23

3 KH@3 Nguyén Lan Anh C?n Tho [ 9896317388 f

2 bang hang hoa

2 _€D _ Nồi cơm điện Sharp Cái _ 199 _ 790900

4 MG Máy giặt Sanyo Cái 19 4700000

5 MQ _ May quat Senko Cai 49 400009

3 bang lich str gia

Trang 24

“Ma Vv _NgayHL Vv DonGia v

4 bang don dat hang

| MaDat *x⁄ | NgayDat *x⁄ | MaKH x7 TinhTrang v |

Trang 25

6 bang chi tiét dat hang

Trang 26

7 bang chi tiét giao hang

MaGiao vv MaHH »x⁄Z SLGiao `x⁄ DonGiaGiao vy

2.4 QUERY (TRUY VAN)

2.4.1 Cho biết chỉ tiết giao hàng của đơn đặt hàng DHUI (tên hàng hóa, số lượng giao

va don gid giao)

a Cho biết chỉ tiết giao hàng của đơn đặt hàng GHØ1 (tên hàng hóa, số lượng giao và đơn giá iao)

SELECT HangHoa.TenHH, ChiTietGiaoHang.SLGiao, ChiTietGiaoHang.DonGiaGiao

FROM ChiTietGiaoHang join HangHoa on ChiTietGiaoHang.MaHH = HangHoa.MaHH

ERE ChiTietGiaoHang.MaGiao= 'GH@1"

Kết quả

Ngày đăng: 19/11/2024, 21:55

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w