1.1.Khái niệm, các đặc tính về cơ sở dữ liệu: Cơ sở dữ liệu CSDL là tập hợp dữ liệu được tổ chức có cấu trúc liên quan với nhau và được lưu trữ trong máy tính.. Các dữ liệu lưu trữ có m
Trang 1
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐÔNG Á
KHOA CÔNG NGHỆ THÔNG TIN
BAO CAO BAI TẬP LỚN
HOC PHAN: CO SO DU LIEU 1 TEN BAI TAP LON: QUAN Li SACH TRONG THU VIEN
Nhom thuc hién : 13
Lớp: CNTTI Khoa: 11
Khoa : Công nghệ thông tin
Giáo viên : ThS Mai Văn Linh
Bắc Ninh, tháng 08 năm 2021
Trang 2
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐÔNG Á
KHOA CÔNG NGHỆ THÔNG TIN
(trang phụ bìa số 2, bìa mém)
Danh sách thành viên nhóm sinh viên thực hiện
Stt Họ tên Ngày sinh Mã sinh viên
1 Nguyễn Văn Hào 15/04/2002 20201078
2 Phạm Trọng Minh 26/11/2001 20201022
3 Lò An Bình 10/10/2002 20200147
4 Trần Đình Quân 21/09/2002 20200140
5 Phan Ngọc Nam 09/03/2002 20200134
6
7
Điểm bài tập lớn:
TÊN BÀI TẬP LỚN: QUẢN LÍ SÁCH TRONG THƯ VIỆN
Điểm bài tập lớn:
Bằng số: Bằng chữ:
Bắc Ninh, tháng 08 Năm 2021
Trang 3DANH MỤC THANH VIÊN
(Trình bây trong trang riêng)
Điêm
STT Ho va tén thanh vién Phân công nhiệm vụ
tuéng vao SQL, Thuyét
trình
I Nguyễn Văn Hào
2 Phạm Trọng Minh Tìm nội dung, Thiết kê
Word
3 Lò An Bình Nhập bảng và dữ liệu SQL,
đóng góp những câu truy vấn và giải các câu truy
van
4 Tran Dinh Quan Thiet ké Powerpoint,lam
những câu truy vân
5 Phan Ngọc Nam Tìm nội dung thiết kê Word
Giáo viên hướng dân xác nhận
MỤC LỤC
Trang 41.1.Khái niệm , các đặc tính về cơ sở dữ liệu: - Sc ST 1E E15 1111111121111 11 1121112 rsei 6
;8:9.:0 1 ccccccccceccecsccesscecceseccensscnesseccereccerssseesseceareseetsssnesssevntescesecttetseeereentrasens 6 b.Các đặc tính trong cơ sở dữ lIỆu: S1 c1 111111111111 1110111101111 0111110111111 1 111kg 6 1.2.Các mô hình CSDL, hệ quản trị CSÏÖL;: L0 11 111121111 11111111111111110111 11101 HH1 Hg 8 b0 ố¡ 0i | 0090 22 .ăă 8 D.HE quan tri CSD 00107 9
CHƯƠNG 2: NHỮNG NGHIÊN CỨU THUC NGHIỆM Sàn H101 1 Hy 10
PN ni gtcŨiÝỶÝỶÝẢ 10 2.2.Hãy thiết kế mô hình đữ liệu ở mức quan niệm -22- s29 92122112151211212271211121 2x6 11 CHUONG 3: KET LUAN VA HUONG PHAT TRIÊN TRONG TƯƠNG LAI -s5s: 16 kih‹0n0 07 6 -4444ẰÝÃ l6
3.2.Hướng phát triển trong tương Ìai: - 2-52 2E 1121121121122 1218122221 1e 16
CHUONG 1: TONG QUAN VE CO SO DU LIEU
4
Trang 51.1.Khái niệm, các đặc tính về cơ sở dữ liệu:
Cơ sở dữ liệu (CSDL) là tập hợp dữ liệu được tổ chức có cấu trúc liên quan với
nhau và được lưu trữ trong máy tính
+ CSDL được thiết kế, xây dựng cho phép người dùng lưu trữ dữ liệu, tuy xuất thông tin
hoặc cập nhật dữ liệu
+ CSDL được tô chức có cấu trúc: Các dữ liệu được lưu trữ có cấu trúc thành các bản ghi
(record), các trường dữ liệu (ñeld) Các dữ liệu lưu trữ có mối quan hệ (relation) với nhau + C§DL được cấu trúc để dễ dàng truy cập, quản lý và cập nhật
b.Các đặc tính trong cơ sở dữ liệu:
CSDL cung cấp khả năng trừu tượng hóa dữ liệu thông qua các lớp Bao gồm 3 lớp: Lớp vật lý, Lớp logic, Lớp bên ngoài
Sự phân biệt giữa các lớp tạo nên 2 tầng độc lập: Độc lập dữ liệu vật lý và Độc lập dữ liệu
logic
+ Lớp vat ly:
Lớp vật ly chứa toàn bộ các file dữ liệu
Người dùng CSDL không nhất thiết phải nằm được cấu trúc tổ chức của các ñle đữ liệu
vật lý khi sử dụng một cơ sở đữ liệu
+ Lép logic (con duoc goi la Schema):
Cầu trúc dữ liệu trừu tượng được tạo thành từ lớp vật lý
Lớp logic có thê chứa một tập hợp các bảng hai chiều, một cấu trúc phân cấp tương tự như sơ đồ tô chức của một công ty hay một vài cấu trúc khác
+ Lớp bên ngoài:
Bao gồm các khung nhìn (view) và được gọi chung là subschema
Khung nhìn: là khái niệm cho phép nhiều người dung quan sát dữ liệu theo nhiều cách
khác nhau trong khi dữ liệu lưu bên dưới tầng vật lý là duy nhất
+ Độc lập dữ liệu vật lý:
Trang 6Kha năng thay đổi cấu trúc file vật lý của một cơ sở dữ liệu mà không làm gián đoạn người dùng đang truy cập vào các quá trình đang diễn ra được gọi là độc lập dữ liệu vật lý
Việc phân biệt lớp vật lý với lớp lô-gIc tạo ra sự độc lập dữ liệu vật lý
+ Độc lập dữ liệu logic:
Kha nang tao ra các thay đổi tới lớp lô-gic mà không làm gián đoạn người dùng hiện tại
và các
quá trình đang diễn ra được gọi là độc lập dữ liệu lô-gic
Việc phân biệt giữa lớp lô-gie và lớp bên ngoài tạo ra tính độc lập dữ liệu lô-gic +_ Quản lý dữ liệu: là quản lý một số lượng lớn dữ liệu, bao gồm cả việc lưu trữ và cung cấp cơ chế cho phép Thao tác (thêm, sửa, xóa dữ liệu) và Truy vấn dữ liệu
2 phương pháp quản lý dữ liệu:
+ Hệ thống quản lý bằng file
+ Hệ thống quản lý bằng CSDL
Quản lý dữ liệu là quản lý một số lượng lớn dữ liệu, bao gồm cả việc lưu trữ và cung cấp
cơ chế cho phép Thao tác (thêm, sửa, xóa dữ liệu) và Truy vấn dữ liệu Hai phương pháp
quản lý dữ liệu: Hệ thống quản lý bằng ñle và Hệ thống quản lý bằng CSDL
Quan ly dit liéu bang file :
Dữ liệu được lưu trữ trong các file riêng biệt Ví dụ: các chương trình lưu trữ thông tin
bằng hệ thống các ñle dạng text
Nhược điểm của việc quản lý bằng file:
® - Dư thừa và mâu thuẫn dữ liệu
® _ Kém hiệu quả trong truy xuất ngẫu nhiên hoặc xử lý đồng thời
® - Dữ liệu lưu trữ rời rạc
se Gap vấn đề về an toàn và bảo mật
Quản lý dữ liệu bằng CSDL
Quản lý dữ liệu bằng CSDL giúp dữ liệu được lưu trữ một cách hiệu quả và có tô chức,
cho phép quản lý dữ liệu nhanh chóng và hiệu quả
1.2.Các mô hình CSDL, hệ quản trị CSDL;:
a.Các mô hình CSDL:
Mô hình dữ liệu file :
Trang 7CSDL dạng ñle phăng thường là ñle kiêu văn bản chứa dữ liệu dạng bảng Ví dụ một file
phẳng thể hiện thông tin về Customer (Khách hàng) dưới dạng bảng của công ty Northwind Traders
Mô hình dữ liệu phân cấp :
Tổ chức theo hình cây, mỗi nút biểu diễn một thực thể dữ liệu Liên hệ dữ liệu thể hiện
trên liên hệ giữa nút cha và nút con Mỗi nút cha có thể có một hoặc nhiều nút con, nhưng
mỗi nút con chỉ có thể có một nút cha
Do đó mô hình phân cấp thê hiện các kiêu quan hệ:
+, 1-1
+,I-N
Hạn chế:
Một nút con không thể có quá một nút cha => Không biểu diễn được các quan hệ dữ liệu phức tạp
Mô hình dữ liệu mạng :
Cac file riéng biét trong hé thong file phang duoc goi la cac ban ghi Tap hop ban ghi
cùng kiêu tạo thành một kiểu thực thể đữ liệu Các kiểu thực thê kết nối với nhau thông
qua mỗi quan hệ cha-con Mô hình dữ liệu mạng biểu diễn bởi một đồ thị có hướng, và các mũi tên chỉ từ kiểu thực thể cha sang kiểu thực thê con
Mô hình dữ liệu quan hệ :
Trong mô hình dữ liệu quan hệ, không có các liên kết vật lý Dữ liệu được biểu diễn dưới
dạng bảng với các hàng và các cột: CSDL là tập hợp các bảng (còn gọi là quan hệ) Mỗi hàng là một bản ghi (record), còn được gọi là bộ (tuple) Mỗi cột là một thuộc tính, còn được gọi là trường (ñeld)
Mô hình dữ liệu hướng đối tượng :
Mỗi đối tượng bao gồm các thuộc tính, phương thức (hành vi) của đối tượng Các đối tượng trao đổi với nhau thông qua các phương thức Một đối tượng có thê được sinh ra từ việc thừa kế từ đối tượng khác, nạp chồng (hay định nghĩa lại) phương thức của đối tượng khác
b.Hé quan tri CSDL:
Trang 8Các mô hình CSDL đề cập đến các hình thức tô chức lưu trữ và truy cập dữ liệu Hệ quản
tri CSDL (DataBase Management System — DBMS) la cac phan mềm giúp tạo các CSDL
và cung cấp cơ chế lưu trữ, truy cập theo các mô hình CSDL
Vi du: SQL Server, Microsoft Access, Oracle là các hệ quan tri CSDL dién hinh cho mé hình quan hệ IMS của IBM là hệ quản trị CSDL cho mô hình phân cấp IDMS là hệ quản trị CSDL cho mô hình mạng
Những lợi ích DBMS mang lại :
Quản trị các CSDL và cung cấp giao diện truy cập đề che dấu các đặc tính phức tạp về mặt cấu trúc tô chức dữ liệu vật lý Hỗ trợ các ngôn ngữ giao tiếp Ví dụ: Ngôn ngữ mô ta,
định nghĩa dữ liệu - DDL Ngôn ngữ thao tác dữ liệu - DML Ngôn ngữ truy vấn dữ liệu
có cầu trúc — SQL Co co chế an toàn, bảo mật cao
Hé quan tri CSDL quan hé (Relational DataBase Management System) :
RDMBS là một dạng DBMS được sử dụng phô biến nhất, trong đó tất cả dữ liệu được tô chức chặt chẽ dưới dạng các bảng dữ liệu Tất cả các thao tác trên CSDL đều diễn ra trên các bảng
Người dùng liên quan đến RDBMS :
Người quan tri CSDL (DataBase Administrator), Nguoi thiét kế CSDL (DataBase Designer), Nguoi phan tích hệ thông (System Analyst), Người lập trình ứng dụng (Application Programmer), Nguoi thiét ké va trién khai CSDL (DBMS Designer and Implementer), Người dùng cuối (End User)
CHƯƠNG 2: NHỮNG NGHIÊN CỨU THỰC NGHIỆM
2.1.Mô tả bài toán:
Một thư viện đề xây dựng hệ thống phần mềm quản lí việc mua mượn sách.Hệ thống cần
phải ghi nhận các hoạt động mua,muợn sách và sử lí các công việc sao lưu, thanh toán với
khách hang và độc giả.Ngoài ra hệ thống còn phải giúp người quản lí nắm được tình hình
sô sách đã cho mượn ,bán, số sách tồn kho giúp thủ kho quản lí được số lượng sách trong kho theo mã số sách khó
Quản lí sách:
Khi độc giả đến mượn,mua họ xem sách và tìm hiểu thông tin về sách cần mượn hoặc mua Thông tin sách bao gồm: Mã sách, tên sách, tên tác giả, số tiền, số lượng sách Nếu
8
Trang 9độc giả chưa tìm được cuốn sách mình cần thì quản lí thư viện sẽ truy cứu thông tin trên CSDL để cho khách tham khảo.Sau khi độc giả tìm được cuén sách mình cần thì họ sẽ
đem ra cho người quản lí nhập thông tin vào CSDL.Hệ thống sẽ nhập dữ liệu vào CSDL ghi rõ mã độc giả,mã sách, tên độc giả, tên sách, địa chỉ, số điện thoại, ngày mượn, ngày trả
Quản lý độc giả:
Để theo dõi quản lý độc gia cần có một danh sách độc giả Việc này được thực hiện bằng
cách thêm mới vào danh sách, sửa đối thông tin khi có những biến đối xảy ra.Sau khi đã
cập nhật thông tin về các độc giả bao gồm: mã độc giả, họ tên, giới tính, địa chỉ, số điện thoại
Thống kê ,báo cáo :
Để tiện cho việc theo dõi,quản lý cũng như các loại sách còn dư trong thư viện
Yêu cầu hệ thông :
Yêu cầu hệ thống quản ly thư viện : đôi với một hệ thống quản lý trong lĩnh quản lý thư
viện thì việc bảo mật vô cùng quan trọng, dữ liệu về số khách mượn, sách còn trong kho
Người quản lý được toàn quyền sử dụng các chức năng của hệ thống, người quản lý cần
phải bảo mật thông tin khách hàng tuyệt đối
Yêu cầu về chương trình
- Đảm bảo tính bảo mật dữ liệu
- Hỗ trợ người cập nhật sửa đối, tìm kiếm thông tin thông qua các form và tính toán các thông số
- Hỗ trợ báo cáo thống kê và tình hình sách còn trong thư viện
2.2.Hãy thiết kế mô hình dữ liệu ở mức quan niệm
Book: BookCode, BookTitle, Author, Edition, BookPrice, Copies
Member: MemberCode, Name, Address, PhoneNumber
IssueDetails: BookCode, MemberCode, IssueDate, ReturnDate
Trang 10
2[ ]ừ mô hình quan niệm dữ liệu trên, hãy chuyền sang mô hình quan hệ (bao gồm đầy
đủ về khóa các thuộc tính)
BookTitle
BookCode Author >
Member
PhoneNumbe
10
Trang 11
create database Quan1isachthuvien;
use Quanlisachthuvien;
go
create table Book
(BookCode int not null,
BookTitle char(4@),
Author char(15),
Edition int,
BookPrice money,
Copies int);
11
Trang 12alter table Book add primary key(BookCode) ;
select * from Book;
create table Member
(MemberCode int not null,
Name varchar(15),
Address varchar(39),
PhoneNumber varchar(1@) );
alter table Member add primary key(MemberCode) ;
create table IssueDetails
(BookCode int not null,
MemberCode int not null,
IssueDate datetime,
ReturnDate datetime) ;
alter table IssueDetails add foreign key(BookCode) references Book (BookCode) ;
alter table IssueDetails add foreign key(MemberCode) references Member (MemberCode) ;
-Câu 1: Sửa đổi bảng
Thêm ràng buộc check: giá sách(BookPrice) phải lơn hơn 16 alter table Book add check(BookPrice > 10);
Thêm cột IssueID kiéu uniqueidentifier
alter table IssueDetails add IssueID uniqueidentifier;
Sửa đổi kiểu dữ liệu cho trường PhoneNumber thành kiêu
varchar(12),
alter table Member alter column PhoneNumber varchar(12); - Chèn dữ liệu vào bảng -
insert Book values
(1, 'CF', 'Barlow',3, 12.89,5),
(2, HTML", ‘Parker’ ,2,20.00,10),
(3, 'RDBMS', ‘Long',1,15.@0,8),
(4, 'EPC', 'Norton',1,22.90, 9),
12
Trang 13(5,'Java by Example’, 'Giles',2,13.00,16),
(6, Guide to advanced java','Harding',1,14.00,18) ;
insert Member values
(1,'Dam Vinh Hung','Quan 1 HCM',@913123123),
(2,'My Le','Quan Thu Duc HCM' ,@913123456) ,
(3, 'Kim Tu Long', 'Quan 19 HCM',8912111222),
(4,'Tai Linh’, 'Hue' ,@984123456) ,
(5, 'Ung Hoang Phuc', 'Quan 3 HCM' ,@913444444) ,
(6, 'My Linh", 'Ba Dinh Ha Noi',9984234432) ;
select * from Member;
insert IssueDetails(BookCode,MemberCode, IssueDate, ReturnDate) values
(6,1, '2005/10/89' , '2005/10/20'),
(5,2, '2006/01/01', '2006/01/05'),
(4,3, '2006/01/10', ' 2006/01/15"),
(3,4, '2006/01/20' , '2006/01/25'),
(2,5, '2006/02/01' ,'2006/02/05'),
(1,6, '2006/03/01' , ' 2006/03/25");
select * from IssueDetails;
-Câu 2: Cập nhập bảng Member thêm trudng Gender kiéu Bit alter table Member add Gender bit;
-Cập nhật giới tính cho Dam Vinh Hung, Kim Tu Long, Tai Linh, Ung Hoang Phuc la 1 cho My Le, My Linh la @
update Member set Gender = case
when Name in ('Kim Tu Long','Dam Vinh Hung’, 'Tai Linh', 'Ung Hoang Phuc') then 1
when Name in ('My Le','My Linh') then @
end;
select * from Member;
-Câu 3: Đưa ra thống kê có mây nam, may nữ
select count(Gender)
from Member
where Gender = 1 ;
select count(Gender)
13