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 SQL - Thiết kế CSDL quản lý bán hàng - Lập trình SQL Server

SQL - Thiết kế CSDL quản lý bán hàng - Lập trình SQL Server

by GokiSoft.com - 19:48 31/12/2021 16,930 Lượt Xem

Yêu cầu.

1.Thiết kế bảng hàng hóa gồm các column sau
- id kiểu số nguyên, khóa chính, tự tăng
- tên mặt hàng
- nhà sản xuất
- xuất xứ (Việt Nam, Japan, ...)
- giá nhập
- giá bán
- ngày sản xuất : kiểu dữ liệu date

->Thực hiện chèn them 10 bản ghi vào bảng
2. Thiết kế bảng bán hàng gồm các column sau
- id đơn hàng kiểu số nguyên, khóa chính, tự tăng
- id_hanghoa khóa ngoai liên kết vs khóa id của bang hàng hóa
- chú thich : dùng ghi lại cho mỗi đơn hàng
- ngày bán : kiểu date
- số lượng

->Thực hiện nhập 10 bản ghi cho bảng này

3. Thực hiện liệt kê tất cả các đơn hàng đã được bán ra
4. Liệt kê các đơn hàng được bán ra có xuất xứ Việt Nam 
5. Thống kê tổng giá bán được cho từng mặt hàng.


Bình luận



Chia sẻ từ lớp học

Trinh Huy Hung [community,C2009I]

Ngày viết: 16:07 23/01/2021



create table HangHoa(
	Id int identity(100,1) primary key,
	TenHang nvarchar(100),
	NhaSanXuat nvarchar(100),
	XuatXu nvarchar(50),
	GiaNhap float,
	GiaBan float,
	NgaySanXuat date
)

insert into HangHoa(TenHang ,NhaSanXuat, XuatXu, GiaNhap, GiaBan, NgaySanXuat)
values
('Lap Top Z', 'ASUS', 'Trung Quoc', 15000000, 20000000, '2021-01-21'),
('Lap Top Y', 'ASUS', 'Trung Quoc', 25000000, 30000000, '2021-01-22')

select * from HangHoa

insert into HangHoa(TenHang ,NhaSanXuat, XuatXu, GiaNhap, GiaBan, NgaySanXuat)
values
('Lap Top H', 'Acer', 'Trung Quoc', 29000000, 34000000, '2021-01-23'),
('Ban Phim Co Logitech', 'Logitech', 'Trung Quoc', 500000, 700000, '2021-01-22'),
('Ban Phim Co ASUS', 'ASUS', 'Trung Quoc', 200000, 299000, '2021-01-21'),
('Chuot Gaming Predator', 'Acer', 'Trung Quoc', 1350000, 1499000, '2021-01-23'),
('Chuot Gaming G102', 'logitech', 'Trung Quoc', 200000, 300000, '2021-01-11'),
('Tai Nghe Asus', 'ASUS', 'Trung Quoc', 500000, 650000, '2021-01-11'),
('Tai Nghe Razer', 'Razer', 'Trung Quoc', 700000, 900000, '2021-01-09'),
('PS5', 'Sony', 'Nhat Ban', 20000000, 25000000, '2021-01-11'),
('PS4', 'Sony', 'Nhat Ban', 8000000, 12000000, '2020-10-21'),
('Man Hinh LG', 'LG', 'Han Quoc', 8000000, 11000000, '2021-01-22')

create table BanHang(
	Id_DonHang int identity(10001,3) primary key,
	Id_Hanghoa int foreign key references Hanghoa(Id),
	Note nvarchar(355),
	NgayBan date,
	Soluong int,
)

insert into BanHang(Id_Hanghoa, Note, NgayBan, Soluong)
values
(102,'Tra Gop','2021-01-28',1),
(103,'Khong co','2021-01-27',1),
(102,'Tra Gop','2021-01-31',1),
(103,'Khong co','2021-01-31',1),
(104,'Khong co','2021-01-25',1),
(105,'Khong co','2021-01-31',1),
(106,'Khong co','2021-01-26',1),
(107,'Khong co','2021-01-27',1),
(108,'Khong co','2021-01-31',1),
(109,'Tra Gop','2021-02-15',1),
(110,'Tra Gop','2021-01-15',1),
(111,'Khong co','2021-01-31',1)

