1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Xây dựng phần mềm quản lý thư viện

19 9 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 19
Dung lượng 638,46 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

CREATEPROC Chuadongphi ASBEGIN SELECT nm.Id, nm.MaNM, nm.TenNM, nm.NgaySinh, CASEWHEN nm.GioiTinh=1 THEN N'Nam' WHEN nm.GioiTinh=0 THEN N'N 'ữ ENDAS GioiTinh,Khoa,DiaChi, CASEWHEN Dp=1 T

Trang 1

TR ƯỜ NG Đ I H C TH Y L I Ạ Ọ Ủ Ợ KHOA CÔNG NGH THÔNG TIN Ệ



-BÀI T P L N Ậ Ớ MÔN H QU N TR C S D LI U Ệ Ả Ị Ơ Ở Ữ Ệ

Đ TÀI: Ề XÂY D NG PH N M M QU N LÝ TH VI N Ự Ầ Ề Ả Ư Ệ

Nhóm sinh viên th c hi n: ự ệ

1. Tr n Hoàng Anh – L p 57TH2 ầ ớ

2. Vũ Th H ị ườ ng – L p 57TH2 ớ

Gi ng viên h ả ướ ng d n: ẫ Th.S Nguy n Ng c Quỳnh Châuễ ọ

Trang 2

HÀ N I, 10/2017 Ộ

L I NÓI Đ U Ờ Ầ

Hi n nay, s phát tri n c a xã h i và n n kinh t th trệ ự ể ủ ộ ề ế ị ường ngày càng

được m r ng Vì v y trong công tác qu n lý, ki m soát tình hình doanh thu, s ở ộ ậ ả ể ố

lượng, n u ch làm trên gi y t thì r t khó khăn trong vi c qu n lý, s a đ i d ế ỉ ấ ờ ấ ệ ả ử ổ ữ

li u và d gây m t mát, b o m t thông tin Chính vì th đòi h i c n ph i có m t ệ ễ ấ ả ậ ế ỏ ầ ả ộ

h th ng ch t chẽ, h p lý m i đ m b o đệ ố ặ ợ ớ ả ả ược vi c qu n lý d dàng đáp ng đệ ả ễ ứ ược nhu c u c n thi t hi n nay.ầ ầ ế ệ

Th k XXI là th k bùng n m nh mẽ c a ngành khoa h c kỹ thu t nói ế ỷ ế ỷ ổ ạ ủ ọ ậ chung và ngành CNTT nói riêng Ngày nay, vi c ng d ng tin h c trong công tác ệ ứ ụ ọ

qu n lý phát tri n r t m nh, ng d ng tin h c giúp cho công tác qu n lý ngày ả ể ấ ạ ứ ụ ọ ả càng hi u qu h n, góp ph n nâng cao hi u qu trong công vi c, đ a ra các báo ệ ả ơ ầ ệ ả ệ ư cáo, s li u th ng kê, Đ ng th i, trong công vi c c a nhà qu n lý ti t ki m ố ệ ố ồ ờ ệ ủ ả ế ệ

được nhi u th i gian, công s c, vi c qu n lý d dàng và b o m t h n.ề ờ ứ ệ ả ễ ả ậ ơ

Nh có s phát tri n c a CNTT mà hi n nay đã có nhi u ph n m m ng ờ ự ể ủ ệ ề ầ ề ứ

d ng qu n lý đụ ả ược ra đ i ví d nh : Qu n lý nhân s , qu n lý khách s n, qu n lýờ ụ ư ả ự ả ạ ả ngân hàng, V y t i sao ta không th k t h p tin h c trong vi c qu n lý th vi nậ ạ ể ế ợ ọ ệ ả ư ệ

đ khi n cho vi c qu n lý tr nên d dàng h n.ể ế ệ ả ở ễ ơ

V i nh ng lý do trên nhóm đã quy t đ nh ch n đ tài “ớ ữ ế ị ọ ề Qu n lý th vi n ả ư ệ ”

v i mong mu n tìm hi u v lĩnh v c qu n lý nói chung mà m c đích chính là ớ ố ể ề ự ả ụ

qu n lý sách c a th vi n Đ i h c Th y L i nói riêng đ đáp ng đả ủ ư ệ ạ ọ ủ ợ ể ứ ược nhu c u ầ

