● Thủ thư tạo hồ sơ sách gồm các thông tin : mã sách, tên sách, thể loại sách, tên tác giả, số lượng, nhà xuất bản, năm xuất bản.... ● Mỗi cuốn sách có thể được mượn với số ngày quy định
Trang 1TRƯỜNG ĐẠI HỌC XÂY DỰNG
BÁO CÁO ĐỒ ÁN
CƠ SỞ DỮ LIỆU NÂNG CAO
Đề tài: Quản lý thư viện
Giảng viên hướng dẫn: Ths.Nguyễn Đình Anh Nhóm 4 :
Trang 2● Lê Anh Tuấn - 223463
Trang 3● Nguyễn Minh Hiếu - 72463
Trang 4● Trương Ngọc Vượng - 238463
Lớp : 63IT3 Khoa : Công Nghệ Thông Tin
1 PHÁT BIỂU BÀI TOÁN
Khi mượn, sinh viên phải sử dụng thẻ thư viện chứa các thông tin liên quan Mỗi lần mượn sách được ghi nhận bằng phiếu mượn (bằng giấy) và sẽ lưu lại lịch
Hệ thống được xây dựng bằng ngôn ngữ lập trình Java và SQL Server, cài
đặt trên máy tính cá nhân.
1.2 Ý tưởng về hệ thống quản lý thư viện:
Trang 5✔ Mỗi quyển sách có 1 mã sách để lưu trữ trong hệ thống (sách giống nhau sẽ cùng 1 mã sách).
Trang 6✔ Mỗi độc giả (sinh viên) được cấp một thẻ thành viên
Trang 7✔ Độc giả muốn mượn sách thì lấy quyển sách muốn mượn trên kệ rồi mang ra đưa thủ thư tiến hành quá trình mượn.
Trang 8✔ Khi độc giả trả sách: xác nhận thẻ độc giả, xác định phiếu mượn tiến hành trả sách
Trang 9✔ Sách bị trả trễ lịch hẹn hoặc hỏng sẽ bị phạt.
Trang 101.3 Nhận xét
Trang 11- Chủ động việc tìm kiếm, tra cứu và quản lý sách.
Trang 12- Dễ dàng thao tác, nhanh chóng, linh hoạt.
Trang 13- Hạn chế rủi ro, tiết kiệm thời gian.
Trang 14- Quản lý sách đầu vào và đầu ra dễ dàng.
2 MÔ TẢ NGHIỆP VỤ
Trang 15● Thư viện được quản lý bằng các nhân viên(Thủ thư).
Trang 16● Thông tin nhân viên gồm : mã nhân viên, họ tên, giới tính, số điện thoại, địa chỉ.
Trang 17● Mỗi nhân viên được cấp 1 tài khoản để truy cập hệ thống.
Trang 18● Thủ thư tạo hồ sơ sách gồm các thông tin : mã sách, tên sách, thể loại sách, tên tác giả, số lượng, nhà xuất bản, năm xuất bản.
Trang 19● Quản lý mượn / trả sách.
Trang 20● Báo cáo tình hình hoạt động.
Trang 21● Mỗi sách có 1 mã sách để phân biệt với sách khác.
Trang 22● Các sách có thể có cùng 1 thể loại.
Trang 23● Mỗi thể loại sẽ có mã thể loại để phân biệt các thể loại khác.
Trang 24● Mỗi nhà xuất bản có thể sản xuất nhiều sách.
Trang 25● Thông tin nhà xuất bản gồm : mã nhà xuất bản, tên nhà xuất bản.
Trang 26● Mỗi tác giả có thể viết nhiều sách.
Trang 27● Thông tin tác giả gồm : mã tác giả, tên tác giả.
Trang 28● Nếu sinh viên chưa có thẻ thư viện thì phải đăng kí làm thẻ thư viện Sinh viên điền đầy đủ thông tin vào đơn đăng kí vào thẻ thư viện.
Trang 29● Thông tin sinh viên gồm : mã số sinh viên, họ tên, lớp, khoa, ngày sinh, địa chỉ, giới tính.
Trang 30● Nếu thông tin sinh viên hợp lệ thủ thư sẽ lưu vào sổ dữ liệu quản lý độc giả, làm và cấp thẻ độc giả cho sinh viên.
Trang 31● Độc giả muốn mượn sách thì lấy quyển sách muốn mượn trên kệ rồi mang ra đưa thủ thư tiến hành quá trình mượn.
Trang 32● Sau khi kiểm tra đầy đủ thông tin độc giả, tình trạng sách, thủ thư kiểm tra điều kiện mượn của độc giả thì xác nhận cho phép mượn sách.
Trang 33● Mỗi cuốn sách có thể được mượn với số ngày quy định của thư viện là
2 tháng/ quyển và với mỗi sinh viên tại một thời điểm sẽ được mượn sách với số lượng sách nhất định theo quy định của thư viện.
Trang 34● Mỗi học sinh được mượn nhiều sách (nhiều nhất 5 quyển ), hoặc mượn
Trang 351 quyển sách nhiều lần Và 1 quyển sách có thể được mượn bởi nhiều sinh viên.
Trang 36● Thông tin phiếu mượn gồm : mã phiếu mượn, mã sinh viên, thời gian mượn, thời gian trả, mã sách, số lượng.
Trang 37● Thủ thư cập nhật lại số lượng sách trong hồ sơ sách.
Trang 38● Khi trả sách thủ thư sẽ kiểm tra thông tin thẻ thư viện, phiếu mượn sách để xác định độc giả có trả đúng hạn hay không.
Trang 39● Cùng với đó thủ thư sẽ kiểm tra tình trạng của sách có bị hư hại, nếu
có tiến hành lập biên bản xử phạt.
Trang 40● Biên bản xử phạt gồm : Mã sinh viên, họ tên, lớp, khoa, lỗi vi phạm
và phương hướng giải quyết sự cố.
Trang 41● Dựa vào biên bản sự cố và quy định đã có của thư viện thủ thư sẽ giải quyết sự cố bằng cách phạt tiền với trường hợp trễ hạn trả sách thì phạt: 5000đ/ngày.Trong trường hợp mất sách thì sinh viên phải đền đúng số giá tiền của quyển sách đó hoặc mua quyển sách mới giống quyển mất để trả lại cho thư viện Nếu sự cố nằm ngoài sự kiểm soát của thủ thư thì thủ thư sẽ trình biên bản vi phạm này lên ban lãnh đạo của trường để giải quyết.
Trang 42● Sau khi trả sách, thủ thư sẽ cập nhập lại số lượng sách đó trong hồ sơ sách Nếu quá hạn trả sách mà sách vẫn chưa được trả, thì thủ thư sẽ gửi thông báo nhắc nhở đến sinh viên.
Trang 43● Khi thư viện cần bổ sung một số sách mới, thủ thư sẽ tìm hiểu thông tin sách cần mua và giá cả, sau đó lập phiếu nhập sách và trình lên ban lãnh đạo nhà trường xét duyệt Nếu phiếu nhập sách được xét duyệt, thủ thư sẽ liên hệ với kế toán xuất tiền.
Trang 44● Thủ thư sẽ liên hệ với nhà cung cấp để mua sách gồm: thông tin sách muốn nhập và số lượng, khi đó nhà cung cấp sẽ giao cho thủ thư đơn đặt hàng.
Trang 45● Một quyển sách được cung cấp bởi nhiều nhà cung cấp và nhà cung cấp có thể cung cấp nhiều sách.
Trang 46● Sau khi sách được giao, thủ thư tiến hành kiểm tra sách đã mua có bị lỗi, đúng số lượng và sách muốn nhập hay không Nếu các thông tin hợp lệ thì thủ thư tiến hành thanh toán hóa đơn cho nhà cung cấp.
Trang 47● Thông tin hóa đơn sẽ được dùng để làm thủ tục thanh toán với bộ phận kế toán trên cơ sở hóa đơn mua sách.
Trang 48● Sách vừa nhập sẽ được thủ thư cập nhập lại số lượng và thông tin của sách vào hồ sơ sách Nếu sách chưa có trong thư viện thì thủ thư tiến hành xử lý phân loại, đánh dấu mã sách cho sách,thông tin sách sẽ được lưu vào hồ sơ sách
Trang 49● Thủ thư sẽ lập báo cáo về tình hình thư viện gồm: số lượng học sinh đăng kí thẻ thư viện và danh sách, số lượng sách được mượn qua sổ độc giả, số lượng các vi phạm và danh sách các sinh viên vi phạm + lý
do, số lượng sách nhập vào thư viện và thông tin sách đó.
Trang 503 THIẾT KẾ CƠ SỞ DỮ LIỆU
Trang 513.1 Xây dựng mô hình thực thể liên kết
Trang 52Các thực thể và thuộc tính ban dầu:
Trang 53● Nhân Viên(MaNhanVien , HoTen, GioiTinh, DiaChi, SDT,
NgaySinh, TaiKhoan, MatKhau)
Trang 54● Sinh Viên (Mssv, HoTen, GioiTinh, Lop, Khoa, NgaySinh, DiaChi)
Trang 55● Sách (MaSach, TenSach, SoLuongSach, Gia, NamXuatBan)
Trang 56● Nhà xuất bản (MaNhaXuatBan, TenNhaXuatBan)
Trang 57● Tác giả (MaTacGia, TenTacGia)
Trang 58● Nhà cung cấp (MaNhaCungCap, tenNCC)
Trang 59● Thể loại (MaTheLoai, TenTheLoai)
Trang 60● Phiếu mượn (MaPhieuMuon, NgayMuon, NgayTra, SoLuong)
Trang 61● Biên bản sự cố (MaBienBan, LoiViPham, BienPhapXuLi, NgayLap)
3.1.1 Xác định quan hệ trong CSDL quản lý thư viện
Trang 62⮚ Mối quan hệ giữa thực thể SACH và thực thể THELOAI là quan hệ n-1: Một sách chỉ thuộc một thể loại, một thể loại có thể có một hoặc nhiều sách.
Trang 63⮚ Mối quán hệ giữa thực thể SACH và thực thể TACGIA là quan hệ n-n : Một sách
có thể được viết bởi nhiều tác giả và một tác giả cũng có thể viết nhiều sách.
Trang 64⮚ Mối quan hệ giữa thực thể SACH và thực thể NHAXUATBAN là quan hệ n-1: Một sách chỉ thuộc một nhà xuất bản, một nhà xuất bản có thể xuất bản nhiều sách
Trang 65⮚ Mối quan hệ giữa thực thể SACH và thực thể PHIEUMUON là quan hệ n-n: Một sách có thể được mượn nhiều lần, một lần có thể mượn được nhiều sách
Trang 66⮚ Mối quan hệ giữa thực thể SINHVIEN và thực thể PHIEUMUON là quan hệ 1-n: Một sinh viên có thể mượn sách nhiều lần, một phiếu mượn chỉ thuộc 1 sinh viên
Trang 67⮚ Mối quan hệ giữa thực thể NHANVIEN và thực thể PHIEUMUON là quan hệ n: Một nhân viên có thể lập nhiều phiếu mượn, một phiếu mượn chỉ được lập mới một nhân viên
Trang 681-⮚ Mối quan hệ giữa thực thể PHIEUMUON và thực thể BIENBANXULY là quan
hệ 1-1
Trang 69⮚ Mối quan hệ giữa thực thể NHANVIEN và thực thể BIENBANXULY là quan hệ 1-n: Một nhân viên có thể lập nhiều biên bản xử lý, một biên bản xử lý chỉ được lập bởi một nhân viên
3.1.2 Mô hình thực thể liên kết
3.2 Chuẩn hóa mô hình quan hệ
* NhanVien:
- Tách TaiKhoan, MatKhau, LoaiTaiKhoan ra thành 1 bảng TaiKhoan quan
hệ giữa TaiKhoan và thực thể NhanVien là mỗi quan hệ 1-1
+ TaiKhoan(TaiKhoan, MatKhau, LoaiTaiKhoan, MaNV)
+ NhanVien(MaNV, HoTen, GioiTinh, NgaySinh, SDT, DiaChi)
* SinhVien(MSSV, HoTen, GioiTinh, Lop, Khoa, NgaySinh, DiaChi)
* TheLoai(MaTL, TenTheLoai)
Trang 70+ Sach(MaSach, TenSach, NamXuatBan, MaTL, MaNXB)
- TacGia với Sach là liên kết n – n nên ta có bảng mới :
+ Sach_TacGia(MaSach, MaTG)
* PhieuMuon:
- NhanVien và SinhVien với PhieuMuon là liên kết 1 – n nên MaNV và MSSV
là khóa ngoại của PhieuMuon
+ PhieuMuon(MaPM, NgayMuon, NgayHenTra, SoLuong, MaNV, MSSV)
- Sach với PhieuMuon là liên kết n – n nên ta có bảng mới :
+ ChiTietPhieuMuon(MaPM, MaSach, TinhTrang, NgayTra)
* BienBanXuLy:
- NhanVien với BienBanXuLy là liên kết 1 – n và PhieuMuon với
BienBanXuLy là liên kết 1 -1 nên MaNV và MaPM là khóa ngoại của
BienBanXuLy
+ BienBanXuLy(MaBB, NgayLap, LoiViPham, PPXL, MaNV, MaPM)
4 MÔ TẢ CHI TIẾT CÁC RÀNG BUỘC
4.1 Nhân viên
Trang 71T
Tên
trường
Kiểu dữ liệu Ràng buộc Chú thích
1 MaNV INT IDENTITY(1,1)
PRIMARY KEY NOT NULL
Mã nhân viên
2 HoTen NVARCHAR(50) NOT NULL Họ và tên đầy
đủ
3 GioiTinh NVARCHAR(5) NOT NULL Giới tính
4 NgaySinh DATE NULL Ngày sinh
5 SDT CHAR(10) NULL Số điện thoại
6 DiaChi NVARCHAR(100) NULL Địa chỉ
Trang 734.2 Tài khoản
Trang 74T
Tên trường Kiểu dữ liệu Ràng buộc Chú thích
1 TaiKhoan VARCHAR(20) PRIMARY KEY
NOT NULL
Tài khoản
2 MatKhau VARCHAR(20) NOT NULL Mật khẩu
3 LoaiTaiKhoan NVARCHAR(20) NOT NULL Loại tài khoản
4 MaNV INT FOREIGN KEY(MaNV)
REFERENCES NHANVIEN(MaNV) ON DELETE CASCADE
Mã nhân viên
Trang 754.3 Sinh viên
Trang 76Mã số sinh viên
2 HoTen NVARCHAR(50) NOT NULL Họ và tên
3 GioiTinh NVARCHAR(5) NOT NULL Giới tính
4 Lop VARCHAR(10) NOT NULL Lớp
5 Khoa NVARCHAR(20) NOT NULL Khoa
6 DiaChi NVARCHAR(100) NULL Địa chỉ
7 NgaySinh DATE NULL Ngày Sinh
Trang 784.4 Thể loại
Trang 79T
Tên trường Kiểu dữ liệu Ràng buộc Chú thích
1 MaTL INT IDENTITY(1,1)
PRIMARY KEY NOT NULL
Mã thể loại
2 TenTL NVARCHAR(100) NOT NULL Tên thể loại
Trang 814.5 Nhà xuất bản
Trang 82T
Tên trường Kiểu dữ liệu Ràng buộc Chú thích
1 MaNXB INT IDENTITY(1,1)
PRIMARY KEY NOT NULL
Mã nhà xuất bản
2 TenNXB NVARCHAR(100) NOT NULL Tên nhà xuất bản
Trang 844.6 Sách
Trang 85T
Tên trường Kiểu dữ liệu Ràng buộc Chú thích
1 MaSach INT IDENTITY(1,1)
PRIMARY KEY NOT NULL
Mã sách
2 TenSach NVARCHAR(100) NOT NULL Tên sách
bản
FOREIGN KEY(MaTL) REFERENCES
NHAXUATBAN(MaNXB)
ON DELETE SET NULL
Mã nhà xuất bản
Trang 874.7 Tác giả
Trang 88T
Tên trường Kiểu dữ liệu Ràng buộc Chú thích
1 MaTG INT IDENTITY(1,1)
PRIMARY KEY NOT NULL
Mã tác giả
2 TenTG NVARCHAR(100) NOT NULL Tên tác giả
Trang 904.8 Sách – tác giả
Trang 91T
Tên trường Kiểu dữ liệu Ràng buộc Chú thích
1 MaSach INT FOREIGN KEY(MaSach)
REFERENCES SACH(MaSach) ON DELETE CASCADE
Mã sách
2 MaTG INT FOREIGN KEY(MaTG)
REFERENCES TACGIA(MaTG)
ON DELETE CASCADE
Mã tác giả
Trang 944.9 Phiếu mượn
Trang 95Mã phiếu mượn
2 NgayMuon DATE DEFAULT GETDATE() Ngày mượn
3 NgayHenTra DATE NULL Ngày hẹn trả
4 SoLuong INT NULL Số lượng
5 MaNV INT FOREIGN
KEY(MaNV) REFERENCES NHANVIEN(MaNV) NULL
ON DELETE SET NULL
Mã nhân viên
6 MSSV INT FOREIGN
KEY(MSSV) REFERENCES SINHVIEN(MSSV) NULL
ON DELETE SET NULL
Mã số sinh viên
Trang 974.10 Chi tiết phiếu mượn
Trang 98NOT NULL
Mã phiếu mượn
2 MaSach INT FOREIGN KEY(MaSach)
REFERENCES SACH(MaSach) NULL
ON DELETE SET NULL
Mã Sách
3 TrangThai NVARCHAR(20) DEFAULT “Chưa trả”
NOT NULL
Trạng thái
Trang 994.11 Biên bản xử lý
Trang 100Mã biên bản xử lý
2 MaPhieuMuon INT FOREIGN
KEY(MaPhieuMuon) REFERENCES PHIEUMUON(MaPhieuMuon )
NOT NULL
Mã phiếu mượn
3 MaNV INT FOREIGN KEY(MaNV)
REFERENCES NHANVIEN(MaNV) NULL
ON DELETE SET NULL
Mã nhân viên
4 NgayLap DATE DEFAULT GETDATE() Ngày
lập biên bản
5 LoiViPham NVARCHAR(50) NOT NULL Lỗi vi
phạm
6 XuLy NVARCHAR(100) NOT NULL Xử lý
như thế nào
Trang 101Diagram_QLTV
Trang 1025 DỮ LIỆU CÁC BẢNG 5.1 Bảng Nhân Viên
5.2 Bảng Tài Khoản
Trang 1035.3 Bảng Sinh Viên
5.4 Bảng Thể Loại
Trang 1045.5 Bảng Nhà Xuất Bản
Trang 1055.6 Bảng Sách
Trang 1065.7 Bảng Tác Giả
Trang 1075.8 Bảng Sách_Tác Giả
5.9 Bảng Phiếu Mượn
Trang 1085.10 Bảng Chi Tiết Phiếu Mượn
5.10 Bảng Biên Bản Xử Lý
6 CÁC TRUY VẤN
Trang 109Nghiệp vụ Kỹ thuật Giải Quyết
Hiển thị danh
sách SÁCH
View CREATEVIEW v_Sach asSELECT
S2.MASACH,S2.TENSACH,STUFF((SELECT','+ TENTG
FROM (SELECT stg.MASACH,tg.TENTG FROM dbo.SACH_TACGIA stg
INNERJOIN dbo.TACGIA tg ON tg.MATG = stg.MATG)AS S1
WHERE S1.MASACH = S2.MASACH
FORXMLPATH('')),1,1,'')AS
TENTG,S2.TENTL,S2.TENNXB,S2.NAMXB FROM
(SELECT s.MASACH,s.TENSACH,tl.TENTL,nxb.TENNXB,s.NAMXB
FROM dbo.SACH s
INNERJOIN dbo.THELOAI tl ON tl.MATL = s.MATL
INNERJOIN dbo.NHAXUATBAN nxb ON nxb.MANXB = s.MANXB
View CREATEVIEW v_NhanVien ASSELECT NHANVIEN.MANV, HOTEN,
GIOITINH, NGAYSINH, SDT, DIACHI, TAIKHOAN, MATKHAU,
LOAITAIKHOAN FROM dbo.NHANVIEN
INNERJOIN dbo.TAIKHOAN ON TAIKHOAN.MANV = NHANVIEN.MANV
Hiển thị danh
sách SINH
VIÊN
View CREATEVIEW v_SinhVien asSELECT*FROM dbo.SINHVIEN
SELECT*FROM v_SinhVien
ORDERBY MSSV
Hiển thị danh
sách PHIẾU
MƯỢN chưa trả
View CREATEVIEW v_PhieuMuonChuaTra ASSELECT
chuatra.MAPHIEUMUON, NHANVIEN.HOTEN ASN'TENNHANVIEN',
SINHVIEN.HOTEN AS'TENSINHVIEN' SOLUONG, NGAYMUON,
NGAYHENTRA FROM dbo.PHIEUMUON INNERJOIN(SELECT CHITIETPHIEUMUON.MAPHIEUMUON FROM
dbo.PHIEUMUON
INNERJOIN dbo.CHITIETPHIEUMUON ON
CHITIETPHIEUMUON.MAPHIEUMUON = PHIEUMUON.MAPHIEUMUON
WHERE TRANGTHAI LIKEN'Chưa trả'
GROUPBY CHITIETPHIEUMUON.MAPHIEUMUON)AS chuatra ON
chuatra.MAPHIEUMUON = PHIEUMUON.MAPHIEUMUON
INNERJOIN dbo.SINHVIEN ON SINHVIEN.MSSV = PHIEUMUON.MSSV
INNER JOIN dbo.NHANVIEN ON NHANVIEN.MANV =
View CREATEVIEW v_ChiTietChuaTra ASSELECT ctpm.MAPHIEUMUON,
s.MASACH, s.TENSACH, ctpm.TRANGTHAI FROM
dbo.CHITIETPHIEUMUON ctpm
INNERJOIN dbo.SACH s ON s.MASACH = ctpm.MASACH
Trang 110WHERE ctpm.TRANGTHAI LIKEN'Chưa trả'
Hiển thị danh
sách BIÊN BẢN
XỬ LÝ
View CREATEVIEW v_BienBanXuLy ASSELECT bbxl.MABIENBAN,
bbxl.MAPHIEUMUON, nv.HOTEN AS'TENNHANVIEN', sv.HOTEN AS
'TENSINHVIEN', bbxl.NGAYLAP, bbxl.LOIVIPHAM, bbxl.XULY
FROM dbo.BIENBANXULY bbxl
INNERJOIN dbo.PHIEUMUON pm ON pm.MAPHIEUMUON =
bbxl.MAPHIEUMUON
INNERJOIN dbo.NHANVIEN nv ON nv.MANV = bbxl.MANV
INNERJOIN dbo.SINHVIEN sv ON sv.MSSV = pm.MSSV
Hiển thị danh
sách SÁCH trả
trễ
View CREATEVIEW v_SachTraTreQuaHan ASSELECT
CHITIETPHIEUMUON.MAPHIEUMUON, NHANVIEN.HOTEN AS
N'TENNHANVIEN',SINHVIEN.HOTEN AS
'TENSINHVIEN',TENSACH,NGAYMUON,NGAYHENTRA
FROM dbo.PHIEUMUON
INNERJOIN dbo.CHITIETPHIEUMUON ON
CHITIETPHIEUMUON.MAPHIEUMUON = PHIEUMUON.MAPHIEUMUON
INNERJOIN dbo.SINHVIEN ON SINHVIEN.MSSV = PHIEUMUON.MSSV
INNERJOIN dbo.NHANVIEN ON NHANVIEN.MANV =
PHIEUMUON.MANV
INNERJOIN dbo.SACH ON SACH.MASACH =
CHITIETPHIEUMUON.MASACH
WHERE TRANGTHAI LIKEN'Chưa trả'
ANDGETDATE()>NGAYHENTRA
Hiển thị danh sách
biên bản xử lý theo
khoảng thời gian
tùy chọn
Procedure CREATEPROC sp_BienBanTheoNgay(@ngaybd
DATE,@ngaykt DATE)
ASBEGINSELECT*FROM v_BienBanXuLy bbxl
WHERE bbxl.NGAYLAP >@ngaybd AND bbxl.NGAYLAP
<@ngaykt
ENDHiển thị danh sách
Procedure CREATEPROC sp_Top10SachYeuThichTheoNgay(@ngaybd
DATE,@ngaykt DATE)
ASBEGIN
SELECTTOP 10 MASACH,COUNT(*)AS'So luot muon'
FROM dbo.CHITIETPHIEUMUON
INNERJOIN dbo.PHIEUMUON pm ON pm.MAPHIEUMUON =
Trang 111BEGIN DECLARE @num INT
BEGIN
DECLARE @tennv NVARCHAR(50), @gioitinh NVARCHAR(5),
@ngaysinh DATE, @sdt CHAR(10), @diachi NVARCHAR(100)
DECLARE @taikhoan VARCHAR(20), @matkhau VARCHAR(20),
@loaitaikhoan NVARCHAR(20)
SELECT @tennv=ins.HOTEN FROM Inserted ins
SELECT @gioitinh=ins.GIOITINH FROM Inserted ins
SELECT @ngaysinh=ins.NGAYSINH FROM Inserted ins
SELECT @sdt=ins.SDT FROM Inserted ins
SELECT @diachi=ins.DIACHI FROM Inserted ins
Trang 112SELECT @taikhoan=ins.TAIKHOAN FROM Inserted ins
SELECT @matkhau=ins.MATKHAU FROM Inserted ins
SELECT @loaitaikhoan=ins.LOAITAIKHOAN FROM Inserted ins
INSERTINTO dbo.NHANVIEN
VALUES(@tennv,@gioitinh,@ngaysinh,@sdt,@diachi)
DECLARE @manv VARCHAR(10)
SELECTTOP 1 @manv=MANV FROM dbo.NHANVIEN
ORDERBY MANV DESCINSERTINTO dbo.TAIKHOAN
VALUES(@taikhoan,@matkhau,@manv,@loaitaikhoan)
RETURNS @output TABLE(
id INTIDENTITY(1,1)NOTNULL,
item NVARCHAR(200)NULL)
ASBEGIN
DECLARE @start INT,@end INT
SELECT @start=1,@end=CHARINDEX(@kytu,@mystring)
WHILE @start<LEN(@mystring)+1
BEGIN
IF @end=0
SET @end=LEN(@mystring)+1
INSERTINTO @output(item)
VALUES(LTRIM(RTRIM(SUBSTRING(@mystring,@start,@end
-@start))))
SET @start=@end+1
SET @end=CHARINDEX(@kytu,@mystring,@start)
ENDRETURNEND