select * from HangHoa
select * from BanHang

select BanHang.Id_DonHang, HangHoa.TenHang, HangHoa.GiaBan, BanHang.Soluong, BanHang.NgayBan, HangHoa.XuatXu
from BanHang, HangHoa 
where BanHang.Id_Hanghoa=HangHoa.Id

select BanHang.Id_DonHang, HangHoa.TenHang, HangHoa.GiaBan, BanHang.Soluong, BanHang.NgayBan, HangHoa.XuatXu
from BanHang, HangHoa 
where BanHang.Id_Hanghoa=HangHoa.Id and HangHoa.XuatXu='Nhat Ban'

select HangHoa.TenHang, (HangHoa.GiaBan*count(BanHang.Soluong))'Tong Gia Ban'
from BanHang, HangHoa 
where BanHang.Id_Hanghoa=HangHoa.Id
group by HangHoa.TenHang, HangHoa.GiaBan


Vũ Trung Kiên [C2009I]

Ngày viết: 15:59 23/01/2021


#QuanLyBanHang.sql


create table HangHoa (
	id int identity(1,1) primary key,
	TenHang nvarchar(50),
	NhaSX nvarchar(50),
	XuatXu nvarchar(50),
	GiaNhap float,
	GiaBan float,
	NgaySX date
)

insert into HangHoa(TenHang, NhaSX, XuatXu, GiaNhap, GiaBan, NgaySX)
values
('aaa', 'aa', 'VN', '200.000', '250.000', '2021-10-10'),
('bbb', 'bb', 'EN', '300.000', '350.000', '2020-10-11'),
('ccc', 'cc', 'AM', '400.000', '450.000', '2020-9-10'),
('ddd', 'dd', 'SG', '500.000', '550.000', '2020-10-20'),
('eee', 'ee', 'VN', '600.000', '650.000', '2019-10-10'),
('aaaa', 'aaa', 'VN', '250.000', '270.000', '2020-10-10'),
('bbbb', 'bbb', 'EN', '350.000', '370.000', '2020-12-10'),
('cccc', 'ccc', 'AM', '450.000', '470.000', '2020-8-10'),
('dddd', 'ddd', 'SG', '550.000', '570.000', '2018-10-10'),
('eeee', 'eee', 'VN', '650.000', '670.000', '2020-11-10')

create table BanHang (
	idDonHang int identity(1,1) primary key,
	id int,
	note nvarchar(200),
	NgayBan date,
	Soluong int
)	

alter table BanHang
add constraint fk_id foreign key (id) references HangHoa (id)

insert into BanHang(id, note, NgayBan, Soluong)
values
(5, 'asdf', '2020-11-12', 3),
(2, 'sad', '2021-1-12', 3),
(7, 'dasd', '2020-10-2', 3),
(4, 'dasdsd', '2018-12-12', 3),
(3, 'aaaa', '2020-12-12', 3),
(10, 'sssss', '2020-12-12', 3),
(1, 'fffff', '2020-12-10', 3),
(8, 'asddddf', '2020-6-12', 3),
(9, 'asdssf', '2020-12-12', 3),
(6, 'aasdfss', '2020-12-5', 3)

select BanHang.idDonHang, HangHoa.id, HangHoa.TenHang, HangHoa.NhaSX, HangHoa.XuatXu, HangHoa.GiaNhap, HangHoa.GiaBan, HangHoa.NgaySX, BanHang.NgayBan, BanHang.Soluong, BanHang.note 
	from BanHang, HangHoa
		where BanHang.id = HangHoa.id
select BanHang.idDonHang, HangHoa.id, HangHoa.TenHang, HangHoa.NhaSX, HangHoa.XuatXu, HangHoa.GiaNhap, HangHoa.GiaBan, HangHoa.NgaySX, BanHang.NgayBan, BanHang.Soluong, BanHang.note 
	from BanHang, HangHoa
		where BanHang.id = HangHoa.id
			and HangHoa.XuatXu = 'VN'
