1. Trang chủ
  2. » Giáo Dục - Đào Tạo

(TIỂU LUẬN) bài tập lớn cơ sở dữ LIỆU đề tài cơ sở dữ LIỆU QUẢN lý NHÀ HÀNG ăn

23 10 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

Tiêu đề Tiểu luận Bài tập lớn cơ sở dữ liệu đề tài Cơ sở dữ liệu Quản lý Nhà Hàng Ăn
Người hướng dẫn TS. Trần Hồng Diệp
Trường học Trường Đại Học Thủy Lợi
Chuyên ngành Công Nghệ Thông Tin
Thể loại Bài tập lớn
Năm xuất bản 2021
Thành phố Hà Nội
Định dạng
Số trang 23
Dung lượng 189,24 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Các thuộc tính không khóa là BCDE đều phụ thuộc đầy đủ vào khóa A nên Q1 đạt 2NF.Tất cả các thuộc tính không khóa không phụ thuộc bắc cầu vào khóa nên Q1 đạt 3NF.Q2 = AB Phụ thuộc hàm: F

Trang 1

KHOA CÔNG NGHỆ THÔNG TIN

BÀI TẬP LỚN

CƠ SỞ DỮ LIỆU

ĐỀ TÀI:

CƠ SỞ DỮ LIỆU QUẢN LÝ NHÀ HÀNG ĂN

Giảng viên: TS.Trần Hồng DiệpSinh viên: Dương Văn Thành

Lớp: 61TH6

Trang 2

Hà Nội, 4/2021

TRƯỜNG ĐẠI HỌC THỦY LỢI

KHOA CÔNG NGHỆ THÔNG TIN

BÀI TẬP LỚN

CƠ SỞ DỮ LIỆU

ĐỀ TÀI:

CƠ SỞ DỮ LIỆU QUẢN LÝ NHÀ HÀNG ĂN

Giảng viên: TS.Trần Hồng DiệpSinh viên: Dương Văn Thành

Lớp: 61TH6MSV: 1951061022

Trang 3

HÀ NỘI, 4/2021

LỜI NÓI ĐẦU

Trong thời đại ngày nay, công nghệ thông tin đang được phát triển mạnh mẽ, nhanh chóng và

xâm nhập vào nhiều lĩnh vực khoa học, kỹ thuật, cũng như trong cuộc sống Nó trở thành công

cụ hữu ích để quản lý , xây dựng , thiết kế … đặc biệt trong công tác quản lý nói chung vàquản lý nhà hàng nói riêng

Trước đây, khi máy tính chưa được ứng dụng rộng rãi, các công việc quản lý nhà hàng đều đượclàm rất thủ công nên mất rất nhiều thời gian, nhân lực cũng như tài chính Ngày nay, cùng với

sự phát triển của CNTT máy tính đã được sử dụng rỗng rãi trong các cơ quan, nhà máy, trường,siêu thị, … giúp cho công việc được tốt hơn Việc sử dụng máy tính vào công tác quản lý là mộtyêu cầu cấp thiết được cải tiến ngày nay Vì vậy, em đã xây dựng một cơ sở dữ liệu “ Quản lýnhà hàng ăn” với mong muốn có thể giúp cho việc xây dựng hệ thống quán lý một cách dễ dànghơn Để từ đó có thể đưa ra được thực nghiệm ứng dụng vào thực tế

Là một sinh viên công nghệ thông tin, nhận được tầm quan trọng của tin học hóa và cácdoanh nghiệp tin học trong cơ chế thị trường như hiện nay ở Việt Nam, sau một thời gian tìm

hiểu và học tập, em đã quyết định chọn đề tài “Quản lý nhà hàng ăn” nhằm ứng dụng những

kiến thức đã học được và kết hợp chúng với kiến thức về kinh tế

Em xin chân thành cảm ơn cô giáo TS Trần Hồng Diệp giảng viên đã tận tình hướngdẫn, giảng dạy em bộ môn Cơ Sở Dữ Liệu để hoàn thành được bài tập này

Trang 4

MỤC LỤC

II.1 Các kiểu liên kết

Trang 5

III.3 Chuẩn hóa lược đồ quan hệ thành dạng 3NF hoặc BCNF 14

Trang 8

2.2 Mô hình thực thể ban đầu

Trang 9

2.3 Tách đa trị

Trang 10

2.4 Mô hình liên kết mở rộng

Trang 11

2.5 Chuyển Mô Hình Quan Hệ

