HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

Viện Công nghệ thông tin & truyền thông – CdiT

PTiT 08/2012

17/8/2012

Nội dung chính
Phần 1. Hiểu được tổng quát về cơ sở dữ liệu, các hệ thống quản trị cơ sở dữ liệu

Phần 2. Phương pháp phân tích, thiết kế và xây dựng các hệ thống CSDL Phần 3. Một số kỹ thuật nâng cao tạo và thực thi dữ liệu với DBMS Phần 4. Thực hành trên một số hệ quản trị CSDL phổ biến (SQL Server, Oracle,…)

3 / 40

Phần 1: Tổng quan về CSDL, hệ thống CSDL

1. Tổng quan về cơ sở dữ liệu

2. Tổng quan về hệ quản trị CSDL
3. Đại số quan hệ

17/8/2012

4 / 40

1. Tổng quan Cơ sở dữ liệu
Cơ sở dữ liệu là gì ?

Cơ sở dữ liệu có thể được xem là tập hợp có cấu trúc của thông tin, được lưu trữ trên các thiết bị lưu trữ thông tin để có thể thỏa mãn yêu cầu khai thác thông tin đồng thời cho nhiều người sử dụng hay nhiều chương trình ứng dụng với các mục đích khác nhau.

17/8/2012

5 / 40

1. Tổng quan cơ sở dữ liệu
Các ưu điểm của Cơ sở dữ liệu Về bản thân thông tin lưu trữ:
 Giảm thiểu sự trùng lắp thông tin đến mức thấp nhất, do đó:  Bảo đảm tính nhất quán  Tính toàn vẹn của dữ liệu  Đảm bảo dữ liệu có thể được truy xuất theo nhiều cách khác nhau  Khả năng chia sẻ thông tin cho nhiều người sử dụng và nhiều ứng dụng khác nhau

Về hiệu quả sử dụng thông tin:
 Chia sẻ thông tin cho nhiều người khác nhau  Tiết kiệm tài nguyên  Tăng hiệu quả khai thác

17/8/2012

6 / 40

1

Tổng quan cơ sở dữ liệu

Mô hình cơ sở dữ liệu – Database Model
 Là một tập hợp các khái niệm và ký pháp dùng để mô tả dữ liệu, các mối quan hệ của dữ liệu, các ràng buộc trên dữ liệu của một tổ chức  Gồm ba thành phần:  Phần mô tả cấu trúc của CSDL;  Phần mô tả các thao tác, định nghĩa các phép toán được phép trên dữ liệu;  Phần mô tả các ràng buộc toàn vẹn để đảm bảo sự chính xác của dữ liệu  Mỗi loại mô hình đặc trưng cho một phương pháp tiếp cận dữ liệu của người phân tích – thiết kế dữ liệu

7/283

17/8/2012

7 / 40

1

Tổng quan cơ sở dữ liệu

Mô hình cơ sở dữ liệu – Database Model
 Mô hình dữ liệu phân cấp (Hierachical Data Model)
 Mô hình dữ liệu mạng (Network Data Model)  Mô hình dữ liệu quan hệ (Relational Data Model)  Mô hình hướng đối tượng (Object Oriented Model)

8/283

17/8/2012

8 / 40

2. Tổng quát về hệ thống quản trị cơ sở dữ liệu (DBMS)
Yêu cầu đặt ra cho Database
• Phản ánh trung thực thế giới thực • Tối thiểu sự dư thừa dữ liệu • Độc lập giữa các chương trình và dữ liệu • Đảm bảo tính an toàn, bảo mật của dữ liệu • Hiệu suất sử dụng cao, thời gian trả lời của hệ thống phải phù hợp

9/283

17/8/2012

9 / 40

2. Tổng quát về hệ thống quản trị cơ sở dữ liệu (DBMS)
Giới thiệu DBMS

