Ưu điểm của việc xây dựng một hệ CSDL: - Đảm bảo sự độc lập dữ liệu: Dữ liệu độc lập với chương trình làm cho dữliệu được sử dụng rộng rãi và thuận lợi hơn - Giảm thiểu việc dư thừa dữ l
Trang 1Chương 1: Nhập môn CSDL
1 Nào là giải pháp hệ thống tệp? Nhược điểm của nó ra sao?
Hệ thống quản lí tệp truyền thống thường được tổ chức riêng rẽ, phục vụ chomột mục đích của một đơn vị hoặc một đơn vị con trực thuộc cụ thể
Hệ thống quản lý tệp truyền thống cho phép ta tạo các loại tệp, truy cập và xử lýthông tin trong các tệp thông qua các chương trình ứng dụng Các phần mềmứng dụng này được viết bằng ngôn ngguwx lập trình đa năng nhu PASCAL, C, Nhược:
- Thông tin được tổ chức riêng rẽ ở nhiều nơi nên việc cập nhật dễ làm mấttính nhất quán dữ liệu
- Hệ thống thông tin được tổ chức thành các hệ thống file riêng lẻ nên thiếu
sự chia sẻ thông tin giữa các nơi
- Có sự dư thừa dữ liệu rất lớn qua việc trùng lặp các tệp tin trong các ứngdụng khác nhau
- Không gian đĩa bị lãng phí, khó khăn trong việc bảo trì hệ thống
- Khó khăn trong việc truy xuất dữ liệu
2 Hệ cơ sở dữ liệu là gì?Ưu điểm của Hệ CSDL
a Các thành phần của một hệ CSDL
b Ưu điểm của việc xây dựng một hệ CSDL:
- Đảm bảo sự độc lập dữ liệu: Dữ liệu độc lập với chương trình làm cho dữliệu được sử dụng rộng rãi và thuận lợi hơn
- Giảm thiểu việc dư thừa dữ liệu: Khác với hệ thống tệp, hệ thống CSDL tổchức theo cấu trúc thống nhất, hợp lý hạn chế việc lưu trữ tại nhiều nơi
- Đảm bảo tính nhất quán và toàn vẹn dữ liệu: Do ít dư thừa nên hạn chế được
sự dị thường khi thay đổi, cập nhật
Trang 2- Tăng tính dùng chung: CSDL có khả năng cho nhiều người truy cập sử dụngmỗi người nhìn vào CSDL như nó là của riêng mình không bị ảnh hưởngbởi người khác
- Tăng khả năng phát triển các ứng dụng: Do có sự mở rộng giao lưu nên khảnăng sáng lạo cải tiến thuận lợi hơn
- Tính chuẩn hoá cao
- Chất lượng dữ liệu được cải thiện
- Giảm bớt chi phí bảo trì hệ thống
3 Dị thường dữ liệu là gì
Dị thường là những vấn đề xảy ra do sự dư thừa trong các bảng Không phải tất
cả các bảng đều phát sinh dị thường, nó chỉ xảy ra khi một bảng chưa đượcchuẩn hóa hoàn thiện Một bảng chuẩn hóa lỗi có thể xảy ra những dị thườngsau: Dị thường khi cập nhật, xóa, thêm
4 Việc không nhất quán dữ liệu sẽ ảnh hưởng gì
Sự không nhất quán dữ liệu trong lưu trữ làm cho dữ liệu mất đi tính toàn vẹncủa nó
5 Tính toàn vẹn dữ liệu đảm bảo cho cái gì
Tính toàn vẹn dữ liệu đảm bảo cho sự lưu trữ dữ liệu luôn đúng Toàn vẹn dữliệu là việc đặt ra các quy tắc trong một CSDL nhằm kiểm tra các giá trị của dữliệu trước khi được lưu trữ phải đảm bảo tính chính xác và hợp lí bên trong mộtCSDL
6 Mô hình hệ cơ sở dữ liệu ntn (mức logic, mức vật lí, mức ngoài)
Kiến trúc của một hệ CSDL
Cấu trúc một hệ CSDL gồm ba mức:
- Mức ngoài: Là mức sát với người sử dụng nhất, là cách nhìn, là quanniệm của từng người sử dụng đối với CSDL mức khái niệm Khả năngtruy nhập tuỳ thuộc vào quyền hạn từng USER
- Mức logic (CSDL mức khái niệm): Là tập các dữ liệu được biểu diễndưới dạng trừu tượng của CSDL vật lý
- Mức vật lý: Là tập các dữ liệu được biểu diễn theo một cấu trúc nào
đó, được lưu trên các thiết bị nhớ thứ cấp (như đa từ, băng từ )
7 Thế nào là độc lập mức vật lí? Mức logic?
Trang 3Tính độc lập dữ liệu là sự bất biến của chương trình ứng dụng đối với các thayđổi trong cấu trúc lưu trữ và chiến lược truy nhập vào CSDL Tính độc lập dữliệu ở đây có hai mặt:
Độc lập về vật lý: Là sự độc lập trong lưu trữ, chương trình ứng dụng khôngphụ thuộc vào việc dữ liệu được lưu giữ ở đâu và lưu giữ như thế nào trên thiết
bị nhớ thứ cấp
Độc lập về lôgic: Sự thay đổi, thêm bớt thông tin về các thực thể ở mức quanniệm không đòi hỏi thay đổi các khung nhìn của người sử dụng dẫn tới khôngcần thay đổi chương trình ứng dụng
8 Dữ liệu được biểu diễn ntn trong
a Mô hình phân cấp
Mô hình dữ liệu phân cấp (Hierachical Data Model) được gọi tắt là mô hìnhphân cấp được đưa ra vào những năm 60, trong mô hình dữ liệu này dữ liệuđược tổ chức thành cấu trúc cây, trong đó các nút (node) của cây biểu diễn cácbản ghi, giữa các bản ghi liên kết với nhau theo mối quan hệ cha con:
- 1 cha nhiều con
- 1 con chỉ có 1 cha
Ưu:
- thể hiện dễ dàng quan hệ 1-n
- Việc phân chia dữ liệu dễ thể hiện, đảm bảo an toàn dữ liệu
- Tính độc lập của chương trình và các dữ liệu được đảm bảo
Nhược:
- Không thể hiện quan hệ n-n
- Trong 1 hệ thống phân cấp, dữ liệu được tổ chức như trên dẫn đến khósửa đổi dữ liệu
- Lặp lại dữ liệu, lãng phí bộ nhớ và tốn nhiều công sức tạo lập
sở hữu giữa tập bản ghi này với tập bản ghi khác
Mô hình mạng người ta đã khắc phục được việc dư thừa dữ liệu của mô hìnhphân cấp Tuy vậy cấu trúc hệ thống phức tạp ngooài nội dung thông tin, mỗibản ghi còn có thêm thông tin nữa là địa chỉ để truy nhập tới các bản ghi thànhviên Với mỗi liên kết phải có nhãn để xác định liên kết
Ưu:
- Dễ thể hiện mối liên hệ n-n
- Kiểu truy cập dữ liệu mềm dẻo hơn kiểu phân cấo
Nhược:
Trang 4- Sửa đổi dữ liệu khó khăn
- Với lập trình viên, việc thiết kế CSDL khó
c Mô hình thực thể liên kết (Entity-Relationship)
E-R là mô hình trung gian để chuyển những yêu cầu quản lý dữ liệu trong thếgiới thực thành mô hình CSDL quan hệ, được dùng để thiết kế CSDL ở mứcquan niệm
Biểu diễn trừu tượng cấu trúc của CSDL
Mô hình thực thể- liên kết (Entity-Relationship Diagram) gồm:
10 Tổ chức dữ liệu theo mô hình nào là tốt nhất phụ thuộc vào điều gì?
Tổ chức dữ liệu theo mô hình nào là tốt nhất phụ thuộc vào yêu cầu truy xuất vàkhai thác thông tin của đơn vị quản lý nó Nó được sử dụng ở đâu và vào lúcnào là tốt nhất Tuy nhiên thường người ta dựa vào các tiêu chí sauu để nói rằng
mô hình nào là tốt nhất khi
- Mục đích: Phần lớn các mô hình dữ liệu sd hệ thống ký hiệu để biểu diễn dữliệu và làm nền tảng cho các hệ ứng dụng và ngôn ngữ thao tác dữ liệu Các
mô hình thực thể quan hệ không có hệ thống kí hiệu để xây dựng các phéptoán thao tác dữ liệu mà sử dụng để thiết kế lược đồ khái niệm, cài đặt trongmột mô hình dữ liệu với một hệ quả trị CSDL nào đó
- Hướng giá trị hay hướng đối tượng: các mô hình dữ liệu quan hệ và mô hìnhlogic là các mô hình dữ liệu hướng giá trị Trong các mô hình dữ liệu hướnggiá trị có tính khai báo và có tác động đến các ngôn ngữ được nó hỗ trợ Các
mô hình mạng, phân cấp, mô hình dữ liệu hướng đối tượng cung cấp đặc tínhnhận dạng đối tương, nên có thể xem chúng là các mô hình hướng đối tượng
- Tính dư thừa: tất cả các mô hình dữ liệu đều có khả năng hỗ trợ lưu trữ dữliệu vật lý và hạn chế sự dư thừa dữ liệu Tuy nhiên các mô hình dữ liệuhướng đối tượng giải quyết sự dư thừa tốt hơn, bằng cách tạp ra sử dựng contrỏ đến nhiều vị trí khác nhau
- Giải quyết mỗi quan hệ n-n: phần lớn trong các mô hình CSDL có chứa cácmối quan hệ n-n, 1-n, hay 1-1 Một quan hệ có nhiều phần tử của các quan hệkhác và ngược lại Tuy nhiên trong mô hình dữ liệu mạng không chấp nhậnmối quan hệ n-n
11 Mỗi mô hình CSDL bao gồm gì? (Tập các kí hiệu để mô tả dữ liệu và tập các phép toán để thao tác trên CSDL)
Trang 5Mô hình dữ liệu là khuôn dạng của dữ liệu, cho phép người dùng biểu diễn dữliệu dưới cấu trúc thuật ngữ dễ hiểu Một mô hình dữ liệu là một hình thức toánhọc bao gồm:
+ Một hệ thống các ký hiệu để mô tả dữ liệu
+ Tập các phép toán để thao tác lên CSDL
- Hệ CSDL trung tâm (Central Database):Hệ CSDL trung tâm là một hệ đa ngườidùng từ thiết bị đầu cuối (terminal) tại đó có màn hình và phím để trao đổithông tin Mọi xử lý, tính toán được thực hiện tại trung tâm với một máy tínhmạnh có thể xử lí nhiều yêu cầu
- Hệ CSDL Client-Server: (Client/Server Database):CSDL được lưu trữ tại máychủ, là nơi quản lý CSDL (Server) và nhiều máy trạm (Client) kết nối sử dụngchung CSDL này
Trang 6b Hệ phân tán
Hệ CSDL phân tán là hệ CSDL trong đó CSDL được tổ chức phân bố thànhnhiều CSDL địa phương, được lưu trữ trên các máy tính ở các vị trí địa lí khácnhau nhưng vẫn cùng thuộc 1 hệ thống Các CSDL này được liên kết với nhauqua mạng máy tính phục vụ nhu cầu người dùng ở nhiêu địa điểm khác nhau ởmức trong suốt
Một hệ quản trị CSDL thực hiện các chức năng sau:
- Tạo cấu trúc dữ liệu tương ứng với mô hình dữ liệu được chọn
- Đảm bảo tính độc lập dữ liệu
- Cập nhật dữ liệu
- Phát sinh các báo cáo từ các dữ liệu trong CSDL
- Đảm bảo tính an toàn và toàn vẹn dữ liệu trong CSDL
- Cung cấp các tiện ích sao lưu phục hồi dữ liệu
- Cung cấp các thủ tục điều khiển tương tranh
Trang 7Một hệ quản trị thông thường có các thành phần chính sau:
- Ngôn ngữ định nghĩa dữ liệu (Data Definition Language)
- Ngôn ngữ thao tác dữ liệu (Data Manipulation Language)
- Ngôn ngữ hỏi đáp dữliệu (Quay Language)
- Bộ viết báo cáo
- Từ điển dữ liệu
- Bộ phát sinh đồ hoạ
14 Người quản trị CSDL có nhiệm vụ gì
Người quản trị CSDL: trong những tổ chức có nhiều người cùng sử dụng chungmột nguồn dữ liệu thì nhất thiết phải có một người đúng đầu quản lí, chịu tráchnhiệm đối với nguồn dữ liệu này Đó chính là người quản trị CSDL (DatabaseAdministrators-DBA) DBA có nhiệm vụ tổ chức nội dung của CSDL, tạo vàcấp quyền truy nhập CSDL cho người dùng, đưa ra yêu cầu về phần cứng vàphần mềm… nếu cần thiết DBA cũng phải chịu trách nhiệm bảo vệ an toàn,Backup thông tin… khi có sự cố
15 Thực thể là gì? Kiểu thực thể? Trong bảng dữ liệu thì mỗi hàng phản ánh cái gi?
Ví dụ: << Nhân viên>>, <<Sách>>,<<độc giả>>
Ghi chú: Thể hiện của thực thể là một thực thể cụ thể, nó là một phần tử trongtập hợp hay lớp của kiểu thực thể Vì vậy trong các ứng dụng để tránh sửdụng nhiều khái niệm ta đồng nhất thực thể và kiểu thực thể
c Bảng
- Mỗi bảng gọi là một quan hệ/ kiểu thực thể/ tệp
- Mỗi hàng gọi là một bộ/ thực thể/bản ghi
Trang 8- Mỗi cột gọi là một thuộc thính/trường.
16 Liên kết là gì? Thế nào là liên kêt 1-1, 1-n, n-n ? Mô hình nào không biểu diễn được mối liên kết n-n
a Liên kếtLiên kết là một sự ghép nỗi giữa 2 hay nhiều thực thể phản ánhmột thực tế quản lý
b Phân loại liên kết
- Liên kết 1-1: hai kiểu thực thể A và B có mối liên kết 1-1 nếu mộtthực thể kiểu A tương ứng với một thực thể kiểu B và ngược lại
Ghi chú: Trong biểu đồ cấu trúc dữ liệu hai kiểu thực thể có mối liên
kết 1-1 sẽ được đồng nhất
- Liên kết 1-n : Hai kiểu thực thể A và B có mối liên kết 1-n nếu mộtthực thể kiểu A tương ứng với nhiều thực thực thể kiểu B và ngược lạimột thực thể kiểu B tương ứng với duy nhất một thực thể kiểu A
- Liên kết n-n : Hai kiểu thực thể A và B có mối liên kết n-n nếu mộtthực thể kiểu A tương ứng với nhiều thực thể kiểu B và ngược lại
Ghi chú: Trong biểu đồ cấu trúc dữ liệu nếu tồn tại mỗi liên kết n-ngiữa các kiểu thực thể, ta cần chuẩn hoá nó đưa về dạng liên kết 1-n
Trang 9Chương2 : Mô hình dữ liệu quan hệ
1 Hiểu khái niệm, định nghĩa, bản chất của :
a Thuộc tính (thuộc tính khóa, thuộc tính không khóa, miền trị của thuộc tính…)Thuộc tính (Atrribute) là dữ liệu dùng để mô tả một đặc trưng của thực thể
- Các thuộc tính đơn thường kí hiệu là các chữ cái A, B, C,
- Tập thuộc tính thường kí hiệu là các chữ cái X, Y, Z,
- Các thuộc tính được phân biệt qua tên gọi và phải thuộc một kiểu dữliệu nhất định (kiểu dữ liệu là kiểu đơn)
- Tên nên đặt sát với ý nghĩa của nó, mang tính gợi nhớ và ngắn gọn
- Kiểu giá trị: Mỗi thuộc tính được gán với 1 kiểu giá trị phù hợp: kí tự,
b Quan hệ, lược đồ quan hệ, bậc của quan hệ, lực lượng của quan hệ
i Quan hệ: Gọi U=(A1,A2,A3, An) là tập hữu hạn các thuộc tính, mỗithuộc tính Ai với i=1…n có miền giá trị tương ứng là DOM(Ai) Quan
hệ R xác định trên tập thuộc tính U là tập con của tích đề-các
n là số ngôi của quan hệ/số lượng thuộc tínhm: lực lượng của quan hệ/số các bộ giá trị của quan hệ
Chú ý: Quan hệ là mô tả toán học cho Bảng dữ liệu, trong đó:
ii Lược đồ quan hệ
Lược đồ quan hệ r là 1 cặp (U, F) kí hiệu r(U, F)Trong đó:
- U là tập hữu hạn các thuộc tính: U=(A1,A2,A3, An)
- F là tập phụ thuộc hàm U={f1,f2,f3, fn}
Trang 10- Thể hiện của một lược đồ quan hệ là một quan hệ Nói cách khác,quan hệ luôn xác định trên một lược đồ quan hệ
- Một lược đồ quan hệ có thể tưởng đương một tập lược đồ quan hệ nhỏhơn nhưng cấu trúc tốt hơn khi theo các thao tác dữ liệu
iii Bậc của quan hệ
iv Lực lượng của quan hệ
c Khóa, Khóa tối thiểu, siêu khóa
i Khóa: Cho quan hệ R(U), K U
K là khóa mã quan hệ R nếu mọi ti, tj R, ti # tj thì ti[K] # tj[k]
Ý nghĩa: khóa là 1 tập thuộc tính mà giá trị trên nó xác định 1 bộ giátrị duy nhất của quan hệ (tức là một dòng duy nhất trong bảng)
ii Khóa của quan hệ
Cho quan hệ R(U) xác định trên F, K U, K là khóa của quan hệ nếu
K thỏa mãn
- (K)+=U
- mọi A K thì (K-A)+ khác U
Chú ý:
- Nếu chỉ thỏa mãn (1) thì K là siêu khóa
- Nếu thỏa mãn (1)+(2) thì K là khóa tối thiểu
d Phụ thuộc hàm
Cho quan hệ R(U); X, Y là 2 tập thuộc tính (X,Y U) và một PTH f: X Y Tanói quan hệ R thoả PTH f và viết R(f) nếu với mọi 2 bộ bất kỳ ti, tj R giốngnhau trên X thì chúng cũng giống nhau trên Y Hay ta viết:
Trong đó u, v là hai bộ bất kỳ thuộc quan hệ R
Nếu f:
- X Y: Y phụ thuộc hàm vào tập thuộc tính X hay tập thuộc tính Xxác định hàm tập thuộc tính Y
- X! Y: Y không phụ thuộc hàm vào X hay X không xác định hàm Y
i Phụ thuộc hàm hiển nhiên
Y X thì X-> Y
ii Phụ thuộc hàm đầy đủ, không đầy đủ:
Trang 11X-> Y, X’ X
- Không tồn tại X’->Y thì X-> Y là pth đầy đủ
- tồn tại X’->Y thì X->Y là pth không đầy đủ
Tức là: X->Y là pth đầy đủ nếu X không có dư thừa
iii Phụ thuộc hàm bắc cầu:
X->Y, Y->Z thì X->Z
Z pth bắc cầu vào X qua Y
Lưu ý :
- Pth là cơ sở để chuẩn hóa các lược đồ quan hệ
- Pth nói lên sự ràng buộc và mối liên hệ giữa các thuộc tính trong quanhệ
2 Các phép toán đại số quan hệ :
- Phép hợp: các quan hệ tham gia phép toán phải là các quan hệ khảhợp
b Biểu diễn hình thức của các phép toán
i Phép hợp
Phép hợp: Hợp của hai quan hệ R và S khả hợp
là tập các bộ thuộc R hoặc thuộc S
Trang 12Hiệu của hai quan hệ R và S khả hợp là tập các
bộ thuộc R nhưng không thuộc S
RxS={t|t(a1, a2, …an, b1, b2, …bn) trong đó{a1, a2, …an} R, {b1, b2, …
bn} S}
Trang 14Chú ý:
5 Để so sánh được, A, B phải có giá trị phù hợp
6 Nếu phép toán là phép tooán “=” thì phép kết nối gọi là kết nối
bằng
7 Kết nối bằng của các quan hệ có các thuộc tính cùng tên thì khi kết
nối, các thuộc tính đó (ở quan hệ kết quả) được chập lên nhau thì gọi
là kết nối tự nhiên Kí hiệu “*”
8 Kết nối tự nhiên là kết nối quan trọng thường xuyên sử dụng trong
Cho R là quan hệ xác định trên tập thuộc tính U, với U={A1, A2,…
An} và quan hệ S xác định trên tập thợc tính V với V={B1, B2,…Bm}
Trang 15b Các bài tập về phép toán
c Chú ý : một số câu hỏi sau
i. Phép kết nối là tổ hợp của các phép toán nào (xem bên trên)
ii. Điều kiện để thực hiện phép chia là gì…(xem bên trên)
Trang 16Chương 3 : Chuẩn hóa dữ liệu
1. Hệ tiên đề Amstrong gồm các quy tắc(tiên đề) nào Hệ tiên đề Amstrong áp dụng để suy dẫn gì (thuộc tính, giá trị, phụ thuộc hàm, quan hệ)
a 3 tiên đề
- Tiên đề phản xạ: Nếu Y X thì X->Y
- Tiên đề tăng trưởng: Nếu X->Y và Z U thì XZ->YZ
- Tiên đề bắc cầu: Nếu X->Y và Y->Z thì X->Z
b 8 tính chất
- Tính chất chặt: X->X
- Tính chất bắc cầu: Nếu X->Y và YZ->W thì XZ->W
- Tính mở rộng VT và thu hẹp VP: Nếu X->Y thì XZ->Y\W
- Tính cộng đầy đủ: Nếu X->Y và Z->W thì XZ->YW
- Tỉnh mở rộng VT: Nếu X->Y thì XZ->Y
- Tính cộng VP (luật hợp): Nếu X->Y và X->Z thì X->YZ
- Tính bộ phân VT (luật tách): Nếu X->YZ thì X->Y và X->Z
- Tính tích lũy: Nếu X->YZ, Z->W thì X->YZW
2. Định nghĩa, bản chất của phụ thuộc hàm(phụ thuộc hàm đầy đủ/ không đầy đủ, phụ thuộc hàm dư thừa), bao đóng phụ thuộc hàm, bao đóng tập thuộc tính,…Tính tương đương của các tập phụ thuộc hàm
Cho quan hệ R(U) xác định trên F: X, Y U
X+ (bao đóng của tập thuộc tính X) là tập các thuộc tính được suy diễn logic từ
F nhờ tập tiên đề Armstrong
X+= {A| A U, X->A ∈ F+}
3 Phủ không dư thừa, phủ tối thiểu