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 (13.47 MB, 65 trang )
<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">
<b>I. Phát biểu bài toán </b>
Khi có u cầu nhập thiết bị, hàng hố: nhân viên tiến hành ghi phiếu yêu cầu gồm các thơng tin chi tiết về thiết bị, hàng hố và gửi đến cho nhà cung cấp. Bên phía nhà cung cấp sẽ gửi đơn chào hàng trong đó có chi tiết các thiết bị bao gồm các thông tin như: tên, loại thiết bị, số lượng, nguồn gốc…. Qua đơn chào hàng của nhà cung cấp thì cửa hàng sẽ xem xét và đưa ra đơn đặt hàng rồi gửi đến cho nhà cung cấp, để đáp ứng nhu cầu nhập thiết bị của cửa hàng nhà cung cấp sẽ vận chuyển thiết bị cho cửa hàng theo hợp đồng mua,bán hàng hóa và biên lai bàn giao thiết bị (kiêm hóa đơn thanh toán tiền thiết bị). Trước khi nhập hàng vào kho thì cửa hàng sẽ kiểm tra xem đã đủ thiết bị chưa theo biên bản bàn giao thiết bị mà nhà cung cấp gửi đến, đồng thời cửa hàng sẽ ghi các thông tin cần thiết vào sổ chi và sổ kho. Nếu thiết bị nào khơng đạt u cầu thì cửa hàng sẽ trả lại nhà cung cấp, và yêu cầu nhà cung cấp cấp lại những thiết bị như hợp đồng đã thỏa thuận.
Khi khách có nhu cầu mua thiết bị, khách hàng xem thơng tin hàng hóa, tìm kiếm sản phẩm, hàng hoá cần mua. Nếu khách hàng chọn được thiết bị cần mua thì cửa hàng sẽ kiểm tra trong kho, nếu trong kho còn hàng thì nhân viết sẽ viết phiếu bán hàng. Sau đó cửa hàng sẽ tiến hành bàn giao thiết bị cho khách và gửi đến khách hàng hóa đơn thanh toán, phiếu bảo hành và các giấy tờ liên quan, có kèm theo các khuyến mại (nếu có).
Khi khách đã thanh tốn tiền thiết bị thì cửa hàng sẽ lập biên lai thu tiền cho khách đồng thời sẽ ghi các thông tin cần thiết vào sổ thu và sổ kho. Để tiện cho việc quản lý hệ thống sẽ lưu trữ và quản lý thông tin về nhà cung cấp và thông tin khách hàng. Có thể sửa hoặc xóa khi cần thiết. Sau một khoảng thời gian nhất định nhân viên các bộ phận sẽ tổng hợp thông tin mua, bán, và các thơng tin khác.
<b>II. Mơ hình CSDL </b>
<b>● tblLoaiHang MaLoaiHang</b> ( , TenLoaiHang);
<b>● tblNhaCungCap (MaNCC, TenNhaCC, TenGiaoDich, DiaChi, </b>
</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2"><b>● tblKhachHang (MaKH, TenKH, DiaChi, DienThoai); ● tblNhanVien MaNV</b> ( , TenNV, DiaChi, DienThoai,
NgaySinh,GioiTinh, NgayVaoLam, LuongCoBan, PhuCap);
<b>● tblDonDatHang (SoHD, MaNV MaKH, NgayDatHang, </b>, NgayGiaoHang, DiaChiGiaoHang, TongTienHD);
<b>● tblChiTietDatHang (SoHD, MaHang, GiaBan, SoLuongMua, </b>
MucGiamGia);
<b>● tblDonNhapKho (SoNK, MaNV, NgayNhapHang, </b>
TongSoLuong);
<b>● tblChiTietNhapKho (SoNK, MaHang, GiaNhap, SoLuongNhap). </b>
<b>TT </b> Tên Thuộc Tính Kiểu Dữ Liệu Ràng Buộc <b>Ghi Chú </b>
1 sMaLoaiHang varchar(20) PK Mã loại hàng 2 sTenLoaiHang nvarchar(30) Tên loại hàng
<b>*tblNhaCungCap </b>
<b>TT </b> Tên Thuộc Tính Kiểu Dữ Liệu Ràng Buộc <b>Ghi Chú </b>
2 sTenNhaCC nvarchar(30) Tên nhà cung cấp 3 sTenGiaoDich nvarchar(50) Tên nhà giao dịch
<b>*tblMatHang </b>
<b>TT </b> Tên Thuộc Tính Kiểu Dữ Liệu Ràng Buộc <b>Ghi Chú </b>
</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">4 sMaLoaiHang varchar(20) FK Mã loại hàng
<b>*tblNhanVien </b>
<b>TT </b> Tên Thuộc Tính Kiểu Dữ Liệu Ràng Buộc <b>Ghi Chú </b>
3 sDiaChi nvarchar(50) Địa chỉ
5 dNgaySinh Datetime dNgaysinh
<b>*tblDonDatHang </b>
<b>TT </b> Tên Thuộc Tính Kiểu Dữ Liệu Ràng Buộc <b>Ghi Chú </b>
4 dNgayDatHang Datetime Ngày đặt hàng 5 dNgayGiaoHang Datetime dNgayGiao
Hang >=
Ngày giao hàng lớn hơn hoặc bằng
ngày đặt hàng
</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">dNgayDatH ang
6 sDiaChiGiaoHang nvarchar(50) Địa chỉ giao hàng 7 fTongTienHD float fTongTienH
Tổng tiền của hóa đơn
<b>*tblChiTietDatHang </b>
<b>TT </b> Tên Thuộc Tính Kiểu Dữ Liệu Ràng Buộc <b>Ghi Chú </b>
2 sMaHang varchar(20) PK, FK Mã hàng
<b>*tblDonNhapKho </b>
<b>TT </b> Tên Thuộc Tính Kiểu Dữ Liệu <b>Ràng </b>
Buộc
<b>Ghi Chú </b>
3 dNgayNhapHang Datetime Ngày nhập hàng 4 fTongSoLuong float fTongSoL
uong >0
Tổng số lượng hàng nhập kho
<b>*tblChiTietNhapKho </b>
<b>TT </b> Tên Thuộc Tính Kiểu Dữ Liệu Ràng Buộc <b>Ghi Chú </b>
1 iSoNK Int PK, FK Số hóa đơn nhập kho 2 sMaHang varchar(20) PK, FK Mã hàng
4 fSoLuongNhap float fSoLuongN hap >0
Số lượng nhập
</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5"><b>III. Tạo CSDL 1. Tạo Database </b>
<b>Hình 1: Database Diagram </b>
</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">CREATE DATABASE BTLN09QuanLyKinhDoanhMayTinh
iMaNCC INT REFERENCES dbo.tblNhaCungCap(iMaNCC), sMaLoaiHang VARCHAR(20) REFERENCES
</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">iMaKH INT PRIMARY KEY,
iSoHD INT PRIMARY KEY,
iMaNV INT REFERENCES dbo.tblNhanVien(iMaNV), iMaKH INT REFERENCES dbo.tblKhachHang(iMaKH),
iSoHD INT REFERENCES dbo.tblDonDatHang(iSoHD),
sMaHang VARCHAR(20) REFERENCES dbo.tblMatHang(sMaHang), fGiaBan FLOAT,
iSoLuongMua INT,
</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">iSoNK INT PRIMARY KEY,
iMaNV INT REFERENCES dbo.tblNhanVien(iMaNV),
iSoNK INT REFERENCES dbo.tblDonNhapKho(iSoNK),
sMaHang VARCHAR(20) REFERENCES dbo.tblMatHang(sMaHang), fGiaNhap FLOAT,
fSoLuongNhap FLOAT CHECK (fSoLuongNhap >0),
CONSTRAINT pk_chitietnhapkho PRIMARY KEY(iSoNK,sMaHang)
INSERT INTO dbo.tblNhaCungCap VALUES
(101, N'ASUS', N'Nhập Hàng Asus', N'Hà Nội', '0334455667'), (102, N'DELL', N'Nhập Hàng Dell', N'Đà Nẵng', '0334455668'), (103, N'APPLE', N'Nhập Hàng Apple', N'Hải Phòng', '0334455669'), (104, N'LENOVO', N'Nhập Hàng Lenovo', N'TP. Hồ Chí Minh', '0334455670' )
</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">--tblKhachHang
INSERT INTO dbo.tblKhachHang VALUES
(111, N'Trần Anh Vũ', N'Giáp Nhị, Hà Nội', '0112233445'), (112, N'Trần Thanh Tâm', N'Hoàng Mai, Hà Nội', '0112233446'), (113, N'Nguyễn Minh Tú', N'Minh Khai, Hà Nội', '0112233447'), (114, N'Đỗ Thu Phương', N'Giáp Bát, Hà Nội', '0112233448'), (115, N'Lê Văn Tráng', N'Định Công, Hà Nội', '0112233449')
INSERT INTO dbo.tblMatHang VALUES
('MH01', N'ASUS VivoBook 15 A512DA', 101, 'LH01', 400, 12290000), ('MH02', N'ASUS Laptop 15 X509UA', 101, 'LH01', 350, 10700000), ('MH03', N'Laptop Dell XPS 13', 102, 'LH01', 100, 40400000), ('MH04', N'Laptop Dell Gaming G3', 102, 'LH01', 200, 21000000), ('MH05', N'Laptop Lenovo Thinkpad X13', 104, 'LH01', 150, 34500000), ('MH06', N'Apple MacBook Pro', 103, 'LH01', 250, 35500000), ('MH12', N'Tai nghe AirPods 2', 103, 'LH03', 200, 3990000), ('MH13', N'Apple Magic Mouse 2', 103, 'LH03', 200, 2490000), ('MH14', N'CPU AMD Ryzen 9', 101, 'LH03', 150, 19299000), ('MH15', N'Card đồ họa RTX3060TI', 101, 'LH03', 200, 13149000) --tblDonNhapKho
</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">INSERT INTO dbo.tblDonNhapKho VALUES
</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">SELECT * FROM dbo.tblLoaiHang
SELECT * FROM dbo.tblMatHang
</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">SELECT * FROM dbo.tblNhaCungCap
SELECT *FROM dbo.tblKhachHang
SELECT * FROM dbo.tblNhanVien
SELECT * FROM dbo.tblDonDatHang
</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">SELECT * FROM dbo.tblChiTietDatHang
SELECT * FROM dbo.tblDonNhapKho
SELECT * FROM dbo.tblChiTietNhapKho
</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14"><b>IV. Xây dựng các view cho CSDL </b>
<small>1. </small> Tạo view chứa danh sách nhân viên với các thông tin: Mã Nhân Viên, Tên Nhân Viên, Lương Cơ Bản, Phụ Cấp
CREATE VIEW vv_dsnhanvien AS
SELECT iMaNV AS [Mã Nhân Viên],sTenNV AS [Họ & Tên], fLuongCoBan AS [Lương Cơ Bản], fPhuCap AS [Phụ Cấp] FROM dbo.tblNhanVien
SELECT * FROM vv_dsnhanvien
<small>2. </small> Tạo view cho biết danh sách tên hàng đã bán trong tháng 6 năm 2020 CREATE VIEW vv_dshangban2020
</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15"><small>3. </small> Tạo view cho biết mặt hàng có số lượng lớn hơn 200 CREATE VIEW vv_dshangbansoluong200 AS
SELECT sMaHang,sTenHang,fSoLuong FROM dbo.tblMatHang
WHERE fSoLuong > 200
SELECT * FROM vv_dshangbansoluong200
<small>4. </small> Tạo view chứa danh sách nhân viên nam CREATE VIEW vv_dsnhanviennam AS
SELECT *
FROM dbo.tblNhanVien WHERE sGioiTinh = N'Nam' SELECT * FROM vv_dsnhanviennam
</div><span class="text_page_counter">Trang 24</span><div class="page_container" data-page="24">SELECT * FROM vv_soluongvatongtiensp2020
20. Tạo view nhân viên làm việc trên 2 năm
CREATE VIEW vv_nhanvienlamtren2nam
</div><span class="text_page_counter">Trang 25</span><div class="page_container" data-page="25"><b>V. Xây dựng các Procedure cho CSDL </b>
<small>1. </small> Tìm nhân viên theo tên nhân viên
CREATE PROC sptimnhanvien_tennhanvien (@tennhanvien
EXEC sptimnhanvien_tennhanvien N'Vương Quang Huy'
2. Tổng tiền hàng bán ra trong một tháng trong 1 năm
CREATE PROC sptongtienhangban_thang (@thang int, @nam int) WHERE tblDonDatHang.iSoHD = tblDonDatHang.iSoHD
AND MONTH(dNgayGiaoHang) = @thang AND YEAR(dNgayGiaoHang) = @nam
</div><span class="text_page_counter">Trang 26</span><div class="page_container" data-page="26">CREATE PROC spluongnhanvien_maNV (@maNV nvarchar(20))
EXEC spluongnhanvien_maNV @maNV=N'1010'
4. Mặt hàng không bán được trong năm
CREATE PROC dskhongduocban2020 (@nam INT) AS
BEGIN
SELECT tblmathang.smahang, tblmathang.stenhang FROM tblmathang where tblmathang.smahang NOT IN (SELECT tblmathang.smahang
EXEC dskhongduocban2020 @nam='2020'
nvarchar(10), @giaban float, @SLmua int, @mucgiamgia float) AS
BEGIN
INSERT INTO tblChiTietDatHang
VALUES (@mahd, @mahang, @giaban, @SLmua,
CREATE PROC sptangluongcoban_nhanvien (@chitieu int, @nam int, @phantram float)
</div><span class="text_page_counter">Trang 28</span><div class="page_container" data-page="28">7. Doanh số bán ra của một mặt hàng trong năm
CREATE PROC spdoanhso1mathang1nam (@mahang nvarchar(10),
EXEC spdoanhso1mathang1nam @mahang='MH11', @nam='2019'
8. Tổng số tiền hàng thu được của một năm
</div><span class="text_page_counter">Trang 29</span><div class="page_container" data-page="29">CREATE PROC sptienhang1nam (@nam int)
EXEC sptienhang1nam @nam='2019'
9. Tổng tiền hàng nhập vào của một năm
CREATE PROC sp_tongtiennhaphang1nam (@Nam int)
</div><span class="text_page_counter">Trang 30</span><div class="page_container" data-page="30">10. Giỏ hàng của khách hàng (sản phẩm đã mua + đã giao)
CREATE PROC spgiohang_khachhang (@makh int)
11. Thống kê hàng nhập từ một nhà cung cấp trong một năm
CREATE PROC spthongkesanpham_nhacungcap (@mancc
</div><span class="text_page_counter">Trang 31</span><div class="page_container" data-page="31">12. Truy xuất nguồn gốc của một mặt hàng
CREATE PROC spchitiet_mathang (@mamathang nvarchar(20))
</div><span class="text_page_counter">Trang 32</span><div class="page_container" data-page="32">13. Giảm giá với đơn đặt hàng chưa áp dụng giảm giá và được đặt hàng trong ngày hôm nay ( mức giảm giá x%)
CREATE PROC spmucgiamgia_dondathang (@sohd int, @ngaydat datetime, @mucgiamgia float )
AS BEGIN
UPDATE dbo.tblChiTietDatHang
SET fMucGiamGia = fMucGiamGia+ @mucgiamgia WHERE iSoHD IN ( SELECT tblDonDatHang.iSoHD
</div><span class="text_page_counter">Trang 33</span><div class="page_container" data-page="33">14. Số tiền mà nhân viên sử dụng để nhập kho và số hóa đơn đã xử lí
CREATE PROC spthongkenhapkho_nhanvien ( @manv int )
</div><span class="text_page_counter">Trang 34</span><div class="page_container" data-page="34">15. Số tiền mà nhân viên bán được và số hóa đơn đã xử lý
CREATE PROC spthongkebanhang_nhanvien ( @manv int )
<b>VI. Xây dựng các Trigger cho CSDL </b>
<small>1. </small> Giá bán phải lớn hơn hoặc bằng giá hàng CREATE TRIGGER tg_kiemTraGiaBan
</div><span class="text_page_counter">Trang 35</span><div class="page_container" data-page="35">SELECT @giaBan = fGiaBan, @maHang = sMaHang FROM Inserted
SELECT @giaHang = fGiaHang FROM dbo.tblMatHang WHERE @maHang = sMaHang
2. Kiểm tra giới tính xem đúng khơng
CREATE TRIGGER tg_kiemtragioitinh ON dbo.tblNhanVien
AFTER INSERT, UPDATE AS
BEGIN
DECLARE @gioitinh NVARCHAR(5) SELECT @gioitinh = sGioiTinh FROM inserted IF(@gioitinh != N'Nam' AND @gioitinh != N'Nữ')
</div><span class="text_page_counter">Trang 36</span><div class="page_container" data-page="36">3. Kiểm tra ngày nhập hàng đúng không
CREATE TRIGGER tg_kiemTraNgayNhapHang ON tblDonNhapKho
AFTER INSERT, UPDATE AS
BEGIN
DECLARE @ngayNhapHang DATETIME
SELECT @ngayNhapHang = dNgayNhapHang FROM
</div><span class="text_page_counter">Trang 37</span><div class="page_container" data-page="37">4. Kiểm tra ngày vào làm xem hợp lý không CREATE TRIGGER tg_kiemTraNgayVaoLam ON tblNhanVien
AFTER INSERT, UPDATE AS
BEGIN
DECLARE @ngayVaoLam DATETIME
SELECT @ngayVaoLam = dNgayVaoLam FROM Inserted
</div><span class="text_page_counter">Trang 38</span><div class="page_container" data-page="38">5. Đảm bảo số lượng hàng bán khơng vượt số hiện có và nếu bán thì số lượng hàng trong kho sẽ giảm
CREATE TRIGGER tg_kiemtrahangban ON dbo.tblChiTietDatHang INSTEAD OF INSERT,UPDATE AS
BEGIN
DECLARE @soluongmua FLOAT DECLARE @smahang VARCHAR(20) DECLARE @soluongkho FLOAT
SELECT @soluongmua = iSoLuongMua,@smahang = sMaHang FROM inserted
SELECT @soluongkho = (SELECT fSoLuong
PRINT('So Luong Mua Vuot Qua So Luong Trong Kho')
</div><span class="text_page_counter">Trang 39</span><div class="page_container" data-page="39">6. Cập nhật lại số lượng hàng tồn kho khi khách hàng hủy đặt một mặt hàng
CREATE TRIGGER tg_xoachitietdathang ON dbo.tblChiTietDatHang AFTER DELETE
AS
BEGIN
DECLARE @soluongmua FLOAT DECLARE @smahang VARCHAR(20) DECLARE @soluongkho FLOAT
SELECT @soluongmua = iSoLuongMua,@smahang = sMaHang FROM Deleted
SELECT @soluongkho = (SELECT fSoLuong
</div><span class="text_page_counter">Trang 40</span><div class="page_container" data-page="40">7. Cập nhật số lượng hàng tồn kho khi nhập thêm mặt hàng
CREATE TRIGGER tg_themChiTietDatHang
SELECT @soLuongKho = fSoLuong FROM dbo.tblMatHang WHERE @maHang = sMaHang
BEGIN
UPDATE dbo.tblMatHang
SET fSoLuong = fSoLuong - @soLuongMua WHERE sMaHang = @maHang
END END
</div><span class="text_page_counter">Trang 41</span><div class="page_container" data-page="41">Trước khi thêm dữ liệu
Dữ liệu được thêm
</div><span class="text_page_counter">Trang 42</span><div class="page_container" data-page="42">Sau khi thêm dữ liệu thì bảng tblMatHang (dòng 13) được cập nhật số lượng
8. Cập nhật tổng tiền của hóa đơn khi đặt thêm hàng CREATE TRIGGER tg_tongTienHoaDon_insert
</div><span class="text_page_counter">Trang 43</span><div class="page_container" data-page="43">END END
Trước khi nhập
Dữ liệu nhập
Sau khi nhập thì bảng tblDonDatHang (dịng 5) thay đổi
9. Cập nhật tổng tiền của hóa đơn khi khách hàng hủy đặt mặt hàng
CREATE TRIGGER tg_tongtienhoadon_delete ON dbo.tblChiTietDatHang
AFTER DELETE AS
BEGIN
</div><span class="text_page_counter">Trang 44</span><div class="page_container" data-page="44">DECLARE @iSohd INT
DECLARE @giahangmua FLOAT
SELECT @giahangmua = (fGiaBan * iSoLuongMua - fGiaBan * iSoLuongMua*fMucGiamGia),@iSohd = iSoHD FROM
10. Cập nhật số lượng hàng nhập của một hóa đơn nhập kho khi nhập mới
CREATE TRIGGER tg_capnhatdonnhapkho_soluong ON dbo.tblChiTietNhapKho
INSTEAD OF INSERT AS
BEGIN
DECLARE @slnhap FLOAT, @sonk INT SELECT @slnhap = fSoLuongNhap,@sonk = iSoNK FROM Inserted
</div><span class="text_page_counter">Trang 45</span><div class="page_container" data-page="45"><b>VII. Phân quyền và bảo mật CSDL --1. Tài Khoản Quản Lý </b>
CREATE LOGIN Quanli WITH PASSWORD = '123456' CREATE USER quanli01 FOR LOGIN Quanli
GRANT UPDATE,SELECT,INSERT,DELETE ON dbo.tblNhanVien
GRANT EXECUTE ON dbo.sptimnhanvien_tennhanvien TO quanli01 GRANT EXECUTE ON dbo.spluongnhanvien_maNV TO quanli01 GRANT EXECUTE ON dbo.sptangluongcoban_nhanvien TO quanli01 GRANT EXECUTE ON dbo.spthongkesanpham_nhacungcap TO quanli01
GRANT EXECUTE ON dbo.spgiohang_khachhang TO quanli01 GRANT EXECUTE ON dbo.sp_tongtiennhaphang1nam TO quanli01 GRANT EXECUTE ON dbo.sptienhang1nam TO quanli01
GRANT EXECUTE ON dbo.spdoanhso1mathang1nam TO quanli01 GRANT EXECUTE ON dbo.dskhongduocban2020 TO quanli01 GRANT EXECUTE ON dbo.sptongtienhangban_thang TO quanli01 GO
<b>--2. Tài Khoản Nhân viên Nhập Kho </b>
CREATE LOGIN NhanvienNK WITH PASSWORD = '123456' CREATE USER nhanvienNK FOR LOGIN NhanvienNK
</div><span class="text_page_counter">Trang 46</span><div class="page_container" data-page="46">DENY UPDATE,SELECT,INSERT,DELETE ON dbo.tblNhanVien
GRANT EXECUTE ON dbo.spthemHD TO nhanvienNK GRANT EXECUTE ON dbo.spthongkenhapkho_nhanvien TO nhanvienNK
<b> --3. Tài Khoản Nhân viên Bán Hàng </b>
CREATE LOGIN NhanvienBH WITH PASSWORD = '123456' CREATE USER nhanvienBH FOR LOGIN NhanvienBH
DENY UPDATE,SELECT,INSERT,DELETE ON dbo.tblNhanVien
CREATE LOGIN KhachHang WITH PASSWORD = '123456' CREATE USER khachhang FOR LOGIN KhachHang
GRANT UPDATE,SELECT,INSERT ON dbo.tblKhachHang TO khachhang
GRANT EXECUTE ON dbo.spgiohang_khachhang TO khachhang
</div><span class="text_page_counter">Trang 47</span><div class="page_container" data-page="47"><b>VIII. Phân tán CSDL </b>
<b>Phân mảnh csdl của bảng nhân viên với điều kiện giới tính </b>
- MAYTRAM1 : quản lý nhân viên có giới tính là nam - MAYTRAM2 : quản lý nhân viên có giới tính là nữ
</div><span class="text_page_counter">Trang 49</span><div class="page_container" data-page="49">MAYTRAM2 sau khi phân tán:
</div><span class="text_page_counter">Trang 51</span><div class="page_container" data-page="51"><b>1.a. Tạo remove login bên maytram2 </b>
user HTKN (123456)
chỉ có quyền trên database BTLN09QUANLYKINHDOANHMAYTINH
</div><span class="text_page_counter">Trang 53</span><div class="page_container" data-page="53"><b>1.b Tạo Linkserver từ MAYTRAM1 -> MAYTRAM2 </b>
</div><span class="text_page_counter">Trang 54</span><div class="page_container" data-page="54"><b>1.c Khai Thác CSDL </b>
- Trong Suốt Dữ Liệu
--Tạo nhãn dữ liệu ( trong suốt dữ liệu) --BẢNG nhân viên ở máy trạm2
CREATE SYNONYM maytram2_nhanvien
FOR LINK.BTLN09QuanLyKinhDoanhMayTinh.dbo.tblNhanVien SELECT * FROM maytram2_nhanvien
--BẢNG don dat hang ở máy trạm2
CREATE SYNONYM maytram2_dondathang
FOR LINK.BTLN09QuanLyKinhDoanhMayTinh.dbo.tblDonDatHang SELECT * FROM maytram2_dondathang
--BẢNG chi tiet dat hang ở máy trạm2 CREATE SYNONYM maytram2_chitietdathang FOR
LINK.BTLN09QuanLyKinhDoanhMayTinh.dbo.tblChiTietDatHang
</div><span class="text_page_counter">Trang 55</span><div class="page_container" data-page="55">SELECT * FROM maytram2_chitietdathang
--BẢNG don nhap kho ở máy trạm2
CREATE SYNONYM maytram2_donnhapkho
FOR LINK.BTLN09QuanLyKinhDoanhMayTinh.dbo.tblDonNhapKho SELECT * FROM maytram2_donnhapkho
--BẢNG chi tiet nhap kho ở máy trạm2 CREATE SYNONYM maytram2_chitietnhapkho FOR
LINK.BTLN09QuanLyKinhDoanhMayTinh.dbo.tblChiTietNhapKho SELECT * FROM maytram2_chitietnhapkho
go
- Tạo Thủ Tục Thêm Nhân Viên Mới --1 tạo thủ tục thêm 1 nhân viên mới
CREATE PROC sp_themnhanvien_phantan (@manv int,@tennv nvarchar(30), @diachi nvarchar(50),
@dienthoai CHAR(10),@ngaysinh DATETIME,@gioitinh NVARCHAR(5),
@ngayvaolam DATETIME,@luongcoban FLOAT,@phucap
IF EXISTS (SELECT * FROM maytram2_nhanvien WHERE @manv = iMaNV)
PRINT ('Ma nhan vien da ton tai')
</div>