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

Quản lý website quản lý quán càphê

85 0 0
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 đề Quản Lý Website Quản Lý Quán Cà Phê
Tác giả Nguyễn Trọng Hiếu, Phạm Quốc Tâm, Đàm Hòa Giai
Người hướng dẫn GV Phạm Đức Thành
Trường học Trường Đại Học Ngoại Ngữ - Tin Học Thành Phố Hồ Chí Minh
Chuyên ngành Cơ Sở Dữ Liệu Nâng Cao
Thể loại Bài Báo Cáo Kết Thúc Học Phần
Năm xuất bản 2023-2024
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 85
Dung lượng 9,67 MB

Nội dung

 Mô hình thực thể kết hợp cho phép nhà thiết kế biểu diễnthông tin của thế giới thực về các khái niệm gần gũi vớichuyên ngành công nghệ thông tin..  Thực thể:  Một thực thể là một đối

Trang 1

TRƯỜNG ĐẠI HỌC NGOẠI NGỮ - TIN HỌC THÀNH PHỒ HỒ CHÍ

MINH KHOA CÔNG NGHỆ THÔNG TIN

□&□

BÀI BÁO CÁO KẾT THÚC HỌC PHẦN HỌC KỲ III

NĂM HỌC 2023-2024 Học phần: CƠ SỞ DỮ LIỆU NÂNG CAO

QUẢN LÝ WEBSITE QUẢN LÝ QUÁN CÀ

PHÊ

GV hướng dẫn: Phạm Đức Thành

Sinh viên thực hiện:

Nguyễn Trọng Hiếu– 22DH111076Phạm Quốc Tâm – 22DH113236

22DH110870

Lớp:PM2214

Thành phố Hồ Chí Minh, tháng 7/2024

Trang 2

Mục Lục

DANH MỤC HÌNH VÀ BẢNG 4

CHƯƠNG 1: MÔ TẢ ĐỀ TÀI 6

1.1 Giới thiệu 6

1.1.1 Mở đầu 6

1.1.2 Lý do 6

1.1.3 Nghiệp vụ doanh nghiệp 7

1.2 K HẢO SÁT HIỆN TRẠNG 9

1.2.1 Highlands Coffee 9

1.2.2 Phúc Long Coffee 12

1.2.3 KATINAT Coffee & Tea House 15

1.2.4 Cơ cấu tổ chức 17

1.3 Y ÊU CẦU LƯU TRỮ : T RÌNH BÀY CỤ THỂ CÁC THÔNG TIN CẦN LƯU TRỮ CỦA ĐỀ TÀI 18

Bảng 1: Nhân Viên 18

Bảng 2: Sản Phẩm 19

Bảng 3: Kho 20

Bảng 4: Hóa Đơn 20

Bảng 5: Nhà Cung Cấp 21

Bảng 6: Khách Hàng 21

Bảng 7: Chi Tiết Hóa Đơn 22

Bảng 8: Tài khoản 22

Bảng 9: Shipper 23

Bảng 10: Loại sản phẩm 23

Bảng 11: Khuyến mãi 23

Bảng 12: Đánh giá 24

Bảng 13: Lịch làm việc 24

1.4 Y ÊU CẦU TÌM KIẾM : T RÌNH BÀY CỤ THỂ CÁC THAO TÁC TÌM KIẾM CẦN CÓ TRONG ĐỀ TÀI BAO GỒM CÁC

TỪ KHÓA CẦN TÌM VÀ KẾT QUẢ CẦN THỂ HIỆN 25

1.5 C ÁC CÔNG THỨC TÍNH TOÁN CHO CÁC XỬ LÝ 26

1.5.1 Tính toán giá vốn hàng hóa (COGS): 26

1.5.2 Tính toán giá bán: 26

1.5.3 Tính toán lợi nhuận gộp: 26

1.5.4 Tính toán điểm hòa vốn: 26

1.6 Y ÊU CẦU VỀ CÁC BIỂU ĐỒ ĐỒ / THỊ CÁC , BÁO CÁO THEO THÁNG QUÝ , HAY NĂM V , V … CẦN THỰC HIỆN 27

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 28

2.1 M Ô HÌNH ERD 28

2.2 P HỤ THUỘC HÀM 31

2.3 C ÁC DẠNG CHUẨN 32

