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

Bài giảng chi tiết môn cơ sở dữ liệu

127 4K 0

Đ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 127
Dung lượng 1,85 MB

Nội dung

Tài liệu này dành cho sinh viên, giáo viên khối ngành công nghệ thông tin tham khảo và có những bài học bổ ích hơn, bổ trợ cho việc tìm kiếm tài liệu, giáo án, giáo trình, bài giảng các môn học khối ngành công nghệ thông tin

Trang 1

CƠ SỞ DỮ LIỆU

GV: ThS Đặng Thị Từ Mỹ

TRƯỜNG ĐẠI HỌC QUY NHƠN

Khoa Kỹ thuật & Công nghệ – Bộ môn Điện tử _ Viễn thông

Trang 2

Mục đích môn học

1 Cung cấp các khái niệm và kiến thức cơ bản nhất về CSDL và

HQTCSDL.

2 Các mô hình cơ sở dữ liệu.

3 Phân tích các dạng chuẩn hóa CSDL và khái niệm phụ thuộc hàm trong quá trình phân tích và thiết kế CSDL.

4 Giới thiệu về mô hình CSDL quan hệ, các khái niệm về thực thể và mối quan hệ.

5 Giới thiệu các toán tử và phép toán của đại số quan hệ.

6 Giới thiệu hai ngôn ngữ thông dụng với mô hình cơ sở dữ liệu quan hệ:

MS Access và SQL Server.

7 Cung cấp cho sinh viên khả năng độc lập trong việc tự phân tích và mô hình hóa một công việc cụ thể trên thế giới thực vào việc xây dựng một ứng dụng CSDL vừa và nhỏ.

8 Yêu cầu sau khóa học sinh viên phải nắm vững được những quy tắc và nguyên lý cũng như quy trình mô hình hóa và thiết kế một ứng dụng CSDL bất kỳ ở phạm vi vừa và nhỏ.

Trang 3

1_ Giới thiệu

1.1 Khái niệm cơ bản về cơ sở dữ liệu

a Cơ sở dữ liệu (CSDL) là gì?

b Ưu điểm của CSDL

1.2 Kiến trúc một hệ cơ sở dữ liệu

1.3 Sơ bộ lịch sử phát triển

1.4 Các loại mô hình dữ liệu cơ bản

a Mô hình quan hệ (Relational Data Model)

b Mô hình phân cấp (Hierarchical Data Model)

c Mô hình mạng (Network Data Model)

1.5 Tính độc lập dữ liệu

1.6 Kết luận

Trang 4

1.1 Khái niệm cơ bản về cơ sở dữ liệu

a Cơ sở dữ liệu (CSDL) là gì?

Đặc điểm của CSDL (DataBase)

Là tập hợp dữ liệu liên quan được lưu trên các bộ nhớ ngoài (đĩa từ,

trống từ ).

Có một tập các chương trình ứng dụng được chạy với các dữ liệu này

và thậm chí dùng để truyền đi xa.

CSDL là một tổ hợp: đó là một tập hợp nhiều loại dữ liệu cho nhiều

người dùng với nhiều mục đích khác nhau

Định nghĩa CSDL

CSDL là một tập hợp các dữ liệu được lưu trữ để phục vụ các hệ

thống ứng dụng

Hệ quản trị CSDL (DBMS-DataBase Management System)

Phần chương trình để có thể xử lý, thay đổi tập hợp các dữ liệu này

Như một bộ diễn dịch (Interpreter) với ngôn ngữ bậc cao

Trang 5

1.1 Khái niệm cơ bản về cơ sở dữ liệu

b Ưu điểm của CSDL

Tại sao người ta cần lưu trữ dữ liệu trong một tổ hợp như

Hardware Data

Trang 6

1.1 Khái niệm cơ bản về cơ sở dữ liệu

b Ưu điểm của CSDL (tiếp)

Những ưu điểm của sự điều khiển tập trung

Giảm sự dư thừa dữ liệu cần lưu trữ.

Có thể tránh được những xung đột về dữ liệu được lưu trữ.

