0% found this document useful (0 votes)
3 views

Project Database Assignment 1

Project Database Assignment 1
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views

Project Database Assignment 1

Project Database Assignment 1
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 15

ASSIGNMENT

DBI202 - DATABASE SYSTEM OF BOOK


AND STATIONARY MANAGEMENT
FPT UNIVERSITY

1
*Mục lục
………………………………………………
…..2
I. Giới thiệu bài toán
1. Mô tả bài toán
………………………………………………………3
2. Mục tiêu quản lý
…………………………………………………..4
II. Mô hình thực thể - liên hệ.
1. Xác định thực thể - thuộc tính
…………………………….4
2. Lập mô hình thực thể - liên hệ
……………………………5
III. Từ điển dữ liệu.
1. Định nghĩa các bảng
…………………………………………….7

2
Book and stationery Management System
database
1. Mô tả bài toán

- Sách và văn phòng phẩm có những thuộc tính chung như ID, giá tiền, [số
lượng], thể loại, [trạng thái là “1” (có sẵn) hoặc “0” (không có sẵn)], nhà
xuất bản (sách), [thời gian (nhập, xuất kho)].
+ Sách có thể mua hoặc mượn. Giá mượn sẽ cao hơn giá sách, nhưng nếu khi
trả sách thì người mượn sẽ được hoàn lại 50% số tiền mượn. Nếu quá hạn
trả sách, thì người mượn sẽ phải trả thêm phí.
+ Sách sẽ nằm bên phải và văn phòng phẩm sẽ nằm ở bên trái.
+ ID sẽ phụ thuộc vào tên loại sản phẩm.
+ Giá tiền là số nguyên lớn hơn 0.
- Số lượng sách sẽ giảm khi có người mua. Với sách mượn, thì người mượn
và sách mượn sẽ được lưu vào một danh sách mượn.
- Khách hàng sẽ có thuộc tính ID, số điện thoại, email, số lần mua (Xác định là
khách hàng quen thuộc).
- Mỗi năm sẽ có những ngày đặc biệt, mỗi quyển sách mua với giá tiền hơn
200k thì sẽ được tặng thêm một văn phòng phẩm bất kì. Ngày đặc biệt sẽ có
các thuộc tính: ID, tên ngày, ngày.
- Nếu có loại sách mới hoặc quyển sách mới nhân viên phải nhập vào cơ sở
dữ liệu để giới thiệu với khách hàng.
- Cập nhật các bài viết về sách và tin tức thị trường về sách, tin khuyến mãi.
- Cập nhập tác giả khi có sách mới và tác giả mới, công việc này giúp cho việc
tra cứu sách dễ dàng hơn.
- Bán có 2 hình thức: Bán trực tiếp và bán online.
+ Bán online sẽ có thêm một số thuộc tính như mã vận đơn, thời gian
giao hàng, phí ship.
+ Bán trực tiếp tại quầy, giá bán theo giá gốc.

3
- Để dễ dàng mua sách sẽ có thêm 1 người hỗ trợ, người hỗ trợ sẽ có thuộc
tính ID, số điện thoại, ngày (mua, mượn, trả).
- Một khách hàng có thể mượn nhiều sách, nhưng 1 sách chỉ có duy nhất một
khách hàng mượn.
- Mượn sẽ bao gồm thông tin ID của khách hàng, ID mượn, ngày trả, giá tiền,
số lượng, phí quá hạn.
- Ưu đãi sẽ dành cho các khách hàng quen thuộc, ưu đãi bao gồm: ID của
khách hàng, mã ưu đãi, loại ưu đãi.
- Phân loại sẽ giúp phân biệt giữa sách và văn phòng phẩm, phân loại sẽ bao
gồm, ID của sách và văn phòng phẩm, tên loại.
- Hàng tồn kho sẽ bao gồm: ID Sách và văn phòng phẩm, ID người hỗ trợ, Số
lượng, ngày nhập kho.

