1. Trang chủ
  2. » Mẫu Slide

Bài giảng Cơ sở dữ liệu

20 6 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 20
Dung lượng 762,66 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Mỗi thuộc tính đơn của một kiểu thực thể được kết hợp với một tập hợp giá trị (hay còn gọi là miền giá trị). Đó là tập hợp các giá trị có thể gán cho thuộc tính này đối với mỗi thực th[r]

Trang 1

TRƯỜNG ĐẠI HỌC PHẠM VĂN ĐỒNG KHOA CÔNG NGHỆ THÔNG TIN

  

HÀ VĂN LÂM

BÀI GIẢNG

CƠ SỞ DỮ LIỆU

Quảng Ngãi, tháng 12 năm 2016

Trang 2

TRƯỜNG ĐẠI HỌC PHẠM VĂN ĐỒNG KHOA CÔNG NGHỆ THÔNG TIN

  

BÀI GIẢNG

CƠ SỞ DỮ LIỆU

Dành cho sinh viên bậc đại học ngành Công nghệ thông tin và Sư phạm tin

Quảng Ngãi, tháng 12 năm 2016

Trang 3

Chương 1: TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU

Thời lượng: 03 tiết lý thuyết

Kết thúc chương này, sinh viên có thể:

 Hiểu được tại sao phải ra đời một hệ cơ sở dữ liệu

 Biết được các đối tượng sử dụng cơ sở dữ liệu

 Biết các yêu cầu(đặc tính)của hệ cơ sở dữ liệu

 Biết các thành phần của hệ quản trị cơ sở dữ liệu

1.1 DẪN NHẬP - TẠI SAO PHẢI CÓ MỘT CƠ SỞ DỮ LIỆU

1.1.1 Hệ thống tập tin cổ điển

- Trong quá trình xử lý thông tin, cách tiếp cận cổ điển được biểu diễn dưới dạng sau:

OUTPUT INPUT

- Phân tích dữ liệu (Output) dẫn đến nhu cầu cần (Input) Dữ liệu được dùng cho chương trình ứng dụng nhất định

1.1.2 Các ví dụ

Ứng dụng 1: Về quản lý tiền lương (QLTL) Lập bảng lương trong một đơn vị quản

STT Họ tên Bậc lương Phụ cấp Tiền lương

* Suy ra dữ liệu cần:

- Họ tên, Bậc lương, Bậc lương

* Dữ liệu được tổ chức thành các tập tin:

- Tập tin NHANVIEN_1 gồm:

- Tập tin CHEDO_PHUCAP gồm:

* Sơ đồ khai thác của hệ QLTL như sau:

Họ tên Bậc lương Phụ cấp Bậc lương

Chương trình QLTL

Phiếu lương

Trang 4

Ứng dụng 2: Lập danh sách phân công (dự kiến) cho một công trình(QLCT)

STT Họ tên Chuyên môn Công trình

* Suy ra dữ liệu cần:

- Họ tên, Chuyên môn, Công trình

* Dữ liệu được tổ chức thành các tập tin:

- Tập tin NHANVIEN_2 gồm:

- Tập tin CONG_TRINH gồm:

* Sơ đồ khai thác của hệ QLTL như sau:

Nhận xét:

- Việc xử lý, khai thác dữ liệu trong công tác quản lý khoa học còn đơn lẻ, tự phát ở mỗi phòng ban chức năng của từng cơ quan, đơn vị theo một cấu trúc tổ chức

dữ liệu cho riêng mình

- Việc triển khai như thế được tiến hành với thời gian ngắn, ít đầu tư, tốn kém

về nhân sự, vật chất…

- Chính quan điểm trên dẫn đến việc: trùng lắp thông tin, dư thừa thông tin, lại không nhất quán về xử lý, quản lý thông tin Quan trọng nhất vẫn là thiếu sự chia sẻ thông tin tại một đơn vị

