1. Trang chủ
  2. » Giáo án - Bài giảng

tổng quan về csdl

444 1,2K 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 444
Dung lượng 4,93 MB

Nội dung

Giới thiệu tt Cơ sở dữ liệu Database - Một tập hợp có cấu trúc của những dữ liệu có liên quan với nhau được lưu trữ trong máy tính  Danh sách sinh viên  Niên giám điện thoại - Tập ng

Trang 1

Chương 1 Tổng quan về CSDL

Trang 2

Nội dung chi tiết

Trang 3

- Một mô tả hình thức về thông tin và hoạt động

 Tên, địa chỉ, số điện thoại của khách hàng

Thông tin

Dữ liệu

Chọn lọc

Trang 4

Giới thiệu (tt)

 Cơ sở dữ liệu (Database)

- Một tập hợp có cấu trúc của những dữ liệu có liên quan

với nhau được lưu trữ trong máy tính

 Danh sách sinh viên

 Niên giám điện thoại

- Tập ngẫu nhiên của các dữ liệu không thể xem là một

Trang 5

Giới thiệu (tt)

 Hệ quản trị CSDL (Database Management System)

- Tập hợp các chương trình cho phép người sử dụng tạo

 Xây dựng – lưu trữ dữ liệu lên bộ nhớ phụ

 Xử lý – truy vấn, cập nhật và phát sinh báo cáo

Trang 6

Người sử dụng/Lập trình viên Chương trình ứng dụng/Truy vấn

Catalog

Trang 7

Một ví dụ về CSDL

PHANCONG MA_NVIEN SODA THOIGIAN

123456789 1 32.5

DEAN TENDA MADA DDIEM_DA PHONG

San pham X 1 VUNG TAU 5 San pham Y 2 NHA TRANG 5 San pham Z 3 TP HCM 5 Tin hoc hoa 10 HA NOI 4

NHANVIEN HONV TENLOT TENNV MANV NGSINH MA_NQL PHG

Tran Hong Quang 987987987 03/09/1969 987654321 4 Nguyen Thanh Tung 333445555 12/08/1955 888665555 5 Nguyen Manh Hung 666884444 09/15/1962 333445555 5 Tran Thanh Tam 453453453 07/31/1972 333445555 5

Trang 9

Nội dung chi tiết

Trang 10

Quá trình phát triển

 Tập tin (File)

Hệ Thống Quản

Lý Tập Tin

Tập tin

Tập

Trang 11

Quá trình phát triển (tt)

 Hạn chế

- Dữ liệu bị trùng lắp và dư thừa

- Thiếu tính nhất quán giữa các dữ liệu

- Khó khăn trong việc truy xuất

- Việc chia sẻ dữ liệu bị hạn chế

- Khó khôi phục

Trang 12

Quá trình phát triển (tt)

 Cơ sở dữ liệu (Database)

Hệ Quản Trị CSDL

Trang 13

Nội dung chi tiết

 Giới thiệu

 Quá trình phát triển

- Tính tự mô tả

- Tính độc lập giữa chương trình và dữ liệu

- Tính trừu tượng dữ liệu

Trang 14

Tính tự mô tả

 Hệ CSDL không chỉ chứa bản thân CSDL mà còn chứa định nghĩa đầy đủ (mô tả) của CSDL

 Các định nghĩa được lưu trữ trong catalog

- Chứa các thông tin về cấu trúc tập tin, kiểu và dạng thức

lưu trữ của mỗi thành phần dữ liệu và những ràng buộc

dữ liệu

 Dữ liệu trong catalog gọi là meta-data (data of data)

 Các CTƯD có thể truy xuất đến nhiều CSDL nhờ thông tin cấu trúc được lưu trữ trong catalog

Trang 15

Tính độc lập

 Vì định nghĩa về cấu trúc CSDL được lưu trữ trong catalog nên khi có thay đổi nhỏ về cấu trúc ta ít phải sửa lại chương trình

Độc lập

Chương trình

Dữ liệu

Trang 16

Tính trừu tượng

 Hệ CSDL cho phép trình bày dữ liệu ở một mức trừu tượng cho phép, nhằm che bớt những chi tiết lưu trữ thật của dữ liệu

 Trừu tượng hóa dữ liệu

- Mô hình dữ liệu

 Đối tượng

 Thuộc tính của đối tượng

 Mối liên hệ

Trang 17

Tính nhất quán

 Lưu trữ dữ liệu thống nhất