Có thể dùng chung dữ liệu đã được lưu trữ

Có thể chuẩn hoá dữ liệu giúp đơn giản hoá các vấn đề về bảo hành

và trao đổi dữ liệu giữa các lần cài đặt.

Có thể áp dụng các phương pháp bảo mật với dữ liệu.

Duy trì được sự thống nhất dữ liệu để đảm bảo CSDL chỉ chứa dữ

liệu chính xác.

Có thể cân đối được các đòi hỏi xung đột nhau.

Dữ liệu là độc lập, độc lập với cấu trúc bộ nhớ, với phương pháp lưu

trữ và tiếp cận thông tin.

Đảm bảo quy tắc toàn vẹn dữ liệu.

Trang 7

1.2 Kiến trúc một hệ cơ sở dữ liệu

Mô hình dữ liệu (Data Model)

Mô hình khái niệm (Conceptual model)

Lược đồ trong ( Internal schema) ( Storage structure definition)

Cơ sở dữ liệu ( DBMS)

Ngôn ngữ Không gian làm việc

Ngôn ngữ Không gian làm việc

Ngôn ngữ Không gian làm việc

Ngôn ngữ Không gian làm việc

(Khung nhìn B) (External Model B)

Mô hình ngoài A (Khung nhìn A) (External Model A) Người sử dụng

Theo mặt cắt dọc

Trang 8

a) Các mức của kiến trúc

Mức ngoài liên quan đến cách nhìn, quan niệm của từng

người sử dụng CSDL vì vậy còn gọi là "khung nhìn"

Có nhiều "cách nhìn ở mức ngoài" khác nhau Mỗi cách

nhìn (mỗi khung nhìn) bao gồm sự biểu diễn trừu tượng

của một phần nào đó của CSDL.

Hầu hết những người sử dụng không quan tâm đến tổng

thể toàn bộ CSDL mà chỉ quan tâm đến một phần riêng biệt nào đó của CSDL

1.2 Kiến trúc một hệ cơ sở dữ liệu

Trang 9

a) Các mức của kiến trúc (tiếp)

Mức khái niệm cho phép ta định nghĩa một cách nhìn

thống nhất cho người sử dụng.

"Cách nhìn ở mức khái niệm" bao gồm sự biểu diễn trừu

tượng của tổng thể toàn bộ CSDL.

Thực chất đây là mức logic của toàn bộ CSDL

Mức trong rất gần với cách lưu trữ trong bộ nhớ máy tính.

CSDL vật lý (CSDL ở mức vật lý) là các tệp dữ liệu theo

một cấu trúc nào đó được lưu trên các thiết bị nhớ ngoài

Liên hệ với cấu trúc lưu trữ ngoài

1.2 Kiến trúc một hệ cơ sở dữ liệu

Trang 10

b) Các khái niệm

Khái niệm "thể hiện" (instance)

Một khi CSDL đã được thiết kế, thường người ta chỉ quan tâm đến "Bộ khung" hay còn gọi là "mẫu" của CSDL

Dữ liệu hiện có trong CSDL gọi là " thể hiện" của CSDL

Mặc dù dữ liệu có thể thay đổi trong một chu kỳ thời gian nào đó nhưng "bộ khung" của CSDL vẫn không thay đổi

Khái niệm "lược đồ" (schema)

Khái niệm "bộ khung" nêu ở phần trước bao gồm một số danh mục hoặc chỉ tiêu hoặc một số kiểu của các thực thể trong CSDL

Giữa các thực thể có thể có những mối quan hệ nào đó với nhau

vì vậy người ta thường dùng thuật ngữ "lược đồ" thay cho "bộ khung".

1.2 Kiến trúc một hệ cơ sở dữ liệu

Trang 11

b) Các khái niệm (tiếp)

Khái niệm "lược đồ" (schema)

Lược đồ con (Subschema) được gọi thay cho khung nhìn.

1.2 Kiến trúc một hệ cơ sở dữ liệu

Trang 12

