TiiL Tutorials
@TinhocTiiL

Bài 12. [Demo] – Quản lý bán hàng với Spring boot – 2. Cơ sở dữ liệu

Phần này giới thiệu về cơ sở dữ liệu quản lý bán hàng  (nhằm mục tiêu demo giải pháp với Springboot nên chúng tôi sử dụng CSDL bán hàng “đơn giản”, để người học dễ hiểu và thực hiện)

Cơ sở dữ liệu

Full code SQL (ta có thể sử dụng đoạn SQL này để tạo nhanh CSDL trên),

CREATE TABLE `cthd` (
  `SOHD` int(11) NOT NULL,
  `MASP` char(4) NOT NULL,
  `SL` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;

CREATE TABLE `hoadon` (
  `SOHD` int(11) NOT NULL,
  `NGHD` datetime DEFAULT NULL,
  `MAKH` char(4) DEFAULT NULL,
  `MANV` char(4) DEFAULT NULL,
  `TRIGIA` double NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;

CREATE TABLE `khachhang` (
  `MAKH` char(4) NOT NULL,
  `HOTEN` varchar(40) DEFAULT NULL,
  `DCHI` varchar(50) DEFAULT NULL,
  `SODT` varchar(20) DEFAULT NULL,
  `NGSINH` date DEFAULT NULL,
  `NGDK` date DEFAULT current_timestamp(),
  `DOANHSO` double DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;

CREATE TABLE `nhanvien` (
  `MANV` char(4) NOT NULL,
  `HOTEN` varchar(40) DEFAULT NULL,
  `SODT` varchar(20) DEFAULT NULL,
  `NGAYVL` date NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;

CREATE TABLE `sanpham` (
  `MASP` char(4) NOT NULL,
  `TENSP` varchar(40) DEFAULT NULL,
  `DVT` varchar(20) DEFAULT NULL,
  `NUOCSX` varchar(40) DEFAULT NULL,
  `GIA` double NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;


ALTER TABLE `cthd`
  ADD PRIMARY KEY (`SOHD`,`MASP`),
  ADD KEY `fk02_CTHD` (`MASP`);

ALTER TABLE `hoadon`
  ADD PRIMARY KEY (`SOHD`),
  ADD KEY `fk01_HD` (`MAKH`),
  ADD KEY `fk02_HD` (`MANV`);

ALTER TABLE `khachhang`
  ADD PRIMARY KEY (`MAKH`);

ALTER TABLE `nhanvien`
  ADD PRIMARY KEY (`MANV`);

ALTER TABLE `sanpham`
  ADD PRIMARY KEY (`MASP`);


ALTER TABLE `cthd`
  ADD CONSTRAINT `fk01_CTHD` FOREIGN KEY (`SOHD`) REFERENCES `hoadon` (`SOHD`),
  ADD CONSTRAINT `fk02_CTHD` FOREIGN KEY (`MASP`) REFERENCES `sanpham` (`MASP`);

ALTER TABLE `hoadon`
  ADD CONSTRAINT `fk01_HD` FOREIGN KEY (`MAKH`) REFERENCES `khachhang` (`MAKH`),
  ADD CONSTRAINT `fk02_HD` FOREIGN KEY (`MANV`) REFERENCES `nhanvien` (`MANV`);
COMMIT;

 

Avatar
https://khoacntt.ntu.edu.vn/giang-vien/mai-cuong-tho

một GV Đại học. TiiL đã phụ trách một số môn học như: Lập trình Java, Phát triển web với Java, Lập trình thiết bị di động, Lập trình hệ thống nhúng và IoT.