- Do nhu cầu xử lý thông tin ngày càng qui mô, rộng hơn về nhiều khía cạnh nên đòi hỏi ra đời một hệ cơ sở dữ liệu để giải quyết những nhu cầu trên

1.2 ĐỊNH NGHĨA MỘT CƠ SỞ DỮ LIỆU

1.2.1 Giới thiệu chung

- Nghiên cứu Cơ sở dữ liệu (CSDL) sẽ giúp chúng ta biết lưu trữ, cập nhật, tìm

kiếm thông tin nhanh, hiệu quả, tiết kiệm được bộ nhớ Mặt khác còn giúp chúng ta hiểu được các ràng buộc mang tính chất nội tại trên một mô hình cơ sở dữ liệu

- Cơ sở dữ liệu là môn học liên quan nhiều đến lý thuyết đại số, logic toán và

Họ tên Chuyên môn Công trình Chuyên môn

Chương trình QLCT

Phân công Danh sách

Trang 5

nhiều lĩnh vực kiến thức tin học khác

- Bất kỳ một ứng dụng tin học nào cũng chứa đựng các vấn đề về cách tổ chức lưu trữ và khai thác dữ liệu

- Hiện nay, hầu như CSDL gắn liền với mọi ứng dụng của tin học, chẳng hạn như quản lý các hệ thống thông tin trong một cơ quan, đơn vị, trường học

- Đó là các dữ liệu tác nghiệp của các Cơ quan, đơn vị trường học có thể bao gồm: Dữ liệu về sản phẩm, dữ liệu về các tài khoản, dữ liệu về đào tạo, dữ liệu về sinh viên, dữ liệu về lập kế hoạch công việc v.v

- CSDL bảo đảm cho các cơ quan, đơn vị, trường học có khả năng quản lý tập trung dữ liệu tác nghiệp của mình Cần phải tính đến một người quản trị CSDL, chịu trách nhiệm về dữ liệu tác nghiệp

1.2.2 Định nghĩa một cơ sở dữ liệu

CSDL là một tập hợp dữ liệu được tổ chức có cấu trúc liên quan với nhau và được lưu trữ trong máy tính Để tối ưu hóa các thao tác cơ bản sau:

- Lưu trữ dữ liệu

- Truy xuất thông tin

- Cập nhật dữ liệu

1.3 CÁC ĐỐI TƯỢNG SỬ DỤNG CSDL

1.3.1 Các đối tượng sử dụng CSDL

- Quản trị viên (Database Administrator - DBA)

+ Có trách nhiệm quản lý hệ CSDL cấp quyền truy cập CSDL

+ Điều phối và giám sát việc sử dụng CSDL

- Thiết kế viên (Database Designer)

+ Chịu trách nhiệm về

- Lựa chọn cấu trúc phù hợp để lưu trữ dữ liệu

- Quyết định những dữ liệu nào cần được lưu trữ

+ Liên hệ với người dùng để nắm bắt những yêu cầu và đưa ra một thiết

kế CSDL thỏa yêu cầu này

+ Có thể là 1 nhóm các (DBA) quản lý các CSDL sau khi việc thiết kế hoàn tất

- Người dùng cuối (End User)

* Người ít sử dụng

- Ít khi truy cập CSDL, nhưng cần những thông tin khác nhau trong mỗi lần truy cập và dùng những câu truy vấn phức tạp

- Người quản lý

* Người sử dụng thường xuyên

- Thường xuyên truy vấn và cập nhật CSDL nhờ vào một số các chức năng đã được xây dựng sẳn

- Nhân viên

Trang 6

* Người sử dụng đặc biệt

- Thông thạo về HQT CSDL, tự xây dựng những truy vấn phức tạp cho công việc

- Kỹ sư, nhà khoa học, người phân tích,…

1.3.2 Các đặc tính của hệ CSDL(yêu cầu)

1 Tính cấu trúc: Thông tin trong CSDL được lưu trữ theo cấu trúc nhất định

