Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 22 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
22
Dung lượng
113,15 KB
Nội dung
Đồ án Cơ sở liệu Đề tài:Xây dựng sở liệu cho hệ thống quản lý kho Nhóm 9: Ninh Đức Thiện Lưu Văn Lợi Đỗ Mạnh Hùng I Mơ hình quan hệ: - tbl_PhanQuyen (ID, Ten, GhiChu) - tbl_TaiKhoan (ID, UseName, Pass, HoTen, NgaySinh, DiaChi, SDT, ChucVu, PhanQuyenID) Tham chiếu: tbl_TaiKhoan (PhanQuyenID) => tbl_PhanQuyen (ID) - tbl_Notification (ID, TieuDe, NoiDung, TrangThai, ThoiGian, TaiKhoanID) Tham chiếu: tbl_Notification (TaiKhoanID) => tbl_TaiKhoan (ID) - tbl_HeThong (ID, Ten, DiaChi, SDT, STK, NganHang, TaiKhoanID) Tham chiếu: tbl_HeThong (TaiKhoanID) => tbl_TaiKhoan (ID) - tbl_HT_TK (HeThongID, TaiKhoanID) Tham chiếu: tbl_HT_TK (HeThongID) => tbl_HeThong(ID) tbl_HT_TK (TaiKhoanID) => tbl_TaiKhoan(ID) - tbl_Kho (ID, Ten, DiaChi, HeThongID) Tham chiếu: tbl_Kho (HeThongID) => tbl_HeThong (ID) - tbl_ViTri (ID, HangID, CotID, TrangThai, KhoID) Tham chiếu: tbl_ViTri (KhoID) => tbl_Kho (ID) - tbl_NhaCungCap (ID, Ten, DiaChi, SDT, STK, NganHang, TaiKhoanID) Tham chiếu: tbl_NhaCungCap (TaiKhoanID) => tbl_TaiKhoan (ID) - tbl_LoaiMatHang (ID, Ten, GhiChu) - tbl_MatHang (ID, Ten, MoTa, Gia, SoLuong, NhaCungCapID) Tham chiếu: tbl_MatHang (NhaCungCapID) => tbl_NhaCungCap (ID) - tbl_MH_LMH (LoaiMatHangID, MatHangID) Tham chiếu: tbl_MH_LMH (LoaiMatHangID) => tbl_LoaiMatHang (ID) tbl_MH_LMH (MatHangID) => tbl_MatHang (ID) - tbl_HopDong (ID, NgayLap, NgayHT, TrangThai, NhaCungCapID, NguoiLap) Tham chiếu: tbl_HopDong (NhaCungCapID) => tbl_NhaCungCap (ID) tbl_HopDong (NguoiLap) => tbl_TaiKhoan (ID) - tbl_ChiTietHD (HopDongID, MatHangID, SoLuong) Tham chiếu: tbl_ChiTietHD (HopDongID) => tbl_HopDong (ID) tbl_ChiTietHD (MatHangID) => tbl_MatHang (ID) - tbl_PhieuNhap (ID, NguoiGiao, NgayLap, NguoiLap, TrangThai, HopDongID) Tham chiếu: tbl_PhieuNhap (NguoiLap) => tbl_TaiKhoan (ID) tbl_PhieuNhap (HopDongID) => tbl_HopDong (ID) - tbl_ChiTietPN (PhieuNhapID, MatHangID, SoLuong, ViTriID) Tham chiếu: tbl_ChiTietPN (PhieuNhapID) => tbl_PhieuNhap (ID) tbl_ChiTietPN (MatHangID) => tbl_MatHang (ID) tbl_ChiTietPN (ViTriID) => tbl_ViTri (ID) - tbl_CuaHang (ID, Ten, DiaChi, SDT, STK, NganHang, TaiKhoanID) Tham chiếu: tbl_CuaHang (TaiKhoanID) => tbl_TaiKhoan (ID) - tbl_PhieuXuat (ID, NgayLap, NgayDuyet, NguoiDuyet, NgayHT, TrangThai, CuaHangID) Tham chiếu: tbl_PhieuXuat (NguoiDuyet) => tbl_TaiKhoan (ID) tbl_PhieuXuat (CuaHangID) => tbl_CuaHang(ID) - tbl_ChiTietPX (PhieuXuatID, MatHangID, SoLuong) Tham chiếu: tbl_ChiTietPX (PhieuXuatID) => tbl_PhieuXuat (ID) tbl_ChiTietPX (MatHangID) => tbl_MatHang (ID) II Thiết kế: tbl_PhanQuyen Tên trường Kiểu liệu Kích thước ID int Ten nvarchar 300 GhiChu nvarchar max Ràng buộc Giá trị mặc định Primary Key Ghi Mã phân quyền Tên quyền Not Null, Unique Ghi tbl_TaiKhoan Tên trường Kiểu liệu Kích thước Ràng buộc ID int Primary Key UserName varchar 300 Pass HoTen NgaySinh DiaChi SDT varchar nvarchar date nvarchar varchar 300 300 Not Null, Unique Not Null Not Null 500 12 Not Null ChucVu PhanQuyenI D nvarchar int 300 Foreign Key Tham chiếu: tbl_TaiKhoan (PhanQuyenID) => tbl_PhanQuyen(ID) Giá trị mặc định Ghi Mã tài khoản Tên tài khoản Mật Họ tên Ngày sinh Địa Số điện thoại Chức vụ Mã phân quyền tbl_Notification Tên trường Kiểu liệu ID int TieuDe Nội dung TrangThai ThoiGian TaiKhoanID nvarchar nvarchar bit datetime int Kích thước Ràng buộc Giá trị mặc định Primary Key 300 max Not Null Not Null Not Null Not Null Foreign Key false Ghi Mã thông báo Tiêu đề Nội dung Trạng thái Thời gian Mã tài khoản Tham chiếu: tbl_Notification (TaiKhoanID) => tbl_TaiKhoan(ID) tbl_HeThong Tên trường Kiểu liệu Kích thước Ràng buộc ID int Primary Key Ten nvarchar 300 DiaChi SDT nvarchar varchar 500 12 Not Null, Unique Not Null Not Null STK varchar 30 Not Null NganHang TaiKhoanID nvarchar int 300 Not Null Foreign Key Tham chiếu: tbl_HeThong(TaiKhoanID) => tbl_TaiKhoan(ID) Giá trị mặc định Ghi Mã hệ thống Tên hệ thống Địa Số điện thoại Số tài khoản Ngân hàng Mã tài khoản tbl_HT_TK Tên trường Kiểu liệu HeThongID int TaiKhoanID int Kích thước Ràng buộc Giá trị mặc định Primary Key, Foreign Key Primary Key Ghi Mã hệ thống Mã tài khoản Tham chiếu: tbl_HT_TK(HeThongID) => tbl_HeThong(ID) tbl_HT_TK(TaiKhoanID) => tbl_TaiKhoan(ID) tbl_Kho Tên trường ID Ten DiaChi HeThongID Kiểu liệu int nvarchar nvarchar int Kích thước 300 500 Ràng buộc Giá trị mặc định Primary Key Not Null Not Null Foreign Key Ghi Mã kho Tên kho Địa Mã hệ thống Tham chiếu: tbl_Kho(HeThongID) => tbl_HeThong(ID) tbl_ViTri Tên trường ID HangID CotID TrangThai KhoID Kiểu liệu Kích thước int int int bit int Tham chiếu: tbl_ViTri(KhoID) => tbl_Kho(ID) Ràng buộc Primary Key Not Null Not Null Not Null Foreign Key Giá trị mặc định false Ghi Mã vị trí Hàng Cột Trạng thái Mã kho tbl_NhaCungCap Tên trường Kiểu liệu Kích thước Ràng buộc ID int Ten nvarchar 300 Not Null DiaChi SDT nvarchar varchar 500 12 Not Null Not Null STK varchar 30 Not Null NganHang TaiKhoanID nvarchar int 300 Not Null Foreign Key Giá trị mặc định Primary Key Ghi Mã nhà cung cấp Tên nhà cung cấp Địa Số điện thoại Số tài khoản Ngân hàng Mã tài khoản Tham chiếu: tbl_NhaCungCap(TaiKhoanID) => tbl_TaiKhoan(ID) tbl_LoaiMatHang Tên trường Kiểu liệu Kích thước ID int Ten nvarchar 300 GhiChu nvarchar max Ràng buộc Primary Key Not Null, Unique Giá trị mặc định Ghi Mã loại mặt hàng Tên loại mặt hàng Ghi tbl_MatHang Tên trường Kiểu liệu Kích thước Ràng buộc ID int Ten nvarchar 300 Not Null MoTa Gia SoLuong NhaCungCapI D nvarchar int int int max Not Null Not Null Not Null Foreign Key Giá trị mặc định Primary Key 0 Ghi Mã mặt hàng Tên mặt hàng Mô tả Đơn giá Số lượng Mã nhà cung cấp Tham chiếu: tbl_MatHang(NhaCungCapID) => tbl_NhaCungCap(ID) tbl_MH_LMH Tên trường Kiểu liệu LoaiMatHangI D int MatHangID int Kích thước Ràng buộc Primary Key, Foreign Key Primary Key, Foreign Key Tham chiếu: tbl_MH_LMH(LoaiMatHangID) => tbl_LoaiMatHang(ID) tbl_MH_LMH(MatHangID) => tbl_MatHang(ID) Giá trị mặc định Ghi Mã loại mặt hàng Mã mặt hàng tbl_HopDong Tên trường Kiểu liệu Kích thước Ràng buộc ID int Primary Key NgayLap NgayHT datetime datetime Not Null TrangThai NguoiLap NhaCungCapI D int int int Not Null Foreign Key Foreign Key Giá trị mặc định Ghi Mã hợp đồng Ngày lập Ngày hoàn thành Trạng thái Người tạo Mã nhà cung cấp Tham chiếu: tbl_HopDong(NguoiLap) => tbl_TaiKhoan(ID) tbl_HopDong(NhaCungCapID) => tbl_NhaCungCap(ID) tbl_ChiTietHD Tên trường Kiểu liệu HopDongID int MatHangID int SoLuong int Kích thước Ràng buộc Primary Key, Foreign Key Primary Key, Foreign Key Not Null Tham chiếu: tbl_ChiTietHD(HopDongID) => tbl_HopDong(ID) tbl_ChiTietHD(MatHangID) => tbl_MatHang(ID) Giá trị mặc định Ghi Mã hợp đồng Mã mặt hàng Số lượng tbl_PhieuNhap Tên trường Kiểu liệu Kích thước Ràng buộc ID int Primary Key NguoiLap NgayLap NguoiGiao TrangThai HopDongID int datetime nvarchar bit int Foreign Key Not Null Not Null Not Null Foreign Key 300 Giá trị mặc định false Ghi Mã phiếu nhập Người lập Ngày lập Người giao Trạng thái Mã hợp đồng Tham chiếu: tbl_PhieuNhap(NguoiLap) => tbl_TaiKhoan(ID) tbl_PhieuNhap(HopDongID) => tbl_HopDong(ID) tbl_ChiTietPN Tên trường Kiểu liệu PhieuNhapID int MatHangID int SoLuong ViTriID int int Kích thước Ràng buộc Primary Key, Foreign Key Primary Key, Foreign Key Not Null Foreign Key Tham chiếu: tbl_ChiTietPN(PhieuNhapID) => tbl_PhieuNhap(ID) tbl_ChiTietPN(MatHangID) => tbl_MatHang(ID) tbl_ChiTietPN(ViTriID) => tbl_ViTri(ID) Giá trị mặc định Ghi Mã phiếu nhập Mã mặt hàng Số lượng Mã vị trí tbl_CuaHang Tên trường Kiểu liệu Kích thước Ràng buộc ID int Ten nvarchar 300 Not Null DiaChi SDT nvarchar varchar 500 12 Not Null Not Null STK varchar 30 Not Null NganHang TaiKhoanID nvarchar int 300 Not Null Foreign Key Giá trị mặc định Primary Key Ghi Mã cửa hàng Tên cửa hàng Địa Số điện thoại Số tài khoản Ngân hàng Mã tài khoản Tham chiếu: tbl_CuaHang(TaiKhoanID) => tbl_TaiKhoan(ID) tbl_PhieuXuat Tên trường Kiểu liệu Kích thước Ràng buộc ID int Primary Key NgayLap NguoiDuyet datetime int Not Null Foreign Key NgayDuyet NgayHT datetime datetime TrangThai CuaHangID int int Not Null Foreign Key Tham chiếu: tbl_PhieuXuat(NguoiDuyet) => tbl_TaiKhoan(ID) tbl_PhieuXuat(CuaHangID) => tbl_CuaHang(ID) Giá trị mặc định Ghi Mã phiếu xuất Ngày lập Người duyệt Ngày duyệt Ngày hoàn thành Trạng thái Mã cửa hàng tbl_ChiTietPX Tên trường Kiểu liệu PhieuXuatID int MatHangID int SoLuong int Kích thước Ràng buộc Primary Key, Foreign Key Primary Key, Foreign Key Not Null Tham chiếu: tbl_ChiTietPX(PhieuXuatID) => tbl_PhieuXuat(ID) tbl_ChiTietPX(MatHangID) => tbl_MatHang(ID) Giá trị mặc định Ghi Mã phiếu xuất Mã mặt hàng Số lượng III IV Tạo sở liệu: V Lập trình SQL Mở Đầu 1.1 Chú thích: • Truy vấn liệu : Select, Store proceduce,Function • Tính tồn vẹn liệu : trigger and view • Can thiệp vào liệu: Store Proceduce( có tham số) Các bảng quy ước message 1.2 Bảng kết trả thực tác vụ Mã lỗi Mô tả Thành công -1 Không thành công -2 Bản ghi tồn -3 Bản ghi không tồn -4 Bạn đéo có quyền thực hành động 1.3 Bảng quy ước tìm kiếm Search type 1.4 Bảng quy ước xếp (Phục vụ cho tìm kiếm) Order By Details Tất ID User Name Name Parent ID Đăng nhập Details Mới ID Name Last Edited Order field 2.1 Function Login USE DA_CSDL_QLK GO IF ( OBJECT_ID('pr_Login') IS NOT NULL ) DROP FUNCTION pr_Login; GO CREATE FUNCTION pr_Login(@UserName VARCHAR(300), @Password VARCHAR(300)) RETURNS INT AS BEGIN IF ( (SELECT PhanQuyenID FROM dbo.tbl_TaiKhoan WHERE dbo.tbl_TaiKhoan.UserName=@UserName) IS NULL) RETURN -3 ELSE BEGIN IF ( (SELECT PhanQuyenID FROM dbo.tbl_TaiKhoan WHERE dbo.tbl_TaiKhoan.Pass=@Password AND dbo.tbl_TaiKhoan.UserName=@UserName) IS NULL) RETURN -1 ELSE BEGIN RETURN (SELECT TOP(1) ID FROM dbo.tbl_TaiKhoan WHERE dbo.tbl_TaiKhoan.UserName=@UserName AND dbo.tbl_TaiKhoan.Pass=@Password ORDER BY ID ); END; END; RETURN -1; END; GO Tài khoản 3.1 Insert (Thêm tài khoản) Sript: pr_User_Create.sql USE DA_CSDL_QLK GO IF (OBJECT_ID('pr_User_Create') IS NOT NULL) DROP PROC pr_User_Create GO CREATE PROC pr_User_Create @Result INT OUTPUT,@CurUserID INT ,@UserName VARCHAR(300), @Password VARCHAR(300),@HoTen NVARCHAR(300), @NgaySinh VARCHAR(10) ,@SDT VARCHAR(12),@PhanQuyen INT ,@DiaChi NVARCHAR(500),@ChucVu NVARCHAR(300) AS BEGIN DECLARE @PhanQuyenID INT ; SELECT TOP(1) @PhanQuyenID=dbo.tbl_TaiKhoan.PhanQuyenID FROM dbo.tbl_TaiKhoan WHERE @CurUserID=dbo.tbl_TaiKhoan.ID @Result=1; IF (@PhanQuyenID IS NOT NULL AND @PhanQuyenID