Theo mặt cắt ngang

Các thao tác với bộ khung (Schema operations)

Phần xử lý truy vấn (Query Processor)

Phần quản lý lưu trữ (Data Management)

Phần quản lý giao dịch (Transaction Management)

Dữ liệu, Siêu dữ liệu (Data, Meta-data)

Các truy vấn (Query)

Các thao tác với dữ liệu (Data operations)

Trang 13

1.2 Kiến trúc một hệ cơ sở dữ liệu

Trang 14

1.3 Sơ bộ lịch sử phát triển

Trước đây:

Những năm 1960: dữ liệu lưu trữ dưới dạng các tệp

CSDL Phân cấp (Hierarchical Model)

CSDL Mạng (Network Model)

Gần đây và hiện nay:

1970, Edgar Frank Codd: CSDL Quan hệ (Relational Model)

Phát triển theo xu hướng chuyên môn hoá

Tập trung vào các hệ thống nhỏ (PCs )

Tập trung vào các hệ thống lớn (làm việc với lượng dữ liệu khổng lồ)

Tương lai gần:

Thêm mô hình hướng đối tượng (OO-Model)

Tăng khả năng phát triển các ràng buộc (constraints) và các kích hoạt

(triggers)

Lưu trữ thành các tổ hợp dữ liệu: multimedia

Kho dữ liệu (Data Warehousing) – Khai thác dữ liệu (Data mining)

Trang 15

1.3 Sơ bộ lịch sử phát triển

Btrieve: dữ liệu lưu trữ dưới dạng các tệp

Dạng giống COBOL: dạng mô hình mạng

Trang 16

Các khái niệm

Mô hình dữ liệu

Sự hình thức hóa toán học với tập hợp các ký hiệu để mô tả và tập các

phép toán được dùng để thao tác đối với các dữ liệu

Một số mô hình dữ liệu cơ bản sẽ giới thiệu

Mô hình quan hệ (Relational Model):

Mô hình này dựa trên cơ sở khái niệm lý thuyết tập hợp của các quan hệ, tức là tập các k-bộ với k cố định.

Mô hình phân cấp (Hierarchical Model):

Mô hình dữ liệu là một cây, trong đó các nút biểu diễn biểu diễn các tập thực thể, các nút con và nút cha được liên hệ theo một mối quan hệ xác định.

Mô hình mạng (Network Model):

Mô hình được biểu diễn là một đồ thị có hướng.

Ngôn ngữ con dữ liệu

Tập các phép toán được cung cấp để thao tác dữ liệu

1.4 Các loại mô hình dữ liệu cơ bản

Trang 17

Hình 2 Dữ liệu mẫu trong dạng quan hệ.

CITY

Y S1 P1 300 S1 P2 200 S1 P3 400 S2 P1 300 S2 P2 400 S3 P2 200

Supplier - Hãng cung cấp

Part - Mặt hàng

Shipment – Gửi hàng

Trang 18

Nhận xét qua ví dụ:

1. Tóm tắt sự tương ứng giữa các khái niệm

a Mô hình quan hệ (Relational Data Model)

Quan hệ (Relation) Bộ (Tuple) Thuộc tính (Attribute)

Tệp (File) Bản ghi (Record) Trường (Field) Bảng (Table) Hàng (Row) Cột (Column)

Mỗi bảng trong ba bảng trên giống như một tệp tuần tự

truyền thống (Sequential File)

Tuy nhiên có các sự khác biệt đáng kể giữa các bảng này

và các tệp tuần tự truyền thống

Mỗi bảng là một trường hợp riêng của cấu trúc được biết

đến trong toán học - đó là "quan hệ"

Trang 19

2. Miền (Domain)

Miền là một tập các giá trị mà từ đó các giá trị thực sự sẽ

xuất hiện trên các thuộc tính (cột) của quan hệ (bảng)

Bản thân miền có thể không được ghi nhận một cách

tường minh như là một tập các giá trị thực sự trong cơ sở