Trang 12

Mỗi khách có mã (Ma_K) duy nhất, tên khách (Ten_K), địa chỉ (Dia_C) và số điện thoại (SDT).

2 NHANVIEN( Ma_NV, Ten_NV, Dia_C, Dien_T, ChucV)

Mỗi nhấn viên có mã nhân viên (Ma_NV) duy nhất, tên nhân viên (Ten_NV), địa chỉ (Dia_C),

số điện thoại (Dien_T), chức vụ ở trong nhà hàng (ChucV)

3 LUONG( MaL, T_Toan)

Mỗi lương có mã lương (MaL) duy nhất và thanh toán (T_Toan)

4 HOADON( Ma_HD, Ngay).

Mỗi hóa đợn có mã hóa đơn (Ma_HD) duy nhất, ngày hóa đơn (Ngay), tổng tiền trên hóa đơn (T_Tien), không trả (K_Tra) và còn dư (C_Du)

5.CHITIETHOADON ( Ma_HD, Ma_K, T_Tien, K_Tra, C_Du, Ma_NV)

Mỗi hóa đợn có mã hóa đơn (Ma_HD), Mỗi khách có mã (Ma_K) duy nhất, tổng tiền trên hóađơn (T_Tien), không trả (K_Tra) và còn dư (C_Du)

6 NHACC( MaNC, Ten_NC, Dia_C, Dien_T, Ngay_HT)

Mỗi nhà cung cấp có mã nhà cung cấp (MaNC), tên nhà cung cấp (Ten_NC), địa chỉ

(Dia_C), điện thoại (Dien_T), ngày hợp tác (Ngay_HT)

6 THUCPHAM(Ma_TP, Ten_TP, D_Vi, Ngay_N, Ngay_HH)

Mỗi thực phẩm có mã thực phẩm (Ma_TP), tên thực phẩm (Ten_TP), đơn vị tính (D_Vi), ngày nhập (Ngay_N) và ngày hết hạn (Ngay_HH)

7 MENU( Ma_MN, Ma_M, Ten_M, Don_G, DV_T).

III Xác định khóa

Trang 13

3.1 Xác định phụ thuộc hàm.

Bảng quan hệ NHANVIEN:

Q1 = (MaNV, Ten_NV, Dia_C, Dien_T, Chuc_Vu, Ma_L)

_ Đặt MaNV = A, Ten_NV = B, Dia_C = C, Dien_T = D, Chuc_Vu = E, Ma_L=F;

Q3 = (Ma_TP, Ten_TP, DV_T, Ngay_N, Ngay_HH, Ma_NCC)

_ Đặt Ma_TP= A, Ten_TP= B, DV_T=C, Ngay_N=D, Ngay_HH= E, Ma_NCC= F

Q3 = (ABCDEF)

Phụ thuộc hàm:

F3={A→BCD,D→E,AB→F}

Bảng quan hệ NHACC:

Q4 = (MaNC, Ten_NC, Dia_C, Dien_T)

_ Đặt MaNC = A, Ten_NC = B, Dia_C = C, Dien_T = D;

Q4 = (ABCD)

Phụ thuộc hàm:

F4={A→BC,AB→D}

Bảng quan hệ KHACH:

Q5 = (Ma_K, Ten_K, Dia_C, Dien_T, Ma_NV, Ma_MN)

_ Đặt Ma_K = A, Ten_K = B, Dia_C = C, Dien_T= D, Ma_NV = E, Ma_MN = F

Q5 = (ABCDEF)

Phụ thuộc hàm:

F5={A→BCD,A→EF}

Bảng quan hệ HOADON:

Q5 = (Ma_HD, T_Tien, Ngay, Ma_NV, Ma_K)

_ Đặt: Ma_HD = A, T_Tien = B, Ngay = C, Ma_NV =D, Ma_K= E

Trang 14

Q6 = (ABCD)

Phụ thuộc hàm:

F6 = {A → BC, B→D}

Bảng quan hệ LUONG

Q7 = {MaL, T_Toan, Ma_NV}

_ Đặt MaL = A, Ma_NV = B, T_Toan =

Ta có giao của các khóa là X = {ABCDE} – {BCDE} = {A}

Bao đóng của A =ABCDE = Q1 nên A là khóa duy nhấtcủa quan hệ

Q1 Q2 = (AB)

Phụ thuộc hàm:

F2= {A B}