2.4 B ẢO TOÀN THÔNG TIN 33

2.5 L ẬP TRÌNH CSDL 34

2.5.1 Giới thiệu 34

2.5.2 Biến cục bộ 34

Trang 3

2.5.3 Biến hệ thống 35

2.5.4 Cấu trúc điều khiển 36

2.5.5 Cấu trúc lặp 36

2.6 R ÀNG BUỘC TOÀN VẸN 40

2.6.1 Ràng buộc cấu trúc 40

2.6.2 Ràng buộc xử lý 41

2.6.3 Ràng buộc phụ thuộc 41

2.7 N SQL N O VÀ EW SQL 41

2.7.1 NoSQL 41

2.7.2 NewSQL 43

CHƯƠNG 3: ÁP DỤNG THỰC NGHIỆM 44

3.1 M Ô TẢ YÊU CẦU BÀI TOÁN 44

3.2 P HÂN TÍCH YÊU CẦU : 45

3.2.1 Chức năng 45

3.2.2 Phi chức năng 46

3.3 T HIẾT KẾ : 47

3.3.1 ERD 47

3.4 M Ô TẢ CÁC THỰC THỂ 48

3.5 P HỤ THUỘC HÀM VÀ PHÂN TÍCH CHUẨN CỦA LƯỢC ĐỒ QUAN HỆ 53

3.5.1 NHACUNGCAP 53

3.5.2 KHACHHANG 54

3.5.3 SHIPPER 54

3.5.4 HOADON 54

3.5.5 SANPHAM 55

3.5.6 CHITIET_HOADON 55

3.5.7 NHANVIEN 55

3.5.8 LICHLAMVIEC 56

3.5.9 DANHGIA 56

3.5.10 LOAISANPHAM 56

3.5.11 KHO 56

3.5.12 KHUYẾN MÃI 56

3.5.13 TÀI KHOẢN 57

3.6 C ÀI ĐẶT 57

3.6.1 Tạo cơ sở dữ liệu 57

3.6.2 Nhập dữ liệu mẫu 59

3.6.3 Cài đặt ràng buộc toàn vẹn 64

3.6.4 Cài đặt các store procedure 70

CHƯƠNG 4: KẾT LUẬN 75

4.1 K ẾT QUẢ ĐẠT ĐƯỢC : 75

4.2 K ẾT QUẢ CHƯA ĐẠT ĐƯỢC : 75

4.3 T ÀI LIỆU THAM KHẢO : 75

Trang 4

DANH MỤC HÌNH VÀ BẢNG.

DANH MỤC HÌNH

CHƯƠNG 1: MÔ TẢ ĐỀ TÀI

Hình 1 1 Quy trình nghiệp vụ đặt hàng 6

Hình 1 2 Quy trình nghiệp vụ nhân khiếu nại 6

Hình 1 3 Quy trình nghiệp vụ báo cáo doanh thu 7

Hình 1 4 Quy trình nghiệp vụ đặt hàng 7

Hình 1 5 Xem thực đơn 8

Hình 1 6 Đặt món 9

Hình 1 7 Tìm kiếm chi nhánh 10

Hình 1 8 Xem thực đơn 11

Hình 1 9 Đặt món 12

Hình 1 10 Tìm kiếm chi nhánh 13

Hình 1 11 Xem thực đơn 14

Hình 1 12 Giới thiệu thương hiệu 15

Hình 1 13 Tìm kiếm chi nhánh 16

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT Hình 2 1 Ví dụ thực thể 27

Hình 2 2 Thuộc tính 28

Hình 2 3 các thuộc tính khóa được ký hiệu bằng gạch chân 28

Hình 2 4 thuộc tính đơn trị 28

Hình 2 5 thuộc tính đa trị 28

Hình 2 6 thuộc tính suy diễn 29

Hình 2 7 thuộc tính kết hợp 29

Hình 2 8 mối kết hợp 1 - 1 29

Hình 2 9 mối kết hợp 1 -N 30

Hình 2 10 mối kết hợp N - 1 30

Hình 2 11 mối kết hợp N - N 30

Hình 2 12 ví dụ bảo toàn thông tin 32

Hình 2 13 ví dụ giá trị là một o hoặc dữ liệu tổng hợp 34