th c t c a con ngự ế ủ ười M c tiêu c a bài báo cáo là nêu rõ các đ c t yêu c u c a ụ ủ ặ ả ầ ủ

h th ng, phân tích, thi t k đ xây d ng đệ ố ế ế ể ự ược ph n m m qu n lý th vi n trên ầ ề ả ư ệ

ph c v cho vi c qu n lý hoàn toàn t đ ng trên máy tính.ụ ụ ệ ả ự ộ

KHOA CÔNG NGHỆ THÔNG TIN

- -BÀI TẬP LỚN MÔN HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

ĐỀ TÀI: QUẢN LÝ THƯ VIỆN

Giảng viên hướng dẫn: Nguyễn Ngọc Quỳnh Châu Nhóm sinh viên thực hiện : Nhóm 1

Trần Hoàng Anh- 57TH2

Vũ Thị Hường- 57TH2

Đỗ Văn Minh- 57TH2

Hà N i, ngày 10 tháng 10 năm 2017 ộ

Trang 3

M C L C Ụ Ụ

CH ƯƠ NG I: BÀI TOÁN Đ T RA VÀ YÊU C U C A H TH NG Ặ Ầ Ủ Ệ Ố

1.1 Gi i thi u bài toán ớ ệ :

Nh chúng ta đã bi t, trong m t ư ế ộ h th ng ệ ố th vi n l n nh th vi n ư ệ ớ ư ư ệ

trường Đ i h c Th y L i thìạ ọ ủ ợ s lố ượng sách là r t nhi u đ ng th i đ qu n lý ấ ề ồ ờ ể ả

đượ ốc s sách đó cũng c nầ s lố ượng nhân viên nhi u Đ c bi t nh ng tháng đ u ề ặ ệ ữ ầ

kỳ h c thì s lọ ố ượng sinh viên đ n đ mế ể ượn giáo trình r t đông Vì v y yêu c u ấ ậ ầ

đ t ra là : ặ Ph i làm sao đ ti t ki m đ ả ể ế ệ ượ c th i gian, ngu n nhân l c, thông ờ ồ ự tin tin c y, b o m t đ ậ ả ậ ượ c h th ng qu n lý,…? ệ ố ả

1.2 Yêu c u chung c a bài toán: ầ ủ

Đ c t các yêu c u, ch c năng: ặ ả ầ ứ Qu n lý đ c gi m ả ộ ả ượ n - tr sách, qu n ả ả

lý các đ u sách, qu n lý ghi n đ i v i đ c gi quá h n tr sách ho c làm ầ ả ợ ố ớ ộ ả ạ ả ặ

m t sách và tìm ki m sách ấ ế

1.3 Cách th c gi i quy t bài toán: ứ ả ế

Tìm hi u quy t c nghi p v , các yêu c u đ t ra c a đ bài Các ngôn ng l pể ắ ệ ụ ầ ặ ủ ề ữ ậ trình và c s d li u B t tay vào xây d ng ng d ng Ti n hành ki m tra vàơ ở ữ ệ ắ ự ứ ụ ế ể

ch y th Thay đ i.ạ ử ổ

1.4 Phát bi u nghi p v c a bài toán: ể ệ ụ ủ

Qu n lý m ả ượ n, tr : ả Khi người mượn (sinh viên) đ n mế ượn sách N u ế thông tin không đáp ng yêu c u đứ ầ ược mượn (ch a đóng ti n) thì đ a ra thông ư ề ư báo t ch i, n u đáp ng đừ ố ế ứ ược thì l p phi u mậ ế ượn cho người mượn (sinh viên) Khi người mượn tr sách, phi u tr sẽ đả ế ả ượ ậc l p cho người mượ d a trên s so n ự ự

kh p.ớ

Qu n lý đ c gi : ả ộ ả Sinh viên đang h c t i trọ ạ ường sẽ đượ ưc l u thông tin ở trên h th ng Đ ng th i h th ng sẽ sẽ qu n lý các giao d ch thông tin liên quan ệ ố ồ ờ ệ ố ả ị

t i đ c gi ớ ộ ả

Trang 4

Qu n lý sách: ả Nh p m i thông tin sách, s a ch a thông tin, xóa b nh ng ậ ớ ử ữ ỏ ữ sách không còn đượ ử ục s d ng