Ta có giao của các khóa là X = {ABC} – {B} = {A}

Bao đóng của A = ABCD = Q2 nên A là khóa duy nhất của quan hê Q2

Q3 = (ABCDEF)

Phụ thuộc hàm:

F3={A→BCD,D→E,AB→F}

Ta có giao của các khóa la X= {ABCDEF} – {BCDEF} = {A}

Bao đóng của A = ADBFCE = Q3 nên A là khóa duy nhất của quan hệ Q3

Q4 = (ABCD)

Phụ thuộc hàm:

F4={A→BC,AB→D}

Ta có giao của các khóa là X = {ABCD} – {BCD} = {A}

Bao đóng của A= ABCD= Q4 nên A là khóa duy nhất của quan hệ Q4

Q5 = (ABCDE)

Phụ thuộc hàm:

F5={A→BC,EA→D,AC→E}

Ta có giao của các khóa là X = {ABCDE} - {BCDE} = {A}

Bao đóng của A = ABCDE = Q6 nên A là khóa duy nhất của quan hệ

Q5 Q6 = (ABCD)

Phụ thuộc hàm:

F6={A→BC,B→D}

Ta có giao của các khóa là X = {ABCD} – {BCD} = {A}

Bao đóng của A = ABCD = Q6 nên A là khóa duy nhất của quan hệ Q6

Trang 15

Q7 = {ABC}

Phụ thuộc hàm:

F7={A B,A C}

Ta có giao của các khóa là X = {ABC} – {BC} = {A}

Bao đóng của A = ABC = Q7 nên A là khóa duy nhất của quan hệ Q6

3.3 Chuẩn hóa lược đồ quan hệ thành dạng 3NF hoặc BCNF

Chuẩn hóa mô hình về dạng 3NF:

Mô hình ở dạng 3NF nếu nó ở dạng 1 NF và 2NF Các thuộc tính không khóa đều phụ thuộcđầy đủ vào các khóa Không có phụ thuộc hàm bắc cầu vào khóa

Q1 = (ABCDE)

Phụ thuộc hàm:

F1 = {A → BC, A → DE Khóa là A

Q1 không có thuộc tính suy diễn và thuộc tính lặp nên đạt 1NF

Các thuộc tính không khóa là BCDE đều phụ thuộc đầy đủ vào khóa A nên Q1 đạt 2NF.Tất cả các thuộc tính không khóa không phụ thuộc bắc cầu vào khóa nên Q1 đạt 3NF.Q2 = (AB)

Phụ thuộc hàm:

F2= {A → B} Khóa của Q2 là A

Q2 không có thuộc tính suy diễn và thuộc tính lặp nên đạt 1NF

Các thuộc tính không khóa là B đều phụ thuộc đầy đủ vào khóa A nên Q2 đạt 2NF Tất

cả các thuộc tính không khóa không phụ thuộc bắc cầu vào khóa nên Q2 đạt 3NF

Q3 = (ABCDEF)

Phụ thuộc hàm:

F3 = {A → BCD, D → E, AB → F Khóa của Q3 là A

Q3 không có thuộc tính suy diễn và thuộc tính lặp nên đạt 1NF

Các thuộc tính không khóa là BCDE không phụ thuộc đầy đủ vào khóa nên Q2 chưa đạt 2NF Tính được Fc= {A → B, A → C, A → D, D → E, A → F}

Trang 16

Q4 không có thuộc tính suy diễn và thuộc tính lặp nên đạt 1NF

Tính được Fc = {A → B, A → C, A → D} Khóa của Q4 là A

Q5 không có thuộc tính suy diễn và thuộc tính lặp nên đạt 1NF

Thuộc tính khóa là A và thuộc tính không khóa là BCDE phụ thuộc đầy đủ vào khóa nên Q5 đạt

Q5 không có thuộc tính suy diễn và thuộc tính lặp nên đạt 1NF

Thuộc tính khóa là A và thuộc tính không khóa là BCDEphụ thuộc đầy đủ vào khóa nên Q5 đạt

Q5 không có thuộc tính suy diễn và thuộc tính lặp nên đạt 1NF

Thuộc tính khóa là A và thuộc tính không khóa là BC phụ thuộc đầy đủ vào khóa nên Q5 đạt 2 NF

Các thuộc tính không khóa không phụ thuộc bắc cầu vào khóa nên Q5 đạt 3NF

IV Câu lệnh truy vấn dữ liệu SQL

Trang 17

Ma_NV char (8) not null,

Ma_MN char (5) not null,

foreign key (Ma_NV) references NHANVIEN

(Ma_NV), foreign key (Ma_MN) references MENU ( Ma_MN) );

Tạo bảng HOADON

create table HOADON

Trang 18

Ma_HD char (5) not null primary key,

Ma_NV char (8) not null,

Ma_K char (8) not null,

foreign key (Ma_NV) references NHANVIEN

(Ma_NV), foreign key (Ma_K) references KHACH (Ma_K) );