Hình 2 14 ví dụ bảng tạm trong thủ tục 38

Hình 2 15 ví dụ column family 41

CHƯƠNG 3: ÁP DỤNG THỰC NGHIỆM Hình 3 1 ERD 46

Hình 3 2 Relationship 46

CHƯƠNG 4: ÁP DỤNG THỰC NGHIỆM

Trang 5

DANH MỤC BẢNG

CHƯƠNG 1: MÔ TẢ ĐỀ TÀI

Bảng 1 1 Nhân viên 18

Bảng 1 2 Sản phẩm 19

Bảng 1 3 Kho 20

Bảng 1 4 Hóa đơn 20

Bảng 1 5 Nhà cung cấp 21

Bảng 1 6 Khách hàng 21

Bảng 1 7 Chi tiết hóa đơn 22

Bảng 1 8 Tài khoản 22

Bảng 1 9 Shipper 23

Bảng 1 10 Loại sản phẩm 23

Bảng 1 11 Khuyến mãi 23

Bảng 1 12 Đánh giá 24

Bảng 1 13 Lịch làm việc 24

Bảng 1 14 Yêu cầu tìm kiếm 25

Bảng 1 15 Hóa đơn thanh toán 27

Bảng 1 16 Hóa đơn nhập kho 27

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT CHƯƠNG 3: ÁP DỤNG THỰC NGHIỆM Bảng 3 1 Chức năng 45

Bảng 3 2 Nhân viên 48

Bảng 3 3 Sản phẩm 48

Bảng 3 4 Kho 49

Bảng 3 5 Khách hàng 50

Bảng 3 6 Hóa đơn 50

Bảng 3 7 Nhà cung cấp 51

Bảng 3 8 Chi tiết hóa đơn 51

Bảng 3 9 Tài khoản 51

Bảng 3 10 Shipper 52

Bảng 3 11 Loại sản phẩm 52

Bảng 3 12 Khuyến mãi 52

Bảng 3 13 Đánh giá 53

Bảng 3 14 Lịch làm việc 53

CHƯƠNG 4: ÁP DỤNG THỰC NGHIỆM Bảng 4 1 Phân chia công việc 75

Trang 6

CHƯƠNG 1: MÔ TẢ ĐỀ TÀI

1.6 Yêu cầu về các biểu đồ/ đồ thị, các báo cáo theo tháng, quý hay năm, v.v… cần thực hiện.

Bảng 1 1 Hóa đơn thanh toán

HÓA ĐƠN THANH TOÁNt

Mã hóa đơn :ttNgày mua hàng :……… t

Bảng 1 2 Hóa đơn nhập kho

HÓA ĐƠN NHẬP KHOt

Trang 7

1.1 Giới thiệu

Website quản lý quán cà phê là một giải pháp phần mềm toàndiện dành cho các chủ quán cà phê, giúp họ quản lý hiệu quả mọi hoạtđộng kinh doanh của mình Hệ thống được tích hợp nhiều tính năngthông minh, tự động hóa các quy trình thủ công, tiết kiệm thời gian vànhân công cho chủ quán Nhờ vậy, chủ quán có thể tập trung vàonhững khía cạnh quan trọng khác như phát triển thương hiệu,marketing, v.v

1.1.1Mở đầu

Ngành cà phê Việt Nam đang trên đà phát triển mạnh mẽ với sựxuất hiện ngày càng nhiều quán cà phê Để cạnh tranh trong thị trườngsôi động này, việc quản lý quán cà phê hiệu quả đóng vai trò vô cùngquan trọng Website quản lý quán cà phê là một công cụ hỗ trợ đắc lựccho các chủ quán trong việc tối ưu hóa hoạt động kinh doanh, nângcao chất lượng dịch vụ và gia tăng lợi nhuận

1.1.2 Lý do

Website quản lý quán cà phê mang đến nhiều lợi ích thiết thựccho các chủ quán, giúp họ tối ưu hóa hoạt động kinh doanh và gia tănglợi nhuận Nhờ khả năng tự động hóa nhiều quy trình thủ công, websitegiúp tiết kiệm thời gian và nhân lực, đồng thời giảm thiểu sai sót vànâng cao hiệu quả quản lý