- Tránh được tình trạng trùng lắp thông tin

 Có cơ chế điều khiển truy xuất dữ liệu hợp lý

- Tránh được việc tranh chấp dữ liệu

- Bảo đảm dữ liệu luôn đúng tại mọi thời điểm

Trang 19

Nội dung chi tiết

 Giới thiệu

 Quá trình phát triển

 Một số đặc tính của CSDL

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

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

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

Trang 21

Thiết kế viên

 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 được 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

Trang 22

Người dùng cuối

 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

 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,…

Trang 23

Nội dung chi tiết

Trang 24

Kiến trúc của HQT CSDL

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

Người dùng Lược đồ ngoài 1 … Lược đồ ngoài n

Lược đồ quan niệm

Lược đồ trong

Người dùng

Trang 25

Kiến trúc của HQT CSDL (tt)

 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 1 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

Trang 26

Kiến trúc của HQT CSDL (tt)

 Độc lập dữ liệu

- Độc lập logic

 Khả năng thay đổi lược đồ quan niệm mà không thay đổi lược

đồ ngoài hoặc các CTƯD

- Độc lập vật lý

 Khả năng thay đổi lược đồ trong mà không làm thay đổi lược

đồ quan niệm cũng như lược đồ ngoài

Trang 27

Kiến trúc của HQT CSDL (tt)

DDL Compiler

User/Application Database Administrator

Query Compiler Transaction

Manager

Execution Engine

Logging &

Recovery

Concurrency Control

Index/File/

Record Manager

Storage

Buffer Manager

DDL Commands Transaction Commands

Data, Metadata, Indexes

User/Application Database Administrator

Execution Engine

Index/File/

Record Manager

Storage

Buffer Manager

DDL Commands Transaction Commands

Data, Metadata, Indexes

Trang 28

Nội dung chi tiết

Trang 29

Các tính năng của HQT CSDL

 Kiểm soát được tính dư thừa của dữ liệu

- Tích hợp các nhu cầu dữ liệu của người dùng để xây

dựng một CSDL thống nhất

 Chia sẻ dữ liệu

- Trong môi trường đa người dùng, các HQT phải cho

phép truy xuất dữ liệu đồng thời

 Hạn chế những truy cập không cho phép

- Từng người dùng và nhóm người dùng có một tài khoản

và mật mã để truy xuất dữ liệu

 Cung cấp nhiều giao diện

Trang 30

Các tính năng của HQT CSDL (tt)

 Đảm bảo các ràng buộc toàn vẹn

- RBTV (Integrity Constraints) là những qui định cần được

thỏa mãn để đảm bảo dữ liệu luôn phản ánh đúng ngữ nghĩa của thế giới thực

- Một số RB có thể được khai báo với HQT và HQT sẽ tự

động kiểm tra Một số RB khác được kiểm tra nhờ CTƯD

 Khả năng sao lưu dự phòng khi gặp sự cố

- Có khả năng khôi phục dữ liệu khi có sự hư hỏng về

phần cứng hoặc phần mềm

Trang 31

- Giảm thời gian phát triển ứng dụng

- Tính khả dụng

 Khi có một sự thay đổi lên CSDL, tất cả người dùng đều thấy

Trang 32

Nội dung chi tiết

Trang 33

Mô hình dữ liệu

 Mô hình dữ liệu (Data Model) bao gồm

- Các khái niệm biểu diễn dữ liệu

- Các phép toán xử lý dữ liệu

Trang 34

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

 Mô hình mức cao

- Cung cấp các khái niệm gần gũi với người dùng

- Mô hình phải tự nhiên và giàu ngữ nghĩa

- VD: mô hình thực thể kết hợp (ER), mô hình đối

tượng…

 Mô hình cài đặt

- Đưa ra các khái niệm người dùng có thể hiểu được

nhưng không quá xa với cách dữ liệu được tổ chức thật

sự trên máy tính

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

 Mô hình mức thấp (mô hình vật lý)

Trang 35

Khoa TenMH

(0,n)

Hocky Gvien Nam

MaHP

Trang 36

Ví dụ mô hình đối tượng

SVien

Ten Lop Nganh

LapTKB() InBangDiem()

Diem

DiemTH DiemLT DiemPrj SuaDiem()

HPhan

Ten SLuong 0 *

+MHoc sau

0 *

0 *

Trang 37

Ví dụ mô hình quan hệ

SVien

MaSV Ten Lop Nganh

Hoc

MaSV MaHP DiemLT DiemTH

HPhan