dữ liệu nhưng nó được định nghĩa trong lược đồ khái niệm và có tên riêng của mình

Một đặc điểm nổi bật của cấu trúc dữ liệu quan hệ là các

mối kết nối giữa các bộ (các hàng) được biểu thị chặt chẽ bởi các giá trị dữ liệu trong các cột được rút ra từ một miền chung

Trang 20

3. Bảng là dạng thống nhất

Thực tế, tất cả các thông tin trong cơ sở dữ liệu - các thực

thể (entities) và các mối kết nối (associations) - được biểu diễn trong một dạng thống nhất được gọi là bảng

Như sẽ thấy sau này, đặc tính này không có trong cấu trúc phân cấp và cấu trúc mạng.

Qua quan sát, nhận thấy cấu trúc quan hệ rất đơn giản,

dễ hiểu.

a.Mô hình quan hệ (Relational Data Model)

Trang 21

4. Mô hình quan hệ có sự thống nhất trong tập các phép

toán

Theo quan điểm của người sử dụng, ngôn ngữ con dữ liệu -

tập các phép toán được cung cấp để thao tác dữ liệu trong dạng quan hệ - là rất quan trọng

Ngoài ra, có thể nhận thấy: sự thống nhất trong cách biểu

diễn dữ liệu dẫn đến sự thống nhất tương ứng trong tập các phép toán

Điều này đối nghịch với các cấu trúc phức tạp khác (như

cấu trúc phân cấp, cấu trúc mạng) mà ở đó thông tin có thể được biểu diễn trong một vài cách khác nhau và do đó cần đến một số tập các phép toán

Để hiểu hơn về vấn đề này, sau đây chúng ta sẽ xét giải

thuật cho hai câu hỏi đối xứng nhau (Hình 3.1.3 tiếp theo)

a.Mô hình quan hệ (Relational Data Model)

Trang 22

4. Mô hình quan hệ có sự thống nhất trong tập các

Next: Tìm trong SP số lượng hàng có S# = S2 Có tìm thấy số lượng hàng đó không? Nếu không thì thoát ra

In ra P#

Đi tới thực hiện Next

Trang 23

5. Không có dị thường xảy ra đối với thao tác

Trang 24

b Mô hình phân cấp (Hierarchical Data Model)

CITY

Theo mô hình quan hệ có:

Shipment – Gửi hàng

Trang 25

b Mô hình phân cấp (Hierarchical Data Model)

Hình 4 Mô hình dữ liệu mẫu trong dạng phân cấp

P1 Nut Red 12 London

Trang 26

Nhận xét qua ví dụ:

nhau thông qua cấu trúc cây, tất cả tạo nên một

rừng cây

Người sử dụng thấy bốn cây tách biệt nhau, hay còn gọi là

bốn thể hiện phân cấp, mỗi cây thể hiện cho một mặt hàng

Mỗi cây thể hiện một bản ghi về đơn đặt hàng gồm dữ liệu

mặt hàng, kèm theo dữ liệu nhà cung cấp và số lượng

Kiểu dữ liệu của thực thể đóng vai trò như một gốc (root)

Để xác định chính xác các cây (gốc, chiều đi ) thi cần

phải có một bản thiết kế tổng thể về dữ liệu của các thực thể, các mối liên kết

Trang 27

2. Trong mô hình phân cấp, các thực thể và các mối

kết nối không được biểu diễn trong một dạng thống nhất

Trong mô hình quan hệ tương ứng đã xét ở trên, chúng ta

có ba tệp dữ liệu đơn giản

Tương tự như vậy, ta có thể đặt mô hình phân cấp của

Hình 3.1.4 tương ứng với một tệp dữ liệu chứa các bản ghi

được sắp xếp thành bốn cây riêng biệt

Tuy nhiên cần lưu ý là tệp như vậy có cấu trúc phức tạp

các bảng ở mô hình quan hệ rất nhiều.

Trang 28

3. Ngôn ngữ con dữ liệu phức tạp hơn so với ngôn ngữ

con dữ liệu của mô hình quan hệ

