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.. 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
Trang 1HỌ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
Trang 2I, 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
Trang 3- 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
Trang 4
Product Vendor
Số điện
thoại
Khách hàng mua
Ngày mua
Tên sản phẩm
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
Trang 5III, Ánh xạ mô hình thực thể quan hệ ra mô hình cơ sở dữ liệu quan hệ:
Trang 6Bảng Customer
Bảng hóa đơn
Trang 7Bảng dòng hóa đơn
Bảng sản phẩm
Trang 8Bả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 (
Trang 9CUS_INTIAL CHAR(1) NOT NULL
CUS_AREACODE CHAR(3) DEFAULT’615’NOT NULL
CHECK (CUS_AREACODE IN(‘615’, ‘713’,’931’))
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_NAME VARCHAR(35) NOT NULL
NULL
NULL
NULL
NULL
V_ORDER CHAR(1) NOT NULL
PRIMARY KEY (V_CODE)
Trang 10);
Tạo bảng invoice
CREATE TABLE invoice (
INV_NUMBER INTERGER NOT
INV_DATE DATE NOT NULL
PRIMATY KEY(INV_CODE)
);
Tạo bảng product
CREATE TABLE product (
P_DESCRIPT VARCHAR(250) NOT NULL
P_INDATE DATE NOT NULL
P_MIN INTEGER NOT NULL
P_PRICE FLOAT NOT
NULL
P_DISCOUNT FLOAT NOT
V_CODE INTEGER NOT NULL
Trang 11PRIMARY KEY(P_CODE)
FOREIGN KEY (V_CODE) REFERENCES VENDOR ON UPDATE
CASCADE)
);
Tạo bảng line
CREATE TABLE line(
LINE_NUMBER INTEGER NOT NULL
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
Trang 12INSERT 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
Trang 136 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