52
ĐỖ QUANG VINH - HUC ĐỖ QUANG VINH - HUC 1 LÝ THUYẾT LÝ THUYẾT HỆ QUẢN TRỊ CƠ SỞ DỮ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU LIỆU TS. ĐỖ QUANG VINH TS. ĐỖ QUANG VINH Email: Email: [email protected] [email protected] Hà Nội - 2008 Hà Nội - 2008

LÝ THUYẾT HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

  • Upload
    xena

  • View
    88

  • Download
    0

Embed Size (px)

DESCRIPTION

LÝ THUYẾT HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU. TS. ĐỖ QUANG VINH Email: [email protected] Hà Nội - 2008. KHÁI NIỆM DỮ LIỆU –THÔNG TIN – TRI THỨC - PowerPoint PPT Presentation

Citation preview

Page 1: 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

Page 2: LÝ THUYẾT  HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

ĐỖ 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.

Page 3: LÝ THUYẾT  HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

ĐỖ 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

Page 4: LÝ THUYẾT  HỆ QUẢN TRỊ CƠ SỞ 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

Page 5: LÝ THUYẾT  HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

ĐỖ 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

Page 6: LÝ THUYẾT  HỆ QUẢN TRỊ CƠ SỞ 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)

Page 7: LÝ THUYẾT  HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

ĐỖ 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”

Page 8: LÝ THUYẾT  HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

ĐỖ 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

Page 9: LÝ THUYẾT  HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

ĐỖ 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í ...

Page 10: LÝ THUYẾT  HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

ĐỖ 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

Page 11: LÝ THUYẾT  HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

ĐỖ 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 ...

Page 12: LÝ THUYẾT  HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

ĐỖ 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

Page 13: LÝ THUYẾT  HỆ QUẢN TRỊ 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

Page 14: LÝ THUYẾT  HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

ĐỖ 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ố

Page 15: LÝ THUYẾT  HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

ĐỖ 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

Page 16: LÝ THUYẾT  HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

ĐỖ 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)

Page 17: LÝ THUYẾT  HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

ĐỖ 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

Page 18: LÝ THUYẾT  HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

ĐỖ 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

Page 19: LÝ THUYẾT  HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

ĐỖ 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

Page 20: LÝ THUYẾT  HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

ĐỖ 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.

Page 21: LÝ THUYẾT  HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

ĐỖ 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 

Page 22: LÝ THUYẾT  HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

ĐỖ 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  

Page 23: LÝ THUYẾT  HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

ĐỖ 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

Page 24: LÝ THUYẾT  HỆ QUẢN TRỊ 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ị

Page 25: LÝ THUYẾT  HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

ĐỖ 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 …

Page 26: LÝ THUYẾT  HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

ĐỖ 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  

Page 27: LÝ THUYẾT  HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

ĐỖ 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))

Page 28: LÝ THUYẾT  HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

ĐỖ 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".".

Page 29: LÝ THUYẾT  HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

ĐỖ 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)) )) 

Page 30: LÝ THUYẾT  HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

ĐỖ 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)

Page 31: LÝ THUYẾT  HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

ĐỖ 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

Page 32: LÝ THUYẾT  HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

ĐỖ 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

Page 33: LÝ THUYẾT  HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

ĐỖ 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

Page 34: LÝ THUYẾT  HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

ĐỖ 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ệ

Page 35: LÝ THUYẾT  HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

ĐỖ 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ệ 

Page 36: LÝ THUYẾT  HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

ĐỖ 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

Page 37: LÝ THUYẾT  HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

ĐỖ 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ú)

Page 38: LÝ THUYẾT  HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

ĐỖ 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

Page 39: LÝ THUYẾT  HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

ĐỖ 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

Page 40: LÝ THUYẾT  HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

ĐỖ 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}

Page 41: LÝ THUYẾT  HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

ĐỖ 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

Page 42: LÝ THUYẾT  HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

ĐỖ 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)

Page 43: LÝ THUYẾT  HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

ĐỖ 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ệ 

Page 44: LÝ THUYẾT  HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

ĐỖ 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)

Page 45: LÝ THUYẾT  HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

ĐỖ 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ộ

Page 46: LÝ THUYẾT  HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

ĐỖ 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)

Page 47: LÝ THUYẾT  HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

ĐỖ 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ệ

Page 48: LÝ THUYẾT  HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

ĐỖ 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) )

Page 49: LÝ THUYẾT  HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

ĐỖ 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ệ

Page 50: LÝ THUYẾT  HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

ĐỖ 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

Page 51: LÝ THUYẾT  HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

ĐỖ 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.

Page 52: LÝ THUYẾT  HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

ĐỖ QUANG VINH - HUCĐỖ QUANG VINH - HUC 5252

TRÂN TRỌNG CÁM ƠN !TRÂN TRỌNG CÁM ƠN !