select HangHoa.id, HangHoa.TenHang, HangHoa.GiaBan, BanHang.Soluong, HangHoa.GiaBan*BanHang.Soluong as Tong
	from HangHoa, BanHang
		where BanHang.id = HangHoa.id


Nguyễn đình quân [T2008A]

Ngày viết: 15:08 30/11/2020



----bán hàng hóa----
create table hang_hoa(
id int identity (1,1) primary key,
name nvarchar (200),
producer nvarchar (200),
madein nvarchar (100),
import_price float ,
price float 
date 
)
insert into hang hoa (name,producer,madein,impost_price,price,date),
values
('ao','2021-12-1','vietnam','150.000vnd','200.000vnd','2020-1-12'),
('quan','2021-12-1','vietnam','150.000vnd','200.000vnd','2020-1-12'),
('vay','2021-12-1','vietnam','150.000vnd','200.000vnd','2020-1-12'),
('giay','2021-12-1','vietnam','150.000vnd','200.000vnd','2020-1-12'),
('dep','2021-12-1','vietnam','150.000vnd','200.000vnd','2020-1-12'),
('ABC','2021-12-1','vietnam','150.000vnd','200.000vnd','2020-1-12'),
('XYZ','2021-12-1','vietnam','150.000vnd','200.000vnd','2020-1-12'),
('DFG','2021-12-1','vietnam','150.000vnd','200.000vnd','2020-1-12'),
('QWE','2021-12-1','vietnam','150.000vnd','200.000vnd','2020-1-12'),
('ZXC','2021-12-1','vietnam','150.000vnd','200.000vnd','2020-1-12'),
SELECT * FROM dbo.product

INSERT INTO dbo.orders
        (id_product, note, created_at, num )
VALUES
(2,N'OKOK',GETDATE(),2),
(1,N'OKOK',GETDATE(),21),
(6,N'OKOK',GETDATE(),5),
(2,N'OKOK',GETDATE(),12),
(1,N'OKOK',GETDATE(),27),
(2,N'OKOK',GETDATE(),28),
(9,N'OKOK',GETDATE(),34),
(2,N'OKOK',GETDATE(),21),
(5,N'OKOK',GETDATE(),20)

SELECT * FROM dbo.orders
-- Hien thi thong tin don hang dc ban ra: id san pham, tieu de, ghi chu, so luong
SELECT dbo.product.id, dbo.product.title, dbo.orders.note, dbo.orders.num
FROM dbo.product, dbo.orders
WHERE dbo.product.id = dbo.orders.id_product
ORDER BY dbo.product.id ASC
-- -- Hien thi thong tin don hang dc ban ra: id san pham, tieu de, ghi chu, so luong (tinh tong so luong ban ra)

SELECT dbo.product.id, dbo.product.title, dbo.orders.num, dbo.orders.note
FROM dbo.product, dbo.orders
WHERE dbo.product.id = dbo.orders.id_product
ORDER BY dbo.product.id ASC

SELECT dbo.product.id, dbo.product.title, dbo.orders.note, SUM(dbo.orders.num) AS 'Total'
FROM dbo.product, dbo.orders
WHERE dbo.product.id = dbo.orders.id_product
GROUP BY dbo.product.id, dbo.product.title, dbo.orders.note
ORDER BY dbo.product.id ASC

SELECT dbo.product.id, dbo.product.title, SUM(dbo.orders.num)
FROM dbo.product, dbo.orders
WHERE dbo.product.id = dbo.orders.id_product
GROUP BY dbo.product.id, dbo.product.title
ORDER BY dbo.product.id ASC

-- -- Hien thi thong tin don hang dc ban ra: id san pham, tieu de, MADEIN, ghi chu, so luong (tinh tong so luong ban ra)
SELECT dbo.product.id, dbo.product.title, dbo.product.madein, SUM(dbo.orders.num)
FROM dbo.product, dbo.orders
WHERE dbo.product.id = dbo.orders.id_product
GROUP BY dbo.product.id, dbo.product.title, dbo.product.madein
ORDER BY dbo.product.id ASC

SELECT dbo.product.id, dbo.product.title, dbo.product.madein, SUM(dbo.orders.num)
FROM dbo.product, dbo.orders
WHERE dbo.product.id = dbo.orders.id_product
	AND dbo.product.madein = 'Viet Nam'
