Xây dựng cơ sở dữ liệu chạy trên máy chủ SQL Server 2000 cho thư viện sách, báo, tạp chí - Pdf 10

Tải xuống tệp đính kèm gốc
Tên đề tài: Xây dựng cơ sở dữ liệu chạy trên máy chủ SQL Sever 2000 cho
thư viện sách, báo, tạp chí.
Bài làm:
Cơ sở dữ liệu được ứng dụng trong rất nhiều hệ thống, từ các phần mềm quản
lý, phần mềm kế toán, các website,… Với nhiệm vụ lớn lao đó các nhà sản
xuất đã xây dựng ra rất nhiều các hệ quản trị cơ sở dữ liệu khác nhau, mỗi hệ
quản trị CSDL có một đặc điểm khác nhau (orale, Ms SQL Sever, My SQL,…),
tùi theo từng nhu cầu công việc mà các nhà sử dụng, sử dụng các cơ sở dữ liệu
khác nhau.
Thư viện sách là nơi quản lý đầu sách, quản lý độc giả, quản lý các thông tin về
mượn và trả sách. Để đáp ứng được nhu cầu của việc phát triển công nghệ
thông tin như hiện nay và để ứng dụng công nghệ thông tin vào cuộc sống, để
thay đổi việc quản lý củ như ngày xưa, quản lý bằng giấy tờ, việc quản lý bằng
máy vi tính tiết kiệm được rất nhiều tiền của của thư viện đó, bằng việc đi tìm
từng quyển sách trong list danh sách đầu sách, chúng ta chỉ việc ngồi trước máy
vi tính và gõ bất kỳ thông tin gì của đầu sách đó thì chúng ta sẽ tìm ra quyển
sách của mình cần. Với việc ứng dụng như thế nên chúng em chọn đề tài quản
lý thư viện để làm đề tài bài tập lớn môn hệ quản trị CSDL, vì kiến thức còn
kém cỏi, chưa đi sâu vào thực tế, nên chắc chắn bài tập lớn của bọn em còn
nhiều sai sót trong mọi mặt. Chân thành cám ơn thầy giáo Trịnh Viết Cường đã
là người chỉ dẫn cho chúng em trong môn học này, kính chúc thầy mạnh khỏe
và thành công trong cuộc sống. I- Tạo các bảng (table)
Một CSDL có thể có một bảng hoặc nhiều bảng, nếu một CSDL có nhiều bảng
thì nó được liên kết với nhau thông qua các khóa, với việc liên kết đó thì sẽ rất
dễ tạo ra sự thừa hoặc thiếu dữ liệu, đi cụ thể với cơ sở dữ liệu của chúng em
như một nhà xuất bản thì có thể xuất bản ra nhiều quyển sách, và một quyển
sách chưa bao giờ được sản xuất bởi nhiều nhà xuất bản trong một lần “In”, (có

Ngonngu char,
Ngaynhap char)
Qltv_nhaxb:
Create table qltv_nhaxb
(manxb tinyint primarykey,
Tennxb nchar(50) not null,
Mota nvarchar(100));
Qltv_docgia:
Create table qltv_docgia
(Madocgia int primarykey,
Hovaten nchar(50) not null,
Maloaidocgia tinyint not null,
Diachi nvarchar(80),
Ngaysinh datetime not null,
Gioitinh nchar(5) not null,
Noicongtac nvarchar(80),
Hinhanh text)
Qltv_loaidocgia:
Create table qltv_loaidocgia
(Maloaidocgia tinyint primary key,
Tenloaidocgia nchar(50) not null,
Mota nvarchar(100))
Qltv_phieumuonsach:
Create table qltv_phieudangky
(maphieu int primary key,
Mathemuon int not null,
Ngaymuon datetime not null,
Ngaytra datetime not null,
Masach int not null)


thư viện sách, nó có tất cả các quyền về đối tượng như xem, xóa, sửa trên tất cả
các bảng của CSDL qltv, nhưng nó không có một số quyền như backup,
restore,… CSDL đó.
Grant all on qltv_loaidocgia to qltv_admin
Grant all on qltv_nhaxb to qltv_admin
Grant all on qltv_phieumuonsach to qltv_admin
Grant all on qltv_sach to qltv_admin
Grant all on qltv_sachmuon to qltv_admin
Grant all on qltv_tacgia to qltv_admin
Grant all on qltv_theloaisach to qltv_admin
Grant all on qltv_thethuvien to qltv_admin
Tất nhiên ta cũng có thể cấp các quyền này bằng cách dung giao diện đồ họa
bằng cách bấm chuột phải vào bảng cần cấp quyền rồi chọn properties >
permissions rồi cấp quyền các đối tượng tưng ứng.
Tùi theo nhu cầu công việc ta có thể tạo một nhóm người dùng chứ không phải
duy nhất một người dùng có các quyền qltv_admin, và gán cho những người
quản lý thư viện đó là thành viên của nhóm đó.
3. Qltv_mem : Những người dùng trong nhóm người dùng này có các quyền
xem một số column ở một số bảng, nhóm người dùng này như một độc giả bình
thường lên để tra xem có quyển sách này hay không, nên nhóm độc giả này chỉ
có quyền xem một số bảng như bảng sách, tác giả, nhà xuất bản, và ở bảng sách
thì không được phép xem giá tiền của bảng đó.
Ta có thể cấp quyền cho người dùng qltv_mem này dễ dàng bằng giao diện đồ
họa hoặc bằng câu lệnh.
Grant select(masach ,tensach, matheloai, matacgia, manxb, namxuatban,
sotrang, tinhtrang, ngonngu) on qltv_sach to qltv_mem
Grant select on qltv_nhaxb to qltv_mem
Grant select on qltv_tacgia to qltv_mem
Grant select on qltv_theloaisach to qltv_mem
Tất nhiên sẽ có nhiều cách để đến kết quả này ví dụ như cấp qua role, cấp qua

as
if(select count(*) from inserted,qltv_tacgia where
inserted.matacgia=qltv_qltv_tacgia.matacgia)=0
begin
print 'Khong ton tai tac gia nay'
rollback transaction .
End
Qltv_sach VS qltv_theloaisach
create trigger insert_sach_theloaisach
on dbo.qltv_sach
for insert
as
if(select count(*) from inserted,qltv_theloaisach where
inserted.matheloai=qltv_theloaisach.matheloai)=0
begin
print 'Khong ton tai the loai sach nay'
rollback transaction
end
Tạo trigger có nhiệm vụ không thể nhập được năm xuất bản của quyển sách lớn
hơn năm hiện tại. Nếu nhập năm xuất bản lớn hơn năm hiện tại thì sẽ xóa cái
dòng vừa nhập vào.
Câu lệnh như sau:
create trigger insert_sach_namxuatban
on qltv_sach
for insert
as


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status