MaHP SLuong MaMH

MHoc

MaMH TenMH Khoa TinChi

DKien

MaMH MaMHTruoc

Trang 40

Lược đồ

 Lược đồ CSDL (Database Schema)

- Là các mô tả về cấu trúc và ràng buộc trên CSDL

SVien Ten MaSV Nam Khoa

TenMH MaMH TinChi Khoa Mhoc

MaMH MaMH_Truoc DKien

MaKH MaMH

MaKH MaSV

Trang 41

Thể hiện

 Thể hiện CSDL (Database Instance)

- Là dữ liệu hiện thời được lưu trữ trong CSDL ở một thời

Cau truc du lieu

Mhoc

Toan roi rac

Co so du lieu

MaMH COSC1310 COSC3320 MATH2410 COSC3380

TinChi Khoa 4

4 3 3

CNTT CNTT TOAN CNTT

112 119 85 92 102 135

10 9 8 10

Trang 42

Ngôn ngữ CSDL

 Ngôn ngữ định nghĩa dữ liệu

(DDL – Data Definition Language)

 Xác định ra lược đồ quan niệm

 Ngôn ngữ lưu trữ dữ liệu

(SDL – Storage Definition Language)

 Ngôn ngữ định nghĩa lược đồ trong

 Ngôn ngữ định nghĩa khung nhìn

(VDL – View Definition Language)

 Ngôn ngữ định nghĩa lược đồ ngoài

Trang 43

Ngôn ngữ CSDL (tt)

 Ngôn ngữ thao tác dữ liệu

(DML – Data Manipulation Language)

 Cho phép truy xuất, thêm, xóa, sửa dữ liệu

 Mức cao (phi thủ tục)

 Mức thấp (thủ tục)

Trang 44

Bài tập về nhà

 Đọc ‘Kiến trúc của HQT CSDL’

- Chương 1, phần 1.2, trang 9 – 15

Trang 46

Chương 2

Mô hình thực thể-kết hợp

(Entity-Relationship)

Trang 47

Nội dung chi tiết

 Quá trình thiết kế CSDL

 Mô hình E/R

 Thiết kế

 Ví dụ

Trang 48

Quá trình thiết kế CSDL

Ý tưởng E/R thiết kế Lược đồ quan hệ HQT CSDL quan hệ

Trang 49

Phụ thuộc HQT cụ thể Độc lập HQT

Quá trình thiết kế CSDL (tt)

Thế giới thực Phân tích yêu cầu

Phân tích quan niệm

Thiết kế mức logic

Các yêu cầu về dữ liệu

Lược đồ quan niệm

Lược đồ logic Thiết kế

chương trình ứng dụng

Phân tích chức năng Các yêu cầu về chức năng

Các đặc tả chức năng

Trang 50

Nội dung chi tiết

Trang 51

Mô hình thực thể - kết hợp

 Được dùng để thiết kế CSDL ở mức quan niệm

 Biểu diễn trừu tượng cấu trúc của CSDL

Trang 52

Tập thực thể

 Một thực thể là một đối tượng của thế giới thực

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

 Chú ý

- Thực thể (Entity)

- Đối tượng (Object)

- Tập thực thể (Entity set)

- Lớp đối tượng (Class of objects)

Cấu trúc của dữ liệu Thao tác trên dữ liệu

Trang 55

Mối quan hệ

 Là sự liên kết giữa 2 hay nhiều tập thực thể

 Ví dụ giữa tập thực thể NHANVIEN và PHONGBAN

có các liên kết

- Một nhân viên thuộc một phòng ban nào đó

- Một phòng ban có một nhân viên làm trưởng phòng

Trang 57

PHAI

LUONG HONV

Trang 58

Thể hiện của lược đồ E/R

 Một CSDL được mô tả bởi lược đồ E/R sẽ chứa đựng những dữ liệu cụ thể gọi là thể hiện CSDL

- Mỗi tập thực thể sẽ có tập hợp hữu hạn các thực thể

 Giả sử tập thực thể NHANVIEN có các thực thể như NV1, NV2,

…NVn

- Mỗi thực thể sẽ có 1 giá trị cụ thể tại mỗi thuộc tính

 NV1 có TENNV=“Tung”, NGSINH=“08/12/1955”, PHAI=“‘Nam”

 NV2 có TENNV= “Hang”, NGSINH=“07/19/1966”, PHAI=“Nu”

 Chú ý

- Không lưu trữ lược đồ E/R trong CSDL

 Khái niệm trừu tượng

