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

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 9 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 23
Dung lượng 189,64 KB

Nội dung

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ệp Sinh viên: Dương Văn Thành Lớp: 61TH6 TIEU LUAN MOI download : skknchat123@gmail.com 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ệp Sinh viên: Dương Văn Thành Lớp: 61TH6 MSV: 1951061022 TIEU LUAN MOI download : skknchat123@gmail.com HÀ NỘI, 4/2021 LỜI NÓI ĐẦU Trong thời đại ngày nay, công nghệ thông tin phát triển mạnh mẽ, nhanh chóng xâm nhập vào nhiều lĩnh vực khoa học, kỹ thuật, 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 cơng tác quản lý nói chung quản lý nhà hàng nói riêng Trước đây, máy tính chưa ứng dụng rộng rãi, công việc quản lý nhà hàng làm thủ công nên nhiều thời gian, nhân lực tài Ngày nay, với phát triển CNTT máy tính sử dụng rỗng rãi quan, nhà máy, trường, siêu thị, … giúp cho cơng việc tốt Việc sử dụng máy tính vào công tác quản lý yêu cầu cấp thiết cải tiến ngày Vì vậy, em xây dựng sở liệu “ Quản lý nhà hàng ăn” với mong muốn giúp cho việc xây dựng hệ thống quán lý cách dễ dàng Để từ đưa thực nghiệm ứng dụng vào thực tế Là sinh viên công nghệ thông tin, nhận tầm quan trọng tin học hóa doanh nghiệp tin học chế thị trường Việt Nam, sau thời gian tìm hiểu học tập, em định chọn đề tài “Quản lý nhà hàng ăn” nhằm ứng dụng kiến thức học kết hợp chúng với kiến thức 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ướng dẫn, giảng dạy em môn Cơ Sở Dữ Liệu để hoàn thành tập TIEU LUAN MOI download : skknchat123@gmail.com MỤC LỤC LỜI NÓI ĐẦU MỤC LỤC I Khảo Sát Thực Tế II Phân Tích Và Thiết Kế Dữ Liệu II.1 Các kiểu liên kết II.2 Mơ II.3 II.4 Mơ hình liên kết mở rộng 10 II.5 Chuyển mơ hình quan hệ 11 III Xác định khóa III.1 Xác định phụ thuộc hàm khóa 12 III.2 Tìm khóa cho quan hệ 13 TIEU LUAN MOI download : skknchat123@gmail.com III.3 Chuẩn hóa lược đồ quan 14 IV Câu lệnh truy vấn liệu SQL IV.1 Tạo bảng 16 IV.2 Các câu hỏi truy ng 18 Kết Luận Tài Liệu Tham Khảo I Khảo Sát Thực Tế: *Căn vào khảo sát thực tế, phát kiểu thực thể gồm thuộc tính sau 1.Khách: + Ma_K + Ten_K + Dia_Chi + Dien_Th Mỗi khách có mã (Ma_K) nhất, tên khách (Ten_K), địa (Dia_C) số điện thoại (SDT) Nhân viên : + Ma_NV + Ten_NV + Dia_Chi + Dien_Th + Chuc-Vu Mỗi nhấn viên có mã nhân viên (Ma_NV) nhất, tên nhân viên (Ten_NV), địa (Dia_C), số điện thoại (Dien_T), chức vụ nhà hàng (ChucV) TIEU LUAN MOI download : skknchat123@gmail.com Lương: + MaL + T_Toan Mỗi lương có mã lương (MaL) tốn (T_Toan) Hóa đơn: + Ma_HD + Ma_K + Ngay + T_Tien + K_Tra + C_Du + Ma_NV Mỗi hóa đợn có mã hóa đơn (Ma_HD) nhất, ngày hóa đơn (Ngay), tổng tiền hóa đơn (T_Tien), khơng trả (K_Tra) cịn dư (C_Du) Nhà cung cấp: + 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 (Dia_C), điện thoại (Dien_T), ngày hợp tác (Ngay_HT) Thực phẩm: + 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) ngày hết hạn (Ngay_HH) MENU: + Ma_MN + Ma_M TIEU LUAN MOI download : skknchat123@gmail.com + Ten_M + Don_G AI Phân Tích Và Thiết Kế CSDL: 2.1 Các kiểu liên kết + Nhân Viên – Khách : – N + Lương – Nhân Viên: – + Nhà cung cấp – Thực phẩm: – N + Khách – Hóa đơn: N – N + Khách – Menu : – N + Nhân viên – Nhà cung cấp: - N TIEU LUAN MOI download : skknchat123@gmail.com 2.2 Mô hình thực thể ban đầu TIEU LUAN MOI download : skknchat123@gmail.com 2.3 Tách đa trị TIEU LUAN MOI download : skknchat123@gmail.com 2.4 Mơ hình liên kết mở rộng 10 TIEU LUAN MOI download : skknchat123@gmail.com 2.5 Chuyển Mô Hình Quan Hệ KHACH( Ma_K, Ten_K, Dia_C, Dien_T) 11 TIEU LUAN MOI download : skknchat123@gmail.com Mỗi khách có mã (Ma_K) nhất, tên khách (Ten_K), địa (Dia_C) số điện thoại (SDT) NHANVIEN( Ma_NV, Ten_NV, Dia_C, Dien_T, ChucV) Mỗi nhấn viên có mã nhân viên (Ma_NV) nhất, tên nhân viên (Ten_NV), địa (Dia_C), số điện thoại (Dien_T), chức vụ nhà hàng (ChucV) LUONG( MaL, T_Toan) Mỗi lương có mã lương (MaL) toán (T_Toan) HOADON( Ma_HD, Ngay) Mỗi hóa đợn có mã hóa đơn (Ma_HD) nhất, ngày hóa đơn (Ngay), tổng tiền hóa đơn (T_Tien), khơng trả (K_Tra) 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) nhất, tổng tiền hóa đơn (T_Tien), khơng trả (K_Tra) cịn dư (C_Du) 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 (Dia_C), điện thoại (Dien_T), ngày hợp tác (Ngay_HT) 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) ngày hết hạn (Ngay_HH) MENU( Ma_MN, Ma_M, Ten_M, Don_G, DV_T) BI Xác định khóa 12 TIEU LUAN MOI download : skknchat123@gmail.com 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; Q1 = (ABCDEF) Phụ thuộc hàm: F1= {A → BCD, AB EF} Bảng quan hệ LUONG: Q2 = (MaL, T_Toan) _ Đặt MaL= A, T_Toan=B Q2 = (ABC) Phụ thuộc hàm: F2= {A → B} Bảng quan hệ THUCPHAM: 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 Q5 = (ABCDE) Phụ thuộc hàm: F5={A→BC,EA→D,AC E} Bảng quan hệ MENU: Q6 = (Ma_MN, Ma_M, Ten_M, Don_G) _ Đặt: Ma_MN = A, Ma_M = B, Ten_M = C, Don_G = D 13 TIEU LUAN MOI download : skknchat123@gmail.com 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 = C Q7 = {ABC} Phụ thuộc hàm: F7={A→B,A→C} 3.2 Tìm khóa cho quan hệ Q1 = (ABCDE) Phụ thuộc hàm: F1={A→BC,A→DE} Ta có giao khóa X = {ABCDE} – {BCDE} = {A} Bao đóng A =ABCDE = Q1 nên A khóa nhấtcủa quan hệ Q1 Q2 = (AB) Phụ thuộc hàm: F2= {A B} Ta có giao khóa X = {ABC} – {B} = {A} Bao đóng A = ABCD = Q2 nên A khóa quan Q2 Q3 = (ABCDEF) Phụ thuộc hàm: F3={A→BCD,D→E,AB→F} Ta có giao khóa la X= {ABCDEF} – {BCDEF} = {A} Bao đóng A = ADBFCE = Q3 nên A khóa quan hệ Q3 Q4 = (ABCD) Phụ thuộc hàm: F4={A→BC,AB→D} Ta có giao khóa X = {ABCD} – {BCD} = {A} Bao đóng A= ABCD= Q4 nên A khóa quan hệ Q4 Q5 = (ABCDE) Phụ thuộc hàm: F5={A→BC,EA→D,AC→E} Ta có giao khóa X = {ABCDE} - {BCDE} = {A} Bao đóng A = ABCDE = Q6 nên A khóa quan hệ Q5 Q6 = (ABCD) Phụ thuộc hàm: F6={A→BC,B→D} Ta có giao khóa X = {ABCD} – {BCD} = {A} Bao đóng A = ABCD = Q6 nên A khóa quan hệ Q6 14 TIEU LUAN MOI download : skknchat123@gmail.com Q7 = {ABC} Phụ thuộc hàm: F7={A B,A C} Ta có giao khóa X = {ABC} – {BC} = {A} Bao đóng A = ABC = Q7 nên A khóa quan hệ Q6 3.3 Chuẩn hóa lược đồ quan hệ thành dạng 3NF BCNF Chuẩn hóa mơ hình dạng 3NF: Mơ hình dạng 3NF dạng NF 2NF Các thuộc tính khơng khóa phụ thuộc đầy đủ vào 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 A Q1 khơng có thuộc tính suy diễn thuộc tính lặp nên đạt 1NF Các thuộc tính khơng khóa BCDE phụ thuộc đầy đủ vào khóa A nên Q1 đạt 2NF Tất 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 Q2 A Q2 khơng có thuộc tính suy diễn thuộc tính lặp nên đạt 1NF Các thuộc tính khơng khóa B phụ thuộc đầy đủ vào khóa A nên Q2 đạt 2NF Tất 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 Q3 A Q3 khơng có thuộc tính suy diễn thuộc tính lặp nên đạt 1NF Các thuộc tính khơng khóa BCDE khơng phụ thuộc đầy đủ vào khóa nên Q2 chưa đạt 2NF Tính Fc= {A → B, A → C, A → D, D → E, A → F} Phân rã thành: Q31 = AB Q32 = AC Q33 = AD Q34 = DE Q35 = AF Kết đạt được: Q31 (AB), F31 = {A → B}, đạt 3NF Q32 (AC), F32 = {A → C}, đạt 3NF Q33 (AD), F33 = {A → D}, đạt 3NF Q34 (DE), F34 = {D → E}, đạt 3NF Q35 (AF), F35 = {A → F}, đạt 3NF Q4 = (ABCD) Phụ thuộc hàm: 15 TIEU LUAN MOI download : skknchat123@gmail.com F4={A→BC,AB→D} Q4 khơng có thuộc tính suy diễn thuộc tính lặp nên đạt 1NF Tính Fc = {A → B, A → C, A → D} Khóa Q4 A Phân rã thành: Q41 = AB Q42 = AC Q43 = AD Kết đạt được: Q41 (AB), F41 = {A→B}, đạt 3NF Q42 (AC), F41 = {A→C}, đạt 3NF Q43 (AB), F43 = {A→D}, đạt 3NF Q4 đạt BCNF Q5 = (ABCDE) Phụ thuộc hàm: F5 = {A→ BC, EA → D, AC E} Khóa A Q5 khơng có thuộc tính suy diễn thuộc tính lặp nên đạt 1NF Thuộc tính khóa A thuộc tính khơng khóa BCDE phụ thuộc đầy đủ vào khóa nên Q5 đạt 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 Q6 = (ABCD) Phụ thuộc hàm: F6={A BC,B D} Q5 khơng có thuộc tính suy diễn thuộc tính lặp nên đạt 1NF Thuộc tính khóa A thuộc tính khơng khóa BCDEphụ thuộc đầy đủ vào khóa nên Q5 đạt 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 Q7 = {ABC} Phụ thuộc hàm: F7 = {A → B, A → C} Khóa A Q5 khơng có thuộc tính suy diễn thuộc tính lặp nên đạt 1NF Thuộc tính khóa A thuộc tính khơng khóa BC phụ thuộc đầy đủ vào khóa nên Q5 đạt 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 liệu SQL 16 TIEU LUAN MOI download : skknchat123@gmail.com 4.1 Tạo bảng Tạo bảng NHANVIEN create table NHANVIEN ( Ma_NV char (8) not null primary key, Ten_NV varchar (30), Dia_c varchar (50), Dien_T int, ChucVu varchar (30) ); Tạo bảng LUONG create table LUONG ( Ma_L char (10) not null primary key, Ma_NV char (8), foreign Key (Ma_NV) references NHANVIEN ( Ma_NV) ); Tạo bảng MENU create table MENU ( Ma_MN char (5) not null primary key, Ma_M char (8), Ten_M varchar (30), Don_G int ); Tạo bảng KHACH create table KHACH ( Ma_K char (8) not null primary key, Ten_K varchar (30), Dia_C varchar (50), Dien_T int, 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 ( 17 TIEU LUAN MOI download : skknchat123@gmail.com Ma_HD char (5) not null primary key, Ngay date); Tạo bảng CHITIETHOADON Create table CHITIETHOADON ( T_tien varchar (50), K_Tra varchar(50) C_Du varchar (50) 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) ); Tạo bảng KHACH create table THUCPHAM ( Ma_TP char (8) not null primary key, Ten_TP varchar (30), Donvi_T char (10), Ngay_N date, Ngay_HH date, Ma_NV char (8) not null, foreign key (Ma_NV) references NHANVIEN (Ma_NV) ); Tạo bảng NHACC create table NHACC ( Ma_NCC char (8) not null primary key, Ten_NC varchar (30), Dia_C varchar (30), Dien_T int, 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 ngôn ngữ SQL 18 TIEU LUAN MOI download : skknchat123@gmail.com Đưa danh sách tất nhân viên có họ bắt đầu 'Vu’ Đưa thông tin khách hàng ăn nhà hàng ngày 2/2/2017 Cho biết nhân viên có lương tốn cao Cho biết thơng tin Ma_K, Ten_K toán tiền với tổng tiền cao ngày ‘2/2/2017’ Đưa thông tin khách hàng có địa Hà Nội Hiện thị thông tin nhân viên sinh năm 1997 làm chức vụ phục vụ Cho biết nhân viên “NV1” nhập thực phẩm tháng 9/3/2017 Đưa thơng tin ăn cuả mã menu 'M1' Sắp xếp nhân viên theo thứ tự giảm dần tiền lương T_Toan Nếu lương xế theo thứ tự giảm dần ma_nv 10 Cho biết họ tên, địa khách hàng ăn ‘2/3/2017’ 11 Tăng lương thêm 5000000 cho nhân viên có chức vụ 'Quản lý' 12 Liệt kê Ma_M, Ten_M với đơn giá 20000 Đưa danh sách tất nhân viên có họ bắt đầu 'Vu’ select * from NHANVIEN where Ten_NV like 'Vu%'; Đưa thông tin khách hàng ăn 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 (KHACH.Ma_K =HOADON.Ma_K); Cho biết nhân viên có lương tốn cao select * from NHANVIEN where (select count(*) from LUONG L where T_Toan>L.T_Toan)

Ngày đăng: 26/07/2022, 09:02

w