Hệ quản trị cơ sở dữ liệu là hệ thống các chương trình nhằm tạo lập, xử lý, thay đổi, quản lý và khai thác các CSDL Một số HQTCSDL hiện nay: Foxpro, Access, Oracle, Microsoft SQL... Mục tiêu của hệ QT CSDL:
    Tính sẵn sàng của dữ liệu (data availability) Tính toàn vẹn của dữ liệu (data integrity) Tính an toàn của dữ liệu (data security) Tính độc lập của dữ liệu (data independency)
10 / 40

17/8/2012

2. Tổng quát về hệ thống quản trị cơ sở dữ liệu (DBMS)

17/8/2012

11 / 40

2. Tổng quát về hệ thống quản trị cơ sở dữ liệu (DBMS)
Những tính năng quan trọng của DBMS
1. Cho phép người sử dụng tạo ra một cơ sở dữ liệu mới. Việc này sẽ được thực hiện thông qua một ngôn ngữ định nghĩa dữ liệu (Data Definition Languages-DDLs). 2. Cho phép người sử dụng truy vấn cơ sở dữ liệu thông qua ngôn ngữ thao tác dữ liệu (Data Manipulaton Languages-DMLs). 3. Hỗ trợ việc lưu trữ một khối lượng rất lớn dữ liệu mà không gây mất mát và tổn thất thông tin. Kích cỡ điển hình là từ nhiều gigabytes trở lên và lưu trữ chúng hiệu quả trong một khoảng thời gian rất dài. Đương nhiên để lưu trữ tốt trong khoảng thời gian dài đó thì cần phải duy trì , cập nhật thông tin tốt và hiệu quả. Đồng thời, duy trì tính bảo mật và tính toàn vẹn dữ liệu trong các xử lý được thực hiện trong hệ thống. 4. Kiểm soát truy nhập dữ liệu từ nhiều người sử dụng cùng một lúc.
17/8/2012 12 / 40

2. Tổng quát về hệ thống quản trị cơ sở dữ liệu (DBMS)
Các ưu điểm của DBMS
Kiểm soát sự dư thừa dữ liệu Đảm bảo dữ liệu đồng nhất Cung cấp thêm thông tin từ dữ liệu Kinh tế khi tăng khối lượng dữ liệu Tạo cân bằng cho các yêu cầu bị xung đột Cải thiện tính truy nhập của dữ liệu

Hỗ trợ sự sẵn có của khối lượng lớn Cải thiện năng suất thực hiện của hệ dữ liệu thống Hỗ trợ chia sẻ dữ liệu Cải thiện sự bảo dường Cải thiện sự toàn vẹn dữ liệu Cải thiện bảo mật dữ liệu Chuẩn hóa thông tin và dữ liệu
17/8/2012

Tăng xử lý đồng thời Cải thiện việc sao lưu và phục hồi Cải thiện tính đáp ứng tới các truy vấn
13 / 40

2. Tổng quát về hệ thống quản trị cơ sở dữ liệu (DBMS)
Các nhược điểm của DBMS
• Tính phức tạp
• Kích cỡ lớn • Tốn chi phí mua và bảo trì • Thêm chi phí cho các phần cứng hỗ trợ • Chi phí chuyển đổi hệ thống • Hạn chế về năng suất thực hiện (cho một số trường hợp cụ thể) • Ảnh hưởng rất lớn đối với các trường hợp hỏng

17/8/2012

14 / 40

2. Tổng quát về hệ thống quản trị cơ sở dữ liệu (DBMS)
Mô hình kiến trúc tổng quát 3 mức hệ cơ sở dữ liệu

17/8/2012

15 / 40

2. Tổng quát về hệ thống quản trị cơ sở dữ liệu (DBMS)
Mô hình kiến trúc tổng quát 3 mức hệ cơ sở dữ liệu
 Mức trong (mức vật lý – Physical level) • Mô tả cách thức dữ liệu được lưu trữ thực sự • Mô tả toàn bộ chi tiết cũng như đường dẫn truy cập dữ liệu

 Mức quan niệm hay mức logic (Conception level)
• Ẩn các thông tin chi tiết được mô tả ở mức trong

• Mô tả: các thực thể, kiểu dữ liệu, mối quan hệ, ràng buộc dữ liệu