- Lược đồ E/R chỉ giúp ta thiết kế CSDL trước khi chuyển

Trang 59

Mối quan hệ - Thể hiện

 Thể hiện CSDL còn chứa các mối quan hệ cụ thể

- Cho mối quan hệ R kết nối n tập thực thể E1, E2, …, En

- Thể hiện của R là tập hữu hạn các danh sách (e1, e2, …, en)

- Trong đó ei là các giá trị được chọn từ các tập thực thể Ei

 Xét mối quan hệ

NHANVIEN PHONGBAN

(Hang, Dieu hanh) Lam_viec

Trang 60

Mối quan hệ - Multiplicity

 Xét mối quan hệ nhị phân R (binary relationship) giữa

 Một E có quan hệ với nhiều F

 Một F có quan hệ với nhiều E

E 1 Quan_hệ 1 F

E n Quan_hệ n F

E n Quan_hệ 1 F

Trang 61

Mối quan hệ - Multiplicity (tt)

 (min, max) chỉ định mỗi thực thể e ∈ E tham gia ít nhất và nhiều nhất vào thể hiện của R

Trang 62

Mối quan hệ - Multiplicity (tt)

 Ví dụ

- Một phòng ban có nhiều nhân viên

- Một nhân viên chỉ thuộc 1 phòng ban

- Một nhân viên có thể được phân công vào nhiều đề án

hoặc không được phân công vào đề án nào

- Một nhân viên có thể là trưởng phòng của 1 phòng ban

NV Lam_viec (1,n) PB

NV (1,1) Lam_viec PB

NV (0,n) Phan_cong DA

Trang 63

Mối quan hệ - Vai trò

 Một loại thực thể có thể tham gia nhiều lần vào một quan hệ với nhiều vai trò khác nhau

NHANVIEN Quan_ly

Duoc quan ly boi (0,1)

(0,n)

La nguoi quan ly

Trang 64

Thuộc tính trên mối quan hệ

 Thuộc tính trên mối quan hệ mô tả tính chất cho mối quan hệ đó

 Thuộc tính này không thể gắn liền với những thực thể tham gia vào mối quan hệ

NHANVIEN (0,n) Phan_cong (1,n) DEAN

THGIAN

Trang 65

- Mỗi tập thực thể phải có 1 khóa

- Một khóa có thể có 1 hay nhiều thuộc tính

Trang 66

NGSINH DCHI

PHAI

LUONG HONV

MAPHG

Trang 67

NGSINH DCHI

PHAI

LUONG HONV

Trang 68

Tập thực thể yếu (tt)

 Ví dụ 2

HD_CT

HOA_DON TONGTIEN

NGAYHD MAHD

HANG_HOA DGIA

TENHH

(1,1) (1,n)

HH_CT

(1,1)

(1,n) CHI_TIET SL_HH

SOTIEN

Trang 69

Nội dung chi tiết

Trang 70

 (4) Quyết định miền giá trị cho thuộc tính

 (5) Quyết định thuộc tính khóa

 (6) Quyết định (min, max) cho mối quan hệ

Trang 72

Nội dung chi tiết

Trang 73

Ví dụ ‘Quản lý đề án công ty’

 CSDL đề án công ty theo dõi các thông tin liên quan đến nhân viên, phòng ban và đề án

- Cty có nhiều phòng ban, mỗi phòng ban có tên duy nhất,

mã phòng duy nhất, một trưởng phòng và ngày nhận chức Mỗi phòng ban có thể ở nhiều địa điểm khác nhau.

- Đề án có tên duy nhất, mã duy nhất, do 1 một phòng

ban chủ trì và được triển khai ở 1 địa điểm.

- Nhân viên có mã số, tên, địa chỉ, ngày sinh, phái và

lương Mỗi nhân viên làm việc ở 1 phòng ban, tham gia vào các đề án với số giờ làm việc khác nhau Mỗi nhân

Trang 74

- Mối quan hệ “isa”

- Các qui tắc khi thiết kế

Trang 76

Chương 2 Chuẩn hóa CSDL quan hệ

Trang 77

Nội dung chi tiết

 Giới hạn của ER

 Sự dư thừa

 Phụ thuộc hàm

 Hệ suy diễn Amstrong

 Thuật toán tìm bao đóng X+

F

 Tìm phủ tối thiểu

 Các dạng chuẩn

Trang 78