GROUP BY dbo.product.id, dbo.product.title, dbo.product.madein
ORDER BY dbo.product.id ASC

SELECT dbo.product.id, dbo.product.title, dbo.orders.note, dbo.orders.num, dbo.product.madein
FROM dbo.product, dbo.orders
WHERE dbo.product.id = dbo.orders.id_product
	AND dbo.product.madein = 'Viet Nam'
ORDER BY dbo.product.id ASC


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

Ngày viết: 14:22 30/11/2020



-- create database
CREATE DATABASE bt1776

-- active database
USE bt1776

-- create tables
CREATE TABLE product (
	id INT PRIMARY KEY IDENTITY(1,1),
	title NVARCHAR(150),
	manufacturer_name NVARCHAR(100),
	madein NVARCHAR(50),
	buy_price FLOAT,
	sell_price FLOAT,
	created_at DATE
)

CREATE TABLE orders (
	id INT PRIMARY KEY IDENTITY(1,1),
	id_product INT REFERENCES dbo.product(id),
	note NVARCHAR(500),
	created_at DATE,
	num INT
)

-- insert data
INSERT INTO product( title ,manufacturer_name ,madein ,buy_price ,sell_price ,created_at)
VALUES
( N'san pham 1' ,N'gokisoft' ,N'Viet Nam' ,20.0 ,50.0 ,GETDATE()),
( N'san pham 2' ,N'gokisoft' ,N'Viet Nam' ,20.0 ,50.0 ,GETDATE()),
( N'san pham 3' ,N'gokisoft' ,N'Viet Nam' ,20.0 ,50.0 ,GETDATE()),
( N'san pham 4' ,N'gokisoft' ,N'Viet Nam' ,20.0 ,50.0 ,GETDATE()),
( N'san pham 5' ,N'gokisoft' ,N'Viet Nam' ,20.0 ,50.0 ,GETDATE()),
( N'san pham 6' ,N'gokisoft' ,N'Viet Nam' ,20.0 ,50.0 ,GETDATE()),
( N'san pham 7' ,N'gokisoft' ,N'Viet Nam' ,20.0 ,50.0 ,GETDATE()),
( N'san pham 8' ,N'gokisoft' ,N'Viet Nam' ,20.0 ,50.0 ,GETDATE()),
( N'san pham 9' ,N'gokisoft' ,N'Viet Nam' ,20.0 ,50.0 ,GETDATE()),
( N'san pham 10' ,N'gokisoft' ,N'Viet Nam' ,20.0 ,50.0 ,GETDATE())

SELECT * FROM dbo.product

INSERT INTO dbo.orders
        (id_product, note, created_at, num )
VALUES
(2,N'OKOK',GETDATE(),2),
(1,N'OKOK',GETDATE(),21),
(6,N'OKOK',GETDATE(),5),
(2,N'OKOK',GETDATE(),12),
(1,N'OKOK',GETDATE(),27),
(2,N'OKOK',GETDATE(),28),
(9,N'OKOK',GETDATE(),34),
(2,N'OKOK',GETDATE(),21),
(5,N'OKOK',GETDATE(),20)

SELECT * FROM dbo.orders
-- Hien thi thong tin don hang dc ban ra: id san pham, tieu de, ghi chu, so luong
SELECT dbo.product.id, dbo.product.title, dbo.orders.note, dbo.orders.num
FROM dbo.product, dbo.orders
WHERE dbo.product.id = dbo.orders.id_product
ORDER BY dbo.product.id ASC
-- -- Hien thi thong tin don hang dc ban ra: id san pham, tieu de, ghi chu, so luong (tinh tong so luong ban ra)

SELECT dbo.product.id, dbo.product.title, dbo.orders.num, dbo.orders.note
FROM dbo.product, dbo.orders
WHERE dbo.product.id = dbo.orders.id_product
ORDER BY dbo.product.id ASC

SELECT dbo.product.id, dbo.product.title, dbo.orders.note, SUM(dbo.orders.num) AS 'Total'
FROM dbo.product, dbo.orders
WHERE dbo.product.id = dbo.orders.id_product
GROUP BY dbo.product.id, dbo.product.title, dbo.orders.note
ORDER BY dbo.product.id ASC