Ngoài ra, website còn cung cấp nhiều tính năng hữu ích hỗ trợbán hàng, thu hút khách hàng và nâng cao chất lượng dịch vụ Nhờvậy, quán cà phê có thể thu hút nhiều khách hàng hơn, tăng doanh thubán hàng và cải thiện lợi nhuận

Trang 8

1.1.3 Nghiệp vụ doanh nghiệp

a) Quy trình nghiệp vụ đặt hàng

Hình 1 1 Quy trình nghiệp vụ đặt hàng

b) Quy trình nghiệp vụ nhân khiếu nại

Hình 1 2 Quy trình nghiệp vụ nhân khiếu nại

Trang 9

c) Quy trình nghiệp vụ báo cáo doanh thu

Hình 1 3 Quy trình nghiệp vụ báo cáo doanh thu

d) Quy trình nghiệp vụ đặt hàng

Hình 1 4 Quy trình nghiệp vụ đặt hàng

Trang 11

b) Giao diện đặt món

Hình 1 6 Đặt món

 Thông tin lưu trữ:

 Hình ảnh thức uống hay món ăn đã chọn

 Cung cấp thông tin về sản phẩm như : tên, giá tiền, hìnhảnh sản phẩm, mô tả sản phẩm, khích thước

Trang 12

c) Giao diện tìm kiếm chi nhánh,

Hình 1 7 Tìm kiếm chi nhánh

 Thông tin lưu trữ:

 Hình ảnh các chi nhánh của Highlangs trên bản đồ

 Cung cấp thông tin về chi nhánh như : Tên chi nhánh , địachỉ , số điện thoại , khung giờ hoạt động

Trang 14

b) Giao diện đặt món

Hình 1 9 Đặt món

 Thông tin lưu trữ:

 Hình ảnh thức uống hay món ăn đã chọn

 Cung cấp thông tin về sản phẩm như : tên , giá tiền , hìnhảnh sản phẩm ,mô tả sản phẩm , size sản phẩm

Trang 15

c) Giao diện tìm kiếm chi nhánh

Hình 1 10 Tìm kiếm chi nhánh

 Thông tin lưu trữ:

 Cung cấp thông tin về chi nhánh như : Tên chi nhánh , địachỉ , số điện thoại , khung giờ hoạt động

Trang 16

1.2.3 KATINAT Coffee & Tea House

a) Giao diện xem thực đơn

 Có nhiều sự lựa chọn sản phẩm cho khách hàng

 Hỗ trợ trả lời các thắc mắt của khách hàng qua mạng xãhội Zalo

 Ngôn ngữ tiếng việt và tiếng anh để có thể tiếp cận vớikhách hàng nước ngoài

Trang 17

b) Giao diện giới thiệu thương hiệu

Hình 1 12 Giới thiệu thương hiệu

 Thông tin lưu trữ:

 Hiển thị thành tựu , giới thiệu về thương hiệu

 Cung cấp thông tin về các cửa hàng , cà phê

Trang 18

1.2.4 Cơ cấu tổ chức

c) Giao diện tìm kiếm chi nhánh

Hình 1 13 Tìm kiếm chi nhánh

 Thông tin lưu trữ:

 Hình ảnh các chi nhánh của KATINAT trên bản đồ

 Cung cấp thông tin về chi nhánh như : Tên chi nhánh , địachỉ , số điện thoại , khung giờ hoạt động

 Chức năng:

Ban giám đốcPhòng kinh

doanh

Trưởng phòng kinh doanhQuản lý kinh doanh

Nhân viên bán hàng

Phòng kế toánTrưởng phòng kế toánQuản lý kế toán

Nhân viên

kế toán

Kho

Thủ kho

Trang 19

 Hiển thị hình ảnh các chi nhánh của KATINAT trên bản đồ

2 Tên nhân viên Nvarchar(

50)

Nhập từ bàn phím

(3)

Nhập từ bàn phím

Trang 20

(100) phím

phím

Lương nhân viên không được âm

8 Số giờ làm việc Int Nhập từ bàn

phím

Số giờ không được âm

20)

Nhập từ bàn phím

2 Tên sản phẩm Nvarchar(5

0)

Nhập từ bànphím

NOTNULL

phím

Giá sản phẩm không được

âm, NOT NULL

Trang 21

2 Tên hàng hóa Nvarchar(5

0)

Nhập từ bàn phím

