- Mỗi một bản ghi của bảng A chỉ liên kết với một bảng ghi của bảng B và ngược lại, mỗi bản ghi của bản B cũng chỉ liên kết với một bản ghi của bản A.
- Quan hệ 1-1 xảy ra trường khoá kết nối với hai bảng đều là khoá chính (Khoá chính là trường mà không được phép có giá trị trùng nhau), khi biết được một giá trị của khoá chính thì sẽ biết được các thông tin còn lại .
* Quan hệ 1-N :
- Một bản ghi của bảng A có thể kết nối với nhiều bản ghi của bảng B và ngược lại một bản ghi của bảng B có thể kết nối với nhiều bản ghi của bảng A
- Quan hệ 1-N xảy ra khi trường khoá kết nối của bảng A là khoá chính, trường khoá kết nối của bảng B không phải là khoá chính
* Quan hệ N- N :
- Là liên kết giữa hai thực thể A, B mà trong A có nhiều thực thể trong B và ngược lại ứng với một thực thể trong B có nhiều thực thể trong A.
- Trong thực tế người ta thường bổ xung thực thể trung gian để biến đổi kiểu liên kết này thành kiểu liên kết 1-N.
b. Phân tích các mối quan hệ giữa các thực thể trong hệ thống
- Mối quan hệ giữa “Sách” Và “Độc giả ” là mối quan hệ N- N vì mỗi cuốn sách có thể được nhận từ nhiều độc giả và một người có thể được nhiều sách cùng một lúc.
- Mối quan hệ này được tách thành mối quan hệ 1- N Thông qua thực thể trung gian là “Mượn trả”. Ta có mối quan hệ như sau :
Thuộc tính kết nối giữa “Mượn trả ” và “Sách” là mã sách, giữa “Mượn trả” và “Bạn đọc” là Số thẻ thư viện.
- Tương tự ta cũng có mối quan hệ giữa “Sách ” và “Độc giả” và “Quá hạn” như sau :
Thuộc tính kết nối giữa “Sách” và “Quá hạn ” là Mã sách, giữa “Độc giả ” và “Quá hạn ” là Số thẻ TV.
Các thực thể như : Nhà xuất bản , thể loại và thanh lý là các thực thể nhằm đảm bảo cho việc quản lý thư viện được tốt hơn, các thực thể này được xây dựng liên kết như sau :
3.4.3. Xác định các thuộc tính của thực thể:Sách Quá hạn Độc giả Sách Quá hạn Độc giả Sách Nhà xuất bản Sách Thể loại Sách Thanh lý
Sau khi xác định được kiểu thực hiện và thực thể thì ta phải xét đến những thông tin nào cần thiết phải được lưu trữ cho mỗi thực thể. Thuộc tính đặc trưng của thực thể biểu diễn bằng các trường hoặc các cột trong bảng .
Căn cứ vào thực thể và kiểu thực thể đưa ra cho hệ thống ta thiết lập thuộc tính cho mô hình thực thể của hệ thống .
Sách - Mã sách - Tên sách - Tên tác giả - Mã thể loại - Mã NXB - Tên Nhà XB - Năm XB - Lần xuất bản - Ngôn ngữ - Số lượng - Số lượng còn - Ngày nhập sách - Số trang sách - Giá sách - Nội dung Độc giả: - Mã thẻ TV - Họ tên - Ngày sinh - Năm sinh - Lớp chuyên - Khoá học - Quê quán - Số điện thoại - Ngày làm thẻ - Ngày hết hạn Mượn trả : - Mã mượn trả
- Mã sách - Mã thẻ TV - Ngày mượn - Ngày trả - Quá hạn
Quá hạn :
- Mã thẻ TV - Mã sách
- Thời gian quá hạn - Tiền phạt Thể loại : - Mã thể loại - Tên thể loại Thanh lý : - Mã sách - Tên sách - Hình thức thanh lý - Ngày thanh lý Nhà xuất bản : - Mã nhà xuất bản - Tên nhà xuất bản - Địa chỉ nhà xuất bản - Số điện thoại ** Chuẩn hoá các thực thể
Khái niệm : Chuẩn hoá là quá trình phân tích chuẩn hoá các thực thể thành một dạng mà tối thiểu việc lặp đi lặp lại, không dư thừa nhưng dữ liệu vẫn đầy đủ .
+ Có ba dạng chuẩn hoá dữ liệu - Quy tắc chuẩn hoá 1
Bảng không được chứa những thuộc tính có thể xuất hiện nhiều lần.
Giải pháp : Loại bỏ những thuộc tính lặp lại vào một bảng khác cùng với những thuộc tính khóa trong kiểu thực thể chứng kiến mà thuộc tính này lặp lại .
- Quy tắc chuẩn hoá thứ 2
Mọi thuộc tính phải phụ thuộc vào hàm và toàn bộ vào khoá .
Giải pháp : Loại bỏ những thuộc tính không phụ thuộc vào hàm và toàn bộ khoá vào một bảng khác cùng với những thuộc tính thành phần của k hoá mà nó phụ thuộc vào .
- Quy tắc chuẩn hoá thứ 3
Mỗi thuộc tính chỉ phụ thuộc hàm vào toàn bộ khoá mà không phụ thuộc hàm vào bất cứ thuộc tính nào khác trong bảng.
Giải pháp : Loại bỏ những phụ thuộc không khoá vào một bảng khác cùng những thuộc tính mà nó phụ thuộc vào.
Từ những khái niệm trên và những mẫu biểu liên quan đến hệ thống ta tiến hành chuẩn hoá cho hệ thống, các thực thể được chuẩn hoá có cấu trúc như sau .
Mã thẻ TV Mã thể loại Mã số sách Mã số sách Tên thể loại Tên sách
Thời gian quá hạn Hình thức TL Tiền phạt Ngày thanh lý
Thanh Lý Thể loại
Mã số sách Mã thẻ TV Mã sách Tên tác giả Họ Tên Mã thẻ TV Mã thể loại Ngày sinh Ngày mượn Mã NXB Năm sinh Ngày trả Năm NXB Lớp Quá hạn Lần XB Khoá học
Ngôn ngữ Quê quán Số lượng còn Ngày làm Thẻ Giá sách Ngày hết hạn Mã nhà XB Ngày nhập Tên NXB Nội dung ĐChỉNXB SĐT
- Phụ thuộc hàm của thực thể “Sách” đưa ra như sau : [Mã sách]→[Tên sách, chủ đề, tác giả,.... ]
- Phụ thuộc hàm đưa ra đối với thực thể “Độc giả” như sau : [Mã thẻ TV] →[Họ tên, ngày sinh, lớp, Khoá...]
- Phụ thuộc hàm của thực thể “Nhà xuất bản ” đã đưa ra như sau :
Sách Độc giả Mượn trả
Nhà xuất bản
[Mã NXB] → [Tên NXB, Địa chỉ, Số điện thoại,....]
- Phu thuộc hàm của thực thể “Thể loại ” đưa ra như sau : [Mã thể loại] →[Tên thểloại]
Chương IV : THIẾT KẾ HỆ THỐNG
4.1. CÁC BẢNG CƠ SỞ DỮ LIỆU
4.1.1. Bảng sách (Table Sách)
STT Tên trường Kiểu Mô tả
1 Masosach Text Mã sách
2 Tensach Text Tên sách
3 Tacgia Text Tác giả
4 Matheloai Text Mã thể loại
5 MaNXB Text Mã nhà xuất bản
6 TenNXB Text Tên nhà xuất bản
7 NamXB Text Năm xuất bản
8 LanXB Text Lần xuất bản
9 Ngonngu Text Ngôn ngữ
10 Soluong Text Số lượng
11 Soluongcon Text Số lượng còn 12 Ngaynhapsach Date/Time Ngày nhập sách
13 Sotrang Text Số trang sách
14 Giasach Text Giá sách
15 Noidung Text Nội dung
Bảng này là nơi lưu trữ thông tin về các đầu sách được nhập vào, gồm có 15 trường dữ liệu, trong đó có Mã số sách đóng vai trò là khoá chính. Đây cũng là nơi thực hiện truy xuất dữ liệu, khi thực hiện các chức năng về sửa, xoá, hay tìm kiếm các thông tin về một đầu sách.
4.1.2. Bảng Quản Lý Độc giả (Table ĐocGia)
STT Tên trường Kiểu Mô tả
1 MatheTV Text Mã thẻ thư viện
2 Hoten Text Họ và tên
3 Ngaysinh Text Ngày sinh
4 Namsinh Text Năm sinh
5 Lopchuyen Text Lớp chuyên
6 Khoahoc Text Khoá học
7 Quequan Text Quê quán
8 Sodienthoai Number Số điện thoại
9 Ngaylamthe Date/ Time Ngày làm thẻ 10 Ngayhethan Date/ Time Ngày hết hạn thẻ
Bảng trên đây là nơi lưu trữ các thông tin về độc giả được nhập vào , gồm có 10 trường dữ liệu, trong đó số trường Mã thẻ TV đóng vai trò làm khoá chính .Đây cũng là nơi thực hiện việc truy xuất dữ liệu khi thực hiện các chức năng như sửa, xoá, hay tìm kiếm các thông tin về một độc giả .
4.1.3. Bảng Mượn Trả (Table MuonTra)
STT Tên trường Kiểu Mô tả
1 Masosach text Mã số sách
2 MatheTV text Mã thẻ TV
3 Ngaymuon Date/time Ngày mượn
4 Ngaytra Date/time Ngày trả
5 Quahan Logical Quá hạn
mượn
Bảng này lưu thôngtin về việc mượn trả sách của độc giả, dữ liệu được kết nối từ hai bảng “Sách” và “Độc giả”.
4.1.4. Bảng Quá Hạn(Table QUAHAN)
STT Tên trường Kiểu Mô tả
1 MatheTV Text Mã thẻ thư viện
2 Masosach Text Mã số sách
Bảng này lưu thông tin về việc vi phạm của độc giả do thời gian mượn sách quá hạn so với những nội quy, quy định của thư viện đề ra, dữ liệu của bảng cũng được lưu giữa hai bảng “Sách” và “Độc giả” về Mã số sách và Mã thẻ TV của bạn đọc vi phạm. Trường thời gian quá hạn sẽ tính bằng ngày mượn- ngày trả, và so sánh với nội quycủa thư viện để xem có vi phạm hay không, nếu có sẽ ghi nhận và ghi vào. Từ đó tính ra số tiền độc giả phải nộp phạt .
4.1.5. Bảng Nhà Xuất Bản (Table NhaXB)
STT Tên trường Kiểu Mô tả
1 MaNXB Text Mã nhà xuất bản
2 TenNXB Text Tên nhà xuất bản
3 DiaChi Text Địa chỉ
4 SoDienThoai Number Số điện thoại
Bảng này có chức năng lưu thông tin về nhà xuất bản,và
MaNXB đóng vai trò là khoá chính. 4.1.6. Bảng Thanh Lý (Table ThanhLy)
STT Tên trường Kiểu Mô tả
1 Masosach Text Mã số sách
3 HinhthucTL Text Hình thức thanh lý
4 NgayTL Text Ngày thanh lý
4.1.7.Bảng Thể Loại (Table TheLoai)
STT Tên trường Kiểu Mô tả
1 MaTheLoai Text Mã thể loại
THIẾT KẾ MODULE CHƯƠNG TRÌNH
Chương trình quản lý thư viện gồm nhiều chức năng riêng biệt, như việc mô tả biểu đồ chức năng của hệ thống. Khi thiết kế chương trình quản lý thư viện ta thiết kế từng Module cho mỗi chức năng tương ứng . Khi đó chương trình gặp lỗi sẽ giúp chúng ta dễ phát hiện và sửa chữa. Việc thiết kế module chia thành nhiều lớp. Mỗi module chính lại chia thành module con, cứ như vậy cho đến khi không chia được nữa thì dừng.
Lược đồ cấu trúc như sau :
Module Chính Cập nhật thông tin sách Cập nhật thông tin bạn đọc Mượn trả sách
Tra cứu Thống kê
Trả Bạn Sách Bạn Sách Mượn Mượn
Đặc tả module :
+ Mức 1 : là mức Module chính .
+ Mức 2 : Gồm có 5 module con là : Module cập nhật thông tin sách, Module cập nhật thông tin độc giả , Module mượn trả, Module tra cứu tìm kiếm, Module thống kê .
+ Mức 3 : Bao gồm các module con của các module mức 2, đó là các module sách , bạn đọc, mượn trả, trả sách , mượn trả .
4.3. Giới thiệu về ngôn ngữ chính trong chương trình :
“NGÔN NGỮVISUAL BASIC”
Visual Basic được xem là một công cụ phát triển phần mềm. Đã gần mười năm Visual Basic đã đạt được những thành tích đáng khâm phục và là một công cụ lập trình phát triển nhất thế giới . Nhưng tất cả những cái này là cái gì ? Chính xác Visual Basic là gì và nó giúp đỡ chúng ta những gì ?
Vâng, Bill Gate đã mô tả Visual Basic như một “Công cụ vừa dễ lại vừa mạnh để phát triển các ứng dụng của Windows bằng Basic”. Điều này chưa đủ chứng minh cho tất cả những phô trương trên, trừ khi bạn hiểu ra rằng hiện nay có hàng trục triệu người sử dụng Microsoft Window. Và bây giờ Visual Basic 6.0 bổ sung một số tính năng ngôn ngữ đã được mong đợi từ lâu, tăng cường năng lực Internet, và cả những tính năng cơ sở dữ liệu mạnh hơn. Quả thật Visual Basic đã trở thành mạnh nhất và trôi chảy nhất chưa từng thấy .
Mặt khác lợi điểm khi dùng Visual Basic là tiết kiệm thời gian và công sức so với việc lập trình bằng ngôn ngữ khác khi xây dựng cùng một ứng dụng .
(Visual ), nghĩa là khi thiết kế chương trình, ta nhìn thấy ngay kết quả từng thao tác từng giao diện khi chương trình thực hiện. Đây là thuận lớn so với các ngôn ngữ lập trình khác, Visual Basic cho phép chúng
ta chỉnh xửa nhanh chóng hơn màu sắc, kích thước, hình dáng của các đối tượng có trong ứng dụng .
Một khả năng khác của Visual Basic là khả năng kết hợp các thư viện liên kết động DLL (Dynamic Link Library). DLL chính là phần mở rộng cho Visual Basic tức là khi xây dựng một ứng dụng nào đó có một số yêu cầu mà Visual Basic chưa đáp ứng đủ, ta viết thêm DLL để phụ trợ .
* Khi thiết kế chương trình bằng Visual Basic, chúng ta phải thông qua hai bước :
a. Thiết kế giao diện (Visual proramming) b. Viết lệnh (Code Programming)
a. Thiết kế bằng giao diện
Do Visual Basic là ngôn ngữ lập trình hướng đối tượng nên việc thiết kế giao diện rất đơn giản bằng cách đưa các đối tượng vào Form và tiến hành thay đổi một số đối tượng của các thuộc tính đó .
1. FORM :
Form là biểu mẫu của mỗi ứng dụng trong Visual Basic. Ta dùng Form (như là một biểu mẫu ) Nhằm định vị và xắp xếp các bộ phận trên nó khi thiết kế các phần giao tiếp với người dùng .
Ta có thể xem Form như một bộ phận mà nó có thể chứa các bộ phận khác. Form chính của ứng dụng, các thành phần của nó tương tác với các Form khác và các bộ phận của chúngtạo nên giao tiếp cho ứng dụng . Form chính là giao diện chính của ứng dụng, các Form khác có thể chứa các hộp thoại, hiển thị cho nhập dữ liệu và hơn thế nữa .
Trong nhiều ứng dụng của Visual Basic, kích cỡ và vị trí của biểu mẫu vào lúc hoàn tất thiết kế (thường mệnh danh là thời gian thiết kế hoặc lúc thiết kế )là kích cỡ và hình dáng và người dùng sẽ gặp vào thời gian thực hiện hoặc lúc chạy chương trình. Điều này có nghĩa là Visual Basic thay đỗi kích cỡ và di chuyển vị trí của các Form đến bất kỳ khi nào trên màn hình khi chạy một đề
án, bằng cách thay đổi một số thuộc tính của nó trong của sổ thuộc tính (properties Window).
Thực tế, một trong những tính năng thiết yếu của Visual Basic đó là khả năng tiến hành một số thay đổi động để đáp ứng các sự kiện của người dùng .
2. TOOLBOX : ( hộp công cụ )
Bản thân các biểu tượng này chỉ chứa các biểu tượng biểu thị cho các điều khiển mà ta có thể bổ xung vào các biểu mẫu, là bảng chứa các đối tượng được quy định sẵn của Visual Basic . Các đối tượng này được sử dụng trong Form để tạo thành giao diện cho các chương trình ứng dụng của Visual Basic. Các đối tượng trong thanh công cụ sau đây là thông dụng nhất :
3. PROPERTIES WINDOWS: (Cửa sổ thuộc tính )
Properties windows là nơi chứa danh sách các thuộc tính của một đối tượng cụ thể. Các thuộc tính này có thể thay đổi để phù hợp các yêu cầu về giao diện của các trình giao diện của các chương trình ứng dụng.
4. PROJECT EXPLORER:
Do các ứng dụng của Visual Basic thường dung chung mã hoặc các Form đã tuỳ biến trước đó nên Visual Basic tổ chức các ứng dụng thành các Project. Mỗi Project có thể có nhiều Form và mã kích hoạt cá điều khiển
trên một Form sẽ được lưu trữ chung với Form đó trong các tập tin riêng biệt. Mã lập trình chung mà tất cả các Form trong ứng dụng chia sẻ có thể được phân thành các modul khác nhau và cũng được lưu trữ tách biệt, gọi là các modul mã. Project explorer nêu tất cả các biểu mẫu tuỳ biến được và các modul mã chung, tạo nên ứng dụng chung của chúng ta .
b. Viết mã lệnh cho các đối tượng :
Điểm mấu chốt cần phải nhận thức rõ ràng trong khâu lập trình Visual Basic là:
* Visual Basic sử lý mã chỉ để đáp ứng các sự kiện. Thực vậy, không như nhiều ngôn ngữ lập trình khác, các dòng mã thi hành trong một chương trình Visual Basic phải nằm trong các thủ tục hoặc Là các dòng mã bị cô lập sẽ không làm việc
Cửa sổ CODE: Cửa sổ Code luôn là nơi để viết mã. Cửa sổ Code có một thanh tách (Split bar)
• Hộp liệt kê:
Hộp liệt kê bên trái của sổ Code là hộp Object, nó liệt kê mọi đối