Các Entity: Sách và văn phòng phẩm, Khách hàng, Người hỗ trợ, Yêu cầu,
Hàng tồn kho, Mượn, Ưu đãi, Phân Loại, Ngày đặc biệt.
Mối quan hệ:
+ Sách và văn phòng phẩm - Ngày đặc biệt: nhiều - 1.
+ Sách và văn phòng phẩm - Phân loại: nhiều - 1.
+ Sách và văn phòng phẩm - Khách hàng: nhiều - nhiều, liên kết với
nhau qua bảng Mua và Mượn.
+ Khách hàng - Ưu đãi: 1 - nhiều
+ Người hỗ trợ - Sách và văn phòng phẩm: nhiều - nhiều, liên kết với
nhau qua bảng Hàng tồn kho.
Yêu cầu của Cửa hàng:
- Danh sách những khách hàng mượn sách.
- Tính số ngày mượn còn lại của khách mượn, biết rằng: số ngày mượn còn lại
= ngày trả - ngày thực tế (Hay còn gọi là ngày lấy từ máy).
- Chỉ ra những khách hàng mượn sách quá hạn nếu số ngày mượn còn lại của
khách mượn < 0.
- Hàng tháng, Quản lí số lượng yêu cầu và mượn để quản lí số sách và văn
phòng phẩm còn lại.
- Danh sách khách hàng nằm trong diện ưu tiên.

2. Mục tiêu quản lý

- Quản lý sách và văn phòng phẩm và theo dõi số lượng của chúng.
- Quẩn lí các khách hàng, liệt kê ra danh sách các khách hàng mượn sách, các
khách hàng nằm trong diện ưu tiên,
Yếu tố đầu ra quan trọng
- Danh sách các khách hàng mượn sách quá hạn.
- Danh sách số lượng sách và văn phòng phẩm còn lại trong hàng tồn kho.
- Danh sách khách hàng nằm trong diện ưu tiên.

II. Mô hình thực thể - liên hệ

4
1. Xác định thực thể - thuộc tính

Dựa vào mô tả bài toán và mục tiêu quản lý, ta có thể đưa ra một số thực thể và các
thuộc tính của thực thể đó như sau:
- Sách và văn phòng phẩm (Sản phẩm): Mã SP, giá tiền, thể loại, nhà xuất bản
(sách), Mã NĐB, Mã PL.
- Khách hàng: Mã KH, số điện thoại, email.
- Người hỗ trợ: Mã NHT, số điện thoại, ngày (mua, mượn, trả).
- Mua: ngày mua, tổng cộng, trạng thái, hình thức, Mã KH, Mã SP.
- Hàng tồn kho: số lượng, ngày nhập kho, Mã KH, Mã NHT.
- Mượn: ngày trả, giá tiền, số lượng, phí quá hạn, Mã KH, Mã SP.
- Ưu đãi: Mã UĐ, loại ưu đãi, Mã KH.
- Phân Loại: Mã PL, Tên.
- Ngày đặc biệt: Mã NĐB, tên ngày, ngày.

2. Lập mô hình thực thể - liên hệ

*Một số ký hiệu dùng trong mô hình:

- Thuộc tính khóa/ định danh

- Thuộc tính mô tả/ bản tả

- Thực thể

- Thực thể yếu

- Mối liên hệ

- Độ kết nối (lực lượng) =1

- Độ kết nối = N

Với mô hình đơn giản, ta vẽ thuộc tính theo ký hiệu trên, nhưng nếu mô hình phức
tạp, có thể liệt kê các thuộc tính ngay dưới thực thể mà nó mô tả.

Ta có mô hình:

5
6
III. Từ điển dữ liệu

1. Định nghĩa các bảng

a. Bảng KHACHHANG

Tên trường Kiểu dl Default Check Key/Index/Ràng buộc

Mã KH Varchar(5) Primary key

Số điện thoại Varchar(10) Unique

Email Varchar(50) Not null

Ví dụ:

Mã PB Số điên thoại Email

KH01 0911087822 NV05