Trong cách nhìn phân cấp của dữ liệu, bất kỳ bản ghi phụ

thuộc đã cho nào cũng chỉ mang ý nghĩa đầy đủ khi nó được xét trong một ngữ nghĩa nào đó

Không một thể hiện bản ghi phụ thuộc nào có thể tồn tại

mà không có thể hiện dẫn trước nó

Do đó trong ngôn ngữ con dữ liệu, cần phải bao gồm thêm

một toán hạng để biểu thị ý nghĩa này

Chúng ta sẽ hiểu rõ hơn điều này khi xét hai câu hỏi đối

xứng nhau cho mô hình phân cấp như đã xét cho mô hình quan hệ (Hình 3.1.5).

Trang 29

b Mô hình phân cấp (Hierarchical Data Model)

 Hình 3.5 Hai câu hỏi mẫu đối với mô hình phân cấp.

Hai giải thuật khác nhau cho hai câu hỏi đối xứng

Q1: Tìm các số hiệu hãng

cung cấp hiện đang cung

cấp mặt hàng có số hiệu P2.

Q2: Tìm các số hiệu mặt hàng đang được cung cấp bởi hãng cung cấp có số hiệu S2.

Trang 30

Mặc dù hai câu hỏi gốc là đối xứng nhưng hai giải thuật

tương ứng trên Hình 3.1.5 thì không đối xứng (ngược lại với mô hình quan hệ)

Đây là nhược điểm chủ yếu của cách tiếp cận phân cấp vì

nó dẫn đến sự phức tạp không cần thiết cho người sử dụng

Điều này có nghĩa là các chương trình sẽ trở nên phức tạp

hơn sự thực cần thiết và hậu quả là việc viết chương trình,

gỡ rối và bảo trì sẽ đòi hỏi ở người lập trình nhiều thời gian hơn cần thiết.

Trang 31

4. Tồn tại các dị thường đối với các thao tác lưu

Trang 32

Hình 3.6 Dữ liệu mẫu trong mô hình mạng

c Mô hình mạng (Network Data Model)

P1 Nut Red 12 London S1 Smith 20 London

S2 Jones 10 Paris

S3 Blake 30 Paris

P3 Screw Blue 17 Rome

P4 Screw Red 14 London

300

200 400

200 400

300

Trang 33

Nhận xét qua ví dụ:

1. Cũng như trong mô hình phân cấp, dữ liệu được biểu hiện

thông qua các bản ghi (record) và các mối kết nối (link)

Ngoài các kiểu bản ghi biểu diễn nhà cung cấp và các mặt hàng, còn

có kiểu bản ghi thứ ba: các kết nối (link or connector)

Tất cả các thể hiện kết hợp đối với một hãng cung cấp đều đặt trong

một chuỗi mà điểm bắt đầu và kết thúc chuỗi đều ở tại đó

Tương tự, tất cả các thể hiện kết hợp đối với một mặt hàng đã cho

đều đặt trong một chuỗi được bắt đầu và kết thúc tại chính nó

Như vậy, mỗi mối kết hợp được xuất hiện trên đúng hai chuỗi:

Trang 34

c Mô hình mạng (Network Data Model)

2. Mô hình mạng (Hình 3.6) đối xứng hơn mô hình phân cấp

(Hình 3.4), tuy nhiên, các thủ tục này phức tạp hơn so với cả

2 mô hình quan hệ và mô hình phân cấp

Q1: Tìm các số hiệu hãng cung cấp

hiện đang cung cấp mặt hàng có số

hiệu P2.

Q2: Tìm các số hiệu mặt hàng đang được cung cấp bởi hãng cung cấp

có số hiệu S2.

Trang 35

3. Không có các dị thường xảy ra đối với các thao tác

lưu trữ cơ bản:

Phép Chèn (Insert):

Phép xoá (Delete):

Phép thay đổi (Update)

c Mô hình mạng (Network Data Model)

Trang 36

4. Nhược điểm chính của mô hình mạng là sự phức

