Tải bản đầy đủ (.pdf) (14 trang)

Bài tập lớn môn cơ sở dữ liệu Quản lý cơ sở kinh doanh hàng tạp hóa

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (323.69 KB, 14 trang )

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG


BÁO CÁO

MÔN : CƠ SỞ DỮ LIỆU

Đề tài: Quản lý cơ sở kinh doanh hàng tạp hóa.
Sinh viên: Nguyễn Thế Dũng
Lớp : D10CN1






I, Mô tả bài toán:

Bài toán đặt ra là quản lý bán hàng của một cơ sở kinh doanh đồ tạp hóa.
Các vấn đề trong phạm vi quản lý bao gồm nhà cung cấp, sản phẩm, hóa đơn,
dòng sản phẩm và khách hàng. Thông qua đó có thể lập các hóa đơn. Từ các hóa
đơn có thể tìm thấy thông tin về sản phẩm, nhà cung cấp và khách hàng cũng như
giá cả và các thông tin cần thiết khác.
Các thông tin về khách hàng cần nắm được họ tên, tên viết tắt, các khoản
vay nợ đối với công ty, mã vùng bưu điện, số điện thoại.
Thông tin về nhà cung cấp bao gồm tên hãng, địa chỉ liên hệ, mã bưu chính,
số điện thoại, tình trạng của nhà cung cấp ra sao và đơn đặt hàng với nhà cung cấp
đó là gì, có thể có nhà cung cấp không cung cấp mặt hàng nào cả. Một hãng cũng
có thể cùng lúc cung cấp nhiều loại mặt hàng.
Thông tin về sản phẩm phải nắm được là mô tả sản phẩm, ngày nhập về,
ngày giao cho khách hàng, giá bán sản phẩm, giảm giá bao nhiêu phần trăm, nhà


cung cấp sản phẩm đó là ai, có những sản phẩm không do nhà cung cấp nào cung
cấp mà do công ty tự làm ra hoặc được cung cấp bằng những cách thức khác
Thông tin về hóa đơn bao gồm khách hàng mua, ngày mua và các sản phẩm
được mua. Mỗi hóa đơn có thể có nhiều dòng, trong mỗi dòng của hóa đơn có
chứa thông tin về tên sản phẩm, đơn vị, số lượng và giá cả. Một sản phẩm có thể
tìm thấy ở nhiều dòng trong một hóa đơn.
II, Xác định các đối tượng thực thể:
*Sơ lược các thực thể:
 Customer:
thực thể khách hàng dùng để lưu thông tin của các khách hàng, bao gồm các
thuộc tính:
- fist name
- last name
- initial
- area code
- phone number
- balance
 Invoice:
Thực thể hóa đơn lưu thông tin để thể hiện các yêu cầu trả tiền của khách
hàng, bao gồm các thuộc tính như:
- cus-code
- number
- date
 Vendor:
Thực thể nhà cung cấp dùng để lưu thông tin của các nhà cung cấp bao gồm
các thuộc tính như:
- name
- contact
- area code
- phone number

- order
 Product:
thực thể sản phẩm lưu thông tin về các mặt hàng, bao gồm các thuộc tính
chính như:
- Desc (mô tả sản phẩm)
- ngày nhập
- ngày trao sản phẩm
- giá nhập
- price
- discount(nếu có)
- vendor(nếu có)

III, Mô hình E-R























customer
invoce
Product
Vendor
H
ọ tên
Đ
ịa chỉ
Số điện
thoại
Khách hàng
mua
Ngày mua
Tên sản
phẩm
S
ố lượng
Đơn giá
Ngày
bán
Nhà cung
cấp
Giá bán
Ngày
nhập

Giá nh
ập
Đ
ịa chỉ
Tên

Số điện
thoại
Tên sản
phẩm
Sản
phẩm
Chứa
Nguồn
cung
cấp
III, Ánh xạ mô hình thực thể quan hệ ra mô hình cơ sở dữ liệu
quan hệ:

Bảng Customer

Bảng hóa đơn




Bảng dòng hóa đơn

Bảng sản phẩm




Bảng nhà cung cấp



III, Các thao tác với cơ sở dữ liệu:
sử dụng hệ quản trị cơ sở dữ liệu MySQL
1,Các lệnh tạo bảng:
 Tạo bảng customer
CREATE TABLE customer (
CUS_CODE INTERGER NOT NULL UNIQUE
CUS_LNAME VARCHAR(35) NOT NULL
CUS_FNAME VARCHAR(35) NOT NULL
CUS_INTIAL CHAR(1) NOT NULL
CUS_AREACODE CHAR(3) DEFAULT’615’NOT NULL
CHECK (CUS_AREACODE IN(‘615’, ‘713’,’931’))
CUS_PHONE CHAR(8) NOT NULL
CUS_BALANCE NUMNBER(9,2) DEFAULT 0.00
CONSTRAINT CUS_UI1 UNIQUE(CUS_LNAME, CUS_FANME)
);
 Tạo bảng vendor