SELECT dbo.product.id, dbo.product.title, SUM(dbo.orders.num)
FROM dbo.product, dbo.orders
WHERE dbo.product.id = dbo.orders.id_product
GROUP BY dbo.product.id, dbo.product.title
ORDER BY dbo.product.id ASC

-- -- Hien thi thong tin don hang dc ban ra: id san pham, tieu de, MADEIN, ghi chu, so luong (tinh tong so luong ban ra)
SELECT dbo.product.id, dbo.product.title, dbo.product.madein, SUM(dbo.orders.num)
FROM dbo.product, dbo.orders
WHERE dbo.product.id = dbo.orders.id_product
GROUP BY dbo.product.id, dbo.product.title, dbo.product.madein
ORDER BY dbo.product.id ASC

SELECT dbo.product.id, dbo.product.title, dbo.product.madein, SUM(dbo.orders.num)
FROM dbo.product, dbo.orders
WHERE dbo.product.id = dbo.orders.id_product
	AND dbo.product.madein = 'Viet Nam'
GROUP BY dbo.product.id, dbo.product.title, dbo.product.madein
ORDER BY dbo.product.id ASC

SELECT dbo.product.id, dbo.product.title, dbo.orders.note, dbo.orders.num, dbo.product.madein
FROM dbo.product, dbo.orders
WHERE dbo.product.id = dbo.orders.id_product
	AND dbo.product.madein = 'Viet Nam'
ORDER BY dbo.product.id ASC


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

Ngày viết: 13:58 30/11/2020



create database Sale
use Sale

create table product (
	id int primary key identity(1, 1),
	name nvarchar(200),
	manufacturer nvarchar(200),
	madein nvarchar(200),  
	import_price nvarchar(200),
	sale_price nvarchar(200),
	manu_date date,
)
go

insert into product(name, manufacturer, madein, import_price, sale_price, manu_date)
values
('aaa', 'aa', 'VN', '200.000', '250.000', '2020-10-10'),
('bbb', 'bb', 'EN', '300.000', '350.000', '2020-10-10'),
('ccc', 'cc', 'AM', '400.000', '450.000', '2020-10-10'),
('ddd', 'dd', 'SG', '500.000', '550.000', '2020-10-10'),
('eee', 'ee', 'VN', '600.000', '650.000', '2020-10-10'),
('aaaa', 'aaa', 'VN', '250.000', '270.000', '2020-10-10'),
('bbbb', 'bbb', 'EN', '350.000', '370.000', '2020-10-10'),
('cccc', 'ccc', 'AM', '450.000', '470.000', '2020-10-10'),
('dddd', 'ddd', 'SG', '550.000', '570.000', '2020-10-10'),
('eeee', 'eee', 'VN', '650.000', '670.000', '2020-10-10')

create table sale (
	id int primary key identity(1, 1),
	id_hanghoa int foreign key references product(id),
	chuthich text,
	sale_date date,
	quantity int,
) 
go

insert into sale(id_hanghoa, chuthich, sale_date, quantity)
values
(1, 'asdf', '2020-12-12', 3),
(2, 'sad', '2020-12-12', 3),
(3, 'dasd', '2020-12-12', 3),
(4, 'dasdsd', '2020-12-12', 3),
(5, 'aaaa', '2020-12-12', 3),
(6, 'sssss', '2020-12-12', 3),
(7, 'fffff', '2020-12-12', 3),
(8, 'asddddf', '2020-12-12', 3),
(9, 'asdssf', '2020-12-12', 3),
(10, 'aasdfss', '2020-12-12', 3)

select * from product
select * from sale

select product.id, name, manufacturer, madein, sale_price, manu_date, chuthich, sale_date, quantity from product, sale
where product.id = sale.id_hanghoa and product.madein = 'Vietnam'

alter table sale add total_price float

select sale.id, id_hanghoa, name, chuthich, sale_date, quantity, sale_price, total_price into don_hang from sale, product
where product.id = sale.id_hanghoa

select * from don_hang

update don_hang set total_price = quantity * sale_price 


Đã sao chép!!!