tạp, phức tạp từ cấu trúc của chính mô hình đến ngôn ngữ con dữ liệu có liên quan đến nó

Nguồn gốc của sự phức tạp này nằm ở khối lượng thông

tin về cấu trúc của mô hình dữ liệu này

Thông tin phải bao gồm hai phần:

bản ghi

mối liên kết

Các cấu trúc dữ liệu này rất gần với cấu trúc bộ nhớ

c Mô hình mạng (Network Data Model)

Trang 37

Tầm quan trọng

Tính độc lập dữ liệu là mục tiêu chủ yếu của các CSDL

Tính độc lập dữ liệu là "tính bất biến của các hệ ứng dụng

đối với các thay đổi trong cấu trúc lưu trữ và chiến lược truy cập"

Theo sơ đồ kiến trúc của hệ thống CSDL

(Hình 3.1.1) cho thấy có hai mức "độc lập dữ liệu":

Độc lập dữ liệu ở mức logic

Độc lập dữ liệu ở mức vật lý

1.5 Tính độc lập dữ liệu

Trang 38

Độc lập dữ liệu ở mức logic

Vấn đề đặt ra:

Có thể cần thiết phải thay đổi lược đồ khái niệm như thêm thông tin các loại khác nhau của các thực thể hoặc bớt, xoá các thông tin về các thực thể đang tồn tại trong CSDL

Trang 39

phải viết lại các chương trình đó => độc lập dữ liệu mức vật lý

1.5 Tính độc lập dữ liệu

Trang 40

Qua các ví dụ trên => một hệ CSDL phải có

khả năng biểu diễn hai dạng đối tượng:

Trang 41

Sự khác nhau giữa ba loại mô hình đã xét (mô hình

quan hệ, mô hình phân cấp, mô hình mạng):

Thể hiện ở cách thức cho phép người sử dụng quan sát và

thao tác các kết nối

người quan tâm hơn cả vì:

Mô hình dữ liệu quan hệ có tính độc lập dữ liệu cao

Mô hình dữ liệu quan hệ dễ sử dụng

Điều quan trọng hơn cả, mô hình quan hệ được hình thức

hoá toán học tốt, do đó được nghiên cứu phát triển và cho được nhiều kết quả lý thuyết cũng như ứng dụng trong thực tiễn

1.6 Kết luận

Ngày đăng: 23/10/2014, 12:37

HÌNH ẢNH LIÊN QUAN

Hình 2. Dữ liệu mẫu trong dạng quan hệ. - Bài giảng chi tiết môn cơ sở dữ liệu
Hình 2. Dữ liệu mẫu trong dạng quan hệ (Trang 17)
Hình 4. Mô hình dữ liệu mẫu trong dạng phân cấp - Bài giảng chi tiết môn cơ sở dữ liệu
Hình 4. Mô hình dữ liệu mẫu trong dạng phân cấp (Trang 25)
Hình 3.6 Dữ liệu mẫu trong mô hình mạng - Bài giảng chi tiết môn cơ sở dữ liệu
Hình 3.6 Dữ liệu mẫu trong mô hình mạng (Trang 32)
Hình phân cấp - Bài giảng chi tiết môn cơ sở dữ liệu
Hình ph ân cấp (Trang 33)
Hình 3.8  Quan hệ COMPONENT - Bài giảng chi tiết môn cơ sở dữ liệu
Hình 3.8 Quan hệ COMPONENT (Trang 51)
Hình 3.1. Các mức của chuẩn hoá - Bài giảng chi tiết môn cơ sở dữ liệu
Hình 3.1. Các mức của chuẩn hoá (Trang 78)
Hình 3.11. Bảng dữ liệu mẫu cho quan hệ SJT - Bài giảng chi tiết môn cơ sở dữ liệu
Hình 3.11. Bảng dữ liệu mẫu cho quan hệ SJT (Trang 96)
Sơ đồ thực thể liên kết - Bài giảng chi tiết môn cơ sở dữ liệu
Sơ đồ th ực thể liên kết (Trang 127)

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