NOTNULL

phím

Số lượng nhập phải trên10,

Trang 22

4 Ghi chú Nvarchar(5

0)

Nhập từ bànphím

5 Trạng thái đơn

hàng

Nvarchar(50)

Khóa chính,NOT NULL

2 Tên nhà cung

cấp

Nvarchar(30)

Nhập từbàn phím

NOTNULL

00)

Nhập từbàn phím

4 Số điện thoại Char(11) Nhập từ

bàn phím

Số điện thoạiphải đủ 10 chữ số

1.3.6 Khách Hàng

Trang 23

Nhập từ bàn phím

NOTNULL

(100)

Nhập từ bàn phím

3)

Nhập từ bàn phím

5 Số điện thoại

khách hàng

Char(11) Nhập từ bàn

phím1.3.7 Chi Tiết Hóa Đơn

Bảng 1 9 Chi tiết hóa đơn

Bảng 1 10 Tài khoản

Trang 24

T nhập

1 Tên đăng nhập Varchar(10

0)

Nhập từ bàn phím

Khóa chính, Not Null

)

Nhập từ bàn phím

Nhập từ bàn phím

3 Mã nhà cung cấp Char(4) Nhập từ bàn

phím

Khóa phụ

Trang 26

phím1.3.13 Lịch làm việc

Trang 27

1.4 Yêu cầu tìm kiếm: Trình bày cụ thể các thao tác tìm kiếm cần có trong đề tài bao gồm các từ khóa cần tìm và kết quả cần thể hiện.

Bảng 1 16 Yêu cầu tìm kiếm

ST

T

1 Tìm kiếm thông tin

2 Tìm kiếm sản phẩm

theo tên

Tên sản phẩm Danh sách sản

phẩm theo từ khóa

5 Tìm kiếm thông tin

nhân viên theo tên

Tên nhân viên Danh sách

thông tin nhân viên theo tên

6 Tìm kiếm thông tin

8 Tìm kiếm thông tin Chức vụ nhân viên Danh sách

Trang 28

nhân viên theo chức

10 Tìm kiếm thông tin

hóa đơn theo mã hóa

đơn

Mã hóa đơn Thông tin hóa

đơn của mã hóa đơn

11 Tìm kiếm thông tin

nhân viên theo mã

nhân viên

Mã nhân viên Thông tin nhân

viên của mã nhân viên

1.5 Các công thức tính toán cho các xử lý.

1.5.1 Tính toán giá vốn hàng hóa (COGS):

- COGS cho một sản phẩm:

 COGS = Giá nhập hàng hóa + Chi phí vận chuyển

- COGS cho toàn bộ sản phẩm:

 COGS tổng = Σ COGS (cho từng sản phẩm)

1.5.2 Tính toán giá bán:

- Giá bán cơ bản:

 Giá bán cơ bản = COGS + Lợi nhuận mong muốn

- Giá bán sau chiết khấu:

 Giá bán sau chiết khấu = Giá bán cơ bản - Chiết khấu1.5.3 Tính toán lợi nhuận gộp:

- Lợi nhuận gộp cho một sản phẩm:

 Lợi nhuận gộp = Doanh thu bán sản phẩm - COGS

- Lợi nhuận gộp tổng:

Trang 29

 Lợi nhuận gộp tổng = Σ Lợi nhuận gộp (cho từng sản phẩm)1.5.4 Tính toán điểm hòa vốn:

- Điểm hòa vốn:

 Điểm hòa vốn = Chi phí cố định / Tỷ suất lợi nhuận gộp (%)

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT

2.1 Mô hình ERD.

 Mô hình thực thể kết hợp:

 Mô hình thực thể kết hợp (Entity Relationship), ký hiệu là E/R

 Được dùng để thiết kế CSDL ở mức quan niệm

 Biểu diễn trừu tượng cấu trúc của CSDL

 Mô hình thực thể kết hợp cho phép nhà thiết kế biểu diễnthông tin của thế giới thực về các khái niệm gần gũi vớichuyên ngành công nghệ thông tin

 Thực thể:

 Một thực thể là một đối tượng của thế giới thực

 Tập hợp các thực thể có tính chất giống nhau tạo thành 1 tậpthực thể

 Ký hiệu : Hình chữ nhật, bên trong có đặt tên của tập thực thể

 Ví dụ:

