Tài liệu Cơ sở dữ liệu quan hệ - Chương I: Các khái niệm cơ bản - Nguyễn Thị Tâm: CƠ SỞ DỮ LIỆU
QUAN HỆ
ThS. Nguyễn Thị Tâm
45 tiết Lý thuyết
tamntam@gmail.com
Sites.google.com/site/tamntam
2 20/09/2012
Hình thức đánh giá
Hình thức đánh giá:
Bài tập lớn
Chia nhóm: 3 SV/ 1 đề tài
Cách tính điểm:
10%: Chuyên cần
20%: Điểm giữa kỳ
Kiểm tra
BTVN
Lên bảng
70%: Kết thúc môn
BTL: 35%
Thi viết: 35%
3 20/09/2012
Cách đánh giá điểm chuyên cần
Học phần
Nội dung
30 tiết 45 tiết 60 tiết 75 tiết
Vắng không phép - 2 điểm/tiết - 1.5 điểm/tiết - 1 điểm/buổi - 0.5 điểm/tiết
Vắng có phép - 1 điểm/tiết - 0.5 điểm/tiết
- 0.5
điểm/buổi
- 0.25
điểm/tiết
Đến lớp trễ - 0.5 điểm/lần - 0.5 điểm/lần
- 0.5
điểm/buổi
- 0.25
điểm/lần
4 20/09/2012
Mục đích
Trang bị cho sinh viên các kiến thức sau:
Các khái niệm về cơ sở dữ liệu
Thành thạo các phép toán đại số quan hệ
Các khái niệm cơ bản của cơ sở dữ liệu quan hệ
Các dạng chuẩn cơ bản
Phương pháp thiết kế cơ sở dữ liệu
Ngôn ngữ truy vấ...
45 trang |
Chia sẻ: putihuynh11 | Lượt xem: 775 | Lượt tải: 0
Bạn đang xem trước 20 trang mẫu tài liệu Cơ sở dữ liệu quan hệ - Chương I: Các khái niệm cơ bản - Nguyễn Thị Tâm, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
CƠ SỞ DỮ LIỆU
QUAN HỆ
ThS. Nguyễn Thị Tâm
45 tiết Lý thuyết
tamntam@gmail.com
Sites.google.com/site/tamntam
2 20/09/2012
Hình thức đánh giá
Hình thức đánh giá:
Bài tập lớn
Chia nhóm: 3 SV/ 1 đề tài
Cách tính điểm:
10%: Chuyên cần
20%: Điểm giữa kỳ
Kiểm tra
BTVN
Lên bảng
70%: Kết thúc môn
BTL: 35%
Thi viết: 35%
3 20/09/2012
Cách đánh giá điểm chuyên cần
Học phần
Nội dung
30 tiết 45 tiết 60 tiết 75 tiết
Vắng không phép - 2 điểm/tiết - 1.5 điểm/tiết - 1 điểm/buổi - 0.5 điểm/tiết
Vắng có phép - 1 điểm/tiết - 0.5 điểm/tiết
- 0.5
điểm/buổi
- 0.25
điểm/tiết
Đến lớp trễ - 0.5 điểm/lần - 0.5 điểm/lần
- 0.5
điểm/buổi
- 0.25
điểm/lần
4 20/09/2012
Mục đích
Trang bị cho sinh viên các kiến thức sau:
Các khái niệm về cơ sở dữ liệu
Thành thạo các phép toán đại số quan hệ
Các khái niệm cơ bản của cơ sở dữ liệu quan hệ
Các dạng chuẩn cơ bản
Phương pháp thiết kế cơ sở dữ liệu
Ngôn ngữ truy vấn bằng đại số quan hệ
5 20/09/2012
Yêu cầu
Kết thúc chương trình, sinh viên cần nắm vững:
Các khái niệm cơ bản về CSDL Quan hệ
Nắm được các ràng buộc dữ liệu trong CSDL
Hiểu và biết cách vận dụng các mô hình thực thể
liên kết (ER) để đặc tả CSDL của hệ thống thực
Nắm vững phương pháp và thiết kế được CSDL
theo chuẩn 3NF hoặc chuẩn Boyce – Codd
Viết được các biểu thức truy vấn CSDL Quan hệ
bằng đại số quan hệ
6 20/09/2012
Nhiệm vụ của sinh viên
Tham gia lớp học đầy đủ:
lên lớp nghe giảng
thảo luận
Hoàn thành các bài tập về nhà và bài kiểm tra tại lớp
7 20/09/2012
Nội dung
Các khái niệm cơ bản
Mô hình thực thể liên kết
Mô hình quan hệ
Phụ thuộc hàm, hệ tiên đề Amstrong
Bao đóng, rút gọn phụ thuộc hàm
Khóa
Chuẩn của lược đồ quan hệ
Thiết kế cơ sở dữ liệu
Khai thác CSDL: biểu thức đại số quan hệ,
SQL,
8 20/09/2012
Tài liệu tham khảo
Cơ sở dữ liệu, Khoa CNTT, Viện Mở Hà Nội
Nhập môn CSDL, Nguyễn Tuệ, NXB Đại học Quốc
Gia, 2008.
Giáo trình nhập môn CSDL quan hệ - Lê Tiến
Vương – NXB Giáo dục 2004
Cơ sở dữ liệu, Đỗ Trung Tuấn
Cơ sở dữ liệu - lý thuyết và thực hành - Nguyễn Bá
Tường
Fundamentals of Database Systems, 3rd+ edition,
John Wiley & Sons, Inc,2000.
9 20/09/2012
CHƯƠNG I:
CÁC KHÁI NIỆM CƠ BẢN
10 20/09/2012
Vì sao phải học CSDL?
Ví dụ 1:
Để quản lý bán hàng tại một cửa hàng điện thoại di
động, giả sử người ta tổ chức 1 tập tin lưu trữ có
dạng như sau:
Tên điện thoại Đơn giá
V3i 176 $
Samsung E250 117 $
01
02
STT
V3i
V3i
03
04
Số lượng
2
1
1
2
Thành tiền
325 $
.
176 $
176 $ 325 $
176 $
117 $
11 20/09/2012
Ví dụ 2:
Tại một trường Đại học, để nâng cao chất lượng đào tạo
và nghiên cứu khoa học. Giả sử người ta tổ chức lưu trữ hồ sơ
cán bộ trong trường và một số thông tin khác để tiện theo dõi.
Thông tin về cán bộ gồm mã cán bộ, họ, tên, học vị, học hàm,
khoa
Trong khi đó ở mỗi khoa của trường do yêu cầu công
việc riêng, khoa cũng tổ chức lưu trữ cán bộ trong khoa (hồ sơ
được trích ra từ phòng đào tạo)
12 20/09/2012
Khi chưa có máy tính người ta lưu trữ dữ liệu như thế nào?
Cách lưu trữ dữ liệu bằng các tệp tin truyền thống.
Vd: Các file .xls, .doc.
Tổ chức riêng rẽ
Phục vụ cho một mục đích
Ưu:
Đáp ứng yêu cầu nhanh chóng
Ít cần đầu tư tiền của, chất xám,..
Nhược:
Thông tin không nhất quán
Thiếu sự kế thừa, chia sẻ thông tin.
Không phù hợp với các hệ thống thông tin lớn!!!
13 20/09/2012
Vì những nhược điểm nêu trên, nên người ta đã xây
dựng lý thuyết thiết kế CSDL nhằm mang lại những mô
hình CSDL tối ưu theo nghĩa:
Không dư thừa dữ liệu
Bảo đảm tính nhất quán
Không có dị thường xảy ra
Bảo đảm tính dùng chung.
14 20/09/2012
I. Cơ sở dữ liệu là gì?
Cơ sở dữ liệu (Database): là tập hợp dữ liệu có cấu
trúc được lưu trữ trên các thiết bị trữ tin nhằm thỏa
mãn đồng thời cho nhiều người sử dụng khác nhau
với các mục đích khác nhau
CSDL bao gồm các loại dữ liệu: âm thanh, tiếng nói,
chữ viết, văn bản, đồ họa, hình ảnh, được mã hóa
và lưu trữ dưới dạng file cụ thể
CSDL
Người
dùng
Cho phép truy cập
thông tin
Lưu trữ thông tin
15 20/09/2012
Ví dụ: Cơ sở dữ liệu
quản lý học tập trong
trường đại học:
Thông tin về sinh viên
Thông tin về môn học
Thông tin về điểm,
..
-> là các thông tin có ý
nghĩa, có liên quan đến
nhau, được lưu trên
máy tính và có nhiều
người sử dụng!
16 20/09/2012
Các yêu cầu cơ bản của CSDL
Tính cấu trúc
Tính toàn vẹn
Tính nhất quán
Tính an toàn và bảo mật
Tính độc lập
Tính không dư thừa
17 20/09/2012
Các vấn đề CSDL cần giải quyết:
Tính chủ quyền của dữ liệu
Tính bảo mật và quyền khai thác thông tin
Tranh chấp dữ liệu
Đảm bảo an toàn dữ liệu khi có sự cố
18 20/09/2012
Các mức biểu diễn của CSDL
Gồm 3 mức :
Mức ngoài : là tập tất cả các dữ liệu mà người sử dụng cụ
thể có thể nhìn thấy và được phép truy cập, là mức của người
sử dụng và các chương trình ứng dụng thể hiện một phần
CSDL mà người dùng cần khai thác
Mức khái niệm (mức trung gian): giải quyết vấn đề lưu trữ
dữ liệu loại gì, lưu trữ bao nhiêu, mối quan hệ trong CSDL và
mối quan hệ giữa các loại dữ liệu này như thế nào cho biết
dữ liệu nào được lưu trữ trong hệ CSDL
Mức trong (mức vật lý): Đây là mức lưu trữ dữ liệu. Mục
đích của mức này giải quyết vấn đề dữ liệu là gì, dữ liệu được
lưu trữ như thế nào và nhằm mục đích gì Tập hợp các file
dữ liệu
Một CSDL chỉ có một CSDL vật lý, một CSDL khái niệm
nhưng có nhiều khung nhìn khác nhau
19 20/09/2012
CSDL
mức
khái
niệm
View 1
View 2
View k
CSDL
mức
vật
lý
.
User 1
User 2
User k
Mức ngoài Mức trung gian Mức vật lý
* Sự phân mức một CSDL
20 20/09/2012
*Phân loại cơ sở dữ liệu
Cơ sở dữ liệu dạng file: được lưu dưới dạng các file
văn bản, như: text, doc, dbf,
Cơ sở dữ liệu quan hệ: dữ liệu được lưu trữ trong
các bảng, giữa các bảng có quan hệ với nhau
Cơ sở dữ liệu hướng đối tượng: dữ liệu cũng được
lưu trữ trong các bảng nhưng các bảng có bổ sung
thêm các tính năng hướng đối tượng (lưu trữ hành vi
đối tượng)
Cơ sở dữ liệu bán cấu trúc: được lưu dưới định
dạng XML, mô tả về đối tượng thể hiện trong các thẻ
21 20/09/2012
Các ứng dụng của cơ sở dữ liệu: trong hầu hết các lĩnh
vực
Kinh doanh: thông tin sản phẩm, khách hàng, nhà cung
cấp,
Doanh nghiệp: cán bộ, lương, công việc,..
Giáo dục: học sinh, điểm, môn học, giáo viên,..
Thư viện: tài liệu, tác giả, độc giả
Y tế: bệnh nhân, thuốc, bác sỹ, điều trị,
Các đối tượng sử dụng CSDL:
Những người sử dụng CSDL không chuyên
Các chuyên viên biết khai thác CSDL – lập trình.
Người quản trị CSDL
22 20/09/2012
II. Hệ quản trị CSDL:
Một hệ quản trị CSDL là:
Một tập hợp các phần mềm quản lý CSDL và cung cấp các
dịch vụ xử lý CSDL cho các nhà phát triển ứng dụng và người
dùng cuối
HQTCSDL cung cấp một giao diện giữa người sử dụng và dữ
liệu
Một Hệ quản trị CSDL phải có ít nhất các chức năng sau:
Định nghĩa dữ liệu → DDL (Data Definition Language)
Thêm, sửa, xóa dữ liệu → DML (Data Manipulation
Language)
Truy vấn dữ liệu → SQL (Structured Query Language)
Quản lý dữ liệu → DCL (Data Control Language)
Sắp xếp, tìm kiếm
Đa số HQT CSDL đều sử dụng ngôn ngữ truy vấn cấu trúc
SQL
23 20/09/2012
Để khai thác và lưu trữ
thông tin trong máy tính
cần có:
•Cơ sở dữ liệu
•Hệ quản trị cơ sở dữ liệu
•Các thiết bị vật lý
24 20/09/2012
Ưu điểm của HQT CSDL:
Quản lý được dữ liệu dư thừa
Đảm bảo tính nhất quán cho dữ liệu
Tạo khả năng chia sẻ dữ liệu nhiều hơn
Cải tiến tính toàn vẹn cho dữ liệu
Nhược điểm:
HQT CSDL tốt thì khá phức tạp
HQT CSDL tốt thường rất lớn, chiếm nhiều dung
lượng bộ nhớ
Giá cả khác nhau tùy theo môi trường và chức năng
HQT CSDL được viết tổng quát cho nhiều người
dùng thì thường chậm
25 20/09/2012
*Phân loại Hệ QTCSDL
Theo mô hình dữ liệu:
Mô hình dữ liệu Hệ QT CSDL
Quan hệ Hệ QT CSDL quan hệ
Mạng Hệ QT CSDL mạng
Phân cấp Hệ QT CSDL phân cấp
Theo số người sử dụng đồng thời:
Hệ QT CSDL đơn
Hệ QT CSDL đa người dùng
Theo vị trí đặt CSDL:
Hệ QT CSDL tập trung
Hệ QT CSDL phân tán
26 20/09/2012
* Các thành phần trong hệ QT CSDL:
• CSDL cho phép nhiều người sử dụng, nhiều chương
trình ứng dụng cùng chia sẻ, dùng để lưu trữ dữ liệu
• Người sử dụng (user): Là những người có nhu cầu
truy cập vào CSDL để thực hiện một thao tác nào
đó. VD: các lập trình viên ứng dụng, những người sử
dụng thiết bị cuối từ xa)
• Phần mềm QT CSDL.
• Phần cứng: Các thiết bị nhớ thứ cấp được sử dụng
để lưu trữ dữ liệu
27 20/09/2012
*. Người dùng:
Người dùng: khai thác CSDL thông qua HQT CSDL,
phân thành ba loại:
quản trị CSDL: quản lý và bảo trì CSDL
phát triển ứng dụng và lập trình: người chuyên
nghiệp về máy tính, có trách nhiệm thiết kế, tạo dựng
và bảo trì hệ thống
người dùng cuối: người không chuyên về máy tính,
các chuyên gia trong các lĩnh vực khác có trách
nhiệm cụ thể trong tổ chức
28 20/09/2012
*. Ràng buộc dữ liệu
Ràng buộc dữ liệu là mối quan hệ, ràng buộc lần
nhau giữa các thực thể dữ liệu
Ràng buộc chính là: Tập các quy tắc, quy định yêu
cầu dữ liệu trong CSDL phải thỏa mãn
Phân loại ràng buộc dữ liệu:
Ràng buộc kiểu: loại ràng buộc thấp nhất, mô tả tính
chất của thuộc tính khi tạo lập CSDL
Ràng buộc giải tích: là ràng buộc giữa các thuộc
tính, được biểu diễn bằng biểu thức toán học
Ràng buộc logic: thể hiện mối quan hệ giữa các
thuộc tính với nhau, không phải là ràng buộc giải tích
được gọi là phụ thuộc hàm
29 20/09/2012
III. Mô hình cơ sở dữ liệu?
Mô hình cơ sở dữ liệu là sự trừu tượng hóa môi trường thực
Khái niệm: Mô hình CSDL là tập hợp các khái niệm dùng để biểu diễn các
cấu trúc của cơ sở dữ liệu. Bao gồm:
Kiểu dữ liệu
Mối liên kết
Các ràng buộc
Mô hình CSDL là hệ hình thức toán học gồm có hai phần:
Một hệ thống các ký hiệu để mô tả dữ liệu
Một tập hợp các phép toán thao tác trên dữ liệu đó.
Đặc trưng của một mô hình dữ liệu:
Tính ổn định khi thiết kế mô hình dữ liệu
Tính đơn giản: dễ hiểu và dễ thao tác
Tính dư thừa phải kiểm tra kỹ càng
Cơ sở lý thuyết vững chắc
30 20/09/2012
Lịch sử của mô hình CSDL
31 20/09/2012
Một vài mô hình dữ liệu
Mô hình phân cấp
Mô hình mạng
Mô hình quan hệ
Mô hình thực thể liên kết
Mô hình hướng đối tượng
Mô hình bán cấu trúc
Mô hình dữ liệu của XML
32 20/09/2012
Mô hình dữ liệu quan hệ thường được dùng trong các
hệ quản trị CSDL, mô hình này không được trực quan
=> thường dùng một mô hình trung gian đó là mô hình
thực thể kết hợp.
Hiện nay mô hình thực thế kết hợp được coi là mô
hình chuẩn để thiết kế hệ thống thông tin.
33 20/09/2012
a. Mô hình dữ liệu quan hệ
Mô hình dữ liệu quan hệ do E.F. Codd đề xuất.
Nền tảng cơ bản của nó là khái niệm lý thuyết tập hợp trên các
quan hệ, tức là tập các bộ giá trị.
Mô hình này:
Biểu thị dữ liệu trong một CSDL như một tập các quan hệ.
Một quan hệ là một bảng các giá trị gồm các dòng và các cột
Mã SV Họ và tên Ngày sinh Địa chỉ
0001 Nguyen 12/12/1989 Hà nội
0002 An 2/3/1990
34 20/09/2012
34
b. Mô hình dữ liệu phân cấp
Mô hình dữ liệu phân cấp là một cây (Tree) trong đó mỗi nút
của cây biểu diễn một thực thể, giữa nút con và nút cha được
liên hệ với nhau theo một mối quan hệ xác định.
Như vậy, mối liên hệ từ mẫu tin chủ tới các mẫu tin thành viên
là 1-n, và từ mẫu tin thành viên tới mẫu tin chủ là 1-1.
Ưu điểm: biểu diễn tốt mối quan hệ 1 - N
35 20/09/2012
Ví dụ : TOÀN QUỐC
HÀ NỘI HẢI PHÒNG NAM ĐỊNH
NAM HỒNG CỔ LOA
BA ĐÌNH ĐÔNG ANH
NK 1
HỘ 2
NK 1
HỘ 1
36 20/09/2012
c. Mô hình dữ liệu mạng
Mô hình dữ liệu mạng (lưới) là mô hình được biểu
diễn bởi một đồ thị có hướng.
Sử dụng kiến trúc phân cấp, cho phép các bảng con
có thể có nhiều bảng cha
Dữ liệu được lưu trong các bộ thay vì trong định dạng
cây phân cấp.
Ưu điểm: biểu diễn tốt mối quan hệ N-N
37 20/09/2012
PHÒNG
CÔNG VIỆC
LÝ LỊCH
NHÂN VIÊN
Có Gồm
Cùng làm
quản lý
1-n n-1
1-n
1-1
Mô hình dữ liệu mạng ( Network Model)
38 20/09/2012
d. Mô hình dữ liệu hướng đối tượng
Là loại mô hình tiên tiến nhất hiện nay, dựa trên cách
tiếp cận hướng đối tượng
Sử dụng các khái niệm như lớp, sự kế thừa, kế thừa
bội
Phương pháp tiếp cận này còn mới mẻ và các hệ
quản trị CSDL hướng đối tượng hiện nay vẫn chưa
nhiều và chưa thuần nhất
39 20/09/2012
e. Mô hình dữ liệu Kho dữ liệu
Kho dữ liệu là một tập các dữ liệu có những đặt điểm
sau:
tập trung vào một chủ đề,
tổng hợp từ nhiều nguồn dữ liệu khác nhau, từ
nhiều thời gian, và không sửa đổi.
Được dùng trong việc hỗ trợ ra quyết định trong
công tác quản lý
Kho dữ liệu: Data Warehouse
40 20/09/2012
*Các bước xây dựng một hệ CSDL
41 20/09/2012
Lợi ích khi sử dụng CSDL - HQTCSDL
Hạn chế dư thừa dữ liệu
Có tính chia sẻ
Ngăn cản truy cập bất hợp pháp
Lưu trữ lâu dài
Cho phép suy dẫn dữ liệu
Cung cấp giao diện đa người dùng
Biểu diễn được các mối quan hệ phức tạp của dữ liệu
Đảm bảo ràng buộc toàn vẹn dữ liệu
Cho phép sao lưu phục hồi khi có sự cố.
42 20/09/2012
V. Đối tượng sử dụng CSDL
Đối tượng trực tiếp: là những người tham gia thiết
kế, xây dựng, bảo trì và sử dụng một CSDL.
Đối tượng gián tiếp: những người phân tích, phát
triển và thực hiện tạo ra môi trường hệ thống và phần
mềm của hệ QTCSDL.
-> Không trực tiếp thao tác trên một HQTCSDL cụ thể.
43 20/09/2012
1. Đối tượng trực tiếp
Quản trị viên – Database Administrator: người
quản lý và chịu trách nhiệm với nguồn dữ liệu
Tổ chức nội dung
Phân quyền truy cập
Đảm bảo an toàn, bảo mật, sao lưu,, phục hồi,
Thiết kế viên:
Phỏng vấn người sử dụng để nắm được yêu cầu
Xác định dữ liệu cần lưu trữ
Lựa chọn cấu trúc thích hợp để biểu diễn
Phân tích thiết kế hệ thống sau khi thống nhất được
các yêu cầu.
44 20/09/2012
Người dùng cuối:
Truy vấn
Cập nhật
Thống kê
Lập trình viên: thực hiện các yêu cầu thông qua lập
trình sử dụng ngôn ngữ phù hợp
Viết code
Chạy thử
Chữa lỗi, gỡ rối
Viết tài liệu hướng dẫn sử dụng
Bảo trì hệ thống.
45 20/09/2012
2. Đối tượng gián tiếp
Người phân tích và xây dựng hệ QTCSDL
Người phát triển công cụ
Người kiểm tra và bảo trì phần cứng và phần mềm
của hệ thống
Các file đính kèm theo tài liệu này:
- csdl_chuong_1_gioi_thieu_6388_1997456.pdf