NghÜa lµ kh«ng cã hai hµng nµo (trong mét b¶ng) t¬ng øng b»ng nhau trªn tÊt c¶ c¸c thuéc tÝnh. Trong nhiÒu trêng hîp mét thuéc tÝnh hay mét tËp con c¸c thuéc tÝnh trong b¶ng còng cã tÝnh[r]
(1)Chơng III
Hệ Cơ sở liệu quan hệ
Mô hình liệu quan hệ;
Cơ sở liệu quan hệ;
Bảng, thuộc tính, khoá, liên kết;
(2)Đ10 Cơ sở liệu QUAN Hệ
1 Mô hình liệu
Nh ó bit chơng I, việc xây dựng khai thác hệ CSDL thờng đợc tiến hành qua số bớc có tham gia nhiều ngời với mức hiểu biết khác CSDL Để nghiên cứu phát triển ứng dụng CSDL, cộng đồng ngời làm việc lĩnh vực CSDL cần trao đổi với yếu tố sau hệ CSDL:
CÊu tróc d÷ liƯu;
Các thao tác, phép toán liệu;
Các ràng buộc liệu
Vi mt h QTCSDL cụ thể, nh Access chẳng hạn, ta dùng ngôn ngữ định nghĩa liệu hệ QTCSDL để mô tả ba yếu tố nêu hệ CSDL Tuy nhiên bớc thiết kế, độc lập với hệ QTCSDL, ta cần mô tả ba yếu tố mức cao (trừu tợng) Nghĩa ta cần mơ tả CSDL mức mơ hình dữliệu
Mơ hình liệu tập khái niệm dùng để mô tả cấu trúc liệu, các thao tác liệu, ràng buộc liệu CSDL
Theo mức mô tả chi tiết CSDL, phân chia mô hình liệu thành hai loại:
Mô hình lôgic;
Mô hình vật lí
Cỏc mụ hỡnh lụgic (cũn gọi mơ hình liệu bậc cao) cho mơ tả CSDL mức khái niệm mức khung nhìn, mô tả chất lôgic liệu đợc lu trữ Các mơ hình vật lí (cịn gọi mơ hình liệu bậc thấp) cho mơ tả CSDL mức vật lí, trả lời cho câu hỏi "Dữ liệu đợc lu trữ nh nào?"
Có nhiều mơ hình liệu bậc cao nhng ta đề cập đến mơ hình liệu quan hệ mơ hình phổ biến thực tế xây dựng ứng dụng CSDL
2 Mô hình liệu quan hệ
Mụ hỡnh liệu quan hệ (gọi tắt mơ hình quan hệ) đợc E F Codd đề xuất năm 1970 Trong khoảng ba mơi năm trở lại đây, hệ CSDL xây dựng theo mơ hình quan hệ đợc dùng phổ biến Trong mơ hình quan hệ:
Về mặt cấu trúc: Dữ liệu đợc thể bảng Mỗi bảng bao gồm hàng cột thể thông tin chủ thể Các cột biểu thị thuộc tính chủ thể tên cột thờng tên thuộc tính Mỗi hàng biểu thị cho cá thể, gồm giá trị tơng ứng với cột Các thuật ngữ thuộc tính, bảng cịn có tên gọi khác tơng ứng trờng, ghi quan hệ
(3) Về mặt ràng buộc liệu: Dữ liệu bảng phải thoả mãn số ràng buộc Chẳng hạn, khơng đợc có hai bảng giống hoàn toàn; Với xuất lặp lại số thuộc tính bảng, mối liên kết bảng đợc xác lập Mối liên kết thể mối quan hệ chủ thể đợc CSDL phản ánh
3 Cơ sở liệu quan hệ
a) Khái niÖm
Cơ sở liệu đợc xây dựng dựa mơ hình liệu quan hệ gọi sở dữ liệu quan hệ Hệ QTCSDL dùng để tạo lập, cập nhật khai thác CSDL quan hệ gọi hệ QTCSDL quan hệ
Ngoài thuật ngữ quan hệ để bảng, thuộc tính để cột, ghi (bộ) để hàng, mơ hình liệu quan hệ ta sử dụng thuật ngữ miền để kiểu liệu thuộc tính Mỗi thuộc tính có miền, ví dụ miền thuộc tính họ tên CSDL lớp tập xâu, chẳng hạn xâu có khơng q 25 chữ Các miền thuộc tính khác khơng thiết phải khác
Một quan hệ hệ CSDL quan hệ có đặc trng sau:
Mỗi quan hệ có tên phân biệt với tên quan hệ khác;
Các phân biệt thứ tự không quan trọng;
Mỗi thuộc tính có tên phân biệt, thứ tự thuộc tính không quantrọng;
Quan hệ thuộc tính đa trị hay phức hợp
(4)Số thẻ M số sáchà Ngày mợn Ngày trả TV-02 TO-012
TN-103
5-9-2007 22-10-2007
30-9-2007 25-10-2007 TV-04 TN-103 12-9-2007 15-9-2007 TV-02 TN-102 24-9-2007 5-10-2007 TV-01 TO-012 5-10-2007
…
Hình Bảng có thuộc tính đa trị
Còn bảng hình 70 quan hệ có thuộc tính phứchợp Số thẻ M số sáchà Ngày mợn trả
Ngày mợn Ngày trả TV-02 TO-012 5-9-2007 30-9-2007 TV-04 TN-103 12-9-2007 15-9-2007 TV-02 TN-102 24-9-2007 5-10-2007 TV-01 TO-012 5-10-2007 12-10-2007
Hình Bảng cã thc tÝnh phøc hỵp
Có thể kể đến loạt hệ QTCSDL quan hệ thông dụng nh Oracle, Paradox, Visual DBase, nớc ta, thờng dùng số hệ QTCSDL quan hệ nh Foxpro, Microsoft SQL Server,
Microsoft Access đợc trình bày chơng II hệ QTCSDL quan hệ thông dụng
b) VÝ dô
Các bảng liệu đợc tạo lập thực hành 1, CSDL đợc giới thiệu chơng II CSDL quan hệ
Nh vậy, thực chất, chơng II, ta làm quen với nhiều khái niệm CSDL quan hệ hệ QTCSDL quan hệ Tuy nhiên, nội dung chủ yếu đề cập đến kĩ sử dụng hệ QTCSDL quan hệ (cụ thể Access) để tạo lập, cập nhật khai thác CSDL.Dới ví dụ đợc xem xét mức mơ hình để thấy đợc số nét đặc trng hệ CSDL quan h
Để quản lí việc học sinh mợn sách th viện trờng, thông thờng, th viện cần quản lí thông tin về:
Tình hình mợn sách: Số thẻ, mà số sách, ngày mợn, ngày trả sách
Các học sinh có thẻ mợn sách: Số thẻ, họ tên học sinh, ngày sinh, líp
S¸ch cã th viƯn: M· số sách, tên sách, số trang, tácgiả
Cú thể sử dụng ba bảng để lu trữ liệu tơng ứng với thơng tin cần quản lí nêu Giữa ba bảng có liên kết đợc minh ho hỡnh 71
Bảng MƯợN sách Đa trị
(5)Số thẻ M số sáchà Ngày mợn Ngày trả TV-02 TO-012 5-9-2007 30-9-2007 TV-04 TN-103 12-9-2007 15-9-2007 TV-02 TN-102 24-9-2007 5-10-2007 TV-01 TO-012 5-10-2007
Bảng ngời mợn Bảng sách
Số thẻ Họ tên Ngày sinh Lớp TV-01 Nguyễn Anh 10/10/1990 12A
TV-02 Trần Cơng 23/02/1991 11B TV-03 Lê Văn Bình 21/12/1990 12B TV-04 Nguyễn Thị Dung 30/01/19992 10C
… … … …
M sè Ã
sách Tên sách Số trang Tác giả TN-102 Dế mèn phiêu lu kí 235 Tô Hoài TN-103 Hai vạn dặm dới biển 123 Giuyn Vecno
TI-01 Những điều kì diệu máy tính 79 Nguyễn Thế Hùng
TO-012 Sáng tạo Toán học 305 Polia
Hình Liên kết bảng
Sự xuất lại thuộc tính Số thẻvà M số sáchà bảng Mợn sách bảng
Ngời mợn bảng Sách thể liên kết học sinh mợn sách sách th viện Nhờ liên kết mà ta biết đợc nhiều thông tin, chẳng hạn học sinh mợn sách đó, sách hc sinh no ú mn,
c) Khoá liên kết bảng
Khoá
Trong mt bảng, hàng thể thông tin đối tợng (cá thể) nên khơng thể có hai hàng giống hồn tồn Nghĩa khơng có hai hàng (trong bảng) tơng ứng tất thuộc tính Ta cịn nói tập tất thuộc tính bảng "phân biệt" (hay "nhận din") c cỏc i t-ng
Bảng ngời mợn
Số thẻ Họ tên Ngày sinh Lớp TV-01 Nguyễn Anh 10/10/1990 12A TV-02 Trần Cơng 23/02/1991 11B
… …
TV-56 NguyÔn Anh 21/8/1990 12A TV-91 NguyÔn Thị Dung 10/10/1990 12A
Hình
Tuy nhiờn, thông thờng không cần đến tập tất thuộc tính bảng để phân biệt đối tợng Trong nhiều trờng hợp thuộc tính hay tập thuộc tính bảng có tính chất
(6)Bảng MƯợN sách
Số thẻ M số sáchà Ngày mợn Ngày trả TV-02 TO-012 5-9-2007 30-9-2007 TV-04 TN-103 12-9-2007 15-9-2007 TV-02 TN-102 24-9-2007 5-10-2007 TV-01 TO-012 5-10-2007
… … … …
H×nh
Tập gồm hai thuộc tính số thẻ mã số sách cha đủ để phân biệt lần mợn sách học sinh mợn mn li mt quyn sỏch no ú
Bảng MƯợN sách
Số thẻ M số sáchà Ngày mợn Ngày tr¶ TV-02 TO-012 5-9-2007 30-9-2007 TV-04 TN-103 12-9-2007 15-9-2007 TV-02 TN-102 24-9-2007 5-10-2007 TV-02 TO-012 5-10-2007
… … … …
H×nh
Giả sử có quy định ngày học sinh đợc mợn sách khơng q sách với tập gồm ba thuộc tính số thẻ, m số sáchã , ngày mợn ta phân biệt đợc lần mợn sách đợc ghi bảng mợn sách
Nh thuộc tính bảng, ta quan tâm đến tập thuộc tính (có thể gồm thuộc tính) vừa đủ để phân biệt đợc Vừa đủ đợc hiểu khơng có tập nhỏ tập thuộc tính có tính chất phân biệt đợc bảng Trong bảng, tập thuộc tính đợc mơ tả đợc gọi khoá bảng
Khoácủa bảng tập thuộc tính gồm hay mét sè thc tÝnh cđa b¶ng cã hai tÝnh chất:
(1) Không có hai (khác nhau) bảng có giá trị khoá
(2) Không có tập thực tập thuộc tính có tính chất (1).
Trở lại ví dụ trên, bảng Ngời mợn có thuộc tính số thẻ khoá, khoá gồm thuộc tính Thuộc tính M số sáchà làm thành khoá bảng
Sách Khoá bảng Mợn sách gồm ba thuộc tính số thẻ, m số sáchà , ngày mợn
Khoá chính
Mt bng cú thể có nhiều khố Trong khố bảng ngời ta thờng chọn (chỉ định) khoá làm khoá chính (primary key) Trong hệ QTCSDL quan hệ, nhập liệu cho bảng, giá trị khố khơng đợc để trống Các hệ QTCSDL quan hệ kiểm sốt điều đảm bảo quán liệu, tránh trờng hợp thông tin đối tợng xuất lần sau cập nhật liệu Trong mơ hình quan hệ, ràng buộc nh liệu đợc gọi ràng buộc toàn vẹn thực thể (hay gọi ngắn gọn ràng buộc khố)
Chó ý
Học sinh có m Ã
TV-02 mợn hai lần
Häc sinh cã m ·
TV-02 mỵn cn s¸ch cã m TO-012·
(7)- Mỗi bảng có khố Việc xác định khố phụ thuộc vào quan hệ lôgic liệu không phụ thuộc vào giá trị liệu
- Nên chọn khoá khoá có thuéc tÝnh nhÊt
Liªn kÕt
Thực chất liên kết bảng dựa thuộc tính khố Chẳng hạn thuộc tính số thẻ khố bảng ngời mợn xuất lại bảng Mợn sách tạo nên liên kết hai bảng Cũng nh vậy, khoá m số sáchã bảng Sách xuất bảng Mợn sách thể mối quan hệ hai bảng Nhờ liên kết mà ta biết đợc học sinh mợn sách
Ví dụ, ta cần biết thơng tin đầy đủ học sinh mợn sách có mã số 'TO-012' Bộ bảng Mợn sách (h 71) cho biết học sinh có số thẻ 'TV-02' mợn sách có mã số 'TO-012' Trong bảng Ngời mợn, ta tìm thấy có giá trị thuộc tính số thẻ 'TV-02' Từ ta biết đợc ngời mợn sách mã số 'TO-012'vào ngày '5/9/2007' học sinh 'Trần Cơng', sinh ngày '23/02/1991', học lớp '11B' Nói cách khác, từ bảng mợn sách, ta tham chiếu đến khác bảng Ngời mợn qua giá trị thuộc tính số thẻ Trong mối liên kết nh hai bảng trên, ta coi bảng Nợn sách bảng liên kết, bảng
Ngời mợn bảng đợc tham chiếu đến (h 71)
Tơng tự, nhờ mối liên kết hai bảng mợn sách sáchđể biết đợc thông tin chi tiết sách mà ngời có số thẻ 'TV-02' mợn vào ngày '5/9/2007' Đối với mối liên kết này, bảng bảng Mợn sách, bảng đợc tham chiếu đến bảng Sách, thuộc tính đóng vai trị liên kết hai bảng m số sáchã Khi sử dụng đồng thời nhiều mối liên kết, ta kết nối đợc thông tin tuơng ứng với Chẳng hạn, nhờ hai mối liên kết bảng Mợn sách với bảng
Ngời mợn với bảng Sách, ta biết đợc thông tin đầy đủ: vào ngày '5/9/2007', học sinh 'Trần Cơng' sinh ngày '23/02/1991', lớp '11B'đã mợn sách 'Sáng tạo Toán học' gồm '305' trang trả sách vào ngày '30/9/2007'
Tóm lại, xem ba bảng liên kết chúng tạo thành CSDL quan hệ đơn giản, đợc lu trữ nhớ ngồi, phục vụ quản lí việc mợn sách th viện trờng học
Câu hỏi tập
1. Theo em, xét mô hình liệu ta cần quan tâm yếu tố nào?
2. HÃy nêu khái niệm mà em biết hệ CSDL quan hƯ
(8)Bµi tËp vµ thùc hành 10
Cơ sở liệu quan hệ
1 Mục đích, u cầu
BiÕt chän kho¸ cho bảng liệu toán quen thuéc;
Hiểu đợc khái niệm liên kết bảng;
Biết cách xác lập liên kết bảng thơng qua khố để tìm đợc thông tin liên quan đến cá thể đợc quản lí
2 Néi dung
Sở giáo dục tỉnh tổ chức kì thi để kiểm tra chất lợng mơn Tốn cho lớp 12 tỉnh Trong sở liệu quản lí kì kiểm tra có ba bảng với cấu trúc đợc cho nh sở liệu mẫu dới đây:
Bảng thí sinh
STT SBD Họ tên thí sinh Ngµy sinh Trêng HA10 HA11 HA12 HA14
Đỗ Hà Anh Lê Nh Bình Trần Thu Cúc Nguyễn Anh Quân 02-01-1990 21-11- 1990 14-05-1899 29-11-1990
Lª Hång Phong Phan Chu Trinh Phan Chu Trinh Lê Hồng Phong
Bảng Đánh phách Bảng ĐIểM thi
STT SBD phách STT phách ®iÓm HA10 HA11 HA12 HA14 S28 S27 S26 S25 S25 S26 S27 S28 10
Bảng Thí sinh đợc niêm yết cho tất thí sinh biết Bảng Đánh phách bí mật có ngời đánh phách Chủ tịch Hội đồng thi giữ Bảng Điểm thi có giáo viên Hội đồng chấm thi biết Có thể liên kết ba bảng để có đợc bảng kết kì thi dới
B¶ng KÕt qu¶ thi
STT SBD Họ tên thí sinh Ngày sinh Trờng Điểm HA10 HA11 HA12 HA14
Đỗ Hà Anh Lê Nh Bình Trần Thu Cúc Nguyễn Anh Quân
02-01-1990 21-11- 1990 14-05-1899 29-11-1990
Lª Hång Phong Phan Chu Trinh Phan Chu Trinh Lª Hång Phong
(9)
Bµi 1
Em chọn khoá cho bảng sở liệu giải thích lí lựa chọn
Bµi 2
Em mối liên kết cần thiết ba bảng để có đợc kết thi thơng báo cho thí sinh
Bµi 3
Hãy dùng hệ quản trị CSDL Access để làm việc sau:
Tạo lập sở liệu nói trên: gồm ba bảng (mỗi bảng với khoá chọn), thiết đặt mối liên kết cần thiết, đa liệu giả định (khoảng 10 thí sinh);
Đa kết thi để thơng báo cho thí sinh;
§a kÕt qu¶ thi theo trêng;
(10)Đ11 Các thao tác
với sở liÖu quan hÖ
Nh giới thiệu chơng II, công cụ hệ QTCSDL quan hệ cho phép thực thao tác: tạo lập, cập nhật khai thác CSDL
1 T¹o lËp CSDL
Tạo bảng
Bc u tiờn vic tạo lập CSDL quan hệ tạo hay nhiều bảng Để thực điều đó, cần phải xác định khai báo cấu trúc bảng, chọn kiểu liệu cho trờng Nói cách khác, cầnphải khai bỏo cu trỳc bng, bao gm:
o Đặt tên trờng;
o Ch nh kiu d liu cho trờng;
o Khai b¸o kÝch thíc cđa trêng
Một ví dụ giao diện để tạo bảng nh hình 75
H×nh VÝ dơ giao diện tạo bảng Access
Chọn khố chính cho bảng cách để hệ QTCSDL tự động chọn ta xác định khố thích hợp khố bảng làm khố
Đặt tên bảng lu cấu trúc bảng
Tạo liên kết bảng cách xác định trờng chung bảng Liên kết giúp hệ QTCSDL biết kết nối bảng nh để phục vụ việc kết xuất thơng tin
Ngồi ra, nh đợc giới thiệu chơng II, hệ QTCSDL cho phép ta thay đổi cấu trúc bảng, thay đổi khố xố bảng
Tªn tr êng
(11)2 CËp nhËt d÷ liƯu
Sau cấu trúc bảng đợc khai báo, nhập liệu cho bảng Thông thờng việc cập nhật liệu đợc thực từ bàn phím Q trình cập nhật liệu đợc hệ QTCSDL kiểm soát để đảm bảo ràng buộc toàn vẹn
Phần lớn hệ QTCSDL cho phép tạo biểu mẫu nhập liệu (h 76) để làm cho công việc nhập liệu trở nên dễ dàng hơn, nhanh hạn chế bớt khả nhầm lẫn
Hình Biểu mẫu nhập liệu hệ QTCSDL Foxpro Dữ liệu nhập vào c chnh sa, thờm, xoỏ:
Thêm ghi cách bổ sung một vài liệu vào bảng
Chnh sa d liu l việc thay đổi giá trị vài thuộc tính mà khơng phải thay đổi tồn giá trị thuộc tính cịn lại ú
Xoá ghi việc xoá bảng
3 Khai thác CSDL
a) Sắp xếp ghi
(12)Hình Dữ liệu đợc xếp tên theo bảng chữ
VÝ dơ, cã thĨ xếp danh sách học sinh theo bảng chữ trờng tên (h.77), theo thứ tự giảm dần ngµy sinh
b) Truy vÊn CSDL
Truy vấn phát biểu thể yêu cầu ngời dùng Truy vấn mô tả liệu đặt tiêu chí để hệ QTCSDL thu thập liệu thích hợp Nói cách khác, dạng lọc, có khả thu thập thơng tin từ nhiều bảng CSDL quan hệ
Chẳng hạn, khai thác CSDL th viện, ngời thủ th tạo truy vấn để liệt kê danh sách học sinh mợn sách hạn Danh sách kèm theo thông tin liên quan nh tên sách mợn, ngày mợn,
Để phục vụ đợc việc truy vấn CSDL, thông thờng hệ QTCSDL cho phép nhập biểu thức hay tiêu chí nhằm cỏc mc ớch sau:
Định vị ghi;
Thiết lập liên kết bảng để kết xuất thơng tin;
LiƯt kª mét tập ghi tập trờng;
Thùc hiƯn c¸c phÐp to¸n;
Thùc thao tác quản lí liệu khác
Hệ QTCSDL quan hệ hỗ trợ việc khai báo truy vấn qua cửa sổ với hệ thống bảng chọn thích hợp Trong đó, ta chọn bảng cột thuộc tính liên quan đến liệu cn cho truy
SQL công cụ mạnh hệ QTCSDL quan hệ thông dụng Nã cho phÐp ngêi dïng thĨ hiƯn truy vÊn mà không cần biết nhiều cấu trúc CSDL
c) Xem d÷ liƯu
(13) Cã thể xem toàn bảng, nhiên với bảng có nhiều trờng kích thớc trờng lớn việc xem toàn bảng khó thực hiện, hình hiển thị phần bảng
Có thể dùng cơng cụ lọc liệu để xem tập ghi số trờng bảng
Các hệ QTCSDL quan hệ quen thuộc cho phép tạo biểu mẫu để xem ghi Các biểu mẫu giống với biểu mẫu nhập liệu mặt thiết kế, khác chúng đợc sử dụng để hiển thị liệu sẵn có khơng phải để tiếp nhận liệu Ta tạo chế độ hiển thị liệu đơn giản, dễ hiểu, hiển thị lần ghi Dùng biểu mẫu phức tạp hiển thị thơng tin có liên quan đợc kết xuất từ nhiều bảng
Hình Ví dụ biểu mẫu hiển thị liệu d) Kết xuất báo cáo
Thụng tin báo cáo đợc thu thập cách tập hợp liệu theo tiêu chí ngời dùng đặt Báo cáo thờng đợc in hay hiển thị hình theo khn mẫu định sẵn Cũng nh biểu mẫu, báo cáo xây dựng dựa truy vấn
(14)H×nh Ví dụ báo cáo
Câu hỏi vµ bµi tËp
1. Hãy nêu cơng việc (trong gia đình hay xã hội) dùng máy tính để quản lí
2. Trong tốn quản lí câu hỏi 1, cho biết đối t ợng cần quản lí thơng tin cần lu trữ
3. Khi thơng tin CSDL nói cần đợc cập nhật cập nhật gì?
4. Khi cần kết xuất thông tin từ CSDL nói thơng tin đợc kết xuất Hãy phác thảo số mẫu báo cáo cần có
(15)Ch¬ng IV
KiÕn tróc bảo mật
các hệ Cơ sở liƯu
KiÕn tróc tËp trung vµ kiÕn trúc phân tán;
Bảo mật CSDL:
Chính sách ý thức;
Bảng phân quyền;
MÃ hoá nén liệu; Biên hệ thống.
Đ12 Các loại kiến trúc
của hệ sở dữ liệu
(16)Với quy mô lớn, tổ chức xây dựng CSDL lớn lu trữ máy tính có cấu hình mạnh hệ thống CSDL gồm nhiều CSDL nhỏ đặt nhiều nơi cách xa đợc liên kết với
Cã hai lo¹i kiÕn tróc hƯ CSDL: tËp trung phân tán
Tu theo quy mụ v c thù hoạt động, tổ chức lựa chọn kiến trúc hệ CSDL phù hợp
1 C¸c hƯ CSDL tËp trung
Với hệ CSDL tập trung, toàn liệu đợc lu trữ máy dàn máy Những ngời dùng từ xa truy cập vào CSDL thông qua phơng tiện truyền thơng liệu Nói chung có ba kiểu kiến trúc tập trung:
a) Hệ sở liệu cá nhân hệ CSDL có ngời dùng Thơng thờng, ngời vừa thiết kế, tạo lập, cập nhật bảo trì CSDL, đồng thời ngời khai thác thông tin, tự lập hiển thị báo cáo Nói cách khác, cá nhân đóng vai trị ngời quản trị CSDL đồng thời ngời viết chơng trình ứng dụng ngời dùng đầu cuối hệ thống Việc phát triển sử dụng hệ CSDL cá nhân đơn giản dễ dàng, nhiên tính an tồn thờng khơngcao
Hình Hệ sở liệu cá nhân
(17)Hình Hệ sở liƯu trung t©m
c) Hệ sở liệu khách-chủ Trong kiến trúc khách-chủ, thành phần (của hệ QTCSDL) tơng tác với tạo nên hệ thống gồm thành phần yêu cầu tài nguyên thành phần cấp tài nguyên Hai thành phần không thiết phải cài đặt máy tính
Thành phần cấp tài nguyên thờng đợc cài đặt máy chủ mạng (cục bộ) Thành phần quản trị CSDL máy chủ tiếp nhận xử lí yêu cầu sở liệu, sau gửi kết lại cho máy khách Các xử lí máy chủ bao gồm việc kiểm tra quyền truy cập liệu, đảm bảo tính tồn vẹn liệu, bảo trì hệ thống, thực truy vấn cập nhật Ngồi cịn cung cấp dịch vụ điều phối cập nhật đồng thời khôi phục liệu
Thành phần yêu cầu tài nguyên cài đặt nhiều máy khác mạng (ta gọi máy khách)
Phần mềm quản trị CSDL máy khách quản lí giao diện thực chơng trình ứng dụng CSDL Nó tiếp nhận u cầu ngời dùng, xử lí gửi thông báo đến máy chủ yêu cầu tài nguyên, chờ nhận trả lời từ máy chủ định dạng liệu đa cho ngời dùng
Kiến trúc loại có số u điểm sau:
Khả truy cập rộng rãi đến CSDL;
(18) Chi phí cho truyền thông đợc giảm phần thao tác đợc giải máy khách;
Nâng cao khả đảm bảo tính qn liệu ràng buộc đợc định nghĩa kiểm tra máy chủ;
Víi kiÕn tróc nµy, viƯc bổ sung thêm máy khách dễ dàng
Hình Hệ CSDL khách-chủ
2 Các hệ CSDL phân tán
a) Khái niệm sở liệu phân tán
(19)Hình Cơ sở liệu phân tán
Trờn thc t s phỏt triển mạng máy tính tạo hội cho phơng thức làm việc có tính phân tán Cách tạo lập hệ thống CSDL phân tán mặt vật lí phản ánh cấu trúc tổ chức có phòng ban, chi nhánh, dự án, đặt vị trí khác Các hệ CSDL phân tán cho phép truy cập đợc liệu tất đơn vị Những liệu đợc đơn vị sử dụng nhiều đợc lu trữ đơn vị Điều làm tăng hiệu truy cập liệu
CSDL phân tán tập hợp liệu có liên quan (về lơgic) đợc dùng chung phân tán mặt vật lí mng mỏy tớnh
Một hệ QTCSDL phân tán hệ thống phần mềm cho phép quản trị CSDL phân tán làm cho ngời dùng không nhận thấy phân tán
Ngi dựng truy cp vào CSDL phân tán thơng qua chơng trình ứng dụng Các chơng trình ứng dụng đợc phân thành hai loại:
Chơng trình không yêu cầu liệu từ nơi khác;
Chơng trình có yêu cầu liệu từ nơi khác
(20)ti ni mở tài khoản (Hà Nội chẳng hạn), nhng thực giao dịch chi nhánh đặt thành phố khác (Đà Nẵng chẳng hạn)
Hình Hệ CSDL phân tán
Cn phi phõn biệt CSDL phân tán với xử lí phân tán Điểm quan trọng khái niệm CSDL phân tán chỗ liệu đợc chia đặt trạm khác mạng Nếu liệu tập trung trạm ngời dùng trạm khác truy cập đợc liệu này, ta nói hệ CSDL tập trung xử lí phân tán CSDL phân tán
Cã thể chia hệ CSDL phân tán thành hai loại chính: hỗn hợp
H CSDL phân tán nhất: hệ CSDL thành viên có hệ QTCSDL
HƯ CSDL ph©n tán hỗn hợp: hệ CSDL thành viên có hệ QTCSDL khác
Hình Hệ CSDL tập trung xử lí phân tán b) Một số u điểm hạn chế hệ CSDL phân tán
Sự phân tán liệu ứng dụng có số u điểm so với hệ CSDL tập trung:
Cấu trúc phân tán liệu thích hợp cho chất phân tán nhiều ng-êidïng
Dữ liệu đợc chia sẻ mạng nhng cho phép quản trị liệu địa ph-ơng (dữ liệu đặt trạm)
Dữ liệu có tính tin cậy cao trạm gặp cố, khơi phục đợc liệu đợc lu trữ trạm khác
Dữ liệu có tính sẵn sàng cao CSDL tập trung, trạm làm việc gặp cố cơng việc trạm bị ngừng lại, hệ CSDL phân tán đợc thiết kế để hệ thống tiếp tục làm việc đợc Nếu trạm mạng bị hỏng hệ thống u cầu liệu từ trạm khác
Hiệu hệ thống đợc nâng cao Trớc hết, liệu đợc lu trữ gần với nơi thờng yêu cầu nó, đồng thời hệ CSDL phân tán trạm thực song song nên tốc độ truy cập vào liệu nhanh trờng hợp sử dụng hệ CSDL tập trung Ngoài ra, trạm nắm giữ phần khơng phải tồn liệu hệ thống nên giảm bớt đợc tranh chấp tài nguyên nh hệ CSDL tập trung
Cho phép mở rộng tổ chức cách linh hoạt Có thể thêm nút vào mạng máy tính mà không ảnh hởng đến hoạt động nút sẵn có
So víi c¸c hƯ CSDL tËp trung, hệ CSDL phân tán có số hạn chế:
Hệ thống phức tạp phải làm ẩn phân tán liệu ngời dùng
(21) Đảm bảo an ninh khó khăn Đối với hệ CSDL phân tán vấn đề an ninh chung mạng máy tính cịn cần đảm bảo an ninh có truy cập đến đặt vị trí khác
Đảm bảo tính quán liệu khó
Câu hỏi tập
1. Nêu khác hệ CSDL tập trung hệ CSDL phân tán
2. Tại chi phí truyền thông hệ CSDL khách-chủ giảm?
(22)Đ13 Bảo mật thông tin
trong hệ sở liệu
Bo mt l đề chung cho hệ CSDL hệ thống khác Bảo mật CSDL là:
Ngăn chặn truy cập khơng đợc phép;
H¹n chÕ tối đa sai sót ngời dùng;
Đảm bảo thông tin không bị bị thay đổi ngồi ý muốn;
Kh«ng tiÕt lé néi dung liệu nh chơng trình xử lí;
Các giải pháp chủ yếu cho bảo mật hệ thống sách ý thức, phân quyền truy cập nhận dạng ngời dùng, mà hoá thông tin nén liệu, lu biên
1 Chính sách ý thức
Việc bảo mật thực giải pháp kĩ thuật phần cứng lẫn phần mềm Tuy nhiên hiệu việc bảo mật phụ thuộc nhiều vào chủ tr-ơng, sách chủ sở hữu thông tin ý thức cña ngêi dïng
cấp quốc gia, bảo mật phụ thuộc vào quan tâm Chính phủ việc ban hành chủ trơng, sách, điều luật quy định Nhà nớc bảo mật Trong tổ chức, ngời đứng đầu cần có quy định cụ thể, cung cấp tài chính, nguồn lực,… cho việc bảo vệ an tồn thơng tin đơn vị
Ngời phân tích, thiết kế ngời quản trị CSDL phải có giải pháp tốt phần cứng phần mềm thích hợp để bảo mật thông tin, bảo vệ hệthống
Ngời dùng cần có ý thức coi thơng tin tài ngun quan trọng, cần có trách nhiệm cao, thực tốt quy trình, quy phạm ngời quản trị hệ thống yêu cầu, tự giác thực điều khoản pháp luật quy định
2 Ph©n qun truy cập nhận dạng ngời dùng
Cỏc h QTCSDL có chế cho phép nhiều ngời khai thác CSDL, phục vụ nhiều mục đích đa dạng Tuỳ theo vai trò khác ngời dùng mà họ đợc cấp quyền khác để khai thác CSDL
Ví dụ, số hệ quản lí học tập giảng dạy nhà trờng cho phép phụ huynh truy cập để biết kết học tập em Mỗi phụ huynh có quyền xem điểm em khối em học Đây quyền truy cập hạn chế (mức thấp nhất) Các thầy giáo trờng có quyền truy cập cao hơn: xem kết thông tin khác học sinh tr-ờng Ngời quản lí học tập có quyền nhập điểm, cập nhật thông tin khác CSDL
(23)bổ sung, sửa đổi Mỗi ghi bảng phân quyền xác định quyền nhóm ngời sử dụng loại liệu CSDL Các quyền thờng đọc (Đ), sửa (S), bổ sung (B), xoá (X), khơng đợc truy cập (K)
Gi¶ sư cã năm nhóm ngời dùng CSDL nói trên, phụ huynh học sinh khèi 10 (K10), phô huynh häc sinh khèi 11 (K11), phụ huynh học sinh khối 12 (K12), giáo viên, ngời quản trị
Bng phõn quyn truy cp có dạng sau (để ngắn gọn, không nêu cụ thể trờng lu trữ điểm mà ch núi chung l "Cỏc im s"):
Bảng phân quyền truy cập
MÃ HS Các điểm số Các thông tin khác
K10 Đ Đ K
K11 § § K
K12 § § K
Gi¸o viên Đ Đ Đ
Ngời quản trị ĐSBX ĐSBX §SBX
Có thể xem việc mơ tả khung nhìn khác cho ngời dùng khác cách phân quyền truy cập CSDL Do vậy, việc định nghĩa khung nhìn góp phần tạo chế bảo vệ CSDL
Khi có ngời truy cập CSDL, điều quan trọng l hệ QTCSDL phải "nhận dạng"à đợc ngời dùng, tức phải xác minh đợc ngời truy cập thực ngời đợc phân quyền Đảm bảo đợc điều nói chung khó khăn Một giải pháp thờng đợc dùng sử dụng mật khẩu, ngời dùng có mật ngời hệ thống đợc biết mật
Ngồi mật cịn có khái niệm ngày trở nên quen thuộc chữ kí điện tử Chữ kí điện tử cơng cụ để hệ thống nhận dạng ngời truy cập khẳng định liệu nhận đợc thực Chữ kí điện tử chuỗi bit, xâu kí tự, âm hình ảnh đặc trng cho ngời dùng có ngời cung cấp Ngồi ra, ngời ta cịn dùng phơng pháp nhận dạng dấu vân tay, nhận dạng ngơi nhận dạng giọng nói để xác minh ngời truy cập có ngời dùng đăng kí với h thng hay khụng
Ngời quản trị hệ CSDL cần cung cấp:
Bảng phân quyền truy cập cho hÖ QTCSDL;
Phơng tiện cho ngời dùng để hệ QTCSDL nhận biết đợc họ Ngời dùng muốn truy cập vào hệ thống cần khai báo:
Tªn ngêi dïng;
MËt khÈu
(24)Chó ý:
§èi víi nhãm ngêi có quyền truy cập cao chế nhận dạng phức tạp
H QTCSDL cung cấp cho ngời dùng cách thay đổi mật Do ngời dùng nên sử dụng khả để định kì thay đổi mật khẩu, tăng cờng khả bo v mt khu
3 MÃ hoá thông tin nén liệu
Cỏc thụng tin quan trng nhạy cảm thờng đợc lu trữ dới dạng mã hố để giảm khả rị rỉ Có nhiều cách mã hoá khác lớp 10 ta làm quen cách để bảo vệ thông tin mã hố theo quy tắc vịng trịn, thay kí tự kí tự khác, cách kí tự số vị trí xác định bảng chữ Dới ta xét thêm cách mã hoá khác nén liệu để giảm dung l ợng nhớ lu trữ liệuđó
Mã hố độ dài loạt cách nén liệu tệp liệu có kí tự đợc lặp lại liên tiếp Xét dãy BBBBBBBBAAAAAAAAAAACCCCCC có ba dãy con, dãy đầu kí tự B lặp lại lần, dãy thứ hai kí tự A lặp lại 11 lần dãy thứ ba kí tự C lặp lại lần Ta mã hố dãy kí tự có tính chất nh cách thay dãy kí tự với số lần lặp lại Chẳng hạn, mã dãy 8B11A6C
Ngồi mục đích giảm dung lợng lu trữ, nén liệu góp phần tăng cờng tính bảo mật liệu Khi có liệu dạng nén, cần biết quy tắc nén có liệu gốc đợc
Chó ý:
Các liệu thờng đợc mã hoá nén chơng trình riêng 4 Lu biên bản
Ngoài giải pháp nêu trên, ngời ta tổ chức lu biên hệ thống Thông thờng, biên hệ thống cho biết:
Số lần truy cập vào hệ thống, vào thành phần hệ thống, vào yêu cầu tra cứu,
Thông tin số lần cập nhật cuối cùng: néi dung cËp nhËt, ngêi thùc hiƯn, thêi ®iĨm cËp nhËt,
Biên hệ thống hỗ trợ đáng kể cho việc khơi phục hệ thống có cố kĩ thuật, đồng thời cung cấp thông tin cho phép đánh giá mức độ quan tâm ngời dùng hệ thống nói chung với thành phần hệ thống nói riêng Dựa biên này, ngời quản trị phát truy cập khơng bình thờng (ví dụ q thờng xuyên quan tâm đến số loại liệu vào số thời điểm định), từ có biện pháp phịng ngừa thích hợp
(25)Để nâng cao hiệu bảo mật, tham số hệ thống bảo vệ phải thờng xuyên đợc thayđổi
Cần lu ý giải pháp phần cứng lẫn phần mềm cha đảm bảo hệ thống đợc bảo vệ an toàn tuyệt đối
Câu hỏi tập 1. HÃy nêu giải pháp bảo mật chủ yếu
2. Vi v trí ngời dùng, em làm để10 bảo vệ hệ thống khai thác CSDL?
3. Biên hệ thống dùng để làm gì?
4. Cho ví dụ để giải thích lí cần phải thờng xuyên thay đổi tham số hệ thống bảo vệ
Bài tập thực hành 11
bảo mật sở liệu
1 Mc ớch, yờu cầu
Qua tốn quản lí sở kinh doanh, HS cần đạt đợc yêu cầu sau:
Hiểu thêm khái niệm tầm quan trọng bảo mật CSDL;
Biết số cách thông dụng bảo mật CSDL;
Cú thỏi đắn việc sử dụng bảo mật CSDL
2 Néi dung
Bµi 1
Một cửa hàng bán buôn hàng điện tử thờng xuyên nhận hàng từ số công ti bán lại cho khách hàng Hàng nhập xuất trực tiếp từ kho cửa hàng (để toán đơn giản, hạn chế có thủ kho kiêm ngời giao hàng) Cửa hàng xây dựng CSDL BANHANG gồm bng sau:
Bảng HANG (quản lí loại hàng lu thông cửa hàng)
MaHang TenHang DonVi GiaMua HangSX GiaBan (M hàng)ã (Tên hàng) (Đơn vị tính) (Giá mua đơn vị) (H ng sản xuất)ã (Giá bán đơn vị)
(1) (2) (3) (4) (5) (6)
(26)Bảng CONGTI (quản lí công ti cung cÊp hµng)
MaCT TenCT DiaChiCT DienThoaiCT TaiKhoanCT (M Công ti)Ã (Tên Công ti ) (Địa Công ti) (Số điện thoại Công ti) (Tài khoản Công ti)
(1) (2) (3) (4) (5)
B¶ng PHIEUNHAP (qu¶n lí phiếu nhập hàng vào kho) SoPhieuNhap MaCT MaHang SoLuong NgayNhap (Sè phiÕu nhËp) (M C«ng ti )· (M hàng)Ã (Số lợng) (Ngày nhập)
(1) (2) (3) (4) (5)
Bảng PHIEUXUAT (quản lí phiếu xuất hàng khỏi kho giao cho khách) SoPhieuXuat NgayNhap MaKhach MaHang SoLuong GiaBan (Số phiếu xuất) (Ngày xuất) (M Khách hàng)ã (M hàng)ã (Số lợng) (Giá bán đơn vị)
(1) (2) (3) (4) (5) (6)
Các đối tợng sử dụng chơng trình quản lí CSDL BANHANG là:
Khách hàng;
Các công ti cung cấp hàng cho cửa hàng;
Thủ kho (kiêm ngời giao hàng);
Kế toán;
Ngời quản lí cửa hàng
Theo em, mi i tng u cầu chơng trình có chức gỡ?
Bài 2
Giả sử chơng trình có chức năng:
Khỏch hng c bit tờn, số lợng mặt hàng cửa hàng, số thông tin cần thiết mặt hàng
Các cơng ti cần biết tình hình cung cấp hàng cho cửa hàng
Thủ kho kiêm ngời giao hàng biết đợc tình hình hàng nhập xuất tồn kho
Kế tốn biết đợc tình hình thu, chi
Ngời quản lí cửa hàng biết đợc thơng tin, đặc biệt quan tâm tình hình xuất/nhập loại mặt hàng, tình hình lãi/lỗ mặt hàng
B¶o mËt CSDL
Nếu chức bảo mật CSDL đợc thực bảng phân quyền, đối tợng nêu đợc trao quyền nh nào?
(27)Dới bảng thể phân quyền, theo em có điểm cha phù hợp, sao?
HANG KHACH CONGTI PHIEUNHAP PHIEUXUAT
Khách hàng Đ(K6) K K K K
Công ti K K K K K
Thủ kho+Giao hàng Đ(K6) § § § §
KÕ to¸n § § § §, B, S, X §, B, S, X
Qu¶n lÝ §, B, S, X §, B, S, X §, B, S, X Đ Đ
Bài 3
Khi xây dựng CSDL BANHANG nh trên, ngời ta thờng tạo biểu mẫu đợc mở mở CSDL (giả sử biểu mẫu Trangdau), với nút lệnh yêu cầu ngời dùng khai báo định danh (tên, mật khẩu) xác định quyền truy cập Sau khai báo, biểu mẫu đợc mở (giả sử OpenCSDL) hiển thị danh sách chức tơng ứng với "định danh quyền truy cập" đợc phép sử dụng Ngời dùng tiếp tục chọn chức làm xuất cửa sổ thích hợp cho truy cập phần liệu với mức phân quyền mà ngời lập trình dành cho