Giới hạn của lược đồ ER

 Cung cấp một tập các hướng dẫn  không đưa tới một lược đồ CSDL duy nhất

 Không đưa ra cách đánh giá giữa các lược đồ khác nhau

  Lý thuyết về chuẩn hóa CSDL quan hệ cung cấp

kỹ thuật để phân tích và chuyển hóa từ lược đồ ER sang lược đồ quan hệ

Trang 79

Sự dư thừa

 Sự phụ thuộc giữa các thuộc tính gây ra sự dư thừa

- Ví dụ:

 Điểm các môn học  Điểm trung bình  xếp loại

 Địa chỉ  zip code

TENPHG MAPHG TRPHG NG_NHANCHUC

Nghien cuu 5 333445555 05/22/1988

Dieu hanh 4 987987987 01/01/1995

Quan ly 1 888665555 06/19/1981

TENNV HONV Tung Nguyen Hung Nguyen

333445555 987987987 888665555

Trang 80

Sự dư thừa (tt)

 Thuộc tính đa trị trong lược đồ ER  nhiều bộ số liệu trong lược đồ quan hệ

 Ví dụ:

NHANVIEN(TENNV, HONV, NS,DCHI,GT,LUONG, BANGCAP)

TENNV HONV NS DCHI GT LUONG BANGCAP

Tung Nguyen 12/08/1955 638 NVC Q5 Nam 40000

Nhu Le 06/20/1951 291 HVH QPN Nu 43000 Đại học

Nhu Le 06/20/1951 291 HVH QPN Nu 43000 Trung học

Trung học

Trang 81

Sự dư thừa (tt)

 Sự dư thừa  sự dị thường

- Thao tác sửa đổi: cập nhật tất cả các giá trị liên quan

- Thao tác xóa: người cuối cùng của đơn vị  mất thông

333445555 987987987 888665555

Trang 82

Sự dư thừa (tt)

 Các giá trị không xác định

- Đặt thuộc tính Trưởng phòng vào quan hệ NHANVIEN

thay vì vào quan hệ PHONGBAN

 Các bộ giả

- Sử dụng các phép nối

Trang 83

Sự dư thừa (tt)

 Một số quy tắc

- NT1: Rõ ràng về mặt ngữ nghĩa, tránh các phụ thuộc giữa

các thuộc tính với nhau

- NT2: Tránh sự trùng lặp về nội dung đảm bảo tránh

được các dị thường khi thao tác cập nhật dữ liệu

 Phải có một số thao tác khi thêm mới và cập nhật vào lược đồ quan

hệ, cũng như có thể gây sai hỏng trong trường hợp xóa bỏ các bộ

- NT3: Tránh đặt các thuộc tính có nhiều giá trị Null

 Khó thực hiện các phép nối và kết hợp

- NT4: Thiết kế các lược đồ quan hệ sao cho chúng có thể

được nối với điều kiện bằng trên các thuộc tính là khoá chính hoặc khoá ngoài theo cách đảm bảo không sinh ra

Trang 84

Phụ thuộc hàm

 Lý thuyết về chuẩn hóa

- Các phân tích để đưa ra lược đồ thực thể liên kết cần

phải được sửa chữa ở các bước tiếp theo

- Vấn đề nêu ở slide trên sẽ được giải quyết nếu có một

phương pháp phân tích thích hợp

 lý thuyết chuẩn hóa (dựa trên phụ thuộc hàm, …) sẽ là nền tảng cơ sở để thực hiện việc phân tích và chuẩn hóa lược đồ ER

Trang 85

Phụ thuộc hàm (tt)

 ĐN 1: Phụ thuộc hàm (FD-function dependancy) trên một lược đồ quan hệ R là một ràng buộc XY, với X và Y là một tập các thuộc tính trong R

 ĐN 2: (XY) với mỗi thể hiện r của lược đồ quan

hệ R: với 2 bộ bất kỳ t và s trong r nếu t[X]= s[X] thì t[Y]=s[Y]

 Ví dụ: Ràng buộc dữ liệu là một trường hợp đặc biệt của phụ thuộc hàm

- MaNV TenNV, NS….

Trang 86

Phụ thuộc hàm (tt)

 Ví dụ

- Ngày sinh Tuổi

- Tuổi Quyền lợi

- MaNV Tên NV

- ???

- Bài tập:

- Xem xét lại các ràng buộc toàn vẹn đã học trong

chương trước và biểu diễn nó ở dạng phụ thuộc hàm

Ngày đăng: 01/07/2014, 12:30

TỪ KHÓA LIÊN QUAN

w