IMG-LOGO
×

Giáo Trình Môn Học

Khoá học lập trình SQL

Kiến Thức Core SQL Server

[Video] Hướng dẫn cách xác định kiểu dữ liệu, primary key, foreign key trong SQL - My SQL - SQL Server [Video] Hướng dẫn thao tác nhiểu bảng - select - multi table - join, inner join trong SQL Server [Video] Hướng dẫn phân tích CSDL - phân tích bảng, column trong bản - Học lập trình SQL, SQL Server [Video] Hướng dẫn tìm hiểu create, alter , insert table và bản chất primary key, foreign key - SQL Server [Video] Hướng dẫn tìm hiểu select, and, in, like, not in,group by .. having, order by asc, desc - SQL Server [Video] Quản lý sinh viên (create, alter, update, insert, select) - Lập trình SQL Server

View SQL Server

[Video] Hướng dẫn tìm hiểu view trong SQL Server Bài Giảng: Hướng dẫn tìm hiểu view + proc trong SQL - Lập trình SQL Server

Store & Procedure

[Video] Hướng dẫn tìm hiểu proc procedure trong SQL Server - Lập trình SQL Server, MySQL Bài Giảng: Xây dự hệ thống đưa đón học sinh bằng xe bus của Trường Học - Lập trình SQL Server [Video] Xây dựng CSDL quản lý điểm danh aptech - Lập trình SQL Server/MySQL

Trigger

[Video] Học Trigger qua ví dụ - quản lý nhà trên phố - Lập trình SQL Server [Video] Hướng dẫn học trigger qua bài quản lý điểm danh Aptech - Lập trình SQL Server [Video] Bài tập - Quản lý nhân khẩu - Lập trình SQL Server - MySQL




Trang Chủ SQL Server/MySQL Bài tập - Quản lý quán cafe - Lập trình SQL Server - MySQL

Bài tập - Quản lý quán cafe - Lập trình SQL Server - MySQL

by GokiSoft.com - 20:06 14/01/2022 16,961 Lượt Xem

Thiết kế CSDL phục vụ trong việc quản lý quán cafe. Yêu cầu đề bài như sau

- Quản lý được danh mục sản phâm của quán cafe

- Quản lý loại đồ uống trong quán cafe

- Quản lý nhân viên của hàng

- Quản lý đơn hàng -> mỗi đơn hàng được nhập vào bởi một nhân viên (Nghĩa là có thể xem đc đơn hàng này do nhân viên nào nhập) - Chú ý : Mỗi đơn hàng có thể có nhiều loại đồ uống

- Quản lý được khách hàng tới của hàng -> Đơn hàng sẽ mapping được vs khách hàng đã đặt đồ uống.

Yêu cầu nghiệp vụ

- Thiết kế CSDL & Nhập dữ liệu cho mỗi bảng 5 bản ghi

- Đánh index trên ít nhất 1 bảng. Tự chọn cột để đánh index

- Hiển thị danh sách loại đồ uống theo một danh mục -> yêu cầu viết truy vấn sql, tạo store (phần này làm 2 ý tách biết)

- Hiển thị danh mục sản phẩm trong 1 đơn hàng -> yêu cầu viết truy vấn sql và tạo 1 store cho chức năng này

- Hiển thị danh mục các đơn hàng theo mã KH.

- Hiển thị doanh thu theo ngày bắt đầu và ngày kết thức -> yêu cầu viết theo store.

Bình luận



Chia sẻ từ lớp học

vuong huu phu [T2008A]

Ngày viết: 15:03 07/12/2020



create database cafe_manager
use cafe_manager

----bang quản lý danh mục sản phâm của quán cafe
create table product_list(
product_id int identity(1,1) primary key,
product_name nvarchar(100)
)

create table type_of_drink(
drinks_id int identity(1,1) primary key,
drinks_name nvarchar(100),
price money,
product_id int
)

create table Staff (
Staff_id int identity(1,1) primary key,
Staff_name nvarchar(100),
brith_day date,
Staff_address nvarchar(200)
)

create table beverage_order (
order_id int primary key,
drinks_id int,
price money,
Staff_id int
)
alter table customer
add order_id int
create table customer (
customer_id int identity(1,1) primary key,
customer_name nvarchar (100),
drinks_id int
)
create clustered index ci_do_uong on type_of_drink(drinks_name)

insert into product_list (product_name)
values
('cafe'),
('sinh to'),
('tra'),
('nuoc ep'),
('do an')

select * from product_list

insert into type_of_drink (drinks_name,price,product_id)
values 
('cafe nau da','25','1'),
('nuoc ep dua hau','20','4'),
('sin to bo','30','2'),
('banh ngot','55','5'),
('hong tra','25','3')