KH02 0911087833 NV02

KH03 0911087844 NV01

Câu lệnh tạo bảng :


CREATE TABLE KHACHHANG (
MaKH VARCHAR(5) PRIMARY KEY NOT NULL,
PhoneNo VARCHAR(10) UNIQUE,
Email VARCHAR(50) NOT NULL
);

b. Bảng NGAYDACBIET

7
Tên
Kiểu dl Default Check Key/Index/Ràng buộc
trường

Mã NDB Varchar(6) Primary key

Tên ngày NVarchar(25) Unique

Ngày date Unique

Ví dụ:

Mã NDB Tên ngày Ngày

NDB01 World Book Day 23/4

NDB02 Bloomsday 16/6

NDB03 National Tom Sawyer 4/7


Days

Câu lệnh tạo bảng :


CREATE TABLE NGAYDACBIET (
MaNDB VARCHAR(6) PRIMARY KEY,
NgayDB DATE UNIQUE,
name_NDB NVARCHAR(25) UNIQUE
);

c. Bảng PHANLOAI

Tên Kiểu dl Defa Check Key/Index/Ràng buộc

8
trường ult

Mã PL Varchar(5) Primary key

Tên NVARCHAR(50) Not null

Ví dụ:

Mã PL Tên

PL01 Sách

PL02 Văn phòng phẩm

Câu lệnh tạo bảng :


CREATE TABLE PHANLOAI (
MaPL VARCHAR(5) PRIMARY KEY,
[name_PL] NVARCHAR(50) NOT NULL
);

d. Bảng UUDAI

Tên Kiểu dl Default Check Key/Index/Ràng buộc


trường

Mã UD Varchar(5) Primary key

NVarchar(50) Not null


Loại ưu
đãi

Varchar(5) Foreign key, tham chiếu tới


Mã KH
KHACHHANG(Mã KH)

Ví dụ:

Mã UD Loại ưu đãi Mã KH

9
UD01 Giảm 20% giá tiền KH01

UD02 Mượn sách miễn phí KH02


trong vòng 1 tháng

UD03 Tặng kèm 1 văn phòng KH03


phẩm khi mua 1 sách
bất kì

Câu lệnh tạo bảng :


CREATE TABLE UUDAI (
MaUD VARCHAR(5) PRIMARY KEY,
[name_UD] NVARCHAR(50) NOT NULL,
MaKH VARCHAR(5) FOREIGN KEY REFERENCES
KHACHHANG(MaKH)
);

e. Bảng SANPHAM

Tên trường Kiểu dl Default Check Key/Index/Ràng buộc

Mã SP Varchar(5) Primary key

Int Not null


Giá tiền

NVarchar(50) Not null


Thể loại

NVarchar(50)
Nhà xuất bản

Varchar(6) Foreign key, tham chiếu


Mã NDB
tới NGAYDACBIET(Mã
NDB)

Varchar(5) Foreign key, tham chiếu


Mã PL tới PHANLOAI(Mã PL)

Ví dụ:

Mã SP Giá tiền Thể loại Nhà xuất Mã NDB Mã PL

10
bản

SP01 250000 Trinh thám Agatha NDB01 PL01


Christie

SP02 300000 Thiếu nhi Kim Đồng NDB01 PL01

SP03 200000 Bút bi NDB03 PL02

Câu lệnh tạo bảng :


CREATE TABLE SANPHAM (
MaSP VARCHAR(5) PRIMARY KEY,
GiaTien INT NOT NULL,
TheLoai NVARCHAR(50) NOT NULL,
NXB NVARCHAR(50),
MaNDB VARCHAR(6) FOREIGN KEY REFERENCES
NGAYDACBIET(MaNDB),
MaPL VARCHAR(5) FOREIGN KEY REFERENCES PHANLOAI(MaPL)
);

f. Bảng NGUOIHOTRO

Tên Kiểu dl Default Check Key/Index/Ràng buộc


trường

Mã NHT Varchar(5) Primary key