Qu n lý nhân viên: ả Admin có quy n thao tác qu n lý thêm, s a, xóa thông ề ả ử tin nhân viên

Qu n lý thông k : ả ế L y thông tin t các b ng c n thi t trong giao d ch đ ấ ừ ả ầ ế ị ể

đ a ra s li u: T ng đ c gi , s đ c gi đang mư ố ệ ổ ộ ả ố ọ ả ượn, s đ c gi quá h n tr , s ố ộ ả ạ ả ố

đ c gi ch a đóng phí, sách đang mộ ả ư ượn, sách t n, sách quá h n ch a tr ồ ạ ư ả

CH ƯƠ NG II: PHÂN TÍCH H TH NG Ệ Ố 2.1 Phân tích ch c năng c a h th ng ứ ủ ệ ố

Hình 1: Mô hình ch c năng h th ngứ ệ ố

2.2 Ng ườ ử ụ i s d ng h th ng: ệ ố

Qu n lý (admin): ả Qu n lý ch u trách nhi m chính trong vi c qu n lý, có quy nả ị ệ ệ ả ề truy c p vào t t c các ch c năng c a h th ng, bao g m qu n lý nhân viên,ậ ấ ả ứ ủ ệ ố ồ ả

Trang 5

qu n lý các đ u sách, th ng kê s lả ầ ố ố ượng sinh viên đ n mế ượn sách, c p nh t bậ ậ ổ xung, s a đ i ho c xóa khi c n thi t.ử ổ ặ ầ ế

Nhân viên: Nhân viên sẽ ti p nh n thông tin yêu c u mế ậ ầ ượn sách c a sinh viên,ủ

hướng d n cho sinh viên s d ng ph n m m c a h th ng, tìm ki m sách khi cóẫ ử ụ ầ ề ủ ệ ố ế yêu c u, ghi n và xu t file excel danh sách c a nh ng sách đã mầ ợ ấ ủ ữ ượn, tr và cònả

n l i.ợ ạ

Sinh viên (ng ườ i m ượ n): Sinh viên tương tác v i h th ng thông qua mã sinhớ ệ ố viên c a mình đã đủ ược c p s n, xem tr c ti p tr ng thái c a mình đang mấ ẵ ự ế ạ ủ ượn bao nhiêu qu n sách và còn n bao nhiêu.ấ ợ

CH ƯƠ NG 3: XÂY D NG MÔ HÌNH LIÊN K T TH C TH Ự Ế Ự Ể 3.1 Xác đ nh các th c th toàn v n: ị ự ể ẹ

tblLoaiSach (MaL, TenS, NXB, NamXB, GiaSach)

tblSach (ID, MaL, MaS)

tblNV (ID , MaNV, TenNV, SDT, PassNV, DiaChi, Quyen)

tblNM (ID, MaNM, TenNM, GioiTinh, NgaySinh, Khoa, DiaChi, GhiChu, DongPhi)

tblTra (ID_NV, NgayT, GhiChu )

tblHDMuon (SoHDMuon, ID_NM, ID_NV, NgayM, GhiChu)

tblChiTietHDMuon(ID_S, SoHDMuon)

tblLichSu (Id_NV_M, Id_NV_T, SoHDMuon, Id_S, NgayM, NgayT, GhiChuM, ChiChuT,

Id_NM, Id_LichSu)

3.2 Xây d ng mô hình ER: ự

1 N

1 1

1

N

N

N

1

1

N

N N

1

Hình 2: Mô hình liên k t th c th ERế ự ể

tblNV

L pậ

G mồ

tblLichSu

tblHDMuon

tblSach

tblLoaiSach tblChiTietHDMuo

n

Trang 6

3.3 Xây d ng mô hình quan h ự ệ

Hình 3: Mô hình quan hệ

3.4 Mô hình h th ng ệ ố

Hình 4: Mô hình h th ng qu n lý th vi nệ ố ả ư ệ

CH ƯƠ NG 4: M T S CÂU L NH SQL Ộ Ố Ệ

Trang 7

4.1 Th t c (PROCEDURE) ủ ụ

1. Th t c th ng kê các đ c gi ch a đóng phí mủ ụ ố ộ ả ư ượn sách

