VD: Tích Đề_các
Với : n=2, D1={0,1},D2={a,b,c}
Thì : D1*D2={(0,a),(0,b),(0,c),(1,a),(1,b),(1,c)}
Ta có thể hiểu đơn giản là mô hình quan hệ được xây dựng trên cơ sở các
bảng dữ liệu hai chiều gồm các cột, các hàng có quan hệ với nhau thông qua các
trường khoá ( nói cách khác là nếu các bảng đó có một cột hoặc một trường
chung nhau ). Các bảng dữ liệu được xây dựng thông qua quá trình chuẩn hoá.
b. Khoá:
Một khoá chính ( Primary ) là một giá trị dùng để phân biệt bản ghi này
với các bản ghi khác. Giá trị của khoá chính trong mỗi bản ghi là duy nhất trong
cả bảng.
Ngoài các khoá chính ra còn có khoá ngoài
(Foreign key ). Khoá ngoài là giá trị dùng để liên kết giữa các bảng và
thiết lập mối quan hệ giữa các bản ghi trong các bảng khác nhau
Ví dụ : Trong một CSDL quản lý về các cá nhân trong một cơ quan,
người ta thường dùng một mã gọi là mã nhân viên ( MNV) làm khoá chính,
thông tin cần quản lý về các nhân viên bao gồm các thông tin về : Sơ yếu, quá
trình học tập, lương…
Lúc này cần chia dữ liệu thành các bảng khác nhau theo các chủ đề thông
tin cần quản lý, ở các bảng này đều có một trường là MNV và sẽ có các dạng
quan hệ như sau:
MNV
001
Họ tên Lê An Hoà
…
1. Lương
MNV
001
Lương CB 1440000
5
…
Ngoại ngữ
MNV
001
Tên ngoại ngữ Anh
Một nhân viên chỉ có một mã duy nhất
Một nhân viên chỉ có một lương
Một nhân viên có thẻ có nhiều ngoại ngữ
Vì thế khi ta thực hiện các phép thay đổi hoặc xáo một bản ghi ứng với
một mã nhân viên, nhờ các “Quan hệ” mà các bản ghi ở các bản khác ứng với
mã nhân viên đó được cập nhật hay xoá bỏ ( tránh tình trạng bị dị thường hoặc
dư thừa dữ liệu).
c. Các phép tính trên CSDL dạng quan hệ:
Phép chèn (INSERT):
Mục đích của phép chèn là thêm một bộ phận vào một quan hệ nhất định.
Kết quả của phép tính này có thể gây ra một số sai sót với những lý do sau:
• Bộ mới được thêm vào là không phù hợp với lược đồ quan hệ cho trước.
• Một số giá trị của một số thuộc tính nằm miên giá trị của thuộc tính đó.
• Giá trị khoá của bộ mới có thể là giá trị đã có trong quan hệ đang lưu
trữ.
Do vậy, tuỳ từng hệ cụ thể sẽ có những cách khắc phục riêng.
Phép loại bỏ (DEL):
Là phép xoá một bộ ra khỏi một quan hệ cho trước.
Phép thay đổi (CHANGE):
Trong thực tế, không phải lúc nào cũng chỉ dùng phép chèn hoặc loại bỏ
đi một bộ mà nhiều khi chỉ cần sửa đổi một số giá trị nào đó tại một số thuộc
tính, lúc đó cần thiết phải sử dụng phép thay đổi.
6
Phép thay đổi là phép tính rất thuận lợi, hay dùng.ta cũng có thể không
dùng phép thay đổi mà dùng tổ hợp của phép loại bỏ và phép chèn thêm một bộ
mới.Do vậy, những sai sót của phép thay đổi cũng có thể xảy ra tương tự như
phép chèn và phép loại bỏ.
1.1.4. Lý thuyết thiết kế CSDL dạng quan hệ:
Làm thế nào để thiết kế một CSDL cho tốt?
Khảo sát ví dụ quan hệ cung cấp (S):S(Tên, địa chỉ, mặt hàng, giá cả).
Xem xét các vấn đè nảy sinh như sau:
• Dư thừa dữ liệu: Dễ dàng thấy rằng mỗi khi xuất hiện tên nhà cung cấp
thì địa chỉ của ông ta lặp lại trong quan hệ.
• Không nhất quán: Là hệ quả của việc dư thừa dữ liệu.Ví dụ khi sửa đổi
địa chỉ của nhà cung cấp ở một bộ nào đó còn các bộ khác vẫn giữ nguyên.Khi
đó xảy ra trong nhà cung cấp lại không có địa chỉ duy nhất.
• Dị thường khi thêm bộ: Một nhà cung cấp chẳng cung cấp một mặt hàng
nào cả, khi đó không thể đưa địa chỉ, tên nhà cung cấp làm một bản ghi (Bộ) vào
quan hệ.
• Dị thường khi xoá bộ không thể xoá tất cả các mặt hàng được cung cấp
bởi một nhà cung cấp,vì mặt hàng đó có thể được nhiều người cùng cung ứng.
Do vậy, quan hệ S nêu trên có thể được phân chia thành những quan hệ
khác nhau nhằm tránh tất cả những điều đã nêu nhằm đạt được một lược đồ
CSDL (Tập hợp các lược đồ quan hệ) sao cho tốt hơn
Khái niệm về phụ thuộc hàm (trong một quan hệ) là một quan niệm có
tầm quan trọng hết sức lớn với việc thiết kế mô hình dữ liệu, ở đây sẽ trình bày
khái niệm một cách hình thức:
Phụ thuộc hàm: Với mọi giá trị của khoá tại mọi thời điểm đuợc xét chỉ có
một giá trị cho từng thuộc tính khác trong bảng.
Do việc cập nhật dữ liệu (Qua phép tính chèn, loại bỏ và thay đổi) gây
nên những dị thường cho nên các quan hệ cần thiết phải được biến đổi thành các
dạng phù hợp. Quá trình đó được xem là quá trình chuẩn hoá.Quan hệ được
7
chuẩn hoá là quan hệ trong đó mỗi miền của thuộc tính chỉ chứa những giá trị
nguyên tố tức là không phân nhỏ được nữa và do đó mỗi giá trị trong quan hệ
cũng là nguyên tố.
a. Dạng chuẩn thứ nhất (1NF):
Một lược đồ quan hệ R được gọi là ở dạng chuẩn 1 (1NF) nếu và chỉ nếu
toàn bộ các miền có mặt trong R đều chỉ chứa các giá trị nguyên tố.
Quy tắc 1NF nhằm loại bỏ nhóm lặp, nghĩa là bảng 1NF không được chứa
các thuộc tính có thể xuất hiện nhiều lần đối với cùng một kiểu thực thể.
b. Dạng chuẩn thứ hai (2NF):
Định nghĩa: Lược đồ quan hệ R ở dạng chuẩn thứ hai nếu nó ở dạng
chuẩn thứ nhất và nếu mỗi thuộc tính không khoá của R là phụ thuộc hàm đầy
đủ vào khoá chính.
VD: Cho CSDL gồm hai quan hệ THI và SINHVIEN
THI MONTHI GIAOVIEN
3 A
4 B
5 C
SINHVIE
N
MONTH
I
MSSV TEN TUOI DIACHI DIEM
3 11 LAN 20 X 8
3 12 HA 21 Y 6
4 11 LAN 20 X 7
4 12 HA 21 Y 6
5 11 LAN 20 X 7
5 13 HA 22 Z 2
Trong quan hệ trên MONTHI là khoá của quan hệ THI và MONTHI,
MSSV (Mã số sinh viên) là khoá của quan hệ SINHVIEN.
Trong quá trình cập nhật và lưu trữ dữ liệu xuất hiện những vấn đề sau:
• ở quan hệ SINHVIEN, việc lưu trữ thông tin một sinh viên ví dụ như
LAN phảI lặp lại ba lần địa chỉ, ba lần tuổi. Rõ ràng là quá dư thừa.
8
• Quá trình cập nhật dữ liệu gây nên những cản trở trong việc thay đổi
(phải thay đổi nhiều lần cho một người tốn kém thời gian), chèn (nếu muốn
chèn thêm một sinh viên vào quan hệ thì không được vì không rõ sinh viên đó
đã thi chưa),loại bỏ dữ liệu (VD:Muốn huỷ bỏ môn thi thứ năm mà danh sách
sinh viên vẫn phảI giữ nguyên là không được).
Để khắc phục những bất lợi trên, quan hệ sinh viên có thể tách thành hai
quan hệ: SINHVIEN (MSSV,TEN, TUOI, DIACHI) và quan hệ THIXONG
(MONTHI, MSSV, DIEM).
Như vậy, CSDL lúc này chia thành 3 quan hệ đã ở dạng chuẩn thứ 2.
c. Dạng chuẩn thứ 3 (3NF):
Định nghĩa: Lược đồ quan hệ R là ở dạng chuẩn thứ 3 (3NF) nếu nó là
2NF và mỗi thuộc tính không khoá của R là không phụ thuộc hàm bắc cầu vào
khoá chính.
9
KẾT LUẬN
Trong phần I , ta đã biết sơ qua thế nào là Visual Basic, hệ quản trị cơ sở
dữ liệucủa Visual Basic.
Ta có thể biết sơ qua về cách phân tích và thiết kế cơ sở dữ liệu trong
Visual Basic.
Ta biết thế nào là bảng dữ liệu và cách tạo bảng như thế nào, để tạo form
chính form phụ.
Từ đó ta có thể tạo được form để hiển thị tất cả các thông tin để người
quản lý có thể bao quát và xem dễ dàng hơn.
10
Phần II
KHẢO SÁT VÀ PHÂN TÍCH HỆ THỐNG.
2.1 MỤC ĐÍCH CỦA HỆ THỐNG
Hệ thống quản lý thư viện là hệ thống lưu trữ dữ liệu các thông tin về
sách. Nó có thể cập nhật, bổ sung, thay đổi các thông tin này. Trong thực tế,
nhiều độc giả muốn học tập, tìm hiểu, nghiên cứu thì họ cần phải biết trong thư
viên có các tài liệu trong lĩnh vực họ đang cần không. Để muợn được sách thì
cần những thủ tục gì…Đó là vấn đề mà bài toán “Quản lý thư viện” cần phải
giải quyết.
Từ thực tế công tác nghiệp vụ của thư viện tiến hành phân tích và tin học
hoá những vấn đề có thể tin học hoá.Trên cơ sở đó, xây dựng ứng dụng hỗ trợ
cho công tác “Quản lý thư viện”. Xây dựng cơ sở dữ liệu để lưu trữ thông tin về
quá trình quản lý sách và hiệu quả. Ưng dụng này có thể làm được trên mạng
cục bộ, Internet và có thể kết hợp với cơ sở dữ liệu của các thư viện khác.
2.2 PHÂN TÍCH CHỨC NĂNG
Để phân tích hệ thống ta cần phải xác định rõ yêu cầu của bài toán.Liệt kê
tất cả các thông tin đầu vào, đầu ra của hệ thống và quyết định viết tắt cho thông
tin cần quản lý.
Lấy ra một thông tin đầu vào bất kỳ, liệt kê tất cả các thông tin phụ thuộc
vào thông tin đầu vào đó.
Lấy tiếp thông tin vừa liệt kê và thực hiện các bước tương tự.
Trong thực tế,bản thiết kế cơ sở đủ tốt là một công cụ quan trọng nhất
trong việc tạo ra một cơ sở dữ liệu có hiệu quả.Thiết kế cơ sở dữ liệu phải linh
hoạt, hợp logic và có phương pháp.Để đươc như vậy ta cần xác định chính xác
thông tin cần quản lý và mục đích của việc xử lý thông tin này.
11
2.2.1 Các chức năng nhiệm vụ:
Trong phần quản lý này chúng ta tiếp cận một bài toán quản lý thư viện
theo phương hướng chức năng tức là đi từ chức năng tổng quát sau đó đi tới
chức năng nhỏ hơn.
Khi ta thực hiện các chức năng này,hệ thống phải có một cơ chế kiểm soát
chặt chẽ đảm bảo an toàn và bảo mật cho cơ sở dữ liệu (CSDL).
Hệ thống quản lý thư viện có thể được thể hiện theo biểu đồ phân cấp
chức năng sau:
Chức năng tổng quát
Mức 1
Mức 2
Hình 1:Sơ đồ phân cấp của hệ thống Quản lý thư viện
2.2.2 Chức năng tổng quát.
Chương trình được sử dụng để thao tác và lưu trữ thông tin về thư
viện.Các chức năng của chương trình là hệ thống: Quản lý sách, quản lý độc giả
và an toàn.
Chức năng quản lý sách thực hiện các công việc như: Nhập sách, tìm
kiếm, kiểm kê và báo cáo.
12
Hệ thống quản lý thư viện
Quản lý sách Quản lý độc giả
An to nà
Nhâp
Sách
Tìm
kiế
m
Kiểm
kê
Báo
cáo
L m à
thẻ
Mượ
n trả
ý kiến
độc giả
Chức năng quản lý độc giả thực hiện các công việc như: Làm thẻ cho độc
giả, quản lý tình hình muợn,trả sách và ý kiến của độc giả.
2.2.3 Các chức năng ở mức 1
a.Chức năng quản lý sách.
Hình 2: Sơ đồ phân rã chức năng quản lý sách.
b.Chức năng quản lý độc giả
Hình 3: Sơ đồ phân rã của chức năng quản lý độc giả.
2.2.4 Các chức năng ở mức 2
a.Chức năng nhập sách:
Khi thư viện nhập sách về, trước tiên thư viện sẽ tiến hành phân loại sách
theo từng chủ đề và sau đó chuyển vào các kho tương ứng với từng loại sách đó
trong thư viện. Khi nhập sách vào thư viện, thì mỗi cuốn sách sẽ được gắn cho
13
Hệ thống quản lý sách
Nhập sách Kiểm kê
Báo cáo Tìm
Hệ thống quản lý độc
L m thà ẻ Mượn, trả ý kiến độc giả
một mã số gọi là “ Mã sách”.Mã số này không thay đổi trong suốt thời gian sách
có trong thư viện.
b.Chức năng tìm kiếm: Khi có yêu cầu tìm kiếm từ bên ngoài, hệ thống
này sẽ kiểm tra và xử lý điều kiện. Sau đó thông tin tìm được sẽ trả về cung cấp
cho người sử dụng, chức năng này còn giúp cho độc giả tìm kiếm và tra cứu một
cách nhanh chóng, dễ dàng. Thông thường các thư viện sử dụng tủ tra cứu (mục
lục phích). Việc tìm kiếm sách phải căn cứ vào một số tiêu chuẩn nhất định.
Chúng ta có thể tìm kiếm và tra cứu bằng nhiều cách như:
° Tìm theo tên tác giả
° Tìm theo chủ đề
° Theo tên sách (Hoặc theo mã sách)
° Theo tên nhà xuất bản
c.Chức năng làm thẻ
Có nhiệm vụ quản lý việc đăng ký làm thẻ và cấp thẻ cho độc giả. Khi đến
đăng ký làm thẻ với thư viện, mỗi độc giả phải có giấy giới thiệu của cơ quan,
đơn vị hay trường học. Khi đó mỗi độc giả sẽ được thư viên gắn cho một mã số
tương ứng với mã thẻ thư viện. Đối với “Thẻ đọc” thì độc giả chỉ được muợn
sách và đọc ngay tại phòng đọc của thư viện. Với “thẻ muợn” thì độc giả có thể
muợn sách về nhà nhưng phải có một khoản tiền đặt cược tuỳ theo giá trị của
cuốn sách mà độc giả muốn mượn. Số tiền cược này sẽ được dùng vào việc bồi
thường khi độc giả làm rách va mất sách của thư viện. Theo quy định của thư
viện thì các độc giả không được cho người khác muợn thẻ thư viện của mình.
d.Chức năng muợn, trả.
Thực hiện nhiệm vụ cập nhật các dữ liệu liên quan đến sách và các độc
giả của thư viện hàng ngày. Khi độc giả muợn sách, thư viện sẽ ghi lại số lượng
sách mà độc giả mựơn, ngày mượn, ngày trả, mã thẻ va họ tên của độc giả (mã
độc giả). Sau khi độc giả khai báo một số thông tin cần thiết, chức năng mượn,
trả kiểm tra tính hợp lệ của các thông tin rồi mới quyết định có cho độc giả
mượn hay không. Nếu cuốn sách mà độc giả mượn đã hết hoặc mất thì người
14
Không có nhận xét nào:
Đăng nhận xét