Trang 30

 Khóa là một tập ít nhất các thuộc tính giúp xác định duy nhấtmột thực thể trong một tập thực thể

 Khóa của tập thực thể gồm một hoặc nhiều thuộc tính

Trang 31

 Các thuộc tính khóa được ký hiệu bằng cách gạch chân dướitên thuộc tính.

Hình 2 3 các thuộc tính khóa được ký hiệu bằng gạch chân

 Có nhiều loại thuộc tính:

 Thuộc tính đơn trị: chỉ nhận một giá trị đơn đối với một thựcthể cụ thể

Hình 2 6 thuộc tính suy diễn

 Thuộc tính kết hợp: là thuộc tính gồm nhiều thành phần nhỏhơn

Trang 32

Hình 2 7 thuộc tính kết hợp

 Mối kết hợp:

 Các thực thể tồn tại trong thực tế có thể có những mối liên hệ vớinhau

 Mối kết hợp là sự liên kết giữa hai hay nhiều thực thể

 Tập hợp các mối kết hợp tương tự nhau được gọi là tập mối kếthợp

 Ký hiệu: Hình thoi, bên trong có đặt tên cho mối kết hợp đó

o Tên của tập mối kết hợp thường là: Động từ, Cụm danh từ, Liêntừ

 Một thực thể trong tập thực thể B kết hợp với một thực thể trongtập thực thể A

Trang 33

Hình 2 10 mối kết hợp N - 1

 Tập mối kết hợp một-một (N-N):

 Một thực thể trong tập thực thể A kết hợp với một số thực thểtrong tập thực thể B

 Một thực thể trong tập thực thể B kết hợp với một số thực thểtrong tập thực thể A

Hình 2 11 mối kết hợp N - N

2.2 Phụ thuộc hàm.

 PTH là công cụ dùng để biểu diễn một cách hình thức mối quan hệ

dữ liệu của các thuộc tính bên trong CSDL

 Thông qua cách biểu diễn PTH, có thể dễ dàng xác định khóa củaquan hệ

 Phương pháp biểu diễn này có vai trò quan trọng trong các phươngpháp thiết kế một lược đồ quan niệm của CSDL:

 Nhằm tạo ra những quan hệ độc lập nhau, giảm thiểu sự trùnglắp, dư thừa dữ liệu

Trang 34

 Do đó, giảm bớt các sai sót khi cập nhật dữ liệu của người sửdụng.

 Ngoài ra, còn dùng để đánh giá chất lượng thiết kế một CSDL

 Cho r(U), với r là quan hệ (hoặc bảng) và U là tập thuộc tính

 Cho A,B U(v i A,B l t p c c thu c t nh), ph thu c h m A à B (A⊆ ớ à ậ á ộ í ụ ộ àxác định B) được định nghĩa là: ∀t,t’ ∈ r n u t A = t.A th tế ’ ì ’.B=t.B(Ý nghĩa: nếu 2 bộ có cùng trị A thì có cùng trị B)

2.3 Các dạng chuẩn.

a) Dạng chuẩn 1

 Định nghĩa: Một quan hệ đạt dạng chuẩn 1(DC1) là một quan hệ

mà các giá trị trên từng thuộc tính phải là giá trị nguyên tố vàcòn được gọi là cấu trúc phẳng

b) Dạng chuẩn 2

 Định nghĩa: Một quan hệ đạt dạng chuẩn 2(DC2) nếu và chỉ nếu

nó đạt DC1 và tất cả các thuộc tính không khóa phụ thuộc đầy đủvào khóa

 Lưu ý: Dạng chuẩn 2 có thể vi phạm khi quan hệ khóa gồmnhiều hơn một thuộc tính

c) Dạng chuẩn 3

 Định nghĩa: Một quan hệ đạt dạng chuẩn 3(DC3) nếu và chỉ nếu

nó đạt DC2 và tất cả các thuộc tính không khóa không phụ thuộcbắc cầu vào khóa

d) Dạng chuẩn BCK

 Định nghĩa: Một quan hệ đạt dạng chuẩn BOYCE CODDKENT(BCK) nếu với mọi phụ thuộc hàm X→A không hiển nhiênđịnh nghĩa trên quan hệ, A X th X (m i v tr i c a t t c c c ph∉ ì ọ ế á ủ ấ ả á ụthuộc h m) l m t si u kh a c a quan h , ngh a l X l m t kh aà à ộ ê ó ủ ệ ĩ à à ộ ó

