LÝ THUYẾT HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU
description
Transcript of LÝ THUYẾT HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU
ĐỖ QUANG VINH - HUCĐỖ QUANG VINH - HUC 11
LÝ THUYẾT LÝ THUYẾT
HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆUHỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU
TS. ĐỖ QUANG VINHTS. ĐỖ QUANG VINH
Email: Email: [email protected]@live.com
Hà Nội - 2008Hà Nội - 2008
ĐỖ QUANG VINH - HUCĐỖ QUANG VINH - HUC 22
KHÁI NIỆM DỮ LIỆU –THÔNG TIN – TRI THỨCKHÁI NIỆM DỮ LIỆU –THÔNG TIN – TRI THỨC
Dữ liệuDữ liệu (Data) là vật liệu thô để tạo ra thông tin, còn thông tin là dữ (Data) là vật liệu thô để tạo ra thông tin, còn thông tin là dữ
liệu đã được thu thập và xử lý chuyển thành dạng có nghĩa. Nói cách liệu đã được thu thập và xử lý chuyển thành dạng có nghĩa. Nói cách
khác dữ liệu là nguồn gốc, là vật mang thông tin, là vật liệu sản xuất khác dữ liệu là nguồn gốc, là vật mang thông tin, là vật liệu sản xuất
ra thông tin.ra thông tin.
Dữ liệu có thể là:Dữ liệu có thể là:
- Tín hiệu vật lý (physical signal): tín hiệu điện, tín hiệu sóng điện từ, - Tín hiệu vật lý (physical signal): tín hiệu điện, tín hiệu sóng điện từ,
tín hiệu ánh sáng, tín hiệu âm thanh, nhiệt độ, áp suất, ...tín hiệu ánh sáng, tín hiệu âm thanh, nhiệt độ, áp suất, ...
- Các số liệu (number) là dữ liệu bằng số mà ta đã quen với tên gọi số - Các số liệu (number) là dữ liệu bằng số mà ta đã quen với tên gọi số
liệu. Đó là các số liệu trong các biểu bảng tính toán, thống kê, tài liệu. Đó là các số liệu trong các biểu bảng tính toán, thống kê, tài
chính ...chính ...
- Các ký hiệu (symbol) như các chữ viết (character) và các ký hiệu - Các ký hiệu (symbol) như các chữ viết (character) và các ký hiệu
khắc trên tre, nứa, đá, trên bia, trên vách núi ... của người xưa.khắc trên tre, nứa, đá, trên bia, trên vách núi ... của người xưa.
ĐỖ QUANG VINH - HUCĐỖ QUANG VINH - HUC 33
- Văn bản, chữ viết (text, character): sách báo, truyện, thông - Văn bản, chữ viết (text, character): sách báo, truyện, thông báo, thông tư, công văn ...báo, thông tư, công văn ...
- Âm thanh(sound): tiếng nói, âm nhạc, tiềng ồn- Âm thanh(sound): tiếng nói, âm nhạc, tiềng ồn
- Hình ảnh (image): phim ảnh, tivi, camera, tranh vẽ ...- Hình ảnh (image): phim ảnh, tivi, camera, tranh vẽ ...
- Đồ họa (graphic) ...- Đồ họa (graphic) ...
Thông tin Thông tin (INFORMATION) là một khái niệm trừu tượng mô (INFORMATION) là một khái niệm trừu tượng mô tả tất cả những gì đem lại hiểu biết, nhận thức cho con người tả tất cả những gì đem lại hiểu biết, nhận thức cho con người về đối tượng mình quan tâmvề đối tượng mình quan tâm
- Thông tin tồn tại khách quan. Thông tin có thể tạo ra, phát - Thông tin tồn tại khách quan. Thông tin có thể tạo ra, phát sinh, truyền đi, lưu trữ, chọn lọc. Thông tin cũng có thể bị méo sinh, truyền đi, lưu trữ, chọn lọc. Thông tin cũng có thể bị méo mó, sai lệch do nhiễu hay do người xuyên tạcmó, sai lệch do nhiễu hay do người xuyên tạc
Tri thứcTri thức (Knowledge) bao gồm các sự kiện và luật dẫn, là một (Knowledge) bao gồm các sự kiện và luật dẫn, là một dạng đặc biệt của dữ liệu dạng đặc biệt của dữ liệu
ĐỖ QUANG VINH - HUCĐỖ QUANG VINH - HUC 44
Hình - Sơ đồ phân chia dữ liệuHình - Sơ đồ phân chia dữ liệu
Dữ liệu
Dữ liệu dạng số
Dữ liệu dạng phi số
Tri thức
Số nguyên
Số thực
Văn bản
Hình ảnh
Âm thanh
Sự kiện
Luật dẫn
ĐỖ QUANG VINH - HUCĐỖ QUANG VINH - HUC 55
THÁP THÔNG TIN
Mức độ xử lý thông tin
TRI THỨC ĐÃ ĐƯỢC TRẢI NGHIỆM (WISDOM)
TRI THỨC
THÔNG TIN
DỮ LIỆU
ĐỖ QUANG VINH - HUCĐỖ QUANG VINH - HUC 66
Phân loại tri thứcPhân loại tri thức
Khả năng chuyển giao tri thức Khả năng chuyển giao tri thức
(transferability of knowledge)(transferability of knowledge)
Tri thức hiệnTri thức hiện (explicit knowledge) (explicit knowledge)
- Tri thức về sự vật:(know-what)- Tri thức về sự vật:(know-what)
- Tri thức về nguyên nhân hay tri thức giải thích:(know-why)- Tri thức về nguyên nhân hay tri thức giải thích:(know-why)
Tri thức ẩnTri thức ẩn (tacit knowledge)(tacit knowledge)
- Tri thức về cách làm(know-how)- Tri thức về cách làm(know-how)
- Tri thức về người biết (know-who)- Tri thức về người biết (know-who)
ĐỖ QUANG VINH - HUCĐỖ QUANG VINH - HUC 77
Tri thức hiện Tri thức hiện
mô tả bằng văn bản, hình vẽ, âm thanh, có thể truyền bá nhanh mô tả bằng văn bản, hình vẽ, âm thanh, có thể truyền bá nhanh
chóngchóng
Tri thức ẩnTri thức ẩn
- phong phú, đa dạng; chỉ có thể diễn tả trực tiếp bằng hành - phong phú, đa dạng; chỉ có thể diễn tả trực tiếp bằng hành
động và thao tác của chính người sở hữu nó, ví dụ như các động và thao tác của chính người sở hữu nó, ví dụ như các
nghệ nhân, các thợ có tay nghề cao v.v. . . nghệ nhân, các thợ có tay nghề cao v.v. . .
- tồn tại trong bộ não của chủ nhân, không thể truyền đi xa - tồn tại trong bộ não của chủ nhân, không thể truyền đi xa
được, chỉ có thể truyền cho người đến học bằng kiểu bắt chước được, chỉ có thể truyền cho người đến học bằng kiểu bắt chước
hoặc "cầm tay chỉ việc”hoặc "cầm tay chỉ việc”
ĐỖ QUANG VINH - HUCĐỖ QUANG VINH - HUC 88
TRI THỨC HIỆNTRI THỨC HIỆN
Tiếp cận lý thuyếtTiếp cận lý thuyết Cách giải quyết vấn đềCách giải quyết vấn đề Tài liệuTài liệu Cơ sở dữ liệuCơ sở dữ liệu Cơ sở tri thứcCơ sở tri thức
TRI THỨC ẨNTRI THỨC ẨN
Nhận thứcNhận thức Niềm tinNiềm tin Quan niệmQuan niệm Trực giácTrực giác Mô hìnhMô hình
Kỹ thuậtKỹ thuật Ngón nghề (craft)Ngón nghề (craft) Bí quyết (know-how)Bí quyết (know-how)
SO SÁNH 2 LOẠI TRI THỨCSO SÁNH 2 LOẠI TRI THỨC
ĐỖ QUANG VINH - HUCĐỖ QUANG VINH - HUC 99
R.R Nelson R.R Nelson vàvà P.Romer P.Romer (1996)(1996)
Phần cứng Phần cứng (hardware): Tất cả các vật thể vật chất không phải (hardware): Tất cả các vật thể vật chất không phải
con người con người
Phần mềm Phần mềm (software):(software): Kiến thức được điển chế hoá (codified) Kiến thức được điển chế hoá (codified)
và lưu trữ bên ngoài não người.và lưu trữ bên ngoài não người.
Phần ướt Phần ướt (wetware):(wetware): TriTri thức lưu trữ trong “máy tính ướt” thức lưu trữ trong “máy tính ướt”
của não người, gồm niềm tin, kỹ năng, tài năng, ý chí ...của não người, gồm niềm tin, kỹ năng, tài năng, ý chí ...
ĐỖ QUANG VINH - HUCĐỖ QUANG VINH - HUC 1010
Hệ thống các tệp tin cổ điển Hệ thống các tệp tin cổ điển (File System)(File System) Ưu điểm Ưu điểm
– Việc xây dựng hệ thống tệp tin riêng lẻ tại từng đơn vị quản lý tốn ít Việc xây dựng hệ thống tệp tin riêng lẻ tại từng đơn vị quản lý tốn ít thời gian bởi khối lượng dữ liệu cần quản lý và khai thác là nhỏ, không thời gian bởi khối lượng dữ liệu cần quản lý và khai thác là nhỏ, không đòi hỏi đầu tư cơ sở vật chất và công sức nhiềuđòi hỏi đầu tư cơ sở vật chất và công sức nhiều
triển khai ứng dụng nhanh triển khai ứng dụng nhanh – Thông tin được khai thác chỉ phục vụ cho mục đích hẹp nên khả năng Thông tin được khai thác chỉ phục vụ cho mục đích hẹp nên khả năng
đáp ứng nhanh, kịp thờiđáp ứng nhanh, kịp thờiNhược điểm Nhược điểm – Do thông tin được tổ chức ở mỗi nơi khác nhau và phần mềm công cụ Do thông tin được tổ chức ở mỗi nơi khác nhau và phần mềm công cụ
để triển khai rất khác nhau nên sự phối hợp tổ chức và khai thác là khó để triển khai rất khác nhau nên sự phối hợp tổ chức và khai thác là khó khăn. Cùng một dữ liệu được nhập vào tại nhiều nơi khác nhau gây ra khăn. Cùng một dữ liệu được nhập vào tại nhiều nơi khác nhau gây ra lãng phí công sức và không gian lưu trữ trên vật tải. Sự trùng lặp dữ lãng phí công sức và không gian lưu trữ trên vật tải. Sự trùng lặp dữ liệu liệu tình trạng không nhất quán dữ liệu. Dữ liệu được tổ chức ở tình trạng không nhất quán dữ liệu. Dữ liệu được tổ chức ở nhiều nơi nên việc cập nhật làm mất tính nhất quán dữ liệunhiều nơi nên việc cập nhật làm mất tính nhất quán dữ liệu
– Do hệ thống được tổ chức thành các hệ thống tệp riêng lẻ nên thiếu chia Do hệ thống được tổ chức thành các hệ thống tệp riêng lẻ nên thiếu chia sẻ thông tin. Việc kết nối các hệ thống hay việc nâng cấp ứng dụng là sẻ thông tin. Việc kết nối các hệ thống hay việc nâng cấp ứng dụng là rất khó khănrất khó khăn
Xây dựng một hệ thống thông tin đảm bảo được tính nhất quán dữ liệu, Xây dựng một hệ thống thông tin đảm bảo được tính nhất quán dữ liệu, không trùng lặp dữ liệu, đáp ứng được nhu cầu khai thác đồng thời là không trùng lặp dữ liệu, đáp ứng được nhu cầu khai thác đồng thời là thực sự cần thiếtthực sự cần thiết
ĐỖ QUANG VINH - HUCĐỖ QUANG VINH - HUC 1111
Hệ quản trị cơ sở dữ liệu DBMSHệ quản trị cơ sở dữ liệu DBMS
Định nghĩa cơ sở dữ liệuĐịnh nghĩa cơ sở dữ liệu
• Định nghĩaĐịnh nghĩa: :
Cơ sở dữ liệu CSDL là một bộ sưu tập những dữ liệu tác Cơ sở dữ liệu CSDL là một bộ sưu tập những dữ liệu tác
nghiệp được lưu trữ lại và được các hệ ứng dụng của một “xí nghiệp được lưu trữ lại và được các hệ ứng dụng của một “xí
nghiệp” cụ thể nào đó sử dụng (C.J.Date [1])nghiệp” cụ thể nào đó sử dụng (C.J.Date [1])
““Xí nghiệp” chỉ là một thuật ngữ chung tiện lợi để chỉ những Xí nghiệp” chỉ là một thuật ngữ chung tiện lợi để chỉ những
hoạt động thương mại, khoa học, kỹ thuật hoặc các hoạt động hoạt động thương mại, khoa học, kỹ thuật hoặc các hoạt động
khác có quy mô đủ lớnkhác có quy mô đủ lớn
Ví dụ: trường đại học, công ty, ngân hàng, bệnh viện, cơ quan Ví dụ: trường đại học, công ty, ngân hàng, bệnh viện, cơ quan
nhà nước ...nhà nước ...
ĐỖ QUANG VINH - HUCĐỖ QUANG VINH - HUC 1212
CƠ SỞ DỮ LIỆU HỢP NHẤTChương trình ứng dụng 1
Chương trình ứng dụng 2
Chương trình ứng dụng n
Các hệ thống chương trình ứng dụng khai thác
cơ sở dữ liệu
Người sử dụng NSD khai thác cơ sở dữ liệu
Hình 1- Sơ đồ tổng quát về một hệ cơ sở dữ liệu
ĐỖ QUANG VINH - HUCĐỖ QUANG VINH - HUC 1313
Dữ liệu tác nghiệp là các dữ liệu về hoạt động của xí nghiệp Dữ liệu tác nghiệp là các dữ liệu về hoạt động của xí nghiệp được lưu lại. Dữ liệu tác nghiệp của xí nghiệp có thể bao gồm: được lưu lại. Dữ liệu tác nghiệp của xí nghiệp có thể bao gồm:
+ Dữ liệu về sinh viên+ Dữ liệu về sinh viên
+ Dữ liệu về kế hoạch đào tạo+ Dữ liệu về kế hoạch đào tạo
+ Dữ liệu về sản phẩm+ Dữ liệu về sản phẩm
+ Dữ liệu về các tài khoản+ Dữ liệu về các tài khoản
+ Dữ liệu về người bệnh ...+ Dữ liệu về người bệnh ...
• Đặc trưngĐặc trưng: : 33
1.1. CSDL phải là một tập hợp các thông tin mang tính hệ CSDL phải là một tập hợp các thông tin mang tính hệ thống chứ không phải là các thông tin rời rạc, không có thống chứ không phải là các thông tin rời rạc, không có mối quan hệ với nhau mối quan hệ với nhau
2.2. Thông tin phải có cấu trúcThông tin phải có cấu trúc
3.3. Tập hợp thông tin phải có khả năng đáp ứng các nhu cầu Tập hợp thông tin phải có khả năng đáp ứng các nhu cầu khai thác của nhiều NSD một cách đồng thờikhai thác của nhiều NSD một cách đồng thời
ĐỖ QUANG VINH - HUCĐỖ QUANG VINH - HUC 1414
• Ưu điểm nổi bậtƯu điểm nổi bật: : 33
1.1. Giảm sự trùng lặp thông tin xuống mức thấp nhất và do Giảm sự trùng lặp thông tin xuống mức thấp nhất và do
đó bảo đảm được tính nhất quán và toàn vẹn dữ liệuđó bảo đảm được tính nhất quán và toàn vẹn dữ liệu
2.2. Đảm bảo dữ liệu có thể được truy xuất theo nhiều cách Đảm bảo dữ liệu có thể được truy xuất theo nhiều cách
khác nhaukhác nhau
3.3. Khả năng chia sẻ thông tin cho nhiều NSD và nhiều ứng Khả năng chia sẻ thông tin cho nhiều NSD và nhiều ứng
dụng khác nhau dụng khác nhau
• 4 bài toán4 bài toán: :
1.1. Tính chủ quyền của dữ liệu Tính chủ quyền của dữ liệu
2.2. Tính bảo mật và quyền khai thác thông tin của NSD Tính bảo mật và quyền khai thác thông tin của NSD
3.3. Tranh chấp dữ liệu Tranh chấp dữ liệu
4.4. Đảm bảo dữ liệu khi có sự cố Đảm bảo dữ liệu khi có sự cố
ĐỖ QUANG VINH - HUCĐỖ QUANG VINH - HUC 1515
ĐỐI TƯỢNG SỬ DỤNG CSDLĐỐI TƯỢNG SỬ DỤNG CSDL
Người sử dụng (NSD) CSDL không chuyên về lĩnh vực tin Người sử dụng (NSD) CSDL không chuyên về lĩnh vực tin
học và CSDL học và CSDL
Chuyên viên tin học Chuyên viên tin học
Người quản trị CSDL Người quản trị CSDL
ĐỖ QUANG VINH - HUCĐỖ QUANG VINH - HUC 1616
Hệ quản trị cơ sở dữ liệu DBMSHệ quản trị cơ sở dữ liệu DBMS
- Ngôn ngữ giao tiếp giữa NSD và CSDLNgôn ngữ giao tiếp giữa NSD và CSDL::
• Ngôn ngữ định nghĩa dữ liệuNgôn ngữ định nghĩa dữ liệu DDL (Data Definition DDL (Data Definition
Language) Language)
• Ngôn ngữ thao tác dữ liệuNgôn ngữ thao tác dữ liệu DML (Data Manipulation DML (Data Manipulation
Language) Language)
• Ngôn ngữ truy vấn có cấu trúcNgôn ngữ truy vấn có cấu trúc SQL (Structured Query SQL (Structured Query
Language) Language)
• Ngôn ngữ điều khiển dữ liệuNgôn ngữ điều khiển dữ liệu DCL (Data Control Language) DCL (Data Control Language)
• Từ điển dữ liệuTừ điển dữ liệu (Data Dictionary) (Data Dictionary)
ĐỖ QUANG VINH - HUCĐỖ QUANG VINH - HUC 1717
- Có biện pháp bảo mật tốt khi có yêu cầu bảo mật - Có biện pháp bảo mật tốt khi có yêu cầu bảo mật
- Cơ chế giải quyết vấn đề tranh chấp dữ liệu Cơ chế giải quyết vấn đề tranh chấp dữ liệu
- Có cơ chế sao lưu và phục hồi dữ liệu Có cơ chế sao lưu và phục hồi dữ liệu
- Giao diện tốt, dễ sử dụng, dễ hiểu cho những NSDGiao diện tốt, dễ sử dụng, dễ hiểu cho những NSD
- Bảo đảm tính độc lập giữa dữ liệu và chương trìnhBảo đảm tính độc lập giữa dữ liệu và chương trình
ĐỖ QUANG VINH - HUCĐỖ QUANG VINH - HUC 1818
Chương trình
khai báo cấu trúc
Chương trình ứng dụng A
Ngôn ngữ định nghĩa
dữ liệu DDL
Ngôn ngữ thao tác dữ liệu
DML
Từ điển dữ liệu CSDL
Hình 3 - Sơ đồ tổng quát của DBMSHình 3 - Sơ đồ tổng quát của DBMS
ĐỖ QUANG VINH - HUCĐỖ QUANG VINH - HUC 1919
CÁC MỨC BIỂU DIỄN CSDL CÁC MỨC BIỂU DIỄN CSDL
Theo kiến trúc Theo kiến trúc ANSI-PARCANSI-PARC (Standard Planning and (Standard Planning and
Requirements Committee of the American National Standard Requirements Committee of the American National Standard
Institute), một CSDL có 3 mức biểu diễn: Institute), một CSDL có 3 mức biểu diễn:
Mức trong (mức vật lý - Mức trong (mức vật lý - PhysicalPhysical))
Mức quan niệm (Mức quan niệm (ConceptionConception / / LogicalLogical) )
Mức ngoàiMức ngoài
ĐỖ QUANG VINH - HUCĐỖ QUANG VINH - HUC 2020
a. Mức trong a. Mức trong
Là mức quan tâm đến cách tổ chức vật lý của dữ liệu được lưu Là mức quan tâm đến cách tổ chức vật lý của dữ liệu được lưu
trữ trên phần cứng như thế nào? Mức trong mô tả cách dùng trữ trên phần cứng như thế nào? Mức trong mô tả cách dùng
kỹ thuật của các byte và ở cấp độ máykỹ thuật của các byte và ở cấp độ máy
Vấn đề cần giải quyết là dữ liệu gì và được lưu trữ như thế Vấn đề cần giải quyết là dữ liệu gì và được lưu trữ như thế
nào? ở đâu (đĩa từ, băng từ, rãnh, cung từ ... )? cần các chỉ mục nào? ở đâu (đĩa từ, băng từ, rãnh, cung từ ... )? cần các chỉ mục
gì? việc truy xuất là tuần tự (gì? việc truy xuất là tuần tự (sequential accesssequential access) hay ngẫu nhiên ) hay ngẫu nhiên
((randomrandom accessaccess) đối với từng loại dữ liệu. ) đối với từng loại dữ liệu.
Những người làm việc với CSDL là người quản trị CSDL, Những người làm việc với CSDL là người quản trị CSDL,
NSD chuyên môn. NSD chuyên môn.
ĐỖ QUANG VINH - HUCĐỖ QUANG VINH - HUC 2121
b. Mức quan niệm b. Mức quan niệm
CSDL cần phải lưu trữ bao nhiêu loại dữ liệu? đó là những dữ CSDL cần phải lưu trữ bao nhiêu loại dữ liệu? đó là những dữ
liệu gì? Mối quan hệ giữa các loại dữ liệu này như thế nào?liệu gì? Mối quan hệ giữa các loại dữ liệu này như thế nào?
Từ thế giới thực các chuyên viên tin học qua quá trình khảo sát Từ thế giới thực các chuyên viên tin học qua quá trình khảo sát
và phân tích, cùng với những người sẽ đảm nhận vai trò quản và phân tích, cùng với những người sẽ đảm nhận vai trò quản
trị CSDL, sẽ xác định được những loại thông tin gì là cần thiết trị CSDL, sẽ xác định được những loại thông tin gì là cần thiết
phải đưa vào CSDL, đồng thời mô tả rõ mối liên hệ giữa các phải đưa vào CSDL, đồng thời mô tả rõ mối liên hệ giữa các
thông tin này thông tin này
CSDL mức quan niệm là một sự biểu diễn trừu tượng CSDL CSDL mức quan niệm là một sự biểu diễn trừu tượng CSDL
mức vật lý, ngược lại, CSDL vật lý là sự cài đặt cụ thể của mức vật lý, ngược lại, CSDL vật lý là sự cài đặt cụ thể của
CSDL mức quan niệm CSDL mức quan niệm
ĐỖ QUANG VINH - HUCĐỖ QUANG VINH - HUC 2222
c. Mức ngoài c. Mức ngoài
Là mức của NSD và các chương trình ứng dụngLà mức của NSD và các chương trình ứng dụng
Làm việc tại mức này có các nhà chuyên môn, các kỹ sư tin học và Làm việc tại mức này có các nhà chuyên môn, các kỹ sư tin học và NSD không chuyên NSD không chuyên
Mỗi NSD hay mỗi chương trình ứng dụng có thể được "nhìn" CSDL Mỗi NSD hay mỗi chương trình ứng dụng có thể được "nhìn" CSDL theo một góc độ khác nhau. Có thể "nhìn" thấy toàn bộ hay chỉ một theo một góc độ khác nhau. Có thể "nhìn" thấy toàn bộ hay chỉ một phần hoặc chỉ là các thông tin tổng hợp từ CSDL hiện có. NSD hay phần hoặc chỉ là các thông tin tổng hợp từ CSDL hiện có. NSD hay chương trình ứng dụng có thể hoàn toàn không được biết về cấu trúc chương trình ứng dụng có thể hoàn toàn không được biết về cấu trúc tổ chức lưu trữ thông tin trong CSDL, thậm chí ngay cả tên gọi của tổ chức lưu trữ thông tin trong CSDL, thậm chí ngay cả tên gọi của các loại dữ liệu hay tên gọi của các thuộc tính. Họ chỉ có thể làm việc các loại dữ liệu hay tên gọi của các thuộc tính. Họ chỉ có thể làm việc trên một phần CSDL theo cách "nhìn" do người quản trị hay chương trên một phần CSDL theo cách "nhìn" do người quản trị hay chương trình ứng dụng quy định, gọi là khung nhìn (trình ứng dụng quy định, gọi là khung nhìn (ViewView))
Cấu trúc CSDL vật lý (mức trong) và mức quan niệm thì chỉ có một, Cấu trúc CSDL vật lý (mức trong) và mức quan niệm thì chỉ có một, nhưng tại mức ngoài, mức của các chương trình ứng dụng và NSD nhưng tại mức ngoài, mức của các chương trình ứng dụng và NSD trực tiếp CSDL thì có thể có nhiều cấu trúc ngoài tương ứng trực tiếp CSDL thì có thể có nhiều cấu trúc ngoài tương ứng
ĐỖ QUANG VINH - HUCĐỖ QUANG VINH - HUC 2323
Hình 2 - Kiến trúc tổng quát ANSI - PARC của một hệ cơ sở dữ liệu
ĐỖ QUANG VINH - HUCĐỖ QUANG VINH - HUC 2424
Mô hình dữ liệuMô hình dữ liệu là sự trừu tượng hóa môi trường thực là sự trừu tượng hóa môi trường thực, , là sự biểu là sự biểu
diễn dữ liệu ở mức quan niệmdiễn dữ liệu ở mức quan niệm
4 mô hình dữ liệu phổ biến4 mô hình dữ liệu phổ biến: :
mô hình dữ liệu mạngmô hình dữ liệu mạng
mô hình dữ liệu phân cấpmô hình dữ liệu phân cấp
mô hình dữ liệu quan hệ mô hình dữ liệu quan hệ
mô hình dữ liệu thực thể - quan hệ mô hình dữ liệu thực thể - quan hệ
Mô hình dữ liệu quan hệMô hình dữ liệu quan hệ
Mô hình dữ liệu quan hệMô hình dữ liệu quan hệ ( (Relational Data ModelRelational Data Model) do E.F.Codd đề ) do E.F.Codd đề
xuất. 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 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ủa các bộ giá trị quan hệ, tức là tập của các bộ giá trị
ĐỖ QUANG VINH - HUCĐỖ QUANG VINH - HUC 2525
Các khái niệm cơ bảnCác khái niệm cơ bản
• THUỘC TÍNHTHUỘC TÍNH (ATTRIBUTE) (ATTRIBUTE)
- Là một tính chất riêng biệt của một đối tượng cần được lưu - Là một tính chất riêng biệt của một đối tượng cần được lưu trữ trong CSDL để phục vụ cho việc khai thác dữ liệu về đối trữ trong CSDL để phục vụ cho việc khai thác dữ liệu về đối tượngtượng
- Ví dụ:- Ví dụ:
+ Loại thực thể SINH_VIÊN có một số thuộc tính Mã_SV, + Loại thực thể SINH_VIÊN có một số thuộc tính Mã_SV, HọTên_SV, Ngày_sinh, Quê, Mã_khoaHọTên_SV, Ngày_sinh, Quê, Mã_khoa
+ Loại thực thể NGHỆ_SỸ có một số thuộc tính Mã_NS, + Loại thực thể NGHỆ_SỸ có một số thuộc tính Mã_NS, HọTên_NS, Ngày_sinh, QuêHọTên_NS, Ngày_sinh, Quê
+ Loại thực thể CD_AM_NHAC có một số thuộc tính + Loại thực thể CD_AM_NHAC có một số thuộc tính Mã_CD, Tên_CD, Ngày_PH, Loại_nhạc …Mã_CD, Tên_CD, Ngày_PH, Loại_nhạc …
ĐỖ QUANG VINH - HUCĐỖ QUANG VINH - HUC 2626
- Đặc trưng bởi một tên gọi, kiểu giá trị và miền - Đặc trưng bởi một tên gọi, kiểu giá trị và miền giá trịgiá trị
- Mỗi thuộc tính có thể chỉ chọn lấy những giá trị - Mỗi thuộc tính có thể chỉ chọn lấy những giá trị trong một tập hợp con của kiểu dữ liệu. Tập hợp trong một tập hợp con của kiểu dữ liệu. Tập hợp các giá trị mà một thuộc tính A có thể nhận được các giá trị mà một thuộc tính A có thể nhận được gọi là miền giá trị (gọi là miền giá trị (domaindomain) của thuộc tính A và ) của thuộc tính A và được ký hiệu là DOM(A)được ký hiệu là DOM(A)
- Ví dụ: - Ví dụ:
Sinh viên đang theo học tại trường đại học HUC Sinh viên đang theo học tại trường đại học HUC thì tuổi nhiều nhất là 60 và tuổi ít nhất là 18 thì tuổi nhiều nhất là 60 và tuổi ít nhất là 18
ĐỖ QUANG VINH - HUCĐỖ QUANG VINH - HUC 2727
• QUAN HỆQUAN HỆ (RELATION) (RELATION)- Một quan hệ R có n ngôi được định nghĩa trên tập - Một quan hệ R có n ngôi được định nghĩa trên tập các thuộc tính U = {Acác thuộc tính U = {A11, A, A22, ..., A, ..., Ann} (thứ tự của các } (thứ tự của các thuộc tính là không quan trọng) và kèm theo nó là thuộc tính là không quan trọng) và kèm theo nó là một tân từ, tức là một quy tắc để xác định mối quan một tân từ, tức là một quy tắc để xác định mối quan hệ giữa các thuộc tính Ahệ giữa các thuộc tính Aii và được ký hiệu là R(A và được ký hiệu là R(A11, , AA22, ..., A, ..., Ann). Tập thuộc tính của quan hệ R đôi khi còn ). Tập thuộc tính của quan hệ R đôi khi còn được ký hiệu là R+được ký hiệu là R+
- Với A- Với Aii là một thuộc tính có miền giá trị là DOM(A là một thuộc tính có miền giá trị là DOM(Aii), ), như vậy, R(Anhư vậy, R(A11, A, A22, ..., A, ..., Ann) là tập con của tích Đề các: ) là tập con của tích Đề các: DOM(ADOM(A11) x DOM(A) x DOM(A22) x ... x DOM(A) x ... x DOM(Ann))
- Quan hệ còn được gọi bằng thuật ngữ khác là bảng - Quan hệ còn được gọi bằng thuật ngữ khác là bảng ((TableTable))
ĐỖ QUANG VINH - HUCĐỖ QUANG VINH - HUC 2828
- Ví dụ: - Ví dụ:
SINH_VIÊN(Mã_SV, HọTên_SV, Ngày_sinh, Quê, SINH_VIÊN(Mã_SV, HọTên_SV, Ngày_sinh, Quê, Mã_lớp) là quan hệ 5 ngôi.Mã_lớp) là quan hệ 5 ngôi.
Tân từ: "Tân từ: "Mỗi sinh viên có một họ và tên, ngày Mỗi sinh viên có một họ và tên, ngày sinh, quê quán, ... và được cấp một mã duy nhất sinh, quê quán, ... và được cấp một mã duy nhất để phân biệt với mọi sinh viên khác trong trường, để phân biệt với mọi sinh viên khác trong trường, sinh viên được đăng ký vào một lớp học duy nhất sinh viên được đăng ký vào một lớp học duy nhất trong trườngtrong trường".".
ĐỖ QUANG VINH - HUCĐỖ QUANG VINH - HUC 2929
• BỘ GIÁ TRỊBỘ GIÁ TRỊ (TUPLE) (TUPLE)
- Là các thông tin của một đối tượng thuộc quan hệ. Bộ - Là các thông tin của một đối tượng thuộc quan hệ. Bộ giá trị thường được gọi là bản ghi (giá trị thường được gọi là bản ghi (recordrecord) hoặc hàng ) hoặc hàng của bảng (của bảng (rowrow). ).
- Về mặt hình thức, một bộ q là một vectơ gồm n thành - Về mặt hình thức, một bộ q là một vectơ gồm n thành phần thuộc tập hợp con của tích Đề các miền giá trị của phần thuộc tập hợp con của tích Đề các miền giá trị của các thuộc tính và thỏa mãn tân từ đã cho của quan hệ:các thuộc tính và thỏa mãn tân từ đã cho của quan hệ:
q=(aq=(a11, a, a22, ..., a, ..., ann) (DOM(A) (DOM(A11) x (DOM(A) x (DOM(A22) x... x DOM(A) x... x DOM(Ann)) ))
ĐỖ QUANG VINH - HUCĐỖ QUANG VINH - HUC 3030
- Ví dụ:- Ví dụ:4 bộ giá trị dựa trên các thuộc tính của quan hệ 4 bộ giá trị dựa trên các thuộc tính của quan hệ SINH_VIÊN:SINH_VIÊN:
qq11 = (TV38A001, Nguyễn Duy Nghĩa, 27/03/1988, Bắc = (TV38A001, Nguyễn Duy Nghĩa, 27/03/1988, Bắc Kạn, TV38A)Kạn, TV38A)
qq22 = (PHXBP24A005, Vũ Bích Nga, 26/08/1988, Lạng = (PHXBP24A005, Vũ Bích Nga, 26/08/1988, Lạng Sơn, PHXBP24A)Sơn, PHXBP24A)
qq33 = (QLVH8B014, Đỗ Xuân Sơn, 30/04/1989, Khánh = (QLVH8B014, Đỗ Xuân Sơn, 30/04/1989, Khánh Hòa, QLVH8B)Hòa, QLVH8B)
qq44 = (VHDL14B015, Lê Hoài Hà, 23/10/1987, Hà Nam, = (VHDL14B015, Lê Hoài Hà, 23/10/1987, Hà Nam, VHDL14B)VHDL14B)
ĐỖ QUANG VINH - HUCĐỖ QUANG VINH - HUC 3131
• THỂ HIỆN CỦA QUAN HỆTHỂ HIỆN CỦA QUAN HỆ
- Thể hiện TR (hoặc - Thể hiện TR (hoặc tình trạngtình trạng) của quan hệ R là ) của quan hệ R là tập hợp các bộ giá trị của quan hệ R vào một thời tập hợp các bộ giá trị của quan hệ R vào một thời điểm. điểm.
- Tại những thời điểm khác nhau thì quan hệ sẽ có - Tại những thời điểm khác nhau thì quan hệ sẽ có những thể hiện khác nhau. Thể hiện của các lược những thể hiện khác nhau. Thể hiện của các lược đồ quan hệ con TRđồ quan hệ con TRii gọi là tình trạng của lược đồ gọi là tình trạng của lược đồ CSDL CSDL CC
ĐỖ QUANG VINH - HUCĐỖ QUANG VINH - HUC 3232
- Ví dụ:- Ví dụ:
Thể hiện của quan hệ MÔN_HỌCThể hiện của quan hệ MÔN_HỌC
Mã_môn_học Tên_môn_học Số_ĐVHTCNTT Công nghệ thông tin 5HTTTQL Hệ thống thông tin quản lý 2KHQL Khoa học quản lý 4QLVH Nhập môn Quản lý văn hóa 3THQL Tin học quản lý 4TOAN Toán cao cấp 3UDCNTT Ứng dụng CNTT trong QLVH 3
ĐỖ QUANG VINH - HUCĐỖ QUANG VINH - HUC 3333
• KHÓAKHÓA (KEY) (KEY) Có nhiều cách khác nhau để định nghĩa khóa: Có nhiều cách khác nhau để định nghĩa khóa: Định nghĩa 6Định nghĩa 6::
Khóa của lược đồ quan hệ R định nghĩa trên Khóa của lược đồ quan hệ R định nghĩa trên tập các thuộc tính U={Atập các thuộc tính U={A11, A, A22, ..., A, ..., Ann} là một tập } là một tập con K con K U thỏa mãn các tính chất sau: với U thỏa mãn các tính chất sau: với bộ bộ giá trị qgiá trị q11, q, q2 2 của R đều của R đều một thuộc tính A một thuộc tính A K K sao cho qsao cho q11.A .A q q22.A. .A.
!! 2 bộ có giá trị bằng nhau trên 2 bộ có giá trị bằng nhau trên thuộc tính của thuộc tính của K:K:
qq11.K .K q q22.K .K Như vậy, mỗi giá trị của khóa K phải là xác định Như vậy, mỗi giá trị của khóa K phải là xác định
duy nhất trên quan hệ R. duy nhất trên quan hệ R. Theo định nghĩa trên, nếu K' Theo định nghĩa trên, nếu K' K K U là khóa của U là khóa của lược đồ quan hệ R thì K cũng là khóa của Rlược đồ quan hệ R thì K cũng là khóa của Rbởi vì qbởi vì q11.K' .K' q q22.K' thì có q.K' thì có q11.K .K q q22.K .K
ĐỖ QUANG VINH - HUCĐỖ QUANG VINH - HUC 3434
Như vậy, trong lược đồ quan hệ có thể có rất nhiều Như vậy, trong lược đồ quan hệ có thể có rất nhiều khóa. Việc xác định tất cả các khóa của một lược đồ khóa. Việc xác định tất cả các khóa của một lược đồ quan hệ là rất khó khăn quan hệ là rất khó khăn
Định nghĩa 6 là chưa chặt chẽĐịnh nghĩa 6 là chưa chặt chẽ
Định nghĩa 7Định nghĩa 7::Quan hệ R định nghĩa trên tập các thuộc tính U={AQuan hệ R định nghĩa trên tập các thuộc tính U={A11, , AA22, ..., A, ..., Ann}}
K K U là khóa của quan hệ R nếu thỏa 2 điều kiện sau U là khóa của quan hệ R nếu thỏa 2 điều kiện sau đây:đây:
(i) K xác định được giá trị của A(i) K xác định được giá trị của Ajj với với j = 1, 2, ..., n j = 1, 2, ..., n(ii) !(ii) ! K' K' K mà K' có thể xác định được giá trị của A K mà K' có thể xác định được giá trị của A jj
với với j = 1,2, ..., n j = 1,2, ..., n K là tập con nhỏ nhất mà giá trị của nó có thể xác K là tập con nhỏ nhất mà giá trị của nó có thể xác
định duy nhất một bộ giá trị của quan hệ định duy nhất một bộ giá trị của quan hệ
ĐỖ QUANG VINH - HUCĐỖ QUANG VINH - HUC 3535
Khóa của quan hệ theo định nghĩa 7 được gọi là Khóa của quan hệ theo định nghĩa 7 được gọi là khóa dự bịkhóa dự bị (c (candidateandidate) và là ) và là khóa nộikhóa nội của quan của quan hệhệ
K làK là siêu khóa siêu khóa của quan hệ R nếu K' của quan hệ R nếu K' K là một K là một khóa của quan hệ khóa của quan hệ Một lược đồ quan hệ Q của quan hệ R luôn có ít Một lược đồ quan hệ Q của quan hệ R luôn có ít nhất một siêu khóa và có thể có nhiều siêu khóa nhất một siêu khóa và có thể có nhiều siêu khóa
Ý nghĩa thực tế của khóa là dùng để nhận diện Ý nghĩa thực tế của khóa là dùng để nhận diện một bộ trong một quan hệmột bộ trong một quan hệ
Khi cần truy tìm một bộ q chỉ cần biết giá trị của Khi cần truy tìm một bộ q chỉ cần biết giá trị của thành phần khóa của q là đủ để dò tìm và hoàn thành phần khóa của q là đủ để dò tìm và hoàn toàn xác định được nó trong quan hệ toàn xác định được nó trong quan hệ
ĐỖ QUANG VINH - HUCĐỖ QUANG VINH - HUC 3636
Trong trường hợp lược đồ quan hệ Q có nhiều Trong trường hợp lược đồ quan hệ Q có nhiều khóa chỉ định, khi cài đặt trên một DBMS, NSD có khóa chỉ định, khi cài đặt trên một DBMS, NSD có thể chọn một trong số các khóa dự bị để tạo thể chọn một trong số các khóa dự bị để tạo chỉ chỉ mụcmục ( (indexindex) chi phối việc truy cập đến các bộ. ) chi phối việc truy cập đến các bộ. Khóa dự bị này được gọi là Khóa dự bị này được gọi là khóa chínhkhóa chính ( (primary primary keykey) )
Các khóa còn lại gọi là các Các khóa còn lại gọi là các khóa tương đươngkhóa tương đương Khóa chính chỉ thật sự có ý nghĩa trong quá trình Khóa chính chỉ thật sự có ý nghĩa trong quá trình
khai thác CSDL và về lý thuyết, khóa chính hoàn khai thác CSDL và về lý thuyết, khóa chính hoàn toàn không có vai trò gì khác so với các khóa dự toàn không có vai trò gì khác so với các khóa dự bị còn lạibị còn lại
Một số DBMS như Microsoft Access, ORACLE, Một số DBMS như Microsoft Access, ORACLE, DB2 ... có cài đặt cơ chế tự động kiểm tra tính DB2 ... có cài đặt cơ chế tự động kiểm tra tính duy nhất trên khóa chính. Nghĩa là, nếu thêm một duy nhất trên khóa chính. Nghĩa là, nếu thêm một bộ mới qbộ mới q22 có giá trị khóa chính trùng với giá trị có giá trị khóa chính trùng với giá trị khóa chính của một bộ qkhóa chính của một bộ q11 nào đó đã có trong nào đó đã có trong quan hệ thì hệ thống sẽ báo lỗi và yêu cầu nhập quan hệ thì hệ thống sẽ báo lỗi và yêu cầu nhập lại một giá trị kháclại một giá trị khác
ĐỖ QUANG VINH - HUCĐỖ QUANG VINH - HUC 3737
Qui ướcQui ước::- Trong một bộ của một quan hệ các thuộc tính khóa - Trong một bộ của một quan hệ các thuộc tính khóa không chứa giá trị rỗng.không chứa giá trị rỗng.- Không được phép sửa đổi giá trị của thuộc tính khóa. - Không được phép sửa đổi giá trị của thuộc tính khóa. Nếu muốn sửa đổi giá trị thuộc tính khóa của một bộ Nếu muốn sửa đổi giá trị thuộc tính khóa của một bộ q, NSD phải hủy bỏ bộq, NSD phải hủy bỏ bộ q và sau đó, thêm mới một bộ q và sau đó, thêm mới một bộ q' với giá trị khóa đã được sửa đổi. q' với giá trị khóa đã được sửa đổi. - Các thuộc tính có tham gia vào một khóa được gọi là - Các thuộc tính có tham gia vào một khóa được gọi là thuộc tính khóa. Ngược lại, các thuộc tính không tham thuộc tính khóa. Ngược lại, các thuộc tính không tham gia vào một khóa nào gọi là thuộc tính không khóagia vào một khóa nào gọi là thuộc tính không khóa
- Ví dụ: - Ví dụ: + KHOA (+ KHOA (Mã_khoaMã_khoa, Tên_khoa), Tên_khoa)+ MÔN_HỌC (+ MÔN_HỌC (Mã_môn_họcMã_môn_học, Tên_môn_học, Số_ĐVHT), Tên_môn_học, Số_ĐVHT)+ SINH_VIÊN (+ SINH_VIÊN (Mã_SVMã_SV, HọTên_SV, Ngày_sinh, Quê, , HọTên_SV, Ngày_sinh, Quê,
Mã_khoa)Mã_khoa)+ KẾT_QUẢ_THI (+ KẾT_QUẢ_THI (Mã_SV, Mã_môn_họcMã_SV, Mã_môn_học, Lần_thi, Ngày_thi, , Lần_thi, Ngày_thi,
Điểm_thi, Ghi_chú)Điểm_thi, Ghi_chú)
ĐỖ QUANG VINH - HUCĐỖ QUANG VINH - HUC 3838
Khóa ngoạiKhóa ngoại (Foreign Key)(Foreign Key)
Giả sử có hai quan hệ R và S. Giả sử có hai quan hệ R và S.
Một tập thuộc tính K của quan hệ R được gọi làMột tập thuộc tính K của quan hệ R được gọi là khóa ngoại của quan hệ R nếu K là khóa nội của khóa ngoại của quan hệ R nếu K là khóa nội của quan hệ Squan hệ S
- Ví dụ:- Ví dụ:
Mã_khoa trong quan hệ SINH_VIÊN là khóa ngoại Mã_khoa trong quan hệ SINH_VIÊN là khóa ngoại vì nó là khóa nội của quan hệ KHOAvì nó là khóa nội của quan hệ KHOA
ĐỖ QUANG VINH - HUCĐỖ QUANG VINH - HUC 3939
• PHỤ THUỘC HÀMPHỤ THUỘC HÀM (FUNCTIONAL DEPENDENCY)(FUNCTIONAL DEPENDENCY) Quan hệ R được định nghĩa trên tập thuộc tính U Quan hệ R được định nghĩa trên tập thuộc tính U = { A= { A11, A, A22, ..., A, ..., Ann} } X, Y X, Y U là 2 tập con của tập thuộc tính U. Nếu U là 2 tập con của tập thuộc tính U. Nếu tồn tại một ánh xạ f : X tồn tại một ánh xạ f : X Y thì ta nói rằng X xác Y thì ta nói rằng X xác định hàm Y, hay Y phụ thuộc hàm vào X và ký định hàm Y, hay Y phụ thuộc hàm vào X và ký hiệu là X hiệu là X Y Y
• RÀNG BUỘC TOÀN VẸNRÀNG BUỘC TOÀN VẸN (INTEGRITY CONSTRAINT / RULE)(INTEGRITY CONSTRAINT / RULE)
- Là một quy tắc định nghĩa trên một hay nhiều - Là một quy tắc định nghĩa trên một hay nhiều quan hệ do môi trường ứng dụng quy định quan hệ do môi trường ứng dụng quy định quy quy tắc để đảm bảo tính nhất quán của dữ liệu trong tắc để đảm bảo tính nhất quán của dữ liệu trong CSDL.CSDL.- Mỗi RBTV được định nghĩa bằng một thuật toán - Mỗi RBTV được định nghĩa bằng một thuật toán trong CSDLtrong CSDL
ĐỖ QUANG VINH - HUCĐỖ QUANG VINH - HUC 4040
- Ví dụ: - Ví dụ:
SINH_VIÊN (SINH_VIÊN (MA_SVMA_SV, HọTên_SV, Ngày_sinh, Quê, Mã_lớp), HọTên_SV, Ngày_sinh, Quê, Mã_lớp)
Quy tắcQuy tắc: Ngày_sinh của sinh viên phải ≥{01/01/1948} : Ngày_sinh của sinh viên phải ≥{01/01/1948} và ≤{31/12/1990} và ≤{31/12/1990}
Thuật toánThuật toán: : svsv SINH_VIÊN thì SINH_VIÊN thì sv.Ngày_sinh≥{01/01/1948} & sv.Ngày_sinh≥{01/01/1948} & sv.Ngày_sinh≤{31/12/1990}sv.Ngày_sinh≤{31/12/1990}
ĐỖ QUANG VINH - HUCĐỖ QUANG VINH - HUC 4141
Các phép toán cơ bản trên các quan hệ: 3Các phép toán cơ bản trên các quan hệ: 3
PHÉP CHÈN THÊM MỘT BỘ MỚI VÀO QUAN PHÉP CHÈN THÊM MỘT BỘ MỚI VÀO QUAN HỆHỆ Việc chèn thêm một bộ giá trị mới t vào quan hệ Việc chèn thêm một bộ giá trị mới t vào quan hệ R (AR (A11, A, A22, ..., A, ..., Ann) làm cho thể hiện TR của nó tăng ) làm cho thể hiện TR của nó tăng thêm một phần tử mới: TR = TR thêm một phần tử mới: TR = TR t t
Dạng hình thức: Dạng hình thức:
INSERT (R; AiINSERT (R; Ai11=v=v11, Ai, Ai22 =v =v22, ..., Ai, ..., Aimm= v= vmm) ) trong đó: trong đó:
AiAi11, Ai, Ai22, ..., Ai, ..., Aimm là các thuộc tính là các thuộc tính
vv11, v, v22, ..., v, ..., vmm là các giá trị thuộc DOM(Ai là các giá trị thuộc DOM(Ai11), ), DOM(AiDOM(Ai22) , ..., DOM(Ai) , ..., DOM(Aimm) tương ứng) tương ứng
ĐỖ QUANG VINH - HUCĐỖ QUANG VINH - HUC 4242
- Ví dụ: Quan hệ - Ví dụ: Quan hệ SINH_VIÊN(Mã_SV, HọTên_SV, Ngày_sinh, Quê, Mã_lớp) SINH_VIÊN(Mã_SV, HọTên_SV, Ngày_sinh, Quê, Mã_lớp)
Chèn thêm bộ qChèn thêm bộ q55=(TV38B002, Hoàng Thu Trang, 17/05/1987, Hà Nội, =(TV38B002, Hoàng Thu Trang, 17/05/1987, Hà Nội, TV38B) vào quan hệ SINH_VIÊN bởi phép thêm như sau: TV38B) vào quan hệ SINH_VIÊN bởi phép thêm như sau:
INSERT(SINH_VIÊN; [Mã_SV] = ‘TV38b002’,[hotensv]=‘Hoàng Thu INSERT(SINH_VIÊN; [Mã_SV] = ‘TV38b002’,[hotensv]=‘Hoàng Thu Trang’, [Ngày_sinh]=17/05/1987, [Quê]=Hà Nội, [Mã_lớp]= Trang’, [Ngày_sinh]=17/05/1987, [Quê]=Hà Nội, [Mã_lớp]= TV38B). TV38B).
Thể hiện TThể hiện TSINH_VIÊNSINH_VIÊN : :
qq11 = (TV38A001, Nguyễn Duy Nghĩa, 27/03/1988, Bắc Kạn, TV38A) = (TV38A001, Nguyễn Duy Nghĩa, 27/03/1988, Bắc Kạn, TV38A)
qq55 = (TV38B002, Hoàng Thu Trang, 17/05/1987, Hà Nội, TV38B) = (TV38B002, Hoàng Thu Trang, 17/05/1987, Hà Nội, TV38B)
qq22 = (PHXBP24A005, Vũ Bích Nga, 26/08/1988, Lạng Sơn, = (PHXBP24A005, Vũ Bích Nga, 26/08/1988, Lạng Sơn, PHXBP24A)PHXBP24A)
qq33 = (QLVH8B014, Đỗ Xuân Sơn, 30/04/1989, Khánh Hòa, QLVH8B) = (QLVH8B014, Đỗ Xuân Sơn, 30/04/1989, Khánh Hòa, QLVH8B)
qq44 = (VHDL14B015, Lê Hoài Hà, 23/10/1987, Hà Nam, VHDL14B) = (VHDL14B015, Lê Hoài Hà, 23/10/1987, Hà Nam, VHDL14B)
ĐỖ QUANG VINH - HUCĐỖ QUANG VINH - HUC 4343
PHÉP XOÁ BỘ KHỎI QUAN HỆPHÉP XOÁ BỘ KHỎI QUAN HỆ
Phép xoá một bộ t của quan hệ sẽ lấy đi bộ t khỏi Phép xoá một bộ t của quan hệ sẽ lấy đi bộ t khỏi thể hiện của quan hệ: TR = TR\ t thể hiện của quan hệ: TR = TR\ t
Dạng hình thức: Dạng hình thức:
DELETE (R; AiDELETE (R; Ai11= v= v11, Ai, Ai22 = v = v22, ... Ai, ... Aim m = v= vmm) )
trong đó: trong đó:
AiAijj=v=vjj (j = 1, 2, ..., m) là những điều kiện thỏa một (j = 1, 2, ..., m) là những điều kiện thỏa một số thuộc tính của bộ tsố thuộc tính của bộ t để xoá một bộ ra khỏi quan để xoá một bộ ra khỏi quan hệ hệ
ĐỖ QUANG VINH - HUCĐỖ QUANG VINH - HUC 4444
- Ví dụ: - Ví dụ: Quan hệ SINH_VIÊN(Mã_SV, HọTên_SV, Ngày_sinh, Quê, Quan hệ SINH_VIÊN(Mã_SV, HọTên_SV, Ngày_sinh, Quê, Mã_lớp) Mã_lớp) Với phép xoá như sau:Với phép xoá như sau:
DELETE (SINH_VIÊN; [Quê] = Bắc Kạn) DELETE (SINH_VIÊN; [Quê] = Bắc Kạn) Thì bộ q1 = (TV38A001, Nguyễn Duy Nghĩa, 27/03/1988, Thì bộ q1 = (TV38A001, Nguyễn Duy Nghĩa, 27/03/1988, Bắc Kạn, TV38A)Bắc Kạn, TV38A)sẽ bị xoá ra khỏi quan hệ SINH_VIÊN bởi vì có Quê là Bắc sẽ bị xoá ra khỏi quan hệ SINH_VIÊN bởi vì có Quê là Bắc Kạn. Kạn. Khi đó, thể hiện TKhi đó, thể hiện TSINH_VIêNSINH_VIêN : :
qq22 = (PHXBP24A005, Vũ Bích Nga, 26/08/1988, Lạng Sơn, = (PHXBP24A005, Vũ Bích Nga, 26/08/1988, Lạng Sơn, PHXBP24A)PHXBP24A)
qq33 = (QLVH8B014, Đỗ Xuân Sơn, 30/04/1989, Khánh Hòa, = (QLVH8B014, Đỗ Xuân Sơn, 30/04/1989, Khánh Hòa, QLVH8B)QLVH8B)
qq44 = (VHDL14B015, Lê Hoài Hà, 23/10/1987, Hà Nam, = (VHDL14B015, Lê Hoài Hà, 23/10/1987, Hà Nam, VHDL14B)VHDL14B)
qq55 = (TV38B002, Hoàng Thu Trang, 17/05/1987, Hà Nội, = (TV38B002, Hoàng Thu Trang, 17/05/1987, Hà Nội, TV38B)TV38B)
ĐỖ QUANG VINH - HUCĐỖ QUANG VINH - HUC 4545
PHÉP CẬP NHẬT GIÁ TRỊ CỦA CÁC THUỘC TÍNHPHÉP CẬP NHẬT GIÁ TRỊ CỦA CÁC THUỘC TÍNH
Dữ liệu của CSDL đôi khi cũng cần phải được đổi Dữ liệu của CSDL đôi khi cũng cần phải được đổi mới theo thời gian hoặc sửa lại cho đảm bảo tính mới theo thời gian hoặc sửa lại cho đảm bảo tính chính xác hoặc nhất quán của dữ liệu. Do đó, chính xác hoặc nhất quán của dữ liệu. Do đó, thao tác cập nhật dữ liệu là rất cần thiết. Một số thao tác cập nhật dữ liệu là rất cần thiết. Một số DBMS đưa ra nhiều câu lệnh khác nhau để cập DBMS đưa ra nhiều câu lệnh khác nhau để cập nhật dữ liệu nhật dữ liệu
Dạng hình thức: Dạng hình thức: UPDATE (R; AiUPDATE (R; Ai11= c= c11, Ai, Ai22 = c = c22, ..., Ai, ..., Aimm= c= cmm; Ai; Ai11= v= v11, , AiAi22 = v = v22, ..., Ai, ..., Aimm= v= vmm) )
trong đó: trong đó: R là quan hệ cần thực hiện cập nhật, AiR là quan hệ cần thực hiện cập nhật, Ai j j = c= cjj (j = (j = 1, 2, ..., m) là điều kiện tìm kiếm bộ giá trị để cập 1, 2, ..., m) là điều kiện tìm kiếm bộ giá trị để cập nhật và Ainhật và Aijj= v= vjj (j = 1, 2, ..., m) là giá trị mới của (j = 1, 2, ..., m) là giá trị mới của bộ bộ
ĐỖ QUANG VINH - HUCĐỖ QUANG VINH - HUC 4646
- Ví dụ: - Ví dụ:
Quan hệ SINH_VIÊN(Mã_SV, HọTên_SV, Ngày_sinh, Quan hệ SINH_VIÊN(Mã_SV, HọTên_SV, Ngày_sinh, Quê, Mã_lớp) Quê, Mã_lớp)
Với phép cập nhật giá trị như sau:Với phép cập nhật giá trị như sau:
UPDATE (SINH_VIÊN;[Mã_SV]=VHDL14B015, UPDATE (SINH_VIÊN;[Mã_SV]=VHDL14B015, [Quê]=Nam Định) [Quê]=Nam Định)
thì giá trị của bộ q4 được cập nhật thành:thì giá trị của bộ q4 được cập nhật thành:
qq44 = (VHDL14B015, Lê Hoài Hà, 23/10/1987, Nam = (VHDL14B015, Lê Hoài Hà, 23/10/1987, Nam Định, VHDL14B)Định, VHDL14B)
ĐỖ QUANG VINH - HUCĐỖ QUANG VINH - HUC 4747
Mô hình thực thể - quan hệ ERMô hình thực thể - quan hệ ER
- ER (- ER (Entity Relationship ModelEntity Relationship Model) do P.P.Chen đề xuất ) do P.P.Chen đề xuất - Các khái niệm chủ yếu được sử dụng trong mô - Các khái niệm chủ yếu được sử dụng trong mô hình: hình:
Loại thực thể (Loại thực thể (Entity TypeEntity Type): là một loại đối tượng ): là một loại đối tượng cần quản lý trong CSDL, chẳng hạn, KHOA, cần quản lý trong CSDL, chẳng hạn, KHOA, LỚP_HỌC, MÔN_HỌC, GIẢNG_VIÊN, SINH_VIÊN LỚP_HỌC, MÔN_HỌC, GIẢNG_VIÊN, SINH_VIÊN
Thực thể (Thực thể (EntityEntity): là một thể hiện hoặc một đối ): là một thể hiện hoặc một đối tượng của một loại thực thể tượng của một loại thực thể
Thuộc tính của loại thực thể (Thuộc tính của loại thực thể (Entity AttributeEntity Attribute): là ): là các đặc tính riêng biệt cơ bản của loại thực thể, các đặc tính riêng biệt cơ bản của loại thực thể, tương tự khái niệm thuộc tính (tương tự khái niệm thuộc tính (AttributeAttribute) trong mô ) trong mô hình dữ liệu quan hệ hình dữ liệu quan hệ
ĐỖ QUANG VINH - HUCĐỖ QUANG VINH - HUC 4848
Khóa của loại thực thể (Khóa của loại thực thể (Entity Key)Entity Key)
Loại mối quan hệ (Loại mối quan hệ (Entity RelationshipEntity Relationship))
Số ngôi của mối quan hệ (Số ngôi của mối quan hệ (Relationship DegreeRelationship Degree) )
Thuộc tính của mối quan hệ (Thuộc tính của mối quan hệ (Relationship Relationship
AttributeAttribute) )
Bản số của mỗi nhánh của mối quan hệ Bản số của mỗi nhánh của mối quan hệ
((Relationship CardinalRelationship Cardinal) )
ĐỖ QUANG VINH - HUCĐỖ QUANG VINH - HUC 4949
Hình 7 - Mô hình thực thể - quan hệ Hình 7 - Mô hình thực thể - quan hệ
của CSDL quản lý đào tạo tại trường đại học HUCcủa CSDL quản lý đào tạo tại trường đại học HUC
KHOA
GIẢNG_VIÊN LỚP_ HỌC
MÔN_ HỌC SINH_VIÊN
ĐIỂM_THI
KHOALỚP_ HỌC
GIẢNG_DẠY
KẾT_QUẢ_THI
SINH_VIÊNLỚP_ HỌC
ĐIỂM_THI
(1,n)
(1,1)
(1,n)
(1,n)(1,n)
(1,n)(1,n)
(1,n)
(1,1)(1,1)
Thực thể
Mối quan hệ
ĐỖ QUANG VINH - HUCĐỖ QUANG VINH - HUC 5050
Thíết kế cơ sở dữ liệu: 8 bướcThíết kế cơ sở dữ liệu: 8 bước
1.1. Phân tích toàn bộ yêu cầuPhân tích toàn bộ yêu cầu
2.2. Xác định thực thểXác định thực thể
3.3. Xác định mối tương quan giữa các thực thểXác định mối tương quan giữa các thực thể
4.4. Xác định trường khoá chínhXác định trường khoá chính
5.5. Xác định trường khoá ngoạiXác định trường khoá ngoại
6.6. Thêm các trường không phải trường khoá vào bảng dữ liệuThêm các trường không phải trường khoá vào bảng dữ liệu
7.7. Xây dựng mạng dữ liệuXây dựng mạng dữ liệu
8.8. Khai báo phạm vi của mỗi trườngKhai báo phạm vi của mỗi trường
ĐỖ QUANG VINH - HUCĐỖ QUANG VINH - HUC 5151
TÀI LIỆU THAM KHẢOTÀI LIỆU THAM KHẢO1.1. Date C.J. (1995), Date C.J. (1995), An Introduction to Database SystemsAn Introduction to Database Systems, 6, 6thth Edition, Addison-Wesley, Edition, Addison-Wesley,
Massachusetts.Massachusetts.
2.2. A.J. Fabbri, A.R. Schwab (1999), A.J. Fabbri, A.R. Schwab (1999), Quản trị cơ sở dữ liệuQuản trị cơ sở dữ liệu, Trần Đức Quang biên dịch, , Trần Đức Quang biên dịch,
Nxb Thống kê, TP. Nxb Thống kê, TP. Hồ Chí Minh.Hồ Chí Minh.
3.3. T.J. Toby (2002), T.J. Toby (2002), Mô hình hóa & Thiết kế cơ sở dữ liệuMô hình hóa & Thiết kế cơ sở dữ liệu, Trần Đức Quang biên dịch, Nxb , Trần Đức Quang biên dịch, Nxb
Thống kê, TP. Hồ Chí Minh.Thống kê, TP. Hồ Chí Minh.
4.4. Nguyễn Kim Anh (2004), Nguyễn Kim Anh (2004), Nguyên lý của các hệ cơ sở dữ liệuNguyên lý của các hệ cơ sở dữ liệu, Nxb Đại học quốc gia Hà , Nxb Đại học quốc gia Hà
Nội. Nội.
5.5. Nguyễn Thị Ngọc Mai, Nguyễn Thị Kim Trang, Đoàn Thiện Ngân (2007), Nguyễn Thị Ngọc Mai, Nguyễn Thị Kim Trang, Đoàn Thiện Ngân (2007), Lý thuyết cơ Lý thuyết cơ
sở dữ liệusở dữ liệu, 2 tập, Nxb Lao động - Xã hội, TP. Hồ Chí Minh., 2 tập, Nxb Lao động - Xã hội, TP. Hồ Chí Minh.
6.6. Đỗ Trung Tuấn (2004), Đỗ Trung Tuấn (2004), Cơ sở dữ liệuCơ sở dữ liệu, Nxb Đại học quốc gia Hà Nội. , Nxb Đại học quốc gia Hà Nội.
7.7. Nguyễn Tô Thành (1996), Nguyễn Tô Thành (1996), Giáo trình FoxProGiáo trình FoxPro, 2 tập, Trường Đại học Bách khoa Hà Nội., 2 tập, Trường Đại học Bách khoa Hà Nội.
8.8. Nguyễn Tuệ (2007), Nguyễn Tuệ (2007), Nhập môn hệ cơ sở dữ liệuNhập môn hệ cơ sở dữ liệu, Nxb Giáo dục, Hà Nội., Nxb Giáo dục, Hà Nội.
9.9. Nguyễn Văn Tâm, Nguyễn Hữu Bình (2002), Nguyễn Văn Tâm, Nguyễn Hữu Bình (2002), Cơ sở dữ liệu quan hệCơ sở dữ liệu quan hệ, Nxb Thống kê, TP. , Nxb Thống kê, TP.
Hồ Chí Minh.Hồ Chí Minh.
10.10. Đỗ Quang Vinh (chủ biên) (2010), Đỗ Quang Vinh (chủ biên) (2010), Hệ quản trị cơ sở dữ liệu Microsoft Visual FoxPro và Hệ quản trị cơ sở dữ liệu Microsoft Visual FoxPro và
ứng dụngứng dụng, xuất bản lần thứ 2, Nxb Đại học Quốc gia Hà Nội., xuất bản lần thứ 2, Nxb Đại học Quốc gia Hà Nội.
ĐỖ QUANG VINH - HUCĐỖ QUANG VINH - HUC 5252
TRÂN TRỌNG CÁM ƠN !TRÂN TRỌNG CÁM ƠN !