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,956 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

Bùi Văn Mạnh [T2008A]

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



create database quanlycafe
use quanlycafe
create table product(
id int primary key identity(1,1),
food nvarchar(100),
Ban int,
foodCategory nvarchar(100),
account nvarchar(100),
bill nvarchar(100),
)
create table Douong(
id int primary key identity(1,1),
beveragecode nvarchar(100),
smell nvarchar(100),
price nvarchar(100),
bill nvarchar(100),
size nvarchar(50)
)
create table qlNhanVien(
id int primary key identity(1,1),
StaffName nvarchar(100),
BirthDate datetime,
rollno nvarchar(100),
address nvarchar(100),
phonenumber nvarchar(20),
gerden nvarchar(100)
)
insert into product(food, Ban, foodCategory, account, bill)
values
('thit cho', '1', 'rau muong', '1013224095', '500.000VNĐ'),
('thit de', '2', 'rau cai', '1013224095', '900.000VNĐ'),
('thit ho', '3', 'rau xanh', '1013224095', '700.000VNĐ'),
('thit lon', '4', 'rau mung toi', '1013224095', '800.000VNĐ'),
('thit meo', '5', 'rau ngot', '1013224095', '1.100.000VNĐ')
select * from product
insert into Douong(beveragecode, smell, price, bill, size)
values
('506', 'dau', '20.000VNĐ','0', 'M'),
('507', 'socola', '25.000VNĐ','0', 'L'),
('508', 'dua', '30.000VNĐ','0', 'L'),
('504', 'matcha', '60.000VNĐ','0', 'M'),
('509', 'cafe', '40.000VNĐ','0', 'L')
select * from Douong
insert into qlNhanVien(StaffName, rollno, address, phonenumber, gerden)
values
('Bui Van A', '2002', 'Ha Noi', '0915094500', 'nam'),
('Bui Van B', '2002', 'Ha Noi', '0915094500', 'nu'),
('Bui Van C', '2002', 'Ha Noi', '0915094500', 'nu'),
('Bui Van D', '2002', 'Ha Noi', '0915094500', 'nu'),
('Bui Van G', '2002', 'Ha Noi', '0915094500', 'nam')
select * from qlNhanVien


Đặng Trần Nhật Minh [T2008A]

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



create database QuanLiCafe
use QuanLiCafe

create table category(
	category_id int primary key identity(1,1) not null,
	category_name nvarchar(200)
)

insert into category(category_name)
values
('Ca Phe'),
('Sinh To'),
('Tra'),
('Da Xay'),
('Cacao')

select * from category

create table nhanvien(
	nv_id int primary key identity(1,1) not null,
	nv_name nvarchar(200),
	nv_birthday date,
	nv_gender nvarchar(200)
)

insert into nhanvien(nv_name, nv_birthday, nv_gender)
values
('aa', '1991-02-12', 'Nam'),
('bb', '1992-12-07', 'Nu'),
('cc', '1993-02-14', 'Nam'),
('dd', '2004-10-10', 'Nam'),
('ee', '1995-11-05', 'Nu')

select * from nhanvien

create table drink(
	drink_id int primary key identity(1,1) not null,
	drink_name nvarchar(200),
	drink_price money,
	category_id int references category(category_id)
)

insert into drink(drink_name, drink_price, category_id)
values
('abc', '50000', '2'),
('abcabc', '60000', '5'),
('aaaaaa', '60000', '1'),
('bbbbbb', '40000', '3'),
('bcabca', '50000', '4')

select * from drink

create table customer(
	customer_id int primary key identity(1,1) not null,
	customer_name nvarchar(200),
	customer_birthday date,
	customer_gender nvarchar(200)
)

insert into customer(customer_name, customer_birthday, customer_gender)
values
('aaaa', '2003-03-14', 'Nam'),
('bbbb', '2003-12-22', 'Nu'),
('cccc', '2003-03-05', 'Nu'),
('dddd', '2005-11-25', 'Nu'),
('eeee', '2006-04-28', 'Nu')

select * from customer

create table donhang(
	donhang_id int primary key identity(1,1) not null,
	category_id int references category(category_id),
	drink_id int references drink(drink_id),
	nhanvien_id int references nhanvien(nv_id),
	customer_id int references customer(customer_id),
	donhang_quantity int,
	donhang_price money,
	donhang_date date
)

insert into donhang(category_id, drink_id, nhanvien_id, customer_id, donhang_quantity, donhang_price, donhang_date)
values
(1, 3, 5, 2, 2, 160000, '2020-02-07'),
(5, 2, 2, 4, 1, 64000, '2020-03-03'),
(3, 4, 3, 1, 1, 47000, '2020-06-07'),
(2, 1, 1, 5, 2, 1220000, '2020-09-17'),
(4, 5, 4, 3, 4, 2022000, '2020-12-17')