16/283

17/8/2012

16 / 40

2. Tổng quát về hệ thống quản trị cơ sở dữ liệu (DBMS)
Mô hình kiến trúc tổng quát 3 mức hệ cơ sở dữ liệu
 Mức ngoài hay mức khung nhìn (View level) • Gồm các khung nhìn (View) khác nhau • Mỗi khung nhìn mô tả một phần Database mà một người dùng hoặc nhóm người dùng quan tâm, đồng thời không hiển thị phần còn lại của Database cho nguời dùng hoặc nhóm người dùng này.

17/283

17/8/2012

17 / 40

2. Tổng quát về hệ thống quản trị cơ sở dữ liệu (DBMS)
Ví dụ về việc chuyển đổi lược đồ giữa các mức trừu tượng

17/8/2012

18 / 40

1

Tổng quan cơ sở dữ liệu

Mô hình cơ sở dữ liệu quan hệ
• Mô hình dữ liệu quan hệ được Codd đề xuất năm 1970 và đến nay trở thành mô hình được sử dụng phổ biến trong các hệ quản trị cơ sở dữ liệu thương mại.
• Cơ sở dữ liệu quan hệ là một cơ sở dữ liệu trong đó tất cả dữ liệu được tổ chức trong các bảng có mối quan hệ với nhau. Mỗi một bảng bao gồm các dòng và các cột: mỗi một dòng được gọi là một bản ghi và mỗi một cột là một trường (thuộc tính).

17/8/2012

19 / 40

1

Tổng quan cơ sở dữ liệu

Mô hình cơ sở dữ liệu quan hệ

Bảng

17/8/2012

20 / 40

1

Tổng quan cơ sở dữ liệu

Mô hình quan hệ – Relational Data Model
 Thực thể - Entity • Đối tượng của thế giới thực, có thể là  Cụ thể: 1 con người, 1 đồ vật  Trừu tượng: 1 công ty, 1 quốc gia • Dạng vật lý: ví dụ thực thể Sinh viên, thực thể Giáo viên… • Dạng khái niệm: ví dụ thực thể Công việc, thực thể Môn học…

21/283

17/8/2012

21 / 40

1

Tổng quan cơ sở dữ liệu

Mô hình quan hệ – Relational Data Model
 Thuộc tính của thực thể - Attribute • Biểu diễn các đặc điểm của thực thể: tên gọi và miền giá trị  Tên thuộc tính: Dãy ký tự có theo DBMS cho phép  Miền giá trị: Tập các giá trị thuộc tính có thể nhận, Ví dụ giới tính (nam/nữ), tháng (1,2,3..12), trong Database

• Mỗi thực thể có các giá trị (Value) cho mỗi thuộc tính của nó

22/283

17/8/2012

22 / 40

1

Tổng quan cơ sở dữ liệu

Mô hình quan hệ – Relational Data Model
 Thuộc tính của thực thể - Attribute • Miền giá trị của thuộc tính có thể thuộc các kiểu  Số (nguyên, thực…)  Kí tự – Character  Xâu ký tự - String

 Logic – True/False
 Ngày tháng (mm/dd/yy…)
23/283
17/8/2012

 Âm thanh, hình ảnh,..

23 / 40

1

Tổng quan cơ sở dữ liệu

Mô hình quan hệ – Relational Data Model
 Thuộc tính của thực thể - Attribute MaSV = DTVT0901

HoTen = Nguyễn Thùy Linh
s1 GioiTinh = Nữ NgaySinh = 10/12/1983

24/283

17/8/2012

SinhVien

24 / 40

1

Tổng quan cơ sở dữ liệu

Mô hình quan hệ – Relational Data Model
 Thuộc tính đơn (Simple attribute) • Là thuộc tính không thể chia ra thành các phần con nhỏ hơn

 Thuộc tính kết hợp (Composite attribute)
• Là thuộc tính có thể chia thành các thuộc tính con độc lập nhau
Quan/Huyen

Phuong/Xa
DiaChi DuongPho
25/283
17/8/2012