hoặc ch a m t khứ ộ óa

e) Dạng chuẩn 4

 Mục đích của dạng chuẩn 4: là không cho phép xuất hiện phụthuộc hàm đa trị không hiển nhiên trên một quan hệ

 Nếu có, cần tách nhỏ các quan hệ nhằm biến các phụ thuộc hàm

đa trị không hiển nhiên thành hiển nhiên trong các quan hệ mới

để không cần kiểm tra nữa

 Cách tách phụ thuộc đa trị không hiển nhiên:

 Biến đổi các phụ thuộc đa trị không hiển nhiên trong một cấutrúc này thành phụ thuộc đa trị hiển nhiên trong 1 cấu trúckhác

Trang 35

 Ví dụ: Trên Q(X,Y,Z) có phụ thuộc đa trị không hiển nhiên X

>> Y

▫ Ta tạo ra cấu trúc: C = { Q1(X,Y); Q2(X,Z) }

Trang 36

2.4 Bảo toàn thông tin.

 Cho lược đồ quan hệ R và tập phụ thuộc hàm F

 Phép tách lược đồ R thành tập các lược đồ R1, ,

Rm được gọi là không mất mát thông tin đối với F

nếu với mỗi quan hệ r trên R thoả F thì: ΠU1(r)*

ΠU2(r) * * ΠUm(r) =r

Hình 2 12 ví dụ bảo toàn thông tin

 Thuật toán : Phép tách bảo toàn phụ thuộc hàm

 Nhập: R(U), U={A1,…, An} và tập PTH F

o B2.2.Với mỗi Xà Aj Î G, xây dựng lược đồ Ri(Ui), Ui = X

È {Aj} Khóa chính của Ri là X

 B3: Giả sử xong B2 ta có các lược đồ R1,…, Rm Nếu U1 È …È

Um ≠ U thì xây dựng thêm lược đồ Rm+1(Um+1), Um+1 = U– (U1 È…È Um) Khóa chính của Rm+1 là Um+1

 B4: Xuất các lược đồ Ri

 Ví dụ:

Cho U = ABCDE và F={A→C, B→C, C→D, DE→C, CE→A} Tách Uthành U1=AC, U2=CD,U3=BE,U4=BC, U5=AE Kiểm tra tính bảotoàn thông tin

Trang 37

Bước 1 Tách vế phải các phụ thuộc hàm

Bước 2 Kẻ bảng các cột là thuộc tính các hàng là đồ thị con.Điền ai vào các thuộc của các lược đồ con

2.5 Lập trình CSDL.

2.5.1 Giới thiệu

 Khi đã có cơ sở dữ liệu người dùng sẽ quan tâm đến phương pháp

sử dụng cơ sở dữ liệu ấy Đa phần, các hệ thống cơ sở dữ liệu đều

có giao diện tương tác người dùng (interactive interface) để gõlệnh SQL và thực hiện truy dữ liệu bằng SQL Tuy nhiên ngườidùng thường tương tác cơ sở dữ liệu thông qua phần mềm ứngdụng (application programs) hay còn gọi là ứng dụng truy xuất cơ

 Có rất nhiều công nghệ được phát triển để tương tác CSDL như:

1 Chèn trực tiếp câu lệnh SQL vào mã nguồn ứng dụng

2 Sử dụng các thư viện phần mềm tương tác CSDL

3 Phát triển SQL thành một ngôn ngữ lập trình với các cấu trúc

cơ bản như cấu trúc điều khiển, cấu trúc lặp,

 Tuy nhiên, việc xây dựng phần mềm tương tác với CSDL thường