2 Tính toàn vẹn: Các giá trị của dữ liệu được lưu trữ trong CSDL phải thỏa

mãn các ràng buộc Tùy thuộc vào hành động và tổ chức của CSDL

3 Tính nhất quán: Sau những lần cập nhật và ngay khi có sự cố(phần cứng,

Phần mềm) xảy ra trong quá trình cập nhật thì CSDL phải đảm bảo tính nhất quán dữ liệu

4 Tính an toàn và bảo mật thông tin: CSDL phải được bảo vệ an toàn, tránh

những truy cập không được phép và phải khôi phục được CSDL khi có sự cố xảy ra (phần cứng, Phần mềm) Mỗi nhóm NSD có thamền hạn và mục đích khác nhau

5 Tính không dư thừa: CSDL không lưu trữ những dữ liệu trùng lặp

6 Tính cạnh tranh: Cạnh tranh trong truy xuất, do nhiều người sử dụng Do đó

phải phân cấp cho chương trình ứng dụng

1.3.3 Cấu trúc của CSDL: (Có 3 mức)

- Mức ngoài: Mô tả 1 phần của CSDL

- Mức trung gian: Mô tả dữ liệu được lưu trữ trong CSDL và các mối quan hệ

(logic) giữa các mẫu tin

- Mức vật lý: Mô tả dữ liệu được lưu trữ trong bộ nhớ

1.4 HỆ QUẢN TRỊ CSDL (Data Base Management System - DBMS)

1.4.1 Khái niệm Hệ quản trị CSDL

Để giải quyết tốt những vấn đề mà cách tổ chức CSDL đặt ra như khai thác có hiệu quả, đảm bảo sự bảo mật, sự cạnh tranh truy xuất , cần thiết phải có những phần mềm chuyên dùng để khai thác chúng, những phần mềm này được gọi là các hệ quản trị CSDL (Data base management system- DBMS)

Hệ quản trị CSDL là một hệ thống phần mềm, có nhiệm vụ hỗ trợ cho những nhà phân tích, thiết kế và những người khai thác CSDL, đảm bảo sự bảo mật, cạnh tranh truy xuất, an toàn dữ liệu, cung cấp cho người dùng những cách nhìn khác nhau về CSDL

Hiện nay, trên thị trường có nhiều hệ quản trị CSDL (DBMS) với chất lượng khác nhau như: Oracle, DB2, Paradox, Ms Access, Visual Foxpro, MySQL, SQL SERVER

Lưu ý: Điều quan trọng để khai thác, tổ chức tốt một CSDL cần phải có một hệ

quản trị CSDL tối ưu, phù hợp với CSDL

1.4.2 Các thành phần của Hệ quản trị CSDL (DBMS): (có 3 phần)

* Ngôn ngữ mô tả dữ liệu(DDL)

Trang 7

+ Mô tả về cấu trúc của CSDL

+ Mô tả các mối quan hệ của dữ liệu

+ Mô tả các ràng buộc toàn vẹn của dữ liệu

* Ngôn ngữ thao tác dữ liệu(DML)

Có đặc tính như một ngôn ngữ lập trình bậc cao dùng để:

+ Cập nhật dữ liệu

+ Khai thác dữ liệu (có 2 loại: Thủ tục và phi thủ tục)

* Tự điển dữ liệu(DD)

Là nơi tập trung các thông tin lưu trữ về:

+ Cấu trúc của CSDL(thuộc tính, quan hệ…)

+ Chương trình ứng dụng

+ Mã bảo mật

1.5 SƠ ĐỒ TỔNG QUÁT CỦA MỘT HỆ QUẢN TRỊ CSDL

1.5.1 Kiến trúc 3 lược đồ

1.5.2 Kiến trúc của Hệ quản trị CSDL

* Mức trong (lược đồ trong)

- Mô tả cấu trúc lưu trữ vật lý CSDL

* Mức quan niệm (lược đồ quan niệm)