SoNha

25 / 40

1

Tổng quan cơ sở dữ liệu

Mô hình quan hệ – Relational Data Model
 Thuộc tính một giá trị (Simple value attribute) • Là thuộc tính chỉ có một giá trị duy nhất  Thuộc tính nhiều giá trị (Multi value attribute) • Là thuộc tính có thể có nhiều hơn một giá trị  Thuộc tính suy ra (Derived attribute) • Là thuộc tính mà giá trị của nó có thể suy ra được từ các thuộc tính hoặc thực thể liên kết khác

26/283

17/8/2012

26 / 40

1

Tổng quan cơ sở dữ liệu

Mô hình quan hệ – Relational Data Model
 Giá trị rỗng (Null value) • Một thực thể không có giá trị đối với một thuộc tính • Giá trị của thuộc tính là chưa biết  Có tồn tại nhưng không có thông tin  Hoặc không biết được có tồn tại hay không

27/283

17/8/2012

27 / 40

1

Tổng quan cơ sở dữ liệu

Mô hình quan hệ – Relational Data Model
 Loại thực thể (Entity type) • Một tập các thực thể có chung một tập các thuộc tính  Tập thực thể (Entity set) • Tập tất cả các thực thể thuộc cùng một loại thực thể trong Database tại bất kỳ thời điểm nào

28/283

17/8/2012

28 / 40

1

Tổng quan cơ sở dữ liệu

Mô hình quan hệ – Relational Data Model

 Tích đề các của các miền giá trị • Các thuộc tính - Attributes: A1, A2…An

• Miền giá trị tương ứng - Domain: D1, D2… Dn
• Tích đề các của n miền là D1xD2x…xDn là tập tất cả n bộ (n-tuples) là (d1,d2,…,dn) sao cho di  Di, ví dụ

 D1 = (a,b), D2 = (1,2), D1xD2 = {(a,1),(a,2),(b,1),(b,2)}

29/283

17/8/2012

29 / 40

1

Tổng quan cơ sở dữ liệu

Mô hình quan hệ – Relational Data Model

 Định danh của thực thể - Identification • Là 1 hay nhiều các thuộc tính làm phân biệt thực thể này với thực thể khác trong 1 tập hợp (lớp) các thực thể cùng loại  Nhiều thuộc tính có thể làm định danh

 người xây dựng Database phải chọn định danh là duy nhất

30/283

17/8/2012

30 / 40

1

Tổng quan cơ sở dữ liệu

Mô hình quan hệ – Relational Data Model

 Quan hệ - Relation • 1 tập con của tích đề các của 1 hoặc nhiều miền

• Chỉ tìm hiểu các quan hệ là 1 tập hữu hạn
• Mỗi hàng của quan hệ gọi là bộ (tuples) • Quan hệ là tập con của tích đề các D1xD2x…xDn là quan hệ n ngôi • Mỗi bộ của quan hệ có n thành phần (n cột) • Các cột của quan hệ gọi là thuộc tính
31/283
17/8/2012 31 / 40

1

Tổng quan cơ sở dữ liệu

Mô hình quan hệ – Relational Data Model

 Quan hệ - Relation • Có thể định nghĩa quan hệ như sau  Gọi  = {A1,A2,…An} là tập hữu hạn các thuộc tính  Mỗi Ai với i = 1  n có miền giá trị tương ứng là Dom(Ai)  Quan hệ R trên  là tập con của tích đề các  Dom(A1)xDom(A2)x…xDom(An)  ký hiệu là R() hoặc R(A1,A2,…An)
32/283
17/8/2012 32 / 40

1

Tổng quan cơ sở dữ liệu

Mô hình quan hệ – Relational Data Model

 Biểu diễn quan hệ theo dạng bảng - Table • Biểu diễn 1 quan hệ trên tập các thuộc tính Ω theo 1 bảng 2 chiều