CREATEPROC Chuadongphi

ASBEGIN

SELECT nm.Id, nm.MaNM, nm.TenNM, nm.NgaySinh,

CASEWHEN nm.GioiTinh=1 THEN N'Nam'

WHEN nm.GioiTinh=0 THEN N'N 'ữ ENDAS GioiTinh,Khoa,DiaChi,

CASEWHEN Dp=1 THEN N'Đã Đóng'

WHEN Dp=0 THEN N'Ch a Đóng'ư ENDAS Dp,GhiChu FROM dbo.tblNM AS nm

WHERE Dp=0

END

Ch y th : ạ ử

EXEC Chuadongphi

2. Th ng kê các sách đang đố ược mượn b i 1 sinh viên nào đó.ở

CREATEPROCEDURE [dbo].[Prd_tracudocgia]

@MaNM NVARCHAR(50)

AS

BEGIN

SELECT*FROM dbo.DGM WHERE MaNM=@MaNM

END

Ch y th :ạ ử

EXEC dbo.Prd_tracudocgia@MaNM = N'SV06' nvarchar(50)

3. Thông kê t ng s sách còn l i, s lổ ố ạ ố ượng sách đang mượn và s lố ượng sách quá

h n.ạ

Trang 8

CREATEPROC Prd_Thongke_Sach

ASBEGIN

DECLARE @TongQH INT

SELECT @TongQH=(SELECTCOUNT(MaNM)FROM dbo.tblQuaHan1)

SELECT dbo.Fun_TongSoSach()AS TongS,dbo.Fun_TongSoSachChoMuon()AS

SachCM,dbo.Fun_TongSoSach()-dbo.Fun_TongSoSachChoMuon()AS SachTK

,@TongQH AS QuaH

END

Ch y th :ạ ử

EXEC Prd_Thongke_Sach

4. Th t c tìm ki m sách m t quy n sách nào đó.ủ ụ ế ộ ể

CREATEPROC Prd_TK_SelectMaS

@MaS NVARCHAR(50)

AS BEGIN

IF(@MaS=' ' )

SELECT N'Ch a có'ư AS MaS ,N'Ch a có'ư AS MaL,N'Ch a có'ư AS TenS,N'Ch a ư có' AS NXB,N'Ch a có'ư AS NamXB,N'Ch a có'ư AS GiaSach

ELSEBEGIN

SELECT s.MaS,ls.MaL,TenS,NXB,NamXB,GiaSach FROM dbo.tblSach AS s

,dbo.tblLoaiSach AS ls WHERE ls.MaL=s.MaL AND( MaS LIKE @MaS+'%' OR TenS

LIKE '%'+@MaS+'%')

END END

Ch y th :ạ ử

EXEC Prd_TK_SelectMaS'S01'

5 Th ng kê danh sách sinh viên mố ượn sách trong m t ngày b t kìộ ấ

CREATEPROC sinhvien_ms

Trang 9

@thang int

AS

DECLARE cur_ct cursor

SCROLL FOR

SELECT Id_NM, TenNM

FROM dbo.tblHDMuon, dbo.tblNM

WHERE (month (NgayM)= @thang)AND(dbo.tblHDMuon.Id_NM=dbo.tblNM.Id)

OPEN cur_ct

fetchfirstfrom cur_ct

WHILE@@fetch_status=0

BEGIN fetchnextfrom cur_ct END

CLOSE cur_ctDEALLOCATE cur_ct

Ch y th :ạ ử

EXEC sinhvien_ms'10'

6 Th t c t c p nh t mã s hóa đ n khi thêm m t hóa đ n m i ủ ụ ự ậ ậ ố ơ ộ ơ ớ

createPROCEDURE Prd_MaSoHD

AS BEGIN

DECLARE @Dem INT

DECLARE @Dem1 INT

SELECT @Dem =COUNT(SoHDMuon)FROM dbo.tblHDMuon

SELECT @Dem1 =COUNT(SoHDMuon)FROM dbo.tblLichSu

IF @Dem=0 AND @Dem1=0

SELECT 1 AS SoHD

ELSE BEGIN

IF @Dem=0 AND @Dem1 !=0

SELECTMAX(SoHDMuon)+1 AS SoHD FROM dbo.tblLichSu