CREATE TABLE vendor(
V_CODE INTERGER NOT NULL UNIQUE
V_NAME VARCHAR(35) NOT NULL
V_CONTACT VARCHAR(15) NOT
NULL
V_AREACODE CHAR(3) NOT
NULL
V_PHONE CHAR(8) NOT

NULL
V_STATE CHAR(2) NOT
NULL
V_ORDER CHAR(1)

NOT NULL
PRIMARY KEY (V_CODE)
);
 Tạo bảng invoice
CREATE TABLE invoice (
INV_NUMBER INTERGER NOT
NULL UNIQUE
CUS_CODE INTERGER NOT NULL
INV_DATE DATE NOT NULL
PRIMATY KEY(INV_CODE)
);
 Tạo bảng product
CREATE TABLE product (
P_CODE INTERGER NOT NULL UNIQUE
P_DESCRIPT VARCHAR(250) NOT NULL
P_INDATE DATE
NOT NULL
P_ONHAND INTERGER NOT NULL
P_MIN INTEGER NOT NULL
P_PRICE FLOAT NOT
NULL
P_DISCOUNT FLOAT NOT
NULL
V_CODE INTEGER NOT NULL
PRIMARY KEY(P_CODE)

FOREIGN KEY (V_CODE) REFERENCES VENDOR ON UPDATE
CASCADE)
);
 Tạo bảng line
CREATE TABLE line(
INV_NUMBER INTEGER NOT
NULL UNIQUE
LINE_NUMBER INTEGER NOT NULL
P_CODE INTEGER NOT
NULL
LINE_UNIT VARCHAR(50) NOT NULL
LINE_PRICE FLOAT NOT NULL
PRIMARY KEY (INV_NUMBER.LINE_NUMBER)
FOREIGN KEY (INV_NUMBER) REFERENCES invoice ON
DELETE CASCADE
FOREIGN KEY (P_CODE) REFERENCES product (P_CODE)
CONSTRAINT LINE_UI1 UNIQUE(INV_NUMBER,P_CODE));

2. Các lệnh chèn dữ liệu
- Thêm mới một khách hàng
INSERT INTO customer VALUES
(2,'LAM','THUY','L',12,'01666380123',11);
- Thêm mới một sản phẩm
INSERT INTO PRODUCT VALUES()
- Thêm mới một hóa đơn
- INSERT INTO `invoice` VALUES (1,2,”2011-11-12”);
- cập nhật một nhà cung cấp mới
INSERT INTO `vendor`(`v_code`, `v_name`, `v_contact`)
VALUES (1,”Philip”,”Europe”)
3,Các câu lệnh truy vấn dữ liệu:

Các câu lệnh truy vấn dữ liệu:
1. Truy vấn hóa đơn theo tên khách hàng:
SELECT V_CODE FROM `invoice`,`customer` WHERE
customer.CUS_CODE = invoice.CUS_CODE
2. Truy vấn tên nhà cung cấp và giá tiền theo sản phẩm:
SELECT V_NAME,P_PRICE FROM `product`,`invoice` WHERE`
invoice.V_CODE=product.V_CODE;
3. Lấy ra danh sách khách hàng nợ tiền công ty:
SELECT CUS_FNAME,CUS_LNAME FROM `customer`
WHERE CUS_BALANCE<0
4. Lấy thông tin về sản phẩm, lấy danh sách sản phẩm và nhà cung
cấp cùng giá tiền của nó
5. SELECT P_DESCRIPT,P_CODE, V_NAME, P_PRICE FROM
`vendor`,`product` WHERE vendor.V_CODE=product.V_CODE
6. lấy ra danh sách các mặt hàng được giảm giá
SELECT P_CODE, P_DESCRIPT FROM product WHERE
P_DISCOUT>0
Các lệnh tạo view:
Sản phẩm –giá – tên nhà cung cấp
CREATE VIEW SANPHAM AS SELECT P_CODE, P_PRICE,
V_NAME FROM `product`,`vendor` WHERE
product.V_CODE=vendor.V_CODE
Hóa đơn – tên khách hàng – tổng tiền
CREATE VIEW HOADON AS SELECT CUS_LNAME
SUM(INV_NUMBER*P_PRICE) FROM`customer`,`invoice` WHERE
invoice.CUS_CODE=customer.CUS_CODE




















×