- Mô tả cấu trúc của toàn thể CSDL cho một cộng đồng người sử dụng, gồm thực thể, kiểu dữ liệu, mối liên hệ và ràng buộc

- Che bớt các chi tiết của cấu trúc lưu trữ vật lý

* Mức ngoài (lược đồ ngoài)

- Còn gọi là mức khung nhìn (view)

- Mô tả một phần của CSDL mà 1 nhóm người dùng quan tâm đến và che dấu phần còn lại của CSDL đối với nhóm người dùng đó

1.6 TÍNH ĐỘC LẬP GIỮA DỮ LIỆU VÀ CHƯƠNG TRÌNH

* Có hai mức độc lập dữ liệu

Trang 8

- Tính độc lập vật lý: Cho phép người Quản trị hệ quản trị CSDL có thể thay đổi

cách cài đặt các mẫu tin mà không ảnh hưởng đến chương trình ứng dụng

- Tính độc lập logic: Cho phép sửa đổi cấu trúc của CSDL (thay đổi lược đồ

quan niệm) mà không ảnh hưởng đến chương trình ứng dụng sử dụng CSDL đó

oOo

Trang 9

Chương 2: MÔ HÌNH THỰC THỂ LIÊN KẾT ER (Entity - Relationship model)

Thời lượng: 03 tiết lý thuyết + 03 tiết bài tập

Kết thúc chương này, sinh viên có thể:

 Hiểu được các thành phần cơ bản của mô hình thực thể liên kết ER

 Biết sử dụng khái niệm mô hình bậc cao cho việc thiết kế cơ sở dữ liệu

Trong chương này chúng ta sẽ làm quen với mô hình thực thể-liên kết (Entity-Relationship model), gọi tắt là mô hình ER Đó là một mô hình dữ liệu quan niệm bậc cao phổ biến, tập trung vào các cấu trúc cơ sở dữ liệu và các ràng buộc

2.1 SỬ DỤNG MÔ HÌNH KHÁI NIỆM BẬC CAO CHO VIỆC THIẾT KẾ CƠ

SỞ DỮ LIỆU

Hình 2.1 Sơ đồ mô tả các bước chính của việc thiết kế cơ sở dữ liệu

- Bước đầu tiên là tập hợp các yêu cầu và phân tích Trong bước này, người thiết kế cơ sở dữ liệu phỏng vấn những người sử dụng cơ sở dữ liệu để hiểu các đòi hỏi về dữ liệu của họ

Trang 10

- Bước tiếp theo là tạo ra lược đồ quan niệm cho cơ sở dữ liệu bằng cách sử dụng mô hình dữ liệu quan niệm mức cao Bước này được gọi là thiết kế khái niệm

+ Lược đồ khái niệm là một mô tả súc tích về các yêu cầu dữ liệu của người

sử dụng, bao gồm các mô tả chi tiết của các kiểu thực thể, các kiểu liên kết và các ràng buộc, chúng được biểu diễn bằng các khái niệm do các mô hình dữ liệu bậc cao cung cấp Vì những khái niệm này không chứa các chi tiết cài đặt (thể hiện), chúng thường dễ hiểu và có thể sử dụng để giao lưu với người sử dụng

+ Lược đồ quan niệm mức cao cũng có thể được sử dụng như một dẫn chứng để đảm bảo rằng tất cả các đòi hỏi của người sử dụng đều thoả mãn và không chứa các mâu thuẫn Giải pháp này cho phép những người thiết kế cơ sở dữ liệu tập trung vào việc đặc tả các tính chất của dữ liệu mà không cần quan tâm đến các chi tiết lưu trữ Một thiết kế cơ sở dữ liệu quan niệm tốt, sẽ dễ cho công việc của những người thiết kế cơ sở dữ liệu

+ Trong quá trình (hoặc sau khi) thiết kế lược đồ quan niệm, ta có thể sử dụng các phép toán mô hình dữ liệu cơ bản để đặc tả các thao tác của người sử dụng được xác định trong khi phân tích chức năng