IF @Dem!=0 AND @Dem1 =0

SELECTMAX(SoHDMuon)+1 AS SoHD FROM dbo.tblHDMuon

Trang 10

IF @Dem!=0 AND @Dem1 !=0

IF (SELECTMAX(SoHDMuon)AS SoHD FROM dbo.tblLichSu)>=(SELECT

MAX(SoHDMuon)AS SoHD FROM dbo.tblHDMuon)

SELECTMAX(SoHDMuon)+1 AS SoHD FROM dbo.tblLichSu

ELSESELECTMAX(SoHDMuon)+1 AS SoHD FROM dbo.tblHDMuon

ENDEND

Ch y th :ạ ử

EXEC dbo.Prd_MaSoHD

4.2 Hàm (FUNCTION)

1 Hàm tr v giá tr tính s l n mả ề ị ố ầ ượn m t quy n sách nào đó c a m t sinh viên ộ ể ủ ộ nào đó

CREATEfunction Fun_Soluongloaisach(@MaS nvarchar(50),@Id int)

RETURNSint

as

begin

declare @tong int

select @tong =(selectCOUNT( MaS)

FROM dbo.tblSach,dbo.tblLoaiSach,dbo.tblLichSu

WHERE dbo.tblSach.MaS=@MaS AND dbo.tblSach.MaL=tblLoaiSach.MaL AND Id

=dbo.tblLichSu.Id_S AND Id_NM=@Id)

return @tong END

Ch y th :ạ ử

SELECT dbo Fun_Soluongloaisach ( 'S01','113')

2 Hàm tr v giá tr tính t ng s sách đang b mả ề ị ổ ố ị ượn mượn

CREATEFUNCTION Fun_TongSoSachChoMuon()

Trang 11

as begin

declare @tong int

select @tong =(selectCOUNT(id_S)from tblChiTietHDMuon)

return @tong

END

Ch y th :ạ ử

SELECT dbo.Fun_TongSoSachChoMuon()

3 Hàm tr v giá tr tính t ng s sách còn l i trong khoả ề ị ổ ố ạ

createfunction Fun_TongSoSach()

returnsint

as

begin declare @tong int

select @tong=(selectCOUNT(id)from tblSach)

return @tong

end

Ch y th :ạ ử

SELECT dbo.Fun_TongSoSach ()

4 Hàm tr v b ng tính s lả ề ả ố ượng sách theo t ng lo i sáchừ ạ

CREATEFUNCTION SLSACHTHEOLOAI()

RETURNS @kq TABLE ( MaL nvarchar(50), SLSach int)

ASBEGIN

INSERTINTO @kq SELECT MaL,COUNT(MaS) FROM dbo.tblSach

GROUPBY MaL

RETURNEND

Ch y th :ạ ử

SELECT MaL, SLSach FROM dbo.SLSACHTHEOLOAI()

Trang 12

4.3 View

1 T o view li t kê thông tin các đ c gi mạ ệ ọ ả ượn sách quá h nạ

CREATEVIEW tblQuaHan1

AS SELECT dbo.tblNM.MaNM, dbo.tblNM.TenNM, dbo.tblNM.NgaySinh,

dbo.tblNM.Khoa, dbo.tblNM.DiaChi, dbo.tblNM.DongPhi, dbo.tblNM.GhiChu

FROM dbo.tblLoaiSach INNERJOIN

dbo.tblSach ON dbo.tblLoaiSach.MaL = dbo.tblSach.MaL INNERJOIN

dbo.tblChiTietHDMuon ON dbo.tblSach.Id =

dbo.tblChiTietHDMuon.Id_S INNERJOIN dbo.tblNM INNERJOIN dbo.tblHDMuon

ON dbo.tblNM.Id = dbo.tblHDMuon.Id_NM ON

dbo.tblChiTietHDMuon.SoHD_Muon = dbo.tblHDMuon.SoHDMuon