Ma_NV char (8) not null,

foreign key (Ma_NV) references NHANVIEN (Ma_NV));

Ma_NV char (8) not null,

foreign key (Ma_NV) references NHANVIEN (Ma_NV));

4.2 Các câu hỏi truy vấn và ngôn ngữ SQL

Trang 19

1 Đưa ra danh sách tất cả các nhân viên có họ bắt đầu là 'Vu’.

2 Đưa ra thông tin khách hàng đã ăn trong nhà hàng ngày 2/2/2017

3 Cho biết 3 nhân viên có lương thanh toán cao nhất

4 Cho biết thông tin Ma_K, Ten_K đã thanh toán tiền với tổng tiền cao nhất trong ngày

‘2/2/2017’

5 Đưa ra thông tin khách hàng có địa chỉ ở Hà Nội

6 Hiện thị thông tin nhân viên sinh năm 1997 làm chức vụ phục vụ

7 Cho biết nhân viên “NV1” đã nhập thực phẩm gì trong tháng 9/3/2017

8 Đưa ra thông tin các món ăn cuả mã menu 'M1'

9 Sắp xếp nhân viên theo thứ tự giảm dần của tiền lương T_Toan Nếu lương bằng nhau thì sắp xế theo thứ tự giảm dần về ma_nv

10 Cho biết họ tên, địa chỉ của khách hàng đã ăn trong ‘2/3/2017’

11 Tăng lương thêm 5000000 cho những nhân viên có chức vụ là 'Quản lý'

12 Liệt kê Ma_M, Ten_M với đơn giá 20000

1 Đưa ra danh sách tất cả các nhân viên có họ bắt đầu là 'Vu’

select *

from NHANVIEN

where Ten_NV like 'Vu%';

2 Đưa ra thông tin khách hàng đã ăn trong nhà hàng ngày 2/2/2017

select *

from KHACH, HOADON

where( (DAY(Ngay)=2) and (MONTH(Ngay)=2 )and (YEAR(Ngay)=2017)) and

Trang 20

4 Cho biết Ma_K, Ten_K đã thanh toán tiền với tổng tiền cao nhất trong ngày '2- 2017’ select *

3-from KHACH

where Ma_K in ( select Max(T_Tien) from HoaD where Ngay= '2/3/2017');

5 Đưa ra thông tin khách hàng có địa chỉ ở HN

select *

from KHACH

where Dia_C like 'HN';

6.Hiện thị thông tin các nhân viên sinh năm 1997, làm chức vụ phục vụ

select Ma_NV, Ten_NV, Ngay_S

from NHANVIEN

where ChucVu like 'Phuc vu'and (YEAR(Ngay_S)=1997);

7 Cho biết nhân viên “NV1” đã nhập thực phẩm gì từ nhà cung cấp 'NC1' năm

2017 select *

from THUCPHAM

where Ma_TP in (select Ma_NCC from NHANVIEN, NHACC where

NHANVIEN.Ma_NV=NHACC.Ma_NV and NHANVIEN.Ma_NV= 'NV1' and Ma_NCC ='NC1');

8 Đưa ra thông tin các món ăn cuả mã menu 'M1'

select *

from MENU

where Ma_MN like 'M1';

Trang 21

9 Sắp xếp nhân viên theo thứ tự giảm dần của tiền lương T_Toan Nếu lương bằng nhau thì sắp xế theo thứ tự giảm dần về ma_nv.

select *

from LUONG

order by T_Toan desc, Ma_NV asc;

10 Cho biết họ tên, địa chỉ của khách hàng ăn trong trong ngày

'2/2/2017' select Ten_K, Dia_C

from KHACH KH, HOADON HD

where HD.Ma_K=KH.Ma_K and HD.Ngay= '2/3/2017' ;

11 Tăng lương thêm 5000000 cho những nhân viên có chức vụ là 'Quản

lý' update LUONG

set T_Toan=T_Toan+5000000