Char(10) 0 to 9 Unique
Số điện
thoại

11
Date Not null
Ngày
làm

Ví dụ:

Mã Số điện thoại
Ngày (Mua,
NHT
mượn trả)

NHT01 0933087833 10/2/2023

NHT02 0933087834 5/6/2023

NHT03 0933087835 7/9/2023

Câu lệnh tạo bảng :


CREATE TABLE NGUOIHOTRO (
MaNHT VARCHAR(5) PRIMARY KEY,
PhoneNoNHT VARCHAR(10) UNIQUE,
NgayLam DATE UNIQUE
);

g. Bảng HANGTONKHO

Tên trường Kiểu dl Default Check Key/Index/Ràng buộc

Primary key, Foreign key


Mã NHT Varchar(5) tham chiếu tới
NGUOIHOTRO(Mã NHT)
Primary key, Foreign key
Mã SP Varchar(5) tham chiếu tới
SANPHAM(Mã SP)
Số lượng Int

Ngày nhập Date Not null

12
kho
Ví dụ:

Mã Mã SP Số lượng Ngày nhập


NHT kho

NHT01 SP02 5 8/7/2022

NHT03 SP01 6 15/5/2022

NHT02 SP03 7 18/7/2022

Câu lệnh tạo bảng :


CREATE TABLE HANGTONKHO (
MaNHT VARCHAR(5) FOREIGN KEY REFERENCES
NGUOIHOTRO(MaNHT),
MaSP VARCHAR(5) FOREIGN KEY REFERENCES
SANPHAM(MaSP),
SoLuong INT,
NgayNhap DATE NOT NULL
PRIMARY KEY (MaNHT,MaSP)
);

h. Bảng MUA

Tên trường Kiểu dl Default Check Key/Index/Ràng buộc

Primary key, Foreign key


Mã SP Varchar(5) tham chiếu tới
SANPHAM(Mã SP)
Primary key, Foreign key
Mã KH Varchar(5) tham chiếu tới
NGUOIHOTRO(Mã NHT)
Ngày mua Date Not null

Số lượng Int Not null

Hình thức NVarchar(10)

13
Ví dụ:

Mã SP Mã KH Ngày mua Số lượng Hình thức

SP01 KH02 16/3/2023 5 Online

SP02 KH03 17/3/2023 6 Offline

SP03 KH01 18/3/2023 7

Câu lệnh tạo bảng :


CREATE TABLE MUA (
MaSP VARCHAR(5) FOREIGN KEY REFERENCES
SANPHAM(MaSP),
MaKH VARCHAR(5) FOREIGN KEY REFERENCES
KHACHHANG(MaKH),
NgayMua DATE NOT NULL,
SoLuong INT NOT NULL,
HinhThuc NVARCHAR(10)
PRIMARY KEY (MaSP,MaKH)
);

i. Bảng MUON

Tên trường Kiểu dl Default Check Key/Index/Ràng buộc

Primary key, Foreign key


Mã SP Varchar(5) tham chiếu tới SANPHAM(Mã
SP)

Primary key, Foreign key


Mã KH Varchar(5) tham chiếu tới
NGUOIHOTRO(Mã NHT)
Ngày trả Date Not null

Số lượng Int Not null


Phí quá hạn Int

Ví dụ:

14
Mã SP Mã KH Ngày trả Số lượng Phí quá hạn

SP02 KH01 18/4/2023 2 50000

SP03 KH02 16/5/2023 3 100000

SP01 KH03 16/6/2023 4

Câu lệnh tạo bảng :

CREATE TABLE MUON (

MaSP VARCHAR(5) FOREIGN KEY REFERENCES SANPHAM(MaSP),

MaKH VARCHAR(5) FOREIGN KEY REFERENCES KHACHHANG(MaKH),

NgayTra DATE NOT NULL,

SoLuong INT NOT NULL,

PhiQuaHan INT

PRIMARY KEY (MaSP,MaKH)

);

15

You might also like