• Các thuộc tính (Attributes) của quan hệ là các cột A1, A2,…, An không nhất thiết phân biệt nhau
• Các hàng (Row) của quan hệ được gọi là các bộ (tuple) được gọi là các bản ghi (Record) của quan hệ, ký hiệu là r ∈ R(Ω) • Giá trị của mỗi một bộ gồm n thành phần giá trị r = (d1, d2,.., dn) được rút ra giá trị từ các miền xác định tương ứng
33/283
17/8/2012 33 / 40

1

Tổng quan cơ sở dữ liệu

Mô hình quan hệ – Relational Data Model

 Biểu diễn quan hệ theo dạng bảng - Table • Giá trị của mỗi một bộ gồm n thành phần giá trị r = (d1, d2,.., dn) được rút ra giá trị từ các miền xác định tương ứng  r(A1) = d1 ∈ D(A1)  r(A2) = d2 ∈ D(A2)  ...  r(An) = dn ∈ D(An)
34/283
17/8/2012 34 / 40

1

Tổng quan cơ sở dữ liệu

Mô hình quan hệ – Relational Data Model

 Biểu diễn quan hệ theo dạng bảng - Table
Attributes

A1 r1(A1) Tuples r2(A1) …. rm(A1)

A2
r1(A2) r2(A2) …. rm(A2)

….
…. …. …. ….

An
r1(An) r2(An) …. rm(An)

35/283

17/8/2012

35 / 40

1

Tổng quan cơ sở dữ liệu

Mô hình quan hệ – Relational Data Model

 Biểu diễn quan hệ theo dạng bảng - Table • Ví dụ: quan hệ SinhVien(Mã SV, Họ tên, Ngày sinh, Địa chỉ)
Mã SV Họ tên Ngô Thùy Linh Hoàng Thanh Nga … Ngày sinh 17/5/1982 2/8/1983 … Địa chỉ Từ Sơn, Bắc Ninh Đồ … Sơn, Phòng Hải

t1 t2

HHAA14950 HHAA14951 …

36/283

17/8/2012

36 / 40

1

Tổng quan cơ sở dữ liệu

Mô hình quan hệ – Relational Data Model

 Bậc của quan hệ • Số thuộc tính của quan hệ  Lực lượng của quan hệ • Số bộ của quan hệ, ký hiệu là |R|  Tập con các thuộc tính • Ký hiệu X ⊆ Ω khi và chỉ khi ∀A ∈ X  A ∈ Ω

 Các thuộc tính của X cũng là thuộc tính của Ω
37/283
17/8/2012 37 / 40

1

Tổng quan cơ sở dữ liệu

Mô hình quan hệ – Relational Data Model

 Khoá của quan hệ - Key • Khoá của 1 quan hệ r trên tập thuộc tính  = {A1, A2,… An} là tập con K  {A1,A2… An} thoả mãn tính chất  t1, t2  r thì t1(K)  t2(K) • Nếu K1 là khoá của quan hệ r(A1, A2,… An) và K1  K2   Khi đó bất kỳ t1, t2  r thì từ t1(K1)  t2(K1)  t1(K2)  t2(K2) nghĩa là K2 cũng là khoá của r

38/283

17/8/2012

38 / 40

1

Tổng quan cơ sở dữ liệu

Mô hình quan hệ – Relational Data Model

 Khoá của quan hệ - Key • Định nghĩa khoá

 Khoá của quan hệ r trên tập thuộc tính  = {A1, A2,… An} là tập con K   sao cho bất kỳ hai bộ khác nhau t1, t2  r luôn thoả mãn t1(K)  t2(K) và bất kỳ tập con thực sự K1  K nào đều không có tính chất đó
• Trong 1 quan hệ có thể có rất nhiều khoá

39/283

17/8/2012

39 / 40

1

Tổng quan cơ sở dữ liệu

Mô hình quan hệ – Relational Data Model

 Biểu diễn các thực thể và thuộc tính
Simpl e Composite Multi-value
Attribute Name

Attribute Name
Attribute Name

EntityName
Attribute Name

Key
40/283
17/8/2012

Attribute Name

Derived

40 / 40

Sign up to vote on this title
UsefulNot useful