where Ma_NV in (select ChucVu from NHANVIEN where ChucVu like'Quan Ly');

12 Liệt kê các mã món, Ten_M với đơn giá 20000

select Ma_M, Ten_M

from MENU

where Don_G =200000;

Trang 22

Sau khi hoàn thành bài tập lớn này, em đã thu được những kiến thức về môn học cơ sở dữ liệu cũng như áp dụng kiến thức đó vào phân tích các bài toán thực tế.

Bài tập đã làm được các nội dung sau đây:

Bài toán 1: Xác định được các mối liên kết và ràng buộc dữ liệu Xây dựng được mô hình thực thể liên kết ER Sau đó từ mô hình này thực hiển chuyển sang mô hình quan hệ

Bài toán 2: Từ mô hình quan hệ thu được từ bài toán 1 Tiến hành tìm các phụ thuộc hàm, tìm các khóa Sau đó chuẩn hóa mô hình về dang chuẩn 3NF hoặc BCNF

Bài toán 3: Từ các dữ liệu đã có Truy vấn cơ sở dữ liệu bằng ngôn ngữ SQL qua các câu lệnh

Từ đó kết luận được:

Cơ sở dữ liệu là một hệ thống các thống tin có cấu trúc, được lưu trữ trên các thiết bị nhằm thỏa mãn nhu cầu khai thác thông tin từ thực tiễn đồng thời của nhiều người sử dụng hay nhiều chương trình ứng dụng chạy cùng một lúc với những mục đích khác nhau Vì cậy để đảm bảo

cơ sở dữ liệu được chuẩn xác cần phải đi thực nghiệm thực thế các hệ thống quản lý tại nơi đó rồi từ đó phân tích và thiết kế ra được cơ sở dữ liệu phù hợp Thực thể càng nhiều cơ sở dữ liệu càng được thể hiện hệ thống chặt chẽ Xác định các phụ thuộc hàm phải đảm bảm các yêu cầu

về dàng buộc dữ liệu để tránh bị vi phạm ràng buộc toàn vẹn trong thiết kế cơ dữ liệu

Việc sử dụng thông thạo các câu truy vấn SQL giúp cho việc truy vấn dữ liệu theo yêu cầu sẽrất dễ dàng

Kiến nghị:

Trên đây là những kết quả đầu tiên mà em học tập và làm dựa trên yêu cầu bài tập lớn môn Cơ

sở dữ liệu, nên còn nhiều sai sót mong cô chấp nhận bài làm của em Trong tương lai, từ mônhọc này kết hợp với môn học liên quan em sẽ phân tích rồi thiết kế được một số cơ sở dữ liệuhữu dụng cho thực tế Em xin chân thành cảm ơn cô giáo TS Trần Hồng Diệp đã tận tình hướngdẫn, giảng dạy em bộ môn Cơ Sở Dữ Liệu để hoàn thành được bài tập này

TÀI LIỆU THAM KHẢO

Trang 23

[1] TS.Trần Hồng Diệp , 2009 , Bài giảng, Nhập Môn Cơ sở dữ liệu, Bộ môn tin học , Trường Đại học Lâm Nghiệp.

[2] TS Đặng Thị Thu Hiền, 2017, Bài giảng, Cơ sở dữ liệu, Bộ môn Hệ thống thông tin, Trường Đại học Thủy Lợi

[3] GV Phạm Thị Hồng Nhung, 2007, Phần I, Phần II, Cơ sở dữ liệu, Bộ môn Công nghệ phần mềm, Trường Đại học Thủy Lợi

[4] Marcilina S Garcia, Jamie Reding, Edward Whalen, Steve Adrien DeLuca, SQL Server

2000 Administrator’s Companion, Microsoft Press, 2000

Ngày đăng: 30/11/2022, 14:06

HÌNH ẢNH LIÊN QUAN

2.4 Mơ hình liên kết mở rộng - (TIỂU LUẬN) bài tập lớn cơ sở dữ LIỆU đề tài cơ sở dữ LIỆU QUẢN lý NHÀ HÀNG ăn
2.4 Mơ hình liên kết mở rộng (Trang 10)
2.5 Chuyển Mơ Hình Quan Hệ - (TIỂU LUẬN) bài tập lớn cơ sở dữ LIỆU đề tài cơ sở dữ LIỆU QUẢN lý NHÀ HÀNG ăn
2.5 Chuyển Mơ Hình Quan Hệ (Trang 11)

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w