+ Điều đó cũng giúp khẳng định rằng lược đồ quan niệm thoả mãn mọi yêu cầu chức năng được xác định Nếu có một số yêu cầu chức năng không thể chỉ ra trong lược đồ ban đầu thì ở bước này có thể có sự sửa đổi lược đồ khái niệm cho phù hợp

- Bước tiếp theo trong thiết kế cơ sở dữ liệu là việc thể hiện (cài đặt) cơ sở dữ liệu bằng cách sử dụng một hệ quản trị cơ sở dữ liệu có sẵn Hầu hết các hệ quản trị

cơ sở dữ liệu sử dụng một mô hình dữ liệu thể hiện (chẳng hạn như mô hình cơ sở dữ liệu quan hệ hoặc đối tượng) Vì vậy, lược đồ quan niệm được chuyển đổi từ mô hình

dữ liệu bậc cao thành mô hình dữ liệu thể hiện

+ Bước này gọi là thiết kế lô gic hoặc là ánh xạ mô hình dữ liệu Kết quả

của bước này là một lược đồ cơ sở dữ liệu dưới dạng một mô hình dữ liệu thể hiện của hệ quản trị cơ sở dữ liệu

- Bước cuối cùng trong thiết kế cơ sở dữ liệu là thiết kế vật lý Trong bước này

ta phải chỉ ra các cấu trúc lưu trữ bên trong, các đường dẫn truy cập, tổ chức tệp cho các tệp cơ sở dữ liệu Song song với các hoạt động đó, các chương trình áp dụng cũng được thiết kế và cài đặt như là các giao dịch cơ sở dữ liệu tương ứng với các đặc tả giao dịch mức cao

2.2 CÁC THÀNH PHẦN CƠ BẢN CỦA MÔ HÌNH THỰC THỂ LIÊN KẾT

2.2.1 Thực thể, tập thực thể a) Thực thể

- Thực thể là một “vật” trong thế giới thực có sự tồn tại độc lập Một thực thể

có thể là một vật cụ thể (chẳng hạn như một người, một cái ô tô, ) hoặc có thể là một vật trừu tượng (chẳng hạn một công ty, một công việc, một môn học, )

Trang 11

- Mỗi thực thể có các thuộc tính, đó là các tính chất cụ thể mô tả nó

Ví dụ 1:

Một thực thể nhân viên được mô tả bằng họ tên, tuổi, địa chỉ, lương và công việc của nhân viên đó

Một thực thể cụ thể sẽ có một giá trị cho mỗi thuộc tính của nó Các giá trị thuộc tính mô tả mỗi thực thể sẽ trở thành một phần chính của các dữ liệu được lưu trữ trong cơ sở dữ liệu

b) Tập thực thể

Tập hợp các thực thể giống nhau tạo thành một tập thực thể

Ví dụ 2: (Hình 2.2) chỉ ra một số thực thể và các thuộc tính của chúng Thực thể nhân

viên e1 có 4 thuộc tính : Họ tên, Địa chỉ, Tuổi, và Điện thoại Giá trị của các thuộc

tính tương ứng là “Lê Minh”, “Quảng Ngãi”, “25”, “0553823856”

Hình 2.2 Kiểu thực thể và tập thực thể

2.2.2 Các loại thuộc tính

Trong mô hình ER có mặt nhiều kiểu thuộc tính : thuộc tính đơn và thuộc tính phức hợp, thuộc tính đơn trị và thuộc tính đa trị, thuộc tính được lưu trữ và thuộc tính suy diễn được Chúng ta sẽ định nghĩa các kiểu thuộc tính và minh họa chúng thông qua các ví dụ

a) Thuộc tính đơn và thuộc tính phức hợp

- Thuộc tính đơn: Các thuộc tính không thể phân chia được gọi là thuộc tính

đơn hay thuộc tính nguyên tố

- Thuộc tính phức hợp: là các thuộc tính có thể phân chia ra thành các phần