select * from type_of_drink

insert into Staff (Staff_name,brith_day,Staff_address)
values
('A','2008-08-09','Ha Noi'),
('S','2002-08-09','Thai Binh'),
('B','2003-08-09','Ha Noi'),
('C','2004-08-09','Hai Phong'),
('D','2004-08-09','Ha Noi')

select * from Staff

insert into  beverage_order (order_id,drinks_id,price,Staff_id)
values
('1','2','20','5'),
('2','5','25','2'),
('3','1','25','4'),
('4','2','20','3'),
('5','3','30','1')

select * from beverage_order

insert into customer (order_id ,customer_name,drinks_id)
values 
('1','AA','5'),
('2','TT','2'),
('3','AE','4'),
('4','FF','3'),
('5','BB','1')

select * from customer

alter table type_of_drink
add constraint fk_product_id foreign key (product_id) references product_list(product_id)


alter table beverage_order
add constraint fk_drink_id foreign key (drinks_id) references type_of_drink(drinks_id)

alter table beverage_order
add constraint fk_Staff_id foreign key (Staff_id) references Staff(Staff_id)

alter table customer
add constraint fk_order_id  foreign key (order_id ) references  beverage_order(order_id )

alter table customer
add constraint fk_customer_drinks_id  foreign key (drinks_id ) references  type_of_drink(drinks_id)

 ----Hiển thị danh sách loại đồ uống theo một danh mục
 ---cach 1
 select type_of_drink.drinks_name,type_of_drink.price,type_of_drink.product_id
 from customer,beverage_order,Staff,type_of_drink,product_list
 where type_of_drink.product_id = product_list.product_id and beverage_order.drinks_id = type_of_drink.drinks_id
 and Staff.Staff_id = beverage_order.Staff_id and customer.drinks_id = type_of_drink.drinks_id and product_list.product_id = '1'

 create proc sp_don_hang 
 @product int 
 as
 select type_of_drink.drinks_name,type_of_drink.price,type_of_drink.product_id
 from customer,beverage_order,Staff,type_of_drink,product_list
 where type_of_drink.product_id = product_list.product_id and beverage_order.drinks_id = type_of_drink.drinks_id
 and Staff.Staff_id = beverage_order.Staff_id and customer.drinks_id = type_of_drink.drinks_id and product_list.product_id = @product

 exec sp_don_hang  1

 ------hien thi damh muc sp
 select type_of_drink.drinks_name,type_of_drink.price,beverage_order.order_id
 from customer,beverage_order,Staff,type_of_drink,product_list
 where type_of_drink.product_id = product_list.product_id and beverage_order.drinks_id = type_of_drink.drinks_id
 and Staff.Staff_id = beverage_order.Staff_id and customer.drinks_id = type_of_drink.drinks_id and beverage_order.order_id = '1'

  create proc sp_ddh 
 @order int 
 as
  select type_of_drink.drinks_name,type_of_drink.price,beverage_order.order_id
 from customer,beverage_order,Staff,type_of_drink,product_list
 where type_of_drink.product_id = product_list.product_id and beverage_order.drinks_id = type_of_drink.drinks_id
 and Staff.Staff_id = beverage_order.Staff_id and customer.drinks_id = type_of_drink.drinks_id and beverage_order.order_id =  @order

 exec sp_ddh 2

 -------Hiển thị danh mục các đơn hàng theo mã KH.
  create proc sp_donhang_khach_hang
 @kh int 
 as
  select customer_name,type_of_drink.drinks_name,type_of_drink.price,beverage_order.order_id
 from customer,beverage_order,Staff,type_of_drink,product_list
 where type_of_drink.product_id = product_list.product_id and beverage_order.drinks_id = type_of_drink.drinks_id
 and Staff.Staff_id = beverage_order.Staff_id and customer.drinks_id = type_of_drink.drinks_id and customer_id =  @kh

 exec sp_donhang_khach_hang 1

alter proc sp_doanh_thu
 as
  select type_of_drink.drinks_name,type_of_drink.price,beverage_order.order_id,sum(beverage_order.price) as doanh_thu
 from customer,beverage_order,Staff,type_of_drink,product_list
 where type_of_drink.product_id = product_list.product_id and beverage_order.drinks_id = type_of_drink.drinks_id
 and Staff.Staff_id = beverage_order.Staff_id and customer.drinks_id = type_of_drink.drinks_id 
 group by type_of_drink.drinks_name,type_of_drink.price,beverage_order.order_id
 exec sp_doanh_thu


Đã sao chép!!!