XÂY DỰNG MÔ HÌNH ER
Xác định tập thuộc thể, các thuộc tính, khoá
- Dongia (giá trị mặt hàng)
- TenNCC (tên của công ty nhà cung cấp)
- MaNCC (mã của công ty nhà cung cấp)
- SDT (số điện thoại nhà cung cấp)
- Diachi (địa chỉ nhà cung cấp)
- TenCT (tên công ty mua)
- MaCT (mã công ty mua)
- SDT (số điện thoại công ty mua)
- Diachi (địa chỉ công ty mua)
- Soluongtonkho (số lượng hàng tồn kho)
- MaNCC (mã nhà cung cấp)
- MaVT (mã vật tư cần nhập)
- Soluong (số lượng vật tư nhập vào)
- Dongia (đơn giá của các mặt hàng nhập vào)
- Thanhtien (tổng tiền hàng nhập)
- MaCT (mã công ty mua)
- Soluong (số lượng vật tư xuất ra)
- Dongia (đơn giá của các mặt hàng xuất ra)
- Thanhtien (tổng tiền hàng xuất)
Xác định các mối quan hệ
Vật tư và nhà cung cấp là mối quan hệ n-n
Vật tư và phiếu nhập là mối quan hệ n-n
Phiếu nhập và nhà cung cấp là mối quan hệ n-n
Vật tư và kho hàng là mối quan hệ n-1
Kho hàng và phiếu xuất là mối quan hệ 1-n n 1
Phiếu xuất và khách hàng là mối quan hệ n-1
Mô hình thực thể ER
Chuyển đổi mô hình ER sang mô hình quan hệ
Quá trình quy đổi từ mô hình ER sang mô hình quan hệ
Bước 1: Chuyển đổi thực thể mạnh (các tập thực thể mạnh được chuyển thành quan hệ có cùng tên và cùng tập thuộc tính, cùng khóa)
- Các lược đồ quan hệ tương ứng với các thực thể mạnh:
NHACUNGCAP (MaNCC, TenNCC, SDT, Diachi)
PHIEUNHAP (Maphieunhap, Makhohang, MaNCC, Ngaynhap, MaVT,
PHIEUXUAT (Maphieuxuat,Makhohang, MaCT, Ngayxuat, MaVT,
KHACHHANG (MaCT, TenCT, SDT, Diachi)
KHOHANG (Tenkhohang, Makhohang, MaVT, Soluongtonkho)
Bước 2: Chuyển đổi dựa theo mối liên kết
- Mối liên kết 1-n (Thuộc tính khóa bên 1 làm khóa ngoại bên nhiều) Các lược đồ quan hệ tương ứng với mối liên kết 1-n:
+ Mối quan hệ KHOHANG và VATTU (một kho hàng sẽ có nhiều mặt hàng vật tư khác nhau):
- Mối liên kết n-n (Chuyển thành quan hệ mới có khoá chính gồm 2 thuộc tính khóa của 2 quan hệ trở lên, thuộc tính mối kết hợp (nếu có) trở thành thuộc tính của quan hệ mới) Các lược đồ tương ứng với mối liên kết n-n:
Mối quan hệ VATTU NHACUNGCAP PHIEUNHAP , (các vật tư sẽ được cung cấp bởi nhiều nhà cung cấp với nhiều phiếu nhập):
- Mô hình quan hệ gồm:
NHACUNGCAP (MaNCC, TenNCC, SDT, Diachi)
PHIEUNHAP (Maphieunhap, Makhohang, MaNCC, Ngaynhap, MaVT,
PHIEUXUAT (Maphieuxuat,Makhohang, MaCT, Ngayxuat, MaVT,
KHACHHANG (MaCT, TenCT, SDT, Diachi)
KHOHANG (Tenkhohang, Makhohang, MaVT, Soluongtonkho)
Chuẩn hoá CSDL
- Xét quan hệ: VATTU (MaVT, TenVT, Dongia)
Ta có tập PTH: MaVT → (TenVT, Dongia)
Nhận xét: Đã đạt chuẩn BCNF
- Xét quan hệ: NHACUNGCAP (MaNCC, TenNCC, SDT, Diachi)
Ta có tập PTH: MaNCC → (TenNCC, SDT, Diachi)
Nhận xét: Đã đạt chuẩn BCNF
- Xét quan hệ: KHACHHANG (MaCT, TenCT, SDT, Diachi)
Ta có tập PTH: MaCT → (TenCT, SDT, Diachi)
Nhận xét: Đã đạt chuẩn BCNF
- Xét quan hệ: KHOHANG (Tenkhohang, Makhohang, MaVT, Soluongtonkho)
Ta có tập PTH: Makhohang→ (Tenkhohang, MaVT, Soluongtonkho)
Nhận xét: Đã đạt chuẩn BCNF
- Xét quan hệ: PHIEUNHAP (Maphieunhap, Makhohang, MaNCC, MaVT, Ngaynhap, Soluong, Dongia, Thanhtien)
Ta có tập PTH: Maphieunhap → (Makhohang, MaNCC, MaVT, Ngaynhap, Soluong, Dongia, Thanhtien)
Nhận xét: Đã đạt chuẩn BCNF
- Xét quan hệ: PHIEUXUAT (Maphieuxuat, Makhohang, MaCT, MaVT, Ngayxuat, Soluong, Dongia, Thanhtien)
Ta có tập PTH: Maphieunhap → (Makhohang, MaCT, MaVT, Ngayxuat, Soluong, Dongia, Thanhtien)
Nhận xét: Đã đạt chuẩn BCNF
Bảng giá trị thuộc tính các quan hệ
Thuộc tính Kiểu dữ liệu Độ dài Mô tả
TenVT Nvarchar 50 Tên mặt hàng
MaVT Char 10 Mã vật tư
Thuộc tính Kiểu dữ liệu Độ dài Mô tả
TenNCC Nvarchar 50 Tên nhà cung cấp
MaNCC Char 10 Mã nhà cung cấp
SDT Char 10 Số điện thoại nhà cung cấp
Diachi Nvarchar 100 Đia chỉ nhà cung cấp
TenCT Nvarchar 50 Tên công ty mua
MaCT Char 10 Mã công ty mua
SDT Char 10 Số điện thoại công ty mua
Diachi Nvarchar 100 Địa chỉ công ty mua
Thuộc tính Kiểu dữ liệu Độ dài Mô tả
Tenkhohang Nvarchar 50 Tên kho hàng
Makhohang Char 10 Mã kho hàng
MaVT Char 10 Mã vật tư
Soluongtonkho Char 100 Số lượng tồn kho
Thuộc tính Kiểu dữ liệu Độ dài Mô tả
Maphieunhap Char 10 Mã phiếu nhập
Makhohang Char 10 Mã kho hàng
MaNCC Char 10 Mã nhà cung cấp
MaVT Char 10 Mã vật tư
Soluong Char 100 Số lượng hàng nhập
Thuộc tính Kiểu dữ liệu Độ dài Mô tả
Maphieuxuat Char 10 Mã phiếu xuất
Makhohang Char 10 Mã kho hàng
MaCT Char 10 Mã công ty mua
MaVT Char 10 Mã vật tư
Soluong Char 100 Số lượng hàng xuất
CÀI ĐẶT CSDL TRÊN HỆ CSDL
1 Các bước tạo bảng trong SQL
Tạo database bằng lệnh> Bôi đen dòng lệnh>Excute ( phím tắt F5 )
Trong Query, ta viết cú pháp khởi tạo Table > Bôi đen dòng lệnh > Excute ( phím tắt F5 )
,
,
Sau mỗi trường cần có dấu phẩy ( ) để ngăn cách với thông tin trường tiếp theo Sau , trường cuối cùng không cần có dấu phẩy
Hộp thoại Message xuất hiện báo lệnh khởi tạo thành công.
Nhấn Ctrl+S để lưu bảng vừa tạo
- Nhập tên bảng và hộp thoại Save As và Click OK
CÂU LỆNH TẠO VÀ NHẬP DỮ LIỆU BẢNG NHACUNGCAP
CÂU LỆNH TẠO VÀ NHẬP DỮ LIỆU BẢNG PHIEUNHAP
CÂU LỆNH TẠO VÀ NHẬP DỮ LIỆU BẢNG KHOHANG
CÂU LỆNH TẠO VÀ NHẬP DỮ LIỆU BẢNG VATTU
CÂU LỆNH TẠO VÀ NHẬP DỮ LIỆU BẢNG PHIEUXUAT
CÂU LỆNH TẠO VÀ NHẬP DỮ LIỆU BẢNG KHACH HANG
V TRUY VẤN CSDL TRONG HỆ QUẢN TRỊ CSDL ĐÓ
1 Cho biết tất cả thông tin về vật tư có ở kho hàng HN01
Maphieunhap,Makhohang,MaNCC,MaVT,Ngaynhap,Soluong,Dongia,Thanhtien(PHIEUNHAP)
2 Lấy ra tên nhà cug cấp, mã nhà cung cấp, địa chỉ, mã vật tư và ngày nhập của 2 bảng NCC và PHIEUXUAT
Tenncc, Mancc, Điachi, MaVT, Ngaynhap (NCC*PHIEUXUAT)
SELECT NCC.TenNCC, NCC.MaNCC, NCC.Diachi, PN.MaVT, PN.Ngaynhap FROM dbo.NHACUNGCAP AS NCC ,dbo.PHIEUNHAP AS PN
WHERE NCC.MaNCC=PN.MaNCC
3 Cho biết mã, tên và giá các vật liệu với điều kiện có đơn giá > 10000000 đồng và sắp xếp theo thứ tự tăng dần.
TenVT,MaVT,Dongia (бDongia>10000000 ( VATTU))
4 Cho biết kho nào có số lượng hàng tồn kho lớn hơn 10 và nhỏ hơn 50
Tenkhohang, Makhohang, MaVT, Soluongto kho (б101 ( VATTU))
SELECT FROM * KHOHANG AS KH
SELECT COUNT(*) FROM dbo.PHIEUNHAP