Mô hình dữ liệu quan hệ do E.F codd đề xuất năm 1970 + cấu trúc dữ liệu: dữ liệu được thể hiện trong các bảng.. + một số thuật ngữ sử dụng trong mô hình dữ liệu quan hệ: • Quan hệ để chỉ
Trang 1BÀI 10 CƠ SỞ DỮ LIỆU QUAN HỆ
1 Mô hình dữ liệu quan hệ( do E.F codd đề xuất
năm 1970)
+ cấu trúc dữ liệu: dữ liệu được thể hiện trong các bảng
Mỗi bảng bao gồm các hàng và các cột thể hiện thông tin
về một chủ thể Các cột biểu thị các thuộc tính của chủ thể
và tên cột là tên của thuộc tính Mỗi hàng biểu thị cho 1 các
thể, gồm một bộ giá trị tương ứng với các cột
+ thao tác trên dữ liệu: có thể cập nhật dữ liệu như thêm,
xóa, hay sửa bản ghi trong một bảng Các kết quả tìm kiếm
thông tin qua truy vấn vấn dứ liệu có được nhờ thực hiện
các thao tác trên dữ liệu
+ các ràng buộc dữ liệu : dữ liệu trong các bảng phải thỏa
mãn một số ràng buộc, chẳng hạn : không được có 2 bộ nào
trong 1 bảng giống nhau hoàn toàn Với sự xuất hiện lặp lại
của một số thuộc tính ở các bảng, mối liên kết giữa các
bảngđược xác lập Mối liên kết này thể hiện mối quan hệ
giữa các chủ thể được CĐL phản ánh
-ví dụ Hệ QTCSDL quan hệ : microsort, access, foxpro,
SQL serve, parodox, visual
2 Cơ sở dữ liệu quan hệ
a) Khái niệm
+ Cơ sở dữ liệu được xây dựng dựa trên mô hình dữ liệu
quan hệ gọi là cơ sở dữ liệu quan hệ Hệ QTCSDL dùng
để tạo lập, cập nhật và khai thác CSDL quan hệ gọi là hệ
QTCSDL quan hệ.
+ một số thuật ngữ sử dụng trong mô hình dữ liệu quan
hệ:
• Quan hệ để chỉ bảng
• Bộ( bản ghi) chỉ hàng
• Thuộc tính chỉ cột
• Miền chỉ kiểu dữ liệu
+ Một quan hệ (bảng) trong hệ CSDL quan hệ có các đặc
trưng chính:
• Mỗi quan hệ Có tên để phân biệt với tên các
quan hệ khác;
• Các bộ (hàng) là phân biệt , thứ tự các bộ không
quan trọng
• Mỗi thuộc tính (cột) có một tên để phân biệt;thứ
tự các thuộc tính không quan trọng
• Quan hệ không có thuộc tính đa tri hay phức hợp
c) Khóa và liên kết giữa các bảng
* Khóa: là tập các thuộc tính vừa đủ để phân biệt
hay nhận diện các bộ (hàng) trong một bảng(quan hệ) với
nhau
* Khóa chính của 1 bảng hay 1 quan hệ là 1
thuộc tính khóa mà dữ liệu ở trường khóa chính không
được để trống
*tại sao phải đặt khóa chính :Đặt khóa chính để
xác nhận giá trị của trường là duy nhất.Có nghĩa là field
nào bạn đã đặt khóa chính thì bạn không được nhập trùng
dữ liệu (VD:trong field Mã Môn Học,nếu bạn đặt chữ V chỉ
là môn văn thì bạn không được đặt chữ V để chỉ môn khác
nữa)
*tại sao phải đặt khóa
* Liên kết
Liên kết giữa các bảng là liên kết được tạo ra là kết xuất
tổng hợp từ 2 hay nhiều bảng khác nhau trong cùng 1
CSDL nhằm tránh dư thừa dữ liệu , đảm bảo sự nhất quán
giữa các dữ liệu
- Để quản lí việc học sinh mượn sách ở thư viện của một trường, thông thường thư viện cần quản lí những thuộc tính nào?
Tình hình mươn sách : số thẻ, mã số sách, ngày mượn, ngày trả
Các học sinh có thẻ mượn sách: số thẻ Họ tên, ngày sinh, lớp
Sách có trong thư viện : mã số sách, tên sách, số trang , tác giả
- Quan sát bảng sau:
Bảng KHACH_HANG
- Khóa là trường Mã khách hàng, Họ tên (nếu không bị trùng), Địa chỉ (nếu không có ai ở cùng địa chỉ)
BÀI 11 CÁC THAO TÁC VỚI CƠ SỞ DỮ LIỆU
QUAN HỆ
1 Tạo lập CSDL
Tạo bảng
o Đặt tên các trường;
o Chỉ định kiểu dữ liệu cho mỗi trường;
o Khai báo kích thước của trường
Chọn khóa chính: Hệ QTCSDL tự động chọn hoặc ta xác định khóa thích hợp trong các khóa của bảng
Đặt tên bảng và lưu cấu trúc bảng
Tạo liên kết giữa các bảng: xác định các đường chung trong các bảng;
Ngoài ra còn có các thao tác khác như : thêm/xóa trường, thay đổi thứ tự trường, thay đổi khóa chính; xóa và đổi tên bảng
2 Cập nhật dữ liệu:
+ có 2 cách :
Cách 1: thực hiện qua bảng Cách 2: thực hiện thông qua biểu mẫu ( chính xác hơn, nhanh hơn, tránh đk sai sót)
- Các thao tác:
+Thêm bản ghi bằng cách bổ sung 1 hoặc một vài bộ
dữ liệu vào bảng
+chỉnh sửa dữ liệu là việc thay đổi các giá trị của 1
vài thuộc tính của 1 bộ mà không phải thay đổi toàn
bộ giá trị các thuộc tính còn lại của bộ đó
+xóa bản ghi: xóa 1 hoặc 1 số bộ của bảng
3 Khai thác cơ sở dữ liệu
a) Sắp xếp các bản ghi: là sắp xếp các bản ghi theo 1 trình
tự nào đó có thể theo 1 hoặc nhiều điều kiện tùy theo tổ chức
Vidu: sắp xếp danh sách học sinh theo bảng chữ cái của trường Ten, hoặc theo thứ tự giảm dần của ngaysinh
b) Truy vấn cơ sở dữ liệu:
kn: là 1 phát biểu thể hiện yêu cầu của người dùng với
CSDL nhầm
-mục đích:
+định vị các bản ghi + thiết lập liên kết giữa các bảng để kết xuất thông tin +liệt kê 1 tập con các bản ghi hoặc tập hợp con các trường
Trang 2+ thực hiện accs phép toán
+thực hiện các thao tác quản lí dữ liệu khác
- SQL là công cụ cho phếp người dùng thực hiện truy vấn
mà không caand hiểu biết nhiều về cấu trúc CSDL
c) Xem dữ liệu
+ có thể xem toàn bộ bảng ( nhưng nếu nhiều trường kích
thước lớn thì khó xem, màn hình chỉ hiện 1 phần của bảng)
+dùng công cụ lọc dữ liệu để xem 1 tập con các bản ghi
hoặc 1 số trường trong bảng
+tạo ra các biểu mẫu để xem bản ghi( chỉ dùng để hiển thị
dữ liệu có sẵn)
d) Kết xuất báo cáo
thông tin trong 1 báo cáo được thu thập bằng cách tập hợp
dữ liệu theo các tiêu chí người dùng đặt ra Bái cáo có thể
được in ra hoặc hiển thị trên màn hình theo khuôn mẫu
định sẵn
BÀI 13 BẢO MẬT THÔNG TIN
TRONG CÁC HỆ CƠ SỞ DỮ LIỆU
Bảo mật trong hệ CSDL là:
Ngăn chặn các truy cập không được phép;
Hạn chế tối đa các sai sót của người dùng;
Đảm bảo các thông tin không bị mất hoặc bị
thay đổi ngoài ý muốn;
Không tiết lộ nội dung dữ liệu cũng như
chương trình xử lí
1 Chính sách và ý thức
+ở cấp quốc gia: chính hủ ban hành các chủ trương,
chính sách điều luật quy định của Nhà nước vè bảo
mạt
+người phân tích, thiết kế và người QTCSDL phải
có các giải pháp tốt về phần cứng và phần mềm thích
hợp để bảo mật thông tin, bảo vj hệ thống.
+Người dùng: cần có ý thức coi thông tin là một tài
nguyên quan trọng, cần có trách hiệm cao, thực hiện
tốt các quy trình, quy phạm do người quan trị hệ
thống yêu cầu , tự giác thực hiện các điều khoản do
PL quy định
2 Phân quyền truy cập và nhận dạng người dùng
*Đặc điểm:
- Là bảng dữ liệu trong CSDL
- Được quản lí chặt chẽ Không gt công khai
- Mỗi bản ghi trong bản phân quyền thể hiện quyền
dùng của 1 nhóm người khác nhau( đọc, xóa, sửa,
bổ sung )
*Phương tiện để nhận dạng người dùng
- Mật khẩu
- Chữ kí điiện tử
- Nhận dạng con ngươi
- Giọng nói, dấu vân tay
* Người quản trị 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 đúng được họ (Tài khoản và mật khẩu)
* người dung muốn truy cập được vào hệ thống cần :
+Tên đăng nhập +Mật khẩu
3 Mã hóa thông tin và nén dữ liệu
Ví dụ:
+ Thông tin ở dạng văn bản, hình ảnh, âm thanh khi đưa vào máy tính, chúng được mã hóa thành dãy bit nhị phân
+ Nén dữ liệu để giảm dung lượng nhớ: Xét dãy BBBBBBBBAAAAAAAAAAACCCCCC
→
mãhóa
8B11A6C (thay thế mỗi dãy con bằng duy nhất một kí tự và số lần lặp của nó)
Mã hóa thông tin:
- Mã hóa vòng
- Mã hóa độ dài loạt
- Áp dụng trong các trường hợp khi dữ liệu có các kí tự được lập lại liên tục nhiều lần
Nén dữ liệu
- Tác dụng : bảo mật thông tin, giảm dữ liệu Mục đích của việc mã hóa thông tin và nén dữ liệu: giảm khả năng rò rỉ, giảm dung lượng lưu trữ, tăng cường tính bảo mật của dữ liệu
4 Lưu biên bản
* Biên bản hệ thống thường cho biết:
Số lần truy cập vào hệ thống, vào từng thành phần của hệ thống, vào từng yêu cầu tra cứu,
Thông tin về một 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,
Phóng tránh truy cập bất hợp pháp
* Tham số bảo vệ của hệ thống bảo vệ có thể thay đổi trong quá trình khai thác hệ CSDL, ví dụ mật khẩu người dùng, phương pháp mã hóa thông tin,