- 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_Notific
Trang 1- 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)
Trang 2- 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)
Trang 3- 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)
Trang 4- 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)
Trang 5tbl_TaiKhoan (PhanQuyenID) => tbl_PhanQuyen(ID)
Trang 6khoản
khoảnTham chiếu:
tbl_HeThong(TaiKhoanID) => tbl_TaiKhoan(ID)
Trang 7Tham chiếu:
tbl_ViTri(KhoID) => tbl_Kho(ID)
Trang 8khoản
Unique Tên loại mặt hàng
Trang 9D
cung cấpTham chiếu:
Key, ForeignKey
Mã mặt hàng
Tham chiếu:
tbl_MH_LMH(LoaiMatHangID) => tbl_LoaiMatHang(ID)
tbl_MH_LMH(MatHangID) => tbl_MatHang(ID)
Trang 10Foreign Key
Mã mặt hàng
Tham chiếu:
tbl_ChiTietHD(HopDongID) => tbl_HopDong(ID)
tbl_ChiTietHD(MatHangID) => tbl_MatHang(ID)
Trang 11Foreign Key
Mã mặt hàng
Tham chiếu:
tbl_ChiTietPN(PhieuNhapID) => tbl_PhieuNhap(ID)
tbl_ChiTietPN(MatHangID) => tbl_MatHang(ID)
tbl_ChiTietPN(ViTriID) => tbl_ViTri(ID)
Trang 12khoản
duyệt
thành
hàng
Tham chiếu:
tbl_PhieuXuat(NguoiDuyet) => tbl_TaiKhoan(ID)
tbl_PhieuXuat(CuaHangID) => tbl_CuaHang(ID)
Trang 13Foreign Key
Mã mặt hàng
Tham chiếu:
tbl_ChiTietPX(PhieuXuatID) => tbl_PhieuXuat(ID)
tbl_ChiTietPX(MatHangID) => tbl_MatHang(ID)
Trang 14III Tạo cơ sở dữ liệu:
IV.
Trang 15V Lập trình trên SQL
1 Mở Đầu
1.1.Chú thích:
Truy vấn dữ liệu : Select, Store proceduce,Function
Tính toàn vẹn dữ liệu : trigger and view
Can thiệp vào dữ liệu: Store Proceduce( có tham số)
Các bảng quy ước message
1.2.Bảng kết quả trả về khi thực hiện tác vụ
-4 Bạn đéo có quyền thực hiện hành động trên 1.3.Bảng quy ước tìm kiếm
Trang 16FROM 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 ( ) ID
FROM dbo tbl_TaiKhoan
WHERE dbo tbl_TaiKhoan UserName = @UserName AND
dbo tbl_TaiKhoan Pass = @Password
Trang 17CREATE 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 ( ) @PhanQuyenID = dbo tbl_TaiKhoan PhanQuyenID
FROM dbo tbl_TaiKhoan
WHERE @CurUserID = dbo tbl_TaiKhoan ID
IF ( @PhanQuyenID IS NOT NULL AND @PhanQuyenID <= 1
BEGIN
SET @Result =- 1
IF (( SELECT ID
FROM dbo tbl_TaiKhoan
WHERE @UserName = UserName ) IS NULL)
@Password , Pass - varchar(300)
@HoTen , HoTen - nvarchar(300)
@NgaySinh , NgaySinh - date
@DiaChi , DiaChi - nvarchar(500)
@SDT , SDT - varchar(12)
Trang 18@ChucVu , ChucVu - nvarchar(300)
@PhanQuyen PhanQuyenID - int
)
SET
@Result = ;
END TRY BEGIN CATCH SET @Result =- 1
END CATCH END
ELSE BEGIN SET @Result =- 2
END END
ELSE BEGIN
CREATE PROC pr_User_Edit @Result INT OUTPUT , @CurUserID INT @UserID int ,
@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 ( ) @PhanQuyenID = dbo tbl_TaiKhoan PhanQuyenID
FROM dbo tbl_TaiKhoan
WHERE @CurUserID = dbo tbl_TaiKhoan ID
IF ( @PhanQuyenID IS NOT NULL AND @PhanQuyenID <= 1 )
BEGIN
SET @Result =- 1
Trang 19IF (( SELECT ID
FROM dbo tbl_TaiKhoan
WHERE ID = @UserID ) IS NOT NULL)
BEGIN
BEGIN TRY
IF ( @Password IS NOT NULL AND @Password <>'')
UPDATE dbo tbl_TaiKhoan
SET Pass = @Password
WHERE ID = @UserID ;
UPDATE dbo tbl_TaiKhoan
SET HoTen = @HoTen ,
END CATCH END
ELSE BEGIN SET @Result =- 3
END END
ELSE BEGIN
SET @Result =- 4
END
END
Trang 203.3.Delete (Xóa tài khoản)
DECLARE @PhanQuyenID INT
SELECT TOP ( ) @PhanQuyenID = dbo tbl_TaiKhoan PhanQuyenID
FROM dbo tbl_TaiKhoan
WHERE @CurUserID = dbo tbl_TaiKhoan ID
IF ( @PhanQuyenID IS NOT NULL AND @PhanQuyenID <= 1 )
BEGIN
SET @Result =- 1
IF (( SELECT ID
FROM dbo tbl_TaiKhoan
WHERE ID = @UserID ) IS NOT NULL)
BEGIN
BEGIN TRY DELETE FROM
dbo tbl_TaiKhoan
WHERE ID = @UserID ;
SET @Result = ;
END TRY BEGIN CATCH SET @Result =- 1
END CATCH
Trang 21END ELSE BEGIN SET @Result =- 3
END END
ELSE BEGIN
SELECT FROM dbo tbl_TaiKhoan
WHERE UserName = @UserName ;
END