nhỏ hơn, biểu diễn các thuộc tính cơ bản hơn với các ý nghĩa độc lập Giá trị của một thuộc tính phức hợp là sự kết hợp các giá trị của các thuộc tính thành phần tạo nên

Ví dụ 3: thuộc tính Họ tên của thực thể Nhân viên có thể được phân chia thành Họ đệm, Tên

b) Thuộc tính đơn trị và thuộc tính đa trị

- Thuộc tính đơn trị: Đa số các thuộc tính có một giá trị duy nhất cho một thực

thể cụ thể, các thuộc tính như vậy gọi là các thuộc tính đơn trị

Ví dụ: Tuổi là một thuộc tính đơn trị của một người

- Thuộc tính đa trị: Trong một số trường hợp, một thuộc tính có thể có một tập

hợp các giá trị cho cùng một thực thể Những thuộc tính như vậy được gọi là thuộc

Trang 12

tính đa trị

Ví dụ 4: thuộc tính Bằng cấp của một người Một người có thể không có bằng cấp nào, người khác có thể có một bằng, người khác nữa có thể có nhiều bằng,…

Như vậy các người khác nhau có thể có một số các giá trị khác nhau cho thuộc tính Bằng cấp Những thuộc tính như vậy được gọi là thuộc tính đa trị

c) Thuộc tính lưu trữ và thuộc tính suy diễn được

Một số trường hợp, hai hay nhiều giá trị thuộc tính có liên quan đến nhau

Ví dụ 5: thuộc tính Tuổi và thuộc tính Ngày sinh của một người Với một người cụ thể ta có thể tính Tuổi của anh ta bằng cách lấy năm hiện tại trừ đi năm của Ngày sinh Thuộc tính Tuổi như vậy gọi là thuộc tính suy diễn được và nó được suy diễn từ thuộc tính Ngày sinh Thuộc tính Ngày sinh được gọi là thuộc tính lưu trữ

d) Thuộc tính không xác định giá trị(null values)

Trong một số trường hợp, một thực thể cụ thể có thể không có các giá trị áp dụng được cho một thuộc tính

Ví dụ 6: Thuộc tính Điện thoại của thực thể Nhân viên sẽ không có giá trị đối với các nhân viên không có số điện thoại

Trong trường hợp như vậy, ta phải tạo ra một giá trị đặc biệt gọi là giá trị không xác định (null value) Giá trị không xác định được tạo ra khi một thuộc tính không có các giá trị áp dụng được hoặc khi không biết

2.2.3 Kiểu thực thể, tập thực thể, khoá và tập giá trị a) Kiểu thực thể và tập thực thể

- Một kiểu thực thể: Là một tập hợp các thực thể có các thuộc tính như nhau

Một kiểu thực thể trong cơ sở dữ liệu được mô tả tên của nó và các thuộc tính (Hình 2.2) ở trên chỉ ra kiểu thực thể có tên là NHÂNVIÊN và các thuộc tính của chúng

- Một tập thực thể: Một tập hợp tất cả các thực thể của một kiểu thực thể cụ thể trong cơ sở dữ liệu tại một thời điểm, nó thường được tham chiếu đến bằng cách

sử dụng tên của kiểu thực thể

Ví dụ 7:

NHÂNVIÊN dùng để chỉ vừa là một kiểu thực thể, vừa là tập hợp hiện tại của tất cả các thực thể nhân viên trong cơ sở dữ liệu

Một kiểu thực thể được biểu diễn trong sơ đồ ER như là một hình chữ nhật có chứa tên kiểu thực thể Các tên thuộc tính được đặt trong các hình ô van và được nối với kiểu thực thể bằng các đường thẳng Các thuộc tính phức hợp được nối với các thuộc tính thành phần của nó bằng các đường thẳng Các thuộc tính đa trị được hiển thị trong các hình ô van nét đôi

Ngày đăng: 10/03/2021, 14:44

w