WHERE (DATEDIFF(dd, dbo.tblHDMuon.NgayM,GETDATE())> 120

Ch y th :ạ ử

SELECT*FROM dbo.tblQuaHan1

2 T o vew ch a thông tin sách đang đạ ứ ược mượn b i sinh viênở

CREATEVIEW dbo.DGM

AS SELECT nm.Id, nm.MaNM, nm.TenNM, s.MaS, ls.MaL, ls.TenS, ls.NXB, ls.NamXB,

ls.GiaSach

FROMdbo.tblNM AS nm INNERJOINdbo.tblHDMuon AS m ON nm.Id = m.Id_NM

INNERJOIN dbo.tblChiTietHDMuon AS ctm ON m.SoHDMuon = ctm.SoHD_Muon

INNERJOIN dbo.tblSach AS s ON ctm.Id_S = s.Id INNERJOIN dbo.tblLoaiSach AS ls

ON s.MaL = ls.MaL

Ch y th :ạ ử

SELECT*FROM dbo.DGM

Trang 13

3 T o view ch a thông tin c b n v giao đ ch mạ ứ ơ ả ề ị ượn c a sinh viên.ủ

CREATEVIEW THONGTINS_M

AS

SELECT MaNM, TenNM, MaNV,TenNV, NgayM

FROM dbo.tblNV,dbo.tblNM, dbo.tblChiTietHDMuon, dbo.tblHDMuon

WHERE (dbo.tblNV.Id=dbo.tblHDMuon.Id_NV)AND

(dbo.tblNM.id=dbo.tblHDMuon.Id_NM)

AND(dbo.tblHDMuon.SoHDMuon=dbo.tblChiTietHDMuon.SoHD_Muon)

Ch y th :ạ ử

SELECT*FROM THONGTINS_M

4.4 Trigger

1 TRIGGER không cho phép thêm phi u mế ượn n u ngày mế ượ ớn l n h n ngày ơ

hi n t i ngệ ạ ượ ạc l i chèn 1 b n ghi m i vào b ng HDMuon.ả ớ ả

CREATETRIGGER Them_HDM

ON dbo.tblHDMuon

FORINSERT AS

DECLARE @Id_NM INT

DECLARE @Id_NV INT

DECLARE @SoDMuon INT

DECLARE @NgayM DATE

DECLARE @GhiChu NVARCHAR(50)

SELECT @NgayM= NgayM FROM dbo.tblHDMuon

WHERE SoHDMuon IN(SELECT SoHDMuon FROM Inserted)

Trang 14

IF(@NgayM >GETDATE())

BEGIN

PRINT N'D li u nh p vào không đúng-Vui lòng ki m tra l i'ữ ệ ậ ể ạ

ROLLBACKTRAN END

ELSEIF (NOTEXISTS(SELECT SoHDMuon FROM dbo.tblHDMuon

WHERE SoHDMuon=@SoDMuon))

BEGIN

INSERTINTO dbo.tblHDMuon

( Id_NM, Id_NV, SoHDMuon, NgayM, GhiChu )

VALUES (@Id_NM , Id_NM - int

@Id_NV, Id_NV - int

@SoDMuon, SoHDMuon - int

@NgayM, NgayM - date

@GhiChu GhiChu - nvarchar(200)

) END

2 TRIGGER cho phép t c p nh t s lự ậ ậ ố ượng sách theo t ng lo i sách sau khi có ừ ạ giao d ch tr sách.ị ả

CREATETRIGGER UPDATE_SLS

ON tblSach

FORINSERT

AS

DECLARE @tong int

UPDATE dbo.tblSach

SET @tong = dbo.SLSACHTHEOLOIAI()

FROM dbo.tblSach

WHERE MaS= (SELECT MaS FROM inserted)

3 TRIGGERS t c p nh t thông tin vào b ng l ch s sau khi có giao d ch mu n - ự ậ ậ ả ị ử ị ộ

tr di n ra.ả ễ

CREATETRIGGER dbo.Add_tblLichsu

ON tblTra FORINSERT

AS BEGIN

Trang 15

DECLARE @dem INT

SELECT @dem=COUNT(Id_S)FROM dbo.tblChiTietHDMuon

WHERE Id_S =(SELECT Id_S FROM Inserted)

IF @dem!=0

BEGIN

DECLARE @Id_NM INT

DECLARE @Id_NV_T INT

DECLARE @Id_NV_M INT

DECLARE @SoHDMuon INT DECLARE @Id_S INT DECLARE @NgayM DATE

DECLARE @NgayT DATE DECLARE @GhiChuM NVARCHAR(500)

DECLARE @GhiChuT NVARCHAR(500)

SELECT @Id_NV_T = Id_NV FROM Inserted

SELECT @Id_NV_M = Id_NV FROM dbo.tblHDMuon,dbo.tblChiTietHDMuon

WHERE (dbo.tblHDMuon.SoHDMuon=dbo.tblChiTietHDMuon.SoHD_Muon AND

dbo.tblChiTietHDMuon.Id_S =(SELECT Id_S FROM Inserted))

SELECT @SoHDMuon = SoHD_Muon FROM dbo.tblChiTietHDMuon WHERE Id_S= (SELECT Id_S FROM Inserted)

SELECT @Id_S = Id_S FROM Inserted

SELECT @NgayM = NgayM FROM dbo.tblHDMuon,dbo.tblChiTietHDMuon

WHERE (dbo.tblHDMuon.SoHDMuon=dbo.tblChiTietHDMuon.SoHD_Muon AND

dbo.tblChiTietHDMuon.Id_S =(SELECT Id_S FROM Inserted))

SELECT @NgayT = NgayT FROM Inserted

SELECT @GhiChuM =GhiChu FROM dbo.tblHDMuon,dbo.tblChiTietHDMuon

WHERE (dbo.tblHDMuon.SoHDMuon=dbo.tblChiTietHDMuon.SoHD_Muon AND

dbo.tblChiTietHDMuon.Id_S =(SELECT Id_S FROM Inserted))

SELECT @GhiChuT = GhiChu FROM Inserted

SELECT @Id_NM = Id_NM FROM dbo.tblHDMuon,dbo.tblChiTietHDMuon

WHERE (dbo.tblHDMuon.SoHDMuon=dbo.tblChiTietHDMuon.SoHD_Muon AND

dbo.tblChiTietHDMuon.Id_S =(SELECT Id_S FROM Inserted))

INSERT dbo.tblLichSu

(Id_NV_M,Id_NV_T,SoHDMuon,Id_S,NgayM,NgayT,GhiChuM,GhiChuT,Id_NM)

Trang 16

VALUES ( @Id_NV_M,@Id_NV_T ,@SoHDMuon,@Id_S ,@NgayM ,@NgayT

,@GhiChuM,@GhiChuT,@Id_NM)

DELETE dbo.tblTra WHERE Id_S =(SELECT Id_S FROM Inserted)

DELETE dbo.tblChiTietHDMuon WHERE Id_S =(SELECT Id_S FROM Inserted)

DECLARE @Index INT

SELECT @Index =COUNT(SoHD_Muon) FROM dbo.tblChiTietHDMuon WHERE

SoHD_Muon =@SoHDMuon

IF(@Index=0)

DELETE dbo.tblHDMuon WHERE SoHDMuon=@SoHDMuon

END ELSE

ROLLBACKTRAN END GO

4.5

Phân Quy n: ề

B1: Vào Database QLTHUVIEN -> Security -> Roles -> Kích chu t ph i vào Roles,ộ ả

ch n new - > new Database Roles Add các Roles: ADMIN, NHANVIEN tọ ương ngứ

B2: Gán quy n cho Roles:

- Roles ADMIN: có các quy n db_accessadmin, db_backupoperator, db_datareader,ề db_datawriter, db_owner, db_securityadmin, db_ddladmin

- Roles NHANVIEN có các quy n db_datareader, db_datawriter, db_ownerề

B3: Vi t Query phân quy n, thêm login, xóa quy n c a rolesế ề ề ủ

CREATEPROC [dbo].[phanquyen]

@manv nvarchar(10), @hoten nvarchar(50), @sdt numeric(18, 0),

@passnv nvarchar(3), @diachi nvarchar(100), @quyen nvarchar(50)

As begin

insertinto tblNV(MaNV,TenNV, SDT, PassNV, DiaChi, Quyen)values

(@manv,@hoten,@sdt, @passnv,@diachi,@quyen)

exec sp_addlogin@manv,@manv exec sp_grantdbaccess@manv,@manv

if(@quyen)='ADMIN'

begin exec sp_addrolemember'ADMIN',@manv end

else

Ngày đăng: 14/04/2022, 19:15

TỪ KHÓA LIÊN QUAN

w