sẽ gặp một số vấn đề về tính tương thích (Impedance mismatch)

 Ví dụ như kiểu dữ liệu trong SQL bao gồm varchar, nvarchar,decimal, real sẽ khác với các kiểu dữ liệu trong ngôn ngữ lập trìnhnhư string, int, double, từ đó yêu cầu chuyển kiểu dữ liệu

 Dữ liệu trả về từ câu truy vấn của SQL thường ở dạng bảng vớinhiều cột và nhiều dòng, dữ liệu này phải được chuyển sang mộtcấu trúc dữ liệu phù hợp trong ngôn ngữ lập trình

 Với ý tưởng xây dựng chương trình mà không phải chuyển đổikiểu dữ liệu giữa ngôn ngữ SQL và ngôn ngữ lập trình, các nhàphát triển đã xây dựng phần mở rộng cho ngôn ngữ SQL gọi làSQL/PSM (SQL/Persistent Stored Modules)

 SQL/PSM cho phép thực hiện các câu lệnh truy vấn SQL cơ bản vàkết hợp với một số cấu trúc đặc trưng của ngôn ngữ lập trìnhtruyền thống như cấu trúc điều khiển, cấu trúc lặp, hàm con,

Trang 38

2.5.2 Biến cục bộ.

 Trong T-SQL, biến cục bộ là đối tượng dùng để lưu trữ một dữliệu đơn thuộc một kiểu dữ liệu cụ thể (int, char, date, )

 Các biến này thường được dùng để:

 Lưu trữ số lần lặp của một câu lệnh lặp

 Lưu trữ giá trị dùng để kiểm tra trong câu lệnh điều khiển

 Lưu trữ giá trị trả về từ các hàm con

 Khai báo biến cục bộ cần các thông tin sau:

 Từ khóa khai báo biến : DECLARE

 Tên biến : bắt đầu bằng ký tự @

 Khai báo kiểu dữ liệu và chiều dài dữ liệu (nếu là kiểu chuỗi)

 Cú pháp: DECLARE @tên_biến

 Ví dụ:

DECLARE @MyCounter INT ;

DECLARE @LastName NVARCHAR ( ), 30 @FirstName NVARCHAR ( 20 );

DECLARE @dob DATE ;

 Để gán giá trị đơn (một số hoặc 1 chuỗi) cho biến cục bộ, sử dụnglệnh SET

DECLARE @MyVariableChar NCHAR ( ); 20

SET @MyVariableChar = N ’ 13 Lê Duẫn ’ ;

DECLARE @MyVariableChar CHAR ( ); 20

SET @MyVariableChar = This a test is ’ ;

 Để gán giá trị là một ô hoặc dữ liệu tổng hợp(thu được từ cáchàm count, sum, max, min, avg) từ các ô trong bảng cho biến, sửdụng lệnh SELECT

 Ví dụ:

Trang 39

 Biến hệ thống luôn bắt đầu bằng @@.

 Người lập trình không thể gán giá trị vào hệ thống

 Giá trị mà chúng đang lưu trữ là do hệ thống Microsoft SQLServer cung cấp

Ví dụ: @@LANGUAGE, @@VERSON,

2.5.4 Cấu trúc điều khiển

 Cấu trúc điều khiển cho phép chương trình kiểm tra một điều kiện

ElsePrint N ‘Chưa đủ 5 năm’

Trong trường hợp nếu phải thực hiện nhiều hơn một lệnh thì bổsung thêm cặp lệnh BEGIN-END

2.5.5 Cấu trúc lặp

 Cấu trúc lặp cho phép thực hiện cùng một thao tác với nhiều đốitượng khác nhau:

Cú pháp:

WHILE <điều kiện>

Đoạn chương trình sẽ thực hiện khi điều kiện đúng | BREAKCONTINUE}

 Trong trường hợp cứ phải thực hiện nhiều hơn một lệnh thì bổsung thêm cặp lệnh BEGIN-END

Ví dụ:

Trang 40

DECLARE @var INT ;

 Lợi ích của thủ tục:

 Tối ưu hóa việc phân tích, biên dịch và thực thi câu lệnh

 Thực hiện một yêu cầu bằng một câu lệnh đơn giản hơn thay vìphải sử dụng nhiều dòng lệnh SQL khi thực thi làm giảm thiểu

sự lưu thông trên mạng

 Tăng khả năng bảo mật khi cấp phát quyền thông qua thủ tục

 Tốc độ xử lý của các thủ tục nội tại rất nhanh

 Phân loại:

 Thủ tục hệ thống: Bắt đầu bằng chữ sp_ và hầu hết tất cả cácthủ tục hệ thống được lưu trữ bên trong CSDL Master

Ngày đăng: 11/02/2025, 16:15