select * from donhang


Đỗ Mạc Nam [T2008A]

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



create database QuanCoffee
use QuanCoffee
create table danhmucsp(
SanphamID int NOT NULL primary key,
TenSp nvarchar(50),
Num int,
GiaSp int,
GiaNhap int,
GiaBan int,
)
create table menudouong(
DoUongId int NOT NULL primary key,
TenDoUong nvarchar(50),
Num int,
GiaDoUong int
)
create table QuanLyNhanVien(
NhanVienID int NOT NULL,
TenNhanVien nvarchar(50),
SoDienThoai int,
DiaChi nvarchar(200)
)
create table QuanLyDonHang(
DonHangId int primary key NOT NULL identity(1,1),
TenDonHang nvarchar(50),
ChuThich text,
DoUong nvarchar(50),
SoLuong int,
TenNhanVien nvarchar(100),
NhanVienID int NOT NULL,
)
create table QuanLyKH(
ID int primary key NOT NULL identity(1,1),
TenKH nvarchar(100),
DonHangID int references QuanLyDonHang(DonHangID),
ThoiGianDonHang datetime,
)
insert into danhmucsp(SanphamID, TenSp, Num, GiaSp, GiaNhap, GiaBan)
values
('6','banh plan', '100', '25000', '15000', '22000'),
('7','banh mi', '220', '15000', '10000', '12000'),
('8','mi bo', '140', '35000', '28000', '33000'),
('9','mi xao', '250', '35000', '26000', '33000'),
('10','banh trung', '400', '20000', '12000', '16000')
select * from danhmucsp

insert into menudouong(DoUongId, TenDoUong, Num, GiaDoUong)
values
(6,'coffe chon', 120, 150000),
(7,'coffe capuchino', 200, 64000),
(8,'bac xiu', 220, 25000),
(9,'den da', 130, 20000),
(10,'nau da', 110, 22000)
select * from menudouong








Nguyễn Tiến Đạt [T2008A]

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



CREATE DATABASE QuanliCafe

USE QuanliCafe

CREATE TABLE Menu(
	IDSanPham INT IDENTITY (1,1),
	TenSanPham NVARCHAR(50) 
)

ALTER TABLE dbo.Menu ADD CONSTRAINT PK_Menu PRIMARY KEY(IDSanPham)

INSERT dbo.Menu ( TenSanPham )
VALUES 
 (N'Cà phê'),
 (N'Sinh tố'),
 (N'Bia')

CREATE TABLE CaPhe(
	IDSanPham INT NOT NULL,
	LoaiCafe NVARCHAR(50)
	CONSTRAINT FK_Caphe FOREIGN KEY(IDSanPham) REFERENCES dbo.Menu(IDSanPham) 
)

CREATE TABLE Sinhto(
	IDSanPham INT NOT NULL,
	LoaiSinhTo NVARCHAR(50)
	CONSTRAINT FK_Sinhto FOREIGN KEY(IDSanPham) REFERENCES dbo.Menu(IDSanPham) 
)

CREATE TABLE Bia(
	IDSanPham INT NOT NULL,
	LoaiBia NVARCHAR(50)
	CONSTRAINT FK_Bia FOREIGN KEY(IDSanPham) REFERENCES dbo.Menu(IDSanPham) 
)

INSERT dbo.CaPhe
        ( IDSanPham, LoaiCafe )
VALUES  ( 1, -- IDSanPham - int
          N'Nâu đá'  -- LoaiCafe - nvarchar(50)
          ),
		( 1, -- IDSanPham - int
          N'Đen đá'  -- LoaiCafe - nvarchar(50)
          ),
		( 1, -- IDSanPham - int
          N'Bạc xỉu'  -- LoaiCafe - nvarchar(50)
          )

INSERT dbo.Sinhto
        ( IDSanPham, LoaiSinhTo )
VALUES  ( 2, -- IDSanPham - int
          N'Dưa hấu'  -- LoaiSinhTo - nvarchar(50)
          ),
		( 2, -- IDSanPham - int
          N'Xoài'  -- LoaiSinhTo - nvarchar(50)
          ),
		( 2, -- IDSanPham - int
          N'Hồng Xiêm'  -- LoaiSinhTo - nvarchar(50)
          )

INSERT dbo.Bia
        ( IDSanPham, LoaiBia )
VALUES  ( 3, -- IDSanPham - int
          N'Heneiken'  -- LoaiBia - nvarchar(50)
          ),
		( 3, -- IDSanPham - int
          N'Hà Nội'  -- LoaiBia - nvarchar(50)
          ),
		( 3, -- IDSanPham - int
          N'333'  -- LoaiBia - nvarchar(50)
          )

CREATE TABLE NhanVien(
	IDNhanvien INT IDENTITY(1,1),
	TenNhanVien NVARCHAR(50)
	CONSTRAINT PK_Nhanvien PRIMARY KEY(IDNhanvien)
)

INSERT dbo.NhanVien
        ( TenNhanVien )
VALUES  (N'Đỗ Trung Đức'),
		(N'Nguyễn Tiến Đạt'),
		(N'Trần Văn Điệp')


Nguyên Phấn Đông [T2008A]

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



create database quanlicafe

use quanlicafe

create table danhmucsanphamcafe(
 maSp int not null primary key,
 tenSp nvarchar(50),
 num int,
 gia int,
 ngaynhap datetime,
 ngayban datetime
)
go

create table douong(
 madouong int primary key not null,
 tendouong nvarchar(50),
 num int,
 gia int,
 ngaynhap datetime,
 ngayban datetime
)
go

create table qlNhanVien(
 maNhanVien int primary key not null identity(1,1),
 tenNhanVien nvarchar(100),
 chucvu nvarchar(50),
 birth datetime,
 donviquanli int
)
go


create table quanDonHang(
 maDonHang int primary key not null identity(1,1),
 tenDonHang nvarchar(50),
 note text,
 sanpham nvarchar(100),
 maSp int references danhmucsanphamcafe(maSp),
 soluong int,
 tenNhanVien nvarchar(100),
 maNhanVien int references qlNhanVien(maNhanVien),
 thoigianketthuc datetime
)
go




create table qlKhachHang(
 id int primary key not null identity(1,1),
 tenKhachhang nvarchar(100),
 maDonHang int references quanDonHang(maDonHang),
 thoigianketthut datetime 
)
go

insert into danhmucsanphamcafe(maSp,tenSp,num,gia,ngaynhap,ngayban)
values
('1','Banhmy','200','10000','2020-1-1','2020-1-10'),
('2','cafe den','300','20000','2020-2-1','2020-2-10'),
('3','cafe chon','220','50000','2020-1-10','2020-1-19'),
('4','cokki','100','50000','2020-1-19','2020-1-22'),
('5','calem','40','20000','2020-1-19','2020-1-20')

insert into douong(madouong,tendouong,num,gia,ngaynhap,ngayban)
values
('1','cafe chon','40','20000','2020-1-19','2020-1-20'),
('2','cafe dang','40','20000','2020-2-19','2020-2-20'),
('3','cafe duong','40','20000','2020-2-19','2020-2-20'),
('4','cafe chan chau','40','20000','2020-1-19','2020-2-2'),
('5','cafe macha','40','20000','2020-1-31','2020-2-2')

insert into qlNhanVien(tenNhanVien,chucvu,birth,donviquanli)
values
('Do Mac Nam','bao ve','2020-1-1','1'),
('Nguyen Anh Vu','ban hang','2020-1-2','2'),
('Bui Van Manh','ban hang','2020-2-19','1'),
('Nguyen Ba Hai','bao ve','2020-1-9','1'),
('Lam Dong','sales','2020-11-19','1')

insert into quanDonHang(tenDonHang,note,sanpham,maSp,soluong,tenNhanVien,maNhanVien,thoigianketthuc)
values
('e100','giao trc 14h','cafe chon','1','1','Nguyen Anh Vu','2','2020-3-10'),
('e101','','cafe duong','3','1','Nguyen Anh Vu','2','2020-3-10'),
('e102','de trc cua nha','cafe chon','3','1','Nguyen Anh Vu','2','2020-3-10'),
('e103','','cafe macha','5','3','Nguyen Anh Vu','2','2020-3-10'),
('e106','','cafe dang','2','1','Nguyen Anh Vu','2','2020-3-10')

insert into qlKhachHang(tenKhachhang,maDonHang,thoigianketthut)
values
('Nguyen Phan Dong',1,'2020-3-10'),
('Nga Phan Dong',2,'2020-3-10'),
('Vu Quan Dong',3,'2020-3-10'),
('Luon Phan Dong',4,'2020-3-10'),
('Vu Phan Dong',5,'2020-3-10')

create index in_danhsachsanpham on danhmucsanphamcafe(tenSp)

select * from douong

CREATE PROCEDURE 


Đã sao chép!!!