1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài tập thực hành môn HQTCSDL Mô hình dữ liệu quan hệ

39 2,3K 38

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 39
Dung lượng 449,46 KB

Nội dung

Tài liệu môn Hệ quản Trị CSDL

Trang 2

Mô hình dữ liệu quan hệ

„ Là mô hình quan hệ do EF.Codd đề xuất năm 1970

„ Gồm một hệ thống khái niệm như quan hệ, bộ,

như phép toán tập hợp, phép toán quan hệ.

„ Ràng buộc toàn vẹn quan hệ.

„ Nền tảng lý thuyết 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ị

„ Mô hình dữ liệu quan hệ là mô hình được nghiên cứu nhiều nhất, và thực tiễn đã cho thấy rằng nó có cơ sở lý thuyết

vững chắc nhất

„ Mô hình dữ liệu này cùng với mô hình thực thể kết hợp

đang được sử dụng rộng rãi trong việc phân tích và thiết kế CSDL hiện nay

NN

CSDL hiện nay.

Trang 3

…Mô hình dữ liệu quan hệ

„ Cung cấp một cấu trúc dữ liệu đơn giản và

Trang 4

Các khái niệm của mô hình quan hệ

„ Quan hệ (Relation)

„ Thuộc tính (Attribute)

„ Lược đồ (Schema) ợ ( )

„ Bộ (Tuple)

„ Miền giá trị (Domain)

„ Miền giá trị (Domain)

„ Lượng số (Cardinality)

„ Bậc (Degree)

NN

Trang 7

Thuộc tính

cùng kiểu dữ liệu

Trang 8

Lược đồ quan hệ

„ Tên của quan hệ

„ Tên của tập thuộc tính

NN

Trang 9

Lược đồ CSDL

„ Gồm nhiều lược đồ quan hệ

Trang 10

Bộ (tuple)

„ Là các dòng của quan hệ (trừ dòng tiêu

đề-tê ủ á th ộ tí h)

tên của các thuộc tính)

„ Thể hiện dữ liệu cụ thể của các thuộc tính

trong quan hệ

NN

Trang 11

Miền giá trị (domain)

Trang 13

Bậc (degree)

„ Là số lượng các thuộc tính của quan hệ

Số thuộc tính Bậc của quan hệ

11 quan hệquan hệ nhất phân (unary relation)nhất phân (unary relation)

33 quan hệquan hệ tam phân (ternary relation)tam phân (ternary relation)

33 quan hệquan hệ tam phân (ternary relation)tam phân (ternary relation)

nn quan hệquan hệ n phânn phân

Trang 14

Siêu khoá (superkey)

một tập các thuộc tính dùng để xác định duy

nhất một bộ của quan hệ

Siê kh á hiể hiê là tậ tất ả á th ộ tí h

„ Siêu khoá hiển nhiên là tập tất cả các thuộc tính của quan hệ

NN

14

Trang 15

Ví dụ

Ví dụ siêu siêu khó khóa a

„ Xét 1 lược đồ quan hệ

STUDENT (StudentID, FirstName, LastName,

BirthDate, Major, SSN, ClassID)

„ Xác định các siêu khóa có thể có của R???

Trang 16

Khoá dự tuyển (candidate key)

khoá K mà không có một tập con thực sự bất kỳ K’ ⊂ K lại là một siêu khoá

„ Tính duy nhất (uniqueness): các giá trị của K

„ Tính duy nhất (uniqueness): các giá trị của K trong các bộ của r là duy nhất

„ Tính tối giản (irreducibility hay minimality)

không có tập con thực sự K’ ⊂ K lại có tính duy

nhất.

Ví dụ: khóa dự tuyển của quan hệ STUDENT???

NN

16

Trang 17

Khóa chính (primary key)

„ Khóa chính (primary key): là một khóa dự

tuyển được chọn để xác định duy nhất một bộ

của quan hệ Khóa chính có thể chỉ có 1 thuộc

tính hay khóa phức hợp

tính hay khóa phức hợp

„ Ví dụ: khóa chính của quan hệ STUDENT???

Trang 18

Các định nghĩa khác về khoá…

là thuộc tính tham gia vào khoá dự tuyển

thuộc tính không tham gia vào khóa dự tuyển

nhiều hơn một thuộc tính

NN

18

Trang 19

tập thuộc tính của 1 quan hệ tham chiếu đến

khóa dự tuyển của 1 quan hệ khác hay của

khóa dự tuyển của 1 quan hệ khác hay của

cùng 1 quan hệ

có chứa khóa ngoại

Trang 20

Ví dụ

„ Xét các lược đồ quan hệ sau:

„ Xét các lược đồ quan hệ sau:

Employee(Emp_ID, Name, Dept_Name, Salary)Training(Emp ID Course Date Completed)

Trang 22

Quan hệ (hay thể hiện quan hệ)

„ Một quan hệ r của lược đồ quan hệ R(A 1 , A 2 ,

A ) ký hiệu r(R) là một tập các bộ r = {t

…, A n ), ký hiệu r(R), là một tập các bộ r = {t 1 , t 2 , …, t k }

„ Trong đó mỗi t i là 1 danh sách có thứ tự của n giá

„ Trong đó mỗi t i là 1 danh sách có thứ tự của n giá trị t i =<v 1 , v 2 , …, v n >

„ Mỗi v j là một phần tử thuộc miền giá trị DOM(A j )

hoặc giá trị rỗng

NN

Trang 23

Cơ sở dữ liệu quan hệ

(Relational database)

„ Là 1 tập hợp hữu hạn các quan hệ ập ợp ạ q ệ

(relation)

„ Dữ liệu được lưu trữ trong các quan hệ

„ Dữ liệu được lưu trữ trong các quan hệ

(table)

Có nhiều mối quan hệ giữa các bảng

„ Có nhiều mối quan hệ giữa các bảng

Trang 24

Định nghĩa hình thức Khoá quan hệ

(Relational Keys)

„ Định nghĩa khóa theo quan hệ toán học:

Khóa (key) của R(U) với tập thuộc tính U={A1,

trong khoảng từ 1 đến n (n<=m), phải thỏa

mãn đồng thời 2 điều kiện sau:

Trang 25

„ DOM(A) hay MGT(A)

„ t.A hay t[A]

„ t.A hay t[A]

Trang 26

Các ràng buộc toàn vẹn (Integrity constraints)

là các ràng buộc

là các ràng buộc

tính chính xác (accurary) và toàn vẹn dữ liệu

(data integrity) trong CSDL

lược đồ thì trách nhiệm của các DBMS là phải

bảo đảm sao cho chúng không bị vi phạm khi có bất kỳ giao dịch (transaction) nào được thực thi

bất kỳ giao dịch (transaction) nào được thực thi trong CSDL đó

NN

26

Trang 27

Các ràng buộc toàn vẹn (Integrity constraints)

nghiệp vụ Các ràng buộc này thường nằm

nghiệp vụ Các ràng buộc này thường nằm

trong phần tài liệu về yêu cầu (requirement

Document) của ứng dụng

„ Nhân viên không thể có lương cao hơn giám đốc

„ Sinh viên phải thỏa mãn các điều kiện tiên

quyết mới được đăng ký môn học đó

Trang 29

Toàn vẹn thực thể (Entity Integrity)

nhất của mỗi hàng trong bảng

nhất của mỗi hàng trong bảng

„ Để bảo toàn thực thể thì mỗi quan hệ có 1 khóa chính và giá trị của khóa chính không chứa giá trị g ị g g ị rỗng (null)

„ Ràng buộc khóa chính (primary key)

„ Ràng buộc duy nhất (unique, null, có thể có nhiều ràng buộc này trong một bảng)

„ Ràng buộc nhận dạng (identity, số, duy nhất,

tự động tăng) ự ộ g g)

Trang 30

Giá trị Null

„ Dùng để chỉ:

„ Giá trị chưa biết của thuộc tính

„ Giá trị đã biết nhưng đang bị thiếu ị g g ị

„ Giá trị null khác số 0 hay chuỗi rỗng “”

NN

30

Trang 31

Toàn vẹn miền (Domain Integrity)

liệu trong 1 thuộc tính

„ “Tất cả giá trị xuất hiện trong 1 thuộc tính của 1 quan hệ phải cùng 1 miền trị”

quan hệ phải cùng 1 miền trị

Trang 32

Toàn vẹn tham chiếu

„ Trong SQL server thì toàn vẹn tham chiếu dựa vào mối

„ Trong SQL server, thì toàn vẹn tham chiếu dựa vào mối quan hệ giữa khóa ngoại và khóa chính của các bảng.

„ Bảng chứa khóa chính: được gọi là bảng chính

Trang 33

Toàn vẹn tham chiếu

Referential integrity…

qua 3 quy tắc sau:

„ Không thể thêm các bản ghi vào bảng quan hệ nếu không có bản ghi tương ứng trong bảng

nếu không có bản ghi tương ứng trong bảng chính.

„ Không thể thay đổi giá trị trong bảng chính nếu g y g ị g g làm cho các bản ghi tương ứng trong bảng quan

hệ bị mất tham chiếu Không thể xóa các bản ghi trong bảng chính nếu

„ Không thể xóa các bản ghi trong bảng chính nếu

nó được tham chiếu bởi 1 số bản ghi trong bảng quan hệ

Trang 34

…Toàn vẹn tham chiếu

(Reference Integrity)

mỗi giá trị khóa ngoại phải tương ứng với 1 giá

trị khóa chính trong một quan hệ khác (hoặc

trong cùng quan hệ này) hoặc giá trị khóa ngoại g g q ệ y) ặ g ị g ạphải là giá trị rỗng”

NN

34

Trang 35

Ví dụ về khóa ngoại

Trang 36

Toàn vẹn do người dùng xác định

(User

(User defined integrity) defined integrity)

không thuộc vào các loại toàn vẹn khác

xác định phụ thuộc vào mỗi DBMS

xác định phụ thuộc vào mỗi DBMS

„ Các ràng buộc mức bảng

„ Stored procedure

„ Trigger

20 nhân viên”

NN

36

Trang 37

Quan hệ có cấu trúc tốt

(Well

(Well structured relation) structured relation)

„ Là một quan hệ có dư thừa dữ liệu là tối

thiểu và cho phép người sử dụng thêm,

xóa hay sửa đổi các bộ của quan hệ mà

không bị sai hay mâu thuẩn dữ liệu (data inconsistency)

Trang 38

„ Bất thường khi xóa bỏ

„ Bất thường khi sửa đổi

NN

38

Trang 39

Ví dụ về bất thường dữ liệu

„ Xét quan hệ:

Emplo ee(Emp ID N me Dept N me S l Co e

Employee(Emp_ID, Name, Dept_Name, Salary, Course,

Date_Completed)

- Khi thêm 1 nhân viên mới mà nhân viên này không tham ê â ê ớ à â ê ày ô g a gia bất kỳ khóa học nào

- Nếu 1 nhân viên chỉ tham gia 1 khóa học và khóa học

này chỉ có duy nhất 1 nhân viên, nếu nhân viên này bị

xóa

- Khi 1 nhân viên tham gia nhiều khóa học, xuất hiện Khi 1 nhân viên tham gia nhiều khóa học, xuất hiện

nhiều lần trong quan hệ, nếu nhân viên này được tăng

lương

Æ Employee có phải là quan hệ cấu trúc tốt???

Ngày đăng: 28/03/2014, 20:41

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w