1. Trang chủ
  2. » Tất cả

RDBMS Book Version1.0 Release 19-1-2008

297 1,2K 2
Tài liệu đã được kiểm tra trùng lặp

Đ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 297
Dung lượng 13,04 MB

Nội dung

 Mô tả xu hướng để quản trị dữ liệu  Định nghĩa một hệ thống quản trị CSDL và liệt kê những lợi íchcủa chúng  Phân biệt các mô hình CSDL  Định nghĩa và giải thích về hệ quản trị CSDL

Trang 2

MỤC LỤC

Chương 2 Mô hình quan hệ thực thể và chuẩn hóa dữ liệu 28

Chương 4 Tổng quan về SQL Server 2005 (Thực hành) 79

Chương 6 Ngôn ngữ Transaction SQL (Thực hành) 129

Chương 10 Truy xuất dữ liệu từ CSDL (Thực hành) 207

Chương 11 Tạo bảng và sử dụng các kiểu dữ liệu 218

Chương 12 Tạo bảng và sử dụng các kiểu dữ liệu (Thực hành) 245

Phụ lục C Các thủ tục lưu trữ và các hàm dựng sẵn 281

Trang 3

Từ viết tắt Diễn giải

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

RDBMS (Relational DataBase

Management System) Hệ quản trị CSDL quan hệ

XML (eXtensible Markup Language) Ngôn ngữ đánh dấu mở rộng có thể

dùng để biểu diễn dữ liệu

Trang 5

CÁC KHÁI NIỆM VỀ HỆ QUẢN TRỊ

CSDL Mục tiêu :

Kết thúc chương này, các bạn sẽ có thể:

 Giải thích khái niệm về dữ liệu và CSDL

 Mô tả xu hướng để quản trị dữ liệu

 Định nghĩa một hệ thống quản trị CSDL và liệt kê những lợi íchcủa chúng

 Phân biệt các mô hình CSDL

 Định nghĩa và giải thích về hệ quản trị CSDL quan hệ (RDBMS)

 Mô tả các thực thể và các bảng và liệt kê các thuộc tính của bảng

 Liệt kê sự khác nhau giữa Hệ quản trị CSDL và Hệ CSDL quanhệ

1.1 Giới thiệu:

Các công ty thường phải quản lý một lượng lớn dữ liệu, những dữ liệu này được tạo

ra trong quá trình tác nghiệp hàng ngày Một CSDL là một dạng tổ chức của những

dữ liệu đó Nó có thể chứa một hay nhiều phần tử dữ liệu có liên quan với nhauđược gọi là bản ghi Có thể xem CSDL như là một tập dữ liệu được sử dụng để trảlời cho các câu hỏi khác nhau Ví dụ: “Hãy cho biết địa chỉ và số điện thoại của nămbưu điện gần nhất?” hay “Có cuốn sách nào trong thư viện nói về thực phẩm bổdưỡng không? Nếu có thì nó nằm ở giá sách nào? hay “Hãy cho tôi biết thông tin cánhân và biểu đồ bán hàng của năm người bán hàng tốt nhất trong quí, nhưng khônghiển thị địa chỉ chi tiết của họ”

Trong chương này trình bày những khái niệm liên quan đến CSDL và Hệ quản trịCSDL, làm rõ những mô hình CSDL khác nhau và giới thiệu khái niệm về Hệ quảntrị CSDL quan hệ

Trang 6

1.2 Dữ liệu và CSDL

Dữ liệu có nghĩa là thông tin và nó là thành phần quan trọng trong bất kỳ lĩnh vực,công việc nào Trong những công việc thường nhật bao gồm cả việc sử dụng dữliệu đã có và tạo ra những dữ liệu mới Khi những dữ liệu được tạo ra và được phântích thì chúng trở thành thông tin Chúng có thể trở thành nhiều loại thông tin nhưthông tin về xe hơi, thể thao, máy bay v.v…Ví dụ một nhà báo thể thao (người hâm

mộ môn bóng đá) thu thập điểm của 10 trận đấu mà đội tuyển Đức tham dự ở cúpbóng đá thế giới Những điểm số này trở thành dữ liệu Khi dữ liệu này được đem

so sánh với dữ liệu thu được trong 10 trận ở cúp bóng đá thế giới của đội tuyểnBrazil, nhà báo này có được thông tin đội tuyển bóng đá nào thi đấu hay hơn

Thông tin giúp chúng ta tiên liệu và hoạch định được các sự kiện Thông tin là sựthấu hiểu của dữ liệu Trong kinh doanh, từ thông tin có thể dự báo và hoạch địnhtrước sự xảy ra của một sự kiện giúp tiết kiệm thời gian và tiền bạc Xét ví dụ, mộtcông ty sản xuất xe hơi hoạch định chi hàng năm cho những thành phần của xe màcông ty không sản xuất được Nếu chi phí cho những phần này trong 5 năm qua đã

có, công ty mẹ có thể tập hợp những thông tin về những phần đã nhập khẩu Dựavào kết quả tìm được, một kế hoạch sản xuất sẽ được chuẩn bị Do đó, thông tin lànhân tố then chốt trong hoạch định chiến lược

Một CSDL là một tập hợp dữ liệu Có thể hiểu rằng CSDL là một cơ chế tổ chức cókhả năng lưu trữ thông tin Người dùng có thể truy xuất được thông tin một cáchnhanh chóng và hiệu quả từ CSDL

Một cuốn danh bạ điện thoại là một CSDL Dữ liệu chứa trong những mục như tên,địa chỉ và số điện thoại Những dữ liệu này được liệt kê, sắp xếp và chỉ mục theothứ tự a,b,c (alphabet) Nó cho phép người sử dụng tham chiếu đến nơi cư trú mộtcách dễ dàng Sau đó, dữ liệu này sẽ được lưu vào CSDL trên máy tính Một người

di chuyển đến một thành phố hay một tiểu bang khác, những mục dữ liệu tươngứng sẽ được thêm vào hay bỏ đi khỏi danh bạ Tương tự, những mục thông tin đó

có thể được sửa đổi khi có người thay tên, đổi địa chỉ hay số điện thoại v.v…Hình1.1 minh họa một CSDL đơn giản

Database

Người dùng

Lưu thông tin

Truy xuất thông tin

Trang 7

Có hai phương pháp quản trị dữ liệu khác nhau là hệ thống dựa trên tập tin và hệthống CSDL.

1.3.1 Hệ thống dựa trên tập tin

Lưu trữ một lượng lớn thông tin luôn luôn là mối quan tâm lớn Trong những nămtrước, các hệ thống quản lý theo tập tin được sử dụng, các hệ thống này lưu trữ dữliệu trong những tập tin riêng biệt Trong hệ thống này, một nhóm tập tin được lưutrên một máy tính và được truy cập bằng các thao tác máy tính Tập tin lưu trữ dữliệu được gọi là bảng bởi vì nó trông giống các bảng được lưu trữ trong các hồ sơtruyền thống Các dòng trong bảng được gọi là các bản ghi và các cột được gọi làcác trường

Thông thường, trước khi hệ thống CSDL được phát triển, dữ liệu trong hệ thốngphần mềm được lưu trữ trên các tập tin

Một ví dụ về hệ thống quản lý theo file mô tả trong bảng 1.1

Fist Name

(Tên)

Last Name (Họ)

Address (Địa chỉ)

Phone (Số điện thoại)

Jordan Lim nadroj@otherdomain.com 222-3456-123

Bảng 1 1 Hệ thống quản lý theo tập tin Nhược điểm của hệ thống quản lý theo tập tin

Trong hệ thống quản lý theo file, những chương trình khác nhau trong cùng một ứngdụng có tương tác với những file dữ liệu khác nhau Nó khôn tồn tại bất kỳ một hệthống nào ép buộc theo một chuẩn nào đó trong việc lưu trữ và cấu trúc những file

dữ liệu

Trang 8

 Dư thừa và mâu thuẫn dữ liệu

Khi dữ liệu được lưu trữ trong những file riêng biệt nhau nó sẽ phát sinh ra

dư thừa và mâu thuẫn dữ liệu Ví dụ, một khách hàng có một tài khoản tiếtkiệm Thông tin chi tiết của khách hàng có thể bị lặp lại khi những chươngtrình cho hai chức năng lưu trữ thông tin liên quan đến khách hàng trên haifile khác nhau Điều này tạo ra sự dư thừa dữ liệu khách hàng Trong khi đó,cùng dữ liệu lưu trên hai file riêng biệt sẽ tạo ra sự mâu thuẫn nếu ta thay đổi

dữ liệu trên một file và file kia không được cập nhật tương ứng

mở tài khoản cách đây một năm mà thôi Như vậy, chương trình để tạo radanh sách đó vẫn chưa có, điều này rất khó khăn trong việc truy xuất dữ liệu

 Cô lập dữ liệu

Dữ liệu được lưu trữ phân tán trên nhiều file khác nhau và các file này có thể

ở những dạng định dạng khác nhau Mặc dù dữ liệu được sử dụng bởi cácchương trình khác nhau trong một ứng dụng có thể được liên kết với nhaunhưng chúng vẫn được lưu trên những file riêng lẻ

 Xử lý các truy cập đồng thời bất thường

Trong các hệ thống lớn, một file hay một bản ghi có thể được truy cập đồngthời bởi nhiều người sử dụng Hệ thống quản lý dựa theo file rất khó đáp ứngđược yêu cầu này

 Vấn đề về bảo mật

Trong các ứng dụng tập trung dữ liệu thì bảo mật dữ liệu là mối quan tâmchính Những người dùng chỉ có thể truy cập những dữ liệu cần thiết chứkhông phải toàn bộ CSDL Ví dụ, trong một hệ thống ngân hàng, hệ thốngtiền lương chỉ cần xem một phần về nhân viên ngân hàng mà thôi Họ khôngcần truy cập thông tin về tài khoản của khách hàng Trong khi đó những

Trang 9

chương trình ứng dụng được thêm vào hệ thống trong những trường hợpđặc biệt rất khó có thể đảm bảo được các qui tắc bảo mật đã có.

Trong một hệ thống quản lý dựa theo file, vấn đề bảo mật chỉ có thể kiểmsoát được bằng cách thêm các chương trình vào từng ứng dụng

 Vấn đề về toàn vẹn

Trong bất kỳ ứng dụng nào, luôn luôn tồn tại những qui tắc đảm bảo toàn vẹn

dữ liệu Những qui tắc này có thể tồn tại ở dạng các điều kiện hoặc các ràngbuộc trên những thành phần của bản ghi dữ liệu Trong ứng dụng về ngânhàng, có thể có một qui tắc về toàn vẹn có thể là “Mã khách hàng khôngđược trùng nhau và không được rỗng” Có thể có nhiều qui tắc toàn vẹn trongmột ứng dụng Trong hệ thống quản lý theo file tất cả các qui tắc này cầnphải được lập trình trong chương trình ứng dụng

Duyệt qua tất cả các vấn đề cơ bản của bất kỳ ứng dụng tập trung dữ liệu nào, tathấy mỗi ứng dụng đều phải kiểm soát tất cả những vấn đề trên Như vậy, người lậptrình ứng dụng không chỉ phải cài đặt những nghiệp vụ của ứng dụng mà còn phảicài đặt cả những vấn đề cơ bản ở trên

1.3.2 Các hệ thống CSDL

Các hệ thống CSDL được phát triển vào những năm cuối thập niên 60 của thế kỹtrước để giải quyết những vấn đề cơ bản trong những ứng dụng có lượng dữ liệulớn và tập trung nhằm khắc phục một số nhược điểm của các hệ thống quản lý theofile

CSDL được sử dụng để lưu trữ dữ liệu có hệ thống và có tổ chức CSDL sẽ giúpquản lý dữ liệu một cách nhanh chóng và dễ dàng Ví dụ, một công ty có thể quản lýthông tin chi tiết của các nhân viên trong một CSDL Tại bất kỳ thời điểm nào, cũng

có thể truy xuất dữ liệu từ CSDL, dữ liệu mới có thể được thêm vào CSDL và dữliệu có thể được tìm kiếm dựa vào một vài điều kiện trong CSDL

Dữ liệu lưu trữ cũng có thể truy xuất được ngay cả khi lưu trên những file đơn giản

Ví dụ, một trường đại học phải lưu giữ những thông tin về giáo viên, sinh viên, mônhọc và các kỳ thi Chi tiết các giáo viên có thể được lưu trong sổ nhân viên, chi tiếtcác sinh viên có thể được lưu trong sổ sinh viên và tương tự Tuy nhiên, dữ liệuđược lưu trữ theo dạng này không bền vững Những bản ghi được lưu theo dạngnày có thể chỉ được giữ trong vài tháng hoặc vài năm Những sổ hay file là rất kềnhcàng, chiếm nhiều không gian và không thể giữ trong nhiều năm

Nếu dữ liệu trên được lưu giữ trong hệ thống CSDL thì chúng có thể được lưu giữlâu hơn

Ưu điểm của các hệ thống CSDL

Trang 10

Thông tin hay dữ liệu có thể được lưu vĩnh cửu trong CSDL trên máy tính Hệ thốngCSDL có nhiều ưu điểm bởi vì nó quản lý dữ liệu tập trung Một vài lợi ích của việc

sử dụng hệ thống CSDL tập trung như sau:

 Giảm dư thừa dữ liệu

Trong một công ty, một số phòng ban thường lưu chung dữ liệu Sử dụngCSDL tập trung giúp các dữ liệu dùng chung được truy cập bởi nhiều phòngban khác nhau Vì vậy, dữ liệu trùng hay dữ liệu dư thừa sẽ giảm

 Giảm mâu thuẫn dữ liệu

Khi dữ liệu được lưu trùng qua nhiều phòng ban thì bất kỳ sự thay đổi nàocủa dữ liệu cũng phải thay đổi trên tất cả các phòng ban Nếu có phòng bankhông được thay đổi sẽ dẫn đến mâu thuẫn dữ liệu

Khi sử dụng CSDL tập trung, nó có thể cho phép người dùng cập nhật dữliệu riêng biệt Giả sử rằng, Mr Larry Finner là nhân viên của một công ty vàđược đề bạt lên quản lý thì chỉ cần thay đổi một nơi trên CSDL mà thôi Kếtquả sự mâu thuẫn dữ liệu sẽ giảm

 Dữ liệu được lưu trữ có thể được chia sẻ

Một CSDL tập trung có thể được đặt trên một Server và có thể được chia sẻcho nhiều người sử dụng Bằng cách này tất cả những người dùng có thểtruy xuất hoặc cập nhật thông tin bất cứ lúc nào

 Các chuẩn có thể được thiết lập và duy trì

Một trung tâm điều khiển đảm bảo các chuẩn trong việc đặc tả dữ liệu có thểđược thiết lập và duy trì Ví dụ, tên một người có thể được thể hiện như “MrLarry Linner” Tên này có thể được chia nhỏ thành các thành phần dưới đây:

 Toàn vẹn dữ liệu được duy trì

Toàn vẹn dữ liệu đảm bảo tính chính xác của dữ liệu trong CSDL Ví dụ, khimột nhân viên nghỉ việc, phòng kế toán cập nhật CSDL và phòng nhân sự

Trang 11

không cập nhật các bản ghi Dẫn đến dữ liệu trong các bản ghi của công ty

sẽ không đúng

Điều khiển tập trung của CSDL sẽ giúp tránh được các lỗi trên Nó đảm bảorằng nếu một bản ghi bị xóa trên bảng này thì những bản ghi liên kết tươngứng trên các bảng khác cũng bị xóa theo

 Bảo mật dữ liệu có thể được cài đặt

Trong hệ thống CSDL tập trung, quyền sửa đổi trên CSDL không cung cấp chotất cả mọi người Quyền chỉ được cung cấp cho một người có đầy đủ quyền trênCSDL Người này được gọi là người quản trị CSDL hay DBA DBA có thể thiếtlập bảo mật bằng cách đặt các giới hạn trên dữ liệu Dựa vào các quyền đượcgán, người dùng có thể thêm, sửa hay truy vấn dữ liệu

1.4 Hệ quản trị CSDL (DBMS)

Một hệ quản trị CSDL có thể được định nghĩa như một tập các bản ghi có liên quanvới nhau và tập hợp các chương trình cho phép cập nhật và thao tác trên các bảnghi đó Hệ quản trị CSDL cho phép người dùng nhập, lưu trữ và quản lý dữ liệu.Vấn đề chính đối với các hệ quản trị CSDL trước đây là dữ liệu được lưu trong cácfile phẳng Vì vậy, thông tin về các đối tượng khác nhau được duy trì trong các filevật lý riêng biệt Do vậy, các mối quan hệ giữa các đối tượng nếu có cũng được duytrì trên các file vật lý riêng biệt Mỗi gói sẽ chứa rất nhiều file và cần nhiều chứcnăng để tích hợp chúng thành một hệ thống

Giải pháp cho những vấn đề trên đã có trong hệ quản trị CSDL tập trung Trong hệquản trị CSDL tập trung, CSDL được lưu trữ tập trung tại một nơi Mọi người có thểtruy cập đến CSDL tập trung từ máy tính của họ Ví dụ, một hệ quản trị CSDL tậptrung lớn sẽ chứa tất cả dữ liệu liên quan đến các nhân viên Phòng kế toán vàphòng nhân sự sẽ sử dụng các chương trình phù hợp để truy cập các dữ liệu cầnthiết Những chương trình này hay ứng dụng sẽ được chạy trên một máy tính bấtkỳ

CSDL là tập hợp các dữ liệu có liên quan với nhau và hệ quản trị CSDL là một tậphợp các chương trình được sử dụng để thêm vào hoặc sửa đổi dữ liệu đó Vì vậy,

hệ quản trị CSDL là một phần mềm cho phép định nghĩa, xây dựng và bảo trì CSDL

Hệ quản trị CSDL cung cấp một môi trường thuận tiện và hiệu quả để khi có mộtlượng lớn dữ liệu và giao dịch được xử lý Các loại hệ quản trị CSDL khác nhauđược sử dụng từ hệ thống nhỏ chạy trên máy tính cá nhân cho đến các hệ thốnglớn chạy trên các máy chủ lớn Ví dụ một số ứng dụng CSDL như:

o Hệ thống thư viện điện tử

o Máy rút tiền tự động

Trang 12

o Hệ thống đặt vé máy bay

o Hệ thống tồn kho được máy tính hóaĐứng ở góc nhìn kỹ thuật, hệ quản trị CSDL có nhiều khía cạnh khác nhau Các hệquản trị CSDL khác nhau hỗ trợ các ngôn ngữ truy vấn khác nhau, mặc dù có mộtngôn ngữ truy vấn chuẩn được gọi là ngôn ngữ vấn tin có cấu trúc (SQL) Nhữngngôn ngữ tốt nhất để quản lý các hệ thống CSDL hiện nay được gọi là ngôn ngữ thế

hệ thứ tư (4GLs)

Thông tin từ CSDL có thể được thể hiện ở nhiều định dạng khác nhau Hầu hết cácCSDL bao gồm các chương trình báo cáo cho phép người dùng lấy dữ liệu ra ởdạng một báo cáo Nhiều hệ quản trị CSDL bao gồm cả các thành phần đồ họa chophép người dùng lấy thông tin ở dạng đồ họa và biểu đồ

Không cần phải sử dụng hệ quản trị CSDL phổ biến để thiết lập một CSDL Ngườidùng có thể tự viết các chương trình để tạo ra và quản lý CSDL của họ, nó sẽ hiệuquả nếu họ tạo ra phần mềm quản lý CSDL theo mục đích riêng CSDL và phầnmềm gộp lại được gọi là hệ quản trị CSDL Người dùng đầu cuối truy cập hệ thốngCSDL thông qua các chương trình ứng dụng và vấn tin Phần mềm hệ quản trịCSDL cho phép người dùng xử lý các chương trình và truy vấn theo yêu cầu của

họ Phần mềm truy cập dữ liệu từ CSDL Hình 1.2 mô tả một hệ thống CSDL

Trang 13

Hình 1 2 Môi trường hệ thống CSDL đơn giản

1.4.1 Lợi ích của hệ quản trị CSDL

Về cơ bản hệ quản trị CSDL chịu trách nhiệm xử lý dữ liệu và chuyển đổi chúngthành thông tin Với mục đích này, CSDL sẽ được xử lý, chúng bao gồm cả việc truyvấn CSDL, truy xuất các dữ liệu cụ thể, cập nhật dữ liệu và tạo ra các báo cáo Cácbáo cáo là nguồn gốc của thông tin, chúng là các dữ liệu đã được xử lý Ngoài ra,

hệ quản trị CSDL còn chịu trách nhiệm về bảo mật và toàn vẹn dữ liệu Lợi ích của

hệ quản trị CSDL có thể được mô tả như sau:

CHƯƠNG TRÌNH ỨNG DỤNG/TRUY VẤN

PHẦN MỀM DBMS Phần mềm để xử lý truy

vấn/các chương trình

Phần mềm để truy cập dữ

liệu

Trang 14

Hệ quản trị CSDL cung cấp những chức năng định nghĩa cấu trúc của dữ liệucho các ứng dụng Chúng bao gồm định nghĩa và sửa đổi cấu trúc các bảnghi, kiểu và kích thước của các trường và những điều kiện, ràng buộc khácnhau để thỏa mãn dữ liệu trên các trường

Thao tác trên dữ liệu

Khi cấu trúc dữ liệu đã được định nghĩa, dữ liệu được chèn, sửa đổi hay xóa.Các chức năng thực hiện các thao tác này là một phần của hệ quản trị CSDL.Các chức năng này có thể kiểm soát việc hoạch định hoặc không hoạch địnhnhu cầu thao tác dữ liệu Các truy vấn được hoạch định là một phần của ứngdụng Các truy vấn không hoạch định là các truy vấn đặc biệt, nó được thựchiện dựa theo yêu cầu

Bảo mật và toàn vẹn dữ liệu

Bảo mật dữ liệu là một vấn đề vô cùng quan trọng khi có nhiều người truycập dữ liệu Nó đảm bảo cho dữ liệu được truy cập đúng người dùng Cácqui tắc bảo mật chỉ định việc truy cập CSDL, thành phần dữ liệu nào ngườidùng có quyền truy cập, thao tác dữ liệu nào người dùng có quyền thực hiện

Dữ liệu trong CSDL có thể chứa lỗi, để tránh các lỗi hệ quản trị CSDL sẽ thựchiện việc kiểm tra Ví dụ, mã số nhân viên khi được thêm vào phải khôngđược rỗng hay số điện thoại phải chỉ chứa các số

Vì vậy, hệ quản trị CSDL chứa những chức năng kiểm soát bảo mật và toànvẹn dữ liệu trong ứng dụng Các công việc trên có thể dễ dàng được kiểmsoát bởi ứng dụng và người lập trình ứng dụng không cần viết mã cho nhữngchức năng này

Truy cập đồng thời và phục hồi dữ liệu

Phục hồi dữ liệu sau khi hệ thống bị lỗi và truy cập đồng thời bởi nhiều người

sử dụng cũng được hệ quản trị CSDL kiểm soát

Hiệu năng

Tối ưu hóa quá trình thực hiện các câu truy vấn là một trong những chứcnăng quan trọng của hệ quản trị CSDL Vì vậy, hệ quản trị CSDL chứa mộttập hợp các chương trình ở dạng tối ưu hóa các câu truy vấn, các chươngtrình này đánh giá các phương án khác nhau để thực hiện các câu truy vấn

và chọn ra phương án tốt nhất

Điều khiển đa truy cập

Trang 15

Tại một thời điểm có thể có nhiều người truy cập cùng một dữ liệu Hệ quảntrị CSDL theo dõi việc chia sẻ dữ liệu cho nhiều người dùng và duy trì toànvẹn dữ liệu.

Ngôn ngữ truy xuất CSDL và giao diện lập trình ứng dụng (API)

Ngôn ngữ vấn tin của hệ quản trị CSDL thực hiện việc truy xuất dữ liệu SQL

là ngôn ngữ vấn tin được sử dụng rộng rãi nhất Ngôn ngữ vấn tin là ngônngữ phi thủ tục, nó cho phép người dùng đưa ra những yêu cầu mà khôngcần biết phải làm nó như thế nào Một vài ngôn ngữ thủ tục như C, VisualBasic, Pascal.v.v cho phép người lập trình truy cập CSDL

1.5.1 Mô hình dữ liệu file phẳng

Trong mô hình này CSDL chứa chỉ một bảng hay một file Mô hình này được sửdụng cho những CSDL đơn giản Ví dụ để lưu trữ mã số, tên, môn học, điểm số củamột nhóm sinh viên Mô hình này không thể quản lý lượng lớn dữ liệu Nó có thể tạo

ra sự dư thừa khi dữ liệu được mô tả nhiều lần Bảng 1.2 mô tả cấu trúc của mộtCSDL file phẳng

Roll No FName LName Subject Marks

Bảng 2.1 Cấu trúc của mô hình dữ liệu file phẳng

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

Trong mô hình phân cấp, các bản ghi liên kết với nhau thông qua các cấp bậc giốngnhư cấu trúc cây Trong mô hình này, các quan hệ được gọi là quan hệ cha – con.Một bản ghi cha có thể có một vài bản ghi con nhưng một bản ghi con chỉ có một và

Trang 16

chỉ một bản ghi cha Để tìm dữ liệu được lưu trữ theo mô hình này, người dùng cầnphải biết cấu trúc của cây Ví dụ của mô hình dữ liệu phân cấp là hệ quản trị thưmục của Windows mà chúng ta có thể nhìn thấy thông qua Windows Explorer và hệquản trị thông tin của IBM.

Hình 1.3 mô tả một sơ đồ đơn giản cho một sơ đồ có phân cấp

Hình 1 3 Sơ đồ phân cấp

Qua sơ đồ trên, Phòng được xem là phần cha trong quan hệ Các Dự án và Nhânviên được xem như là phần con Một đường dẫn bắt đầu từ phần tử bên trái đầutiên sẽ định nghĩa được cây Thứ tự của các phần tử chỉ ra theo cấu trúc phân cấpđược gọi là đường dẫn phân cấp Từ hình vẽ chúng ta thấy rõ mỗi phòng có thể cónhiều nhân viên và dự án

Ưu điểm của mô hình phân cấp

PHÒNG Tên phòng Số phòng Tên sếp Ngày bắt đầu quản lý

DỰ ÁN

NHÂN VIÊN TÊN SỐ NGÀY SINH ĐỊA CHỈ

Smith Max Jonh Grace Elite James

NHÂN VIÊN

Product A Grace Computerrization

Frank

Trang 17

Ưu điểm của mô hình phân cấp như sau:

- Dữ liệu được lưu giữ trên CSDL, vì vậy dữ liệu được chia sẻ một cách dễdàng và được bảo mật bởi hệ quản trị CSDL

- Độc lập dữ liệu được hệ quản trị CSDL giúp giảm được chi phí bảo trìchương trình

Mô hình này rất hiệu quả khi CSDL chứa một lượng lớn dữ liệu Ví dụ, một hệ thốngtài khoản khách hàng của ngân hàng rất phù hợp với mô hình phân cấp, bởi vì mỗitài khoản khách hàng là chủ thể cho các giao dịch

1.5.3 Mô hình mạng

Mô hình này tương tự như mô hình phân cấp Mô hình phân cấp thực ra là tập concủa mô hình mạng Tuy nhiên, thay vì sử dụng cây phân cấp nút cha đơn, mô hìnhmạng sử dụng lý thuyết tập để tạo ra một cây phân cấp mà trong đó mỗi nút con cóthể có nhiều hơn một nút cha

Trong mô hình mạng, dữ liệu được lưu trên các tập thay vì định dạng theo cây phâncấp Điều này giải quyết được vấn đề dư thừa dữ liệu Lý thuyết của mô hình mạngkhông sử dụng cây phân cấp đơn nút cha Nó cho phép một con có nhiều hơn mộtcha Vì vậy, các bản ghi vật lý liên kết với nhau thông qua một danh sách liên kết

Mô hình mạng kết hợp với mô hình phân cấp là mô hình dữ liệu cơ sở để cài đặtnhiều hệ thống CSDL thương mại Ngôn ngữ và cấu trúc của mô hình mạng đượcđịnh nghĩa bởi hội thảo về ngôn ngữ các hệ thống dữ liệu (CODASYL)

Đối với mọi CSDL, tên CSDL, kiểu bản ghi và các thành phần tạo nên bản ghi đềuđược lưu trữ Những thành phần này được gọi là sơ đồ mạng Một phần của CSDLđược nhìn thấy bởi các chương trình ứng dụng, các chương trình này lấy các thôngtin cần thiết từ dữ liệu được lưu trong CSDL được gọi là sơ đồ con Nó cho phépcác chương trình ứng dụng truy cập những ứng dụng cần thiết từ CSDL

Hình 1 4 Mô hình mạng

Invline

Trang 18

Mô hình mạng được mô tả ở trên là một dãy các quan hệ một nhiều.

1 Một người bán hàng có thể viết nhiều hóa đơn nhưng mỗi hóa đơn thì đượcviết bởi một người bán hàng duy nhất (Salesrep)

2 Một khách hàng có thể trả cho nhiều nhu cầu khác nhau Một khách hàng cóthể có nhiều hóa đơn những mỗi hóa đơn chỉ được viết cho một khách hàngduy nhất

3 Mỗi hóa đơn có thể chứa nhiều dòng mua hàng, nhưng mỗi dòng mua hàngchỉ được tìm thấy trong một hóa đơn duy nhất (Invline)

4 Một sản phẩm có thể xuất hiện trên nhiều dòng khác nhau trên hóa đơnnhững mỗi dòng hóa đơn chỉ chứa một sản phẩm

Những thành phần của ngôn ngữ được sử dụng trong mô hình mạng là:

1 Ngôn ngữ định nghĩa dữ liệu (DDL) được sử dụng để tạo, xóa CSDL và cácđối tượng CSDL Nó cho phép người quản trị CSDL định nghĩa các thànhphần của sơ đồ dữ liệu

2 Một sơ đồ con của DDL cho phép người quản trị CSDL định nghĩa các thànhphần dữ liệu

3 Ngôn ngữ thao tác dữ liệu (DML) được sử dụng để thêm, sửa, xoá thông tintrên CSDL Những người dùng CSDL sử dụng các câu lệnh để thao tác trênCSDL

4 Ngôn ngữ điều khiển dữ liệu (DCL) được sử dụng để quản trị các quyền trênCSDL và đối tượng CSDL

Ưu điểm của mô hình mạng

Một số ưu điểm của mô hình mạng như sau:

- Các quan hệ dễ dàng được thiết lập trên mô hình mạng hơn so với môhình phân cấp

- Mô hình này đảm bảo sự toàn vẹn dữ liệu

- Mô hình này đạt được sự độc lập dữ liệu cần thiết

Nhược điểm của mô hình mạng

Một số nhược điểm của mô hình mạng như sau:

- Khó thiết kế CSDL theo mô hình này

Trang 19

- Mô hình này cung cấp môi trường truy cập dữ liệu nên để di chuyển từ Ađến E theo thứ tự A-B-C-D-E, người sử dụng phải di chuyển qua B,C và

D để đến E

Mô hình này rất khó cài đặt và bảo trì

1.5.3 Mô hình quan hệ

Cũng như thông tin, CSDL ngày càng lớn và càng phức tạp, do vậy ứng dụng, thiết

kế, quản trị và sử dụng CSDL ngày trở nên quá phức tạp Sự thiếu linh hoạt của cáccâu truy vấn đã làm mất nhiều thời gian của người lập trình để tạo ra các báo cáo

dù đó là các báo cáo đơn giản nhất Đây là các tiền đề để phát triển mô hình CSDLquan hệ

Thuật ngữ “quan hệ “ được dẫn xuất từ lý thuyết tập hợp của toán học Trong môhình quan hệ, không giống mô hình mạng và mô hình phân cấp, nó không có cácliên kết vật lý Tất cả dữ liệu được chứa trong các bảng, các bảng chứa các dòng vàcác cột Dữ liệu trên hai bảng được quan hệ với nhau thông qua các cột thay choliên kết vật lý Những phép toán được cung cấp để thực hiện trên các dòng củabảng dữ liệu Các hệ quản trị CSDL quan hệ phổ biến như Oracle, Sybase, DB2,Ingres, Informix, MS-SQL Server v.v

Mô hình này mô tả CSDL là một tập hợp các quan hệ Trong thuật ngữ mô hình,một dòng được gọi là Tuple, một cột được gọi là thuộc tính và bảng được gọi làquan hệ Danh sách các giá trị có thể có của một trường được gọi là miền Có thể

có một vài thuộc tính có chung miền Số thuộc tính của một quan hệ được gọi là bậccủa quan hệ Số tuple xác định số phần tử trong quan hệ

Để hiểu về mô hình quan hệ hãy xem xét bảng 1.3 và 1.4 dưới đây:

Mã sinh viên Tên sinh viên

Trang 20

Mã sinh viên Điểm số

Mã sinh viên Tên sinh viên Điểm

Bảng 1.5: Hiển thị tên sinh viên và điểm

Sở dĩ có được các thông tin trên bởi vì có hai yếu tố: thứ nhất, có một cột chungtrên cả hai bảng – Mã sinh viên Thứ hai, dựa vào cột chung này các bản ghi trênhai bảng được khớp với nhau và chúng ta có được thông tin yêu cầu

Trong mô hình quan hệ, dữ liệu được lưu trên các bảng Bảng trong CSDL có tênkhông được trùng nhau trong một CSDL Mỗi bảng được định nghĩa bởi các dòng

và các cột

Ưu điểm của mô hình quan hệ

Trang 21

Mô hình CSDL quan hệ cho phép lập trình viên tập trung vào góc nhìn logic hơn làtập trung vào góc nhìn vật lý Một trong những nguyên nhân là cho CSDL quan hệphổ biến là nó hỗ trợ linh hoạt các truy vấn Hầu hết các CSDL quan hệ sử dụngngôn ngữ truy vấn có cấu trúc (SQL) Hệ quản trị CSDL quan hệ sử dụng SQL đểchuyển những truy vấn của người dùng thành các mã kỹ thuật để lấy dữ liệu theoyêu cầu Mô hình quan hệ rất dễ sử dụng, ngay cả những người chưa được đào tạocũng có thể dễ dàng tạo ra các báo cáo và các câu truy vấn, không quá khó để thiết

kế một CSDL hợp lý

Nhược điểm của mô hình quan hệ

Mặc dù mô hình này ẩn đi tất cả những phức tạp của hệ thống, nó hầu như vẫnthực thi chậm hơn so với các mô hình CSDL khác

So sánh tất cả các mô hình, mô hình quan hệ phổ biến nhất và được sử dụng rộngrãi hiện nay

1.6 Hệ quản Trị CSDL

Mô hình quan hệ là một nỗ lực nhằm đơn giản cấu trúc CSDL Nó biểu diễn tất cả

dữ liệu trong CSDL theo dạng bảng bao gồm các hàng và các cột Hệ Quản trịCSDL Quan hệ (RDBMS) là hệ quản trị CSDL mà tất cả dữ liệu được nhìn thấy bởingười dùng được tổ chức hoàn toàn bằng các bảng dữ liệu và tất cả các thao tácCSDL làm việc trên các bảng

Một CSDL Quan hệ là một CSDL được chia thành các đơn vị logic gọi là bảng(table), và các bảng có quan hệ với nhau Một CSDL quan hệ cho phép dữ liệuđược chia thành những đơn vị logic nhỏ hơn và dễ quản lý, cho phép duy trì dễdàng hơn và cung cấp khả năng thực thi CSDL tối ưu hơn tùy theo mức độ tổ chức.Hình 1.5 biểu diễn hai bảng có quan hệ với nhau thông qua khóa chung (Giá trị dữliệu) trong CSDL Quan hệ

Hình 1.5: Mối quan hệ giữa các bảng trong CSDL

Hơn nữa, các bảng có quan hệ với nhau trong một CSDL quan hệ, cho phép dữ liệuthích hợp được truy xuất trong một truy vấn đơn (mặc dù, dữ liệu mong muốn có thể

Quan hệ

Bảng 1 Key

Dữ liệu

Bảng 2 Key

Dữ liệu

Trang 22

tồn tại trên nhiều hơn một bảng) Bằng cách sử dụng các khóa hoặc các trườngchung giữa các bảng trong CSDL Quan hệ, dữ liệu từ nhiều bảng có thể được liênkết để tạo thành một tập kết quả lớn hơn.

Do đó, CSDL Quan hệ là một CSDL được cấu trúc dựa trên mô hình quan hệ Cácđặc tính cơ bản của mô hình quan hệ là:

 Trong mô hình quan hệ, dữ liệu được lưu trong các quan hệ (relation) Để hiểuđược các quan hệ, xét ví dụ sau đây:

Bảng Capitals (Thủ đô) trong bảng 1.6 hiển thị danh sách các nước và thủ đô, vàbảng Currency (Tiền tệ) trong bảng 1.7 hiển thị danh sách các nước và tiền tệhiện đang lưu hành ở nước đó

Trang 23

Người dùng có thể lấy được thông tin về loại tiền nhờ quan hệ được thiết lập giữahai bảng thông qua cột chung gọi là ‘Country’

1.6.2 Các thuật ngữ liên quan đến Hệ quản trị CCSDL quan hệ (RDBMS)

Các thuật ngữ này chủ yếu được sử dụng trong hệ quản trị CSDL quan hệ Giờchúng trở nên phổ biến, có lẽ phần lớn nhờ mô hình dữ liệu đơn giản:

 Dữ liệu (data) được trình bày như tập hợp các quan hệ

 Mỗi quan hệ được biểu diễn bằng một bảng

 Cột là các thuộc tính

 Các hàng (bộ “tuple”) biểu diễn các thực thể

 Mọi bảng có tập các thuộc tính gọi là “Key” (Khóa) (Nói chính xác, gọi là

“superkey” – siêu khóa) định danh duy nhất mỗi thực thể

Ví dụ, một công ty có thể có một bảng Employee(nhân viên) mỗi hàng mô tả chomột nhân viên Các thuộc tính nào đang được quan tâm? Điều này, tất nhiên phụthuộc vào ứng dụng và việc sử dụng dữ liệu được chỉ ra vào lúc thiết kế CSDL Bây giờ, xét tập các bảng trong bảng 1.8, bảng 1.9, bảng 1.10 và bảng 1.11 Cácbảng này minh họa các thuộc tính và các bộ dưới dạng các hàng và cột Các thuậtngữ khác nhau liên quan đến các bảng được mô tả trong bảng 1.12

Bảng 1.8: Customer (Khách hàng)

Bảng 1.9: Items (Mục hàng)

Trang 24

Bảng 1.10: Order_Details (Chi tiết đơn hàng)

Bảng 1.11: Order_August (Đơn hàng trong tháng 8)

(Relation) Một bảng

Order_August, Order_Details,Customer và Items

Bộ (Tuple) Một hàng hoặc một bản ghi

trong một quan hệ

Một hàng trong quan hệCustomer là một bộ Customer

Thuộc tính Một trường hoặc một cột trongmột quan hệ Ord_Date, Item_No, Cust_Namevà …

Thành viên của

một quan hệ Số bộ trong một quan hệ

Thành viên của quan hệOrder_Details là 7

Bậc của quan

hệ Số thuộc tính trong một quanhệ Bậc của quan hệ Customer là 3

Miền thuộc tính Tập tất cả các giá trị có thểđược thiết lập cho thuộc tính

Miền giá trị của Qty trongOrder_Details là tập tất cả cácgiá trị có thể mô tả số lượng củamột mặt hàng được đặt

Khóa chính Một thuộc tính hoặc sự kết hợp Khóa chính của quan hệ

Trang 25

trong một quan hệ

Khóa ngoại

Một thuộc tính hoặc kết hợpcủa các thuộc tính trong mộtquan hệ R1 chỉ rõ mối quan hệcủa R1 với quan hệ khác R2Các thuộc tính khóa ngoạitrong R1 phải chứa các giá trịphù hợp với các giá trị của cácthuộc tính trong R2

Cust_No trong quan hệOrder_August là khóa ngoại tạotham chiếu từ Order_August vớiCustomer Điều này cần chỉ ramột quan hệ giữa đơn hàngtrong Order_August vàCustomer (Khách hàng)

Bảng 1.12: Các thuật ngữ liên quan tới các bảng được cho ở trên

1.6.2 Người dùng của Hệ quản trị CSDL:

Mục đích chính của hệ thống CSDL là cung cấp môi trường truy xuất thông tin vàlưu trữ thông tin

Với CSDL cá nhân có kích thước nhỏ, một người thường định nghĩa các cấu trúc vàthao tác CSDL Tuy nhiên, nhiều người tham gia vào thiết kế, sử dụng và duy trì mộtCSDL lớn với hàng trăm người dùng

 Quản trị viên CSDL (DBA)

DBA là người thu thập thông tin sẽ được lưu trong CSDL Một CSDL được thiết

kế cung cấp thông tin chính xác đúng lúc cho đúng người Quản lý các nguồn tàinguyên là nhiệm vụ của Quản trị viên CSDL DBA chịu trách nhiệm cấp phéptruy nhập đến CSDL, phối hợp và giám sát quá trình sử dụng, đảm bảo của cácnguồn tài nguyên phần cứng và phần mềm yêu cầu khi cần DBA còn chịu tráchnhiệm giải thích các vấn đề như vi phạm nguyên tắc bảo mật và thời gian phảnhồi hệ thống chậm

 Thiết kế viên CSDL

Các thiết kế viên CSDL có trách nhiệm xác định dữ liệu được lưu vào CSDL vàchọn các cấu trúc phù hợp để thể hiện và lưu dữ liệu Thiết kế viên CSDL còngiao tiếp với tất cả người dùng CSDL tương lai để nắm bắt và cập nhật các thiết

kế để đáp ứng được các yêu cầu

 Chuyên viên phân tích hệ thống và lập trình viên ứng dụng

Các chuyên viên phân tích hệ thống chỉ ra các yêu cầu của người dùng cuối vàphát triển các đặc tả cho các giao dịch định trước nhằm thỏa mãn các yêu cầu

đó Lập trình viên ứng dụng cài đặt các đặc tả thành các chương trình; sau đó,

họ kiểm tra, gỡ lỗi, viết tài liệu và duy trì các giao dịch đã có trước đó

Trang 26

Ngoài những người thiết kế, sử dụng và quản trị CSDL, còn có các người kháccộng tác vào quá trình thiết kế, phát triển và vận hành phần mềm hệ quản trịCSDL và môi trường hệ thống.

 Chuyên viên cài đặt và Thiết kế viên hệ quản trị CSDL

Đây là những người thiết kế và cài đặt các mô đun và giao diện của hệ quản trịCSDL như là một gói phần mềm Một hệ quản trị CSDL là một hệ thống phầnmềm phức tạp bao gồm nhiều thành phần như mô đun cài đặt bảng danh mục,ngôn ngữ truy vấn, các bộ xử lý giao diện, truy cập dữ liệu và bảo mật Hệ quảntrị CSDL phải giao tiếp được với các phần mềm hệ thống khác như hệ điều hành

và các trình biên dịch của các ngôn ngữ lập trình khác nhau

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

Người dùng cuối kích hoạt một ứng dụng tương tác với hệ thống, hoặc viết mộttruy vấn để truy xuất, sửa đổi hoặc xóa dữ liệu trong CSDL

Mỗi thực thể có các đặc tính và được gọi là thuộc tính Ví dụ, thực thể sinh viên cóthể gồm các thuộc tính như: mã số sinh viên, tên và điểm số Mỗi thuộc tính phảiđược đặt tên phù hợp Nhóm các thực thể có liên quan trở thành tập thực thể Mỗitập thực thể được đặt một tên Tên của tập thực thể phản ánh nội dung thể hiện củatập thực thể Do đó, các thuộc tính của tất cả các sinh viên của trường đại học sẽđược lưu trữ trong tập thực thể gọi là SINHVIEN

1.7.2 Bảng và các đặc tính của bảng

Việc truy cập và thao tác dữ liệu sẽ dễ dàng hơn bằng việc tạo các mối quan hệ dữliệu dựa trên một cấu trúc bảng Một bảng chứa một nhóm các thực thể có liên quanvới nhau hay gọi là một tập thực thể Thuật ngữ tập thực thể và bảng thường đượcdùng thay thế nhau Một bảng còn được gọi là một quan hệ Các dòng (rows) đượcgọi là các bộ (tuples) Các cột (columns) được gọi là các thuộc tính Minh họa saulàm rõ các đặc tính của bảng

Trang 27

Hình 1.6: Các đặc tính của bảng

Các đặc tính của bảng là:

 Cấu trúc hai chiều bao hàm các cột và hàng được nhận thấy như một bảng

 Mỗi bộ thể hiện một thực thể đơn trong tập thực thể

 Mỗi cột có một tên duy nhất

 Giao giữa hàng và cột thể hiện một giá trị dữ liệu đơn

 Mỗi bảng phải có một khóa gọi là khóa chính giúp xác định duy nhất mỗi hàng

 Tất cả giá trị trong một cột phải tuân theo cùng định dạng dữ liệu Ví dụ, nếuthuộc tính được gán có định dạng dữ liệu số, tất cả giá trị trong cột thể hiệnthuộc tính phải là số

 Mỗi cột có một phạm vi giá trị xác định gọi là miền thuộc tính

 Mỗi hàng mang thông tin mô tả một thực thể

 Thứ tự của các hàng và cột không quan trong trong hệ quản trị CSDL

1.8 Phân biệt giữa hệ quản trị CSDL và hệ quản trị CSDL quan hệ

Sự khác nhau giữa hệ quản trị CSDL(DBMS) và hệ quản trị csdl quan hệ(RDBMS)được liệt kê trong bảng 1.13:

Không cần có dữ liệu theo cấu trúc

dạng bảng và không ép buộc các mối

quan hệ dạng bảng giữa các mục dữ

Trong RDBMS, cấu trúc dạng bảng là bắtbuộc và các mối quan hệ bảng được đảmbảo bởi hệ thống Các mối quan hệ này cho

Trang 28

liệu phép người dùng thiết lập và quản lý các

quy tắc nghiệp vụ, giúp giảm thiểu viết mã.Lượng nhỏ dữ liệu được lưu trữ và

truy xuất RDBMS có thể lưu và truy xuất lượng lớndữ liệuDBMS bảo mật kém hơn so với

RDBMS

RDBMS bảo mật mạnh hơn so với DBMS

Là hệ thống đơn người dùng Là hệ thống đa người dùng

Trang 29

TÓM TẮT BÀI HỌC

 CSDL là tập hợp dữ liệu có liên quan được lưu trữ dưới dạng các bảng

 Hạn chế của hệ thống tập tin phẳng (flat file system) là tiêu tốn nhiều thờigian, dư thừa dữ liệu, xử lý dữ liệu kém và không thể thao tác dữ liệu dễdàng

 Hệ thống quản trị CSDL có thể được định nghĩa như tập hợp của các bản ghi

có liên quan và tập các chương trình truy cập và thao tác trên các bản ghi

 Mô hình dữ liệu mô tả một bộ chứa (container) dùng lưu trữ dữ liệu và quátrình lưu trữ và truy xuất thông tin từ bộ chứa đó

 DBMS là tập hợp các chương trình cho phép người dùng lưu trữ, sửa đổi vàtrích xuất thông tin từ CSDL

 Hệ quản trị CSDL quan hệ (RDBMS) là một bộ chương trình phần mềm chophép tạo, duy trì, sửa đổi và thao tác một CSDL quan hệ

Trang 30

KIỂM TRA SỰ TIẾN BỘ CỦA HỌC VIÊN

1 Mô hình dữ liệu cho phép một nút con có nhiều hơn một nútcha

a Ngôn ngữ Định nghĩa Dữ liệu (DDL)

b Ngôn ngữ Thao tác Dữ liệu (DML)

c Lược đồ con (sub-schema)

d Ngôn ngữ Điều khiển Dữ liệu (DCL)

4 Trong thuật ngữ mô hình quan hệ, một hàng (row) được gọi là _,một hàng (column) được gọi là và một bảng (table) được gọi là

a Thuộc tính, bộ (tuple), quan hệ (relation)

b Bộ, thuộc tính, quan hệ

c Thuộc tính, quan hệ, bộ

d Hàng, cột, bộ

Trang 31

5 _ có thể được định nghĩa như tập các bản ghi có liên quan và tậphợp các chương trình truy cập và thao tác các bản ghi.

a Hệ quản trị CSDL

b Hệ Quản trị CSDL Quan hệ

c Quản trị Dữ liệu (Data Management)

d Mô hình Mạng (Network model)

6 Mô hình dữ liệu mô tả một bộ chứa (container) dùng lưu trữ dữ liệu và

quá trình lưu trữ và truy xuất thông tin từ bộ chứa đó

a Mô hình Mạng (Network model)

b Mô hình Dữ liệu (Data model)

c Mô hình Tập tin phẳng (Flat-file model)

d Mô hình Quan hệ (Relational model)

Trang 32

VÀ CHUẨN HÓA DỮ LIỆU

Mục tiêu:

Kết thúc chương này, các bạn sẽ có thể:

 Định nghĩa và mô tả về mô hình hóa dữ liệu

 Nhận biết và mô tả các thành phần mô hình E-R

 Nhận biết các quan hệ giữa các thực thể

 Giải thích về lược đồ E-R, các ký hiệu sử dụng để vẽ và thể hiệncác quan hệ

 Mô tả về các dạng chuẩn

 Sơ lược về công dụng của các toán tử quan hệ

2.1 Giới thiệu

Trong chương này sẽ bàn về Mô hình hóa dữ liệu (Data Modeling), Mô hình Quan

hệ Thực thể (Entity-Relationship: E-R) và các thành phần, các ký hiệu, các lược đồ,quan hệ của E-R, chuẩn hóa dữ liệu và các toán tử quan hệ

2.2 Mô hình hóa dữ liệu

Mô hình dữ liệu là nhóm các công cụ lý thuyết mô tả dữ liệu, các mối quan hệ vàngữ nghĩa của chúng Mô hình dữ liệu cũng bao gồm các ràng buộc toàn vẹn mà dữliệu phải tuân theo Các mô hình phân cấp, mô hình mạng, mô hình quan hệ và môhình quan hệ thực thể là các ví dụ của mô hình dữ liệu Sự phát triển của mọi CSDLbắt đầu bằng việc phân tích dữ liệu để chỉ ra mô hình dữ liệu phù hợp nhất Sau đó

mô hình sẽ được áp dụng trở lại cho dữ liệu

Quá trình áp dụng mô hình dữ liệu thích hợp cho dữ liệu, để tổ chức và cấu trúc dữliệu được gọi là mô hình hóa dữ liệu (Data Modeling)

Mô hình hóa dữ liệu cần thiết với phát triển CSDL giống như việc hoạch định và

Trang 33

như việc phát triển dự án không có kế hoạch và không có bản thiết kế Các mô hình

dữ liệu giúp nhà phát triển định nghĩa các bảng quan hệ, các khóa chính và khóangoại, thủ tục lưu trữ và các trigger cần thiết trong CSDL

Mô hình hóa dữ liệu có thể được chia làm ba bước chính sau:

 Mô hình hóa dữ liệu ý niệm (Conceptual Data Modeling)

Xác định các quan hệ ở mức cao nhất từ dữ liệu

 Mô hình hóa dữ liệu logic (Logical Data Modeling)

Mô tả thật chi tiết dữ liệu và mối quan hệ của nó Tạo ra mô hình logiccủa CSDL

 Mô hình hóa dữ liệu vật lý (Physical Data Modeling)

Xác định cách thức mô hình logic được chuyên biệt hóa về mặt vật lý.Hình 2.1 thể hiện các bước trong mô hình hóa dữ liệu

Hình 2.1: Các bước mô hình hóa dữ liệu

2.3 Mô hình quan hệ thực thể (E-R)

Các mô hình dữ liệu được phân thành ba nhóm khác nhau:

 Các mô hình logic dựa trên đối tượng (Object-based logical models)

 Các mô hình logic dựa trên bản ghi (Record-based logical model)

 Các mô hình vật lý (Physical models)

Mô hình quan hệ thực thể (E-R) thuộc về nhóm đầu tiên Mô hình dựa trên ý tưởngđơn giản Dữ liệu có thể được nhận biết như là các đối tượng trong thế giới thực gọi

là thực thể và các mối quan hệ tồn tại giữa chúng Ví dụ, dữ liệu về các nhân viên

Trang 34

làm việc trong một tổ chức có thể được nhận biết như là tập hợp các nhân viên vàtập hợp các bộ phận khác nhau của tổ chức Cả nhân viên và bộ phận là các đốitượng trong thế giới thực Một nhân viên thuộc về một bộ phận Vì vậy, quan hệ

“belongs to” (Thuộc về) liên kết giữa nhân viên với bộ phận Quan hệ nhân viên – bộphận được mô hình trong hình 2.2

Hình 2.2: Mô tả Mô hình E-R của một tổ chức.

Mô hình E-R bao gồm năm thành phần chính:

 Thực thể (entity)

Một thực thể là một đối tượng tồn tại trong thế giới thực và được phân biệtvới các đối tượng khác Ví dụ: nhân viên, bộ phận, sinh viên, khách hàng,…

 Mối quan hệ (Relationship)

Mối quan hệ là sự kết hợp hay gắn kết giữa một hay nhiều thực thể Ví dụ:thuộc về (belongs to), sở hữu (owns), làm việc cho (works for), …

 Tập các mối quan hệ (Relationship Set)

Một tập hợp các mối quan hệ tượng tự nhau giữa hai hay nhiều tập thực thểgọi là tập các mối quan hệ Tập tất cả các quan hệ “work-in” (làm việc tại)giữa các nhân viên (employee) và bộ phận (departments) được gọi là tập cácmối quan hệ gọi là “work-in”

Trang 35

Các thành phần mô hình E-R khác nhau được thể hiện trong hình 2.3

Hình 2.3: Các thành phần của mô hình E-R

Như đã giải thích ở trên, mối quan hệ gắn kết một hay nhiều thực thể với nhau Cácmối quan hệ được phân thành các loại sau:

 Các mối quan hệ tự thân (Self relationships)

Các mối quan hệ giữa các thực thể trong cùng tập thực thể được gọi là mốiquan hệ tự thân Ví dụ: một quản lý (manager) nhóm và các thành viên củanhóm, cả hai thuộc về tập thực thể employee (nhân viên) Các thành viên

trong nhóm làm việc cho người quản lý Vì vậy, quan hệ “works for” (làm

việc cho) tồn tại giữa hai thực thể employee khác nhau của cùng một tậpthực thể employee Một quan hệ này có thể được nhận thấy như trong hình2.4

Hình 2.4: Mối quan hệ tự thân

 Các mối quan hệ nhị phân (Binary relationships)

Các mối quan hệ tồn tại giữa các thực thể của hai tập thực thể khác nhauđược gọi là mối quan hệ nhị phân Ví dụ, một (employee) nhân viên thuộc về

bộ phận (department) Mối quan hệ tồn tại giữa hai thực thể khác nhau thuộc

về hai tập thực thể khác nhau Thực thể employee thuộc về tập thực thể

Trang 36

employee Thực thể department thuộc về tập thực thể department Mối quan

hệ này được thể hiện như trong hình 2.5

Hình 2.5: Mối quan hệ nhị phân

 Các mối quan hệ chạn ba (Ternary relationships)

Mối quan hệ tồn tại giữa ba thực thể của các tập thực thể khác nhau đượcgọi là mối quan hệ chạn ba (hay mối quan hệ tam phân) Ví dụ, một nhânviên (employee) làm việc cho bộ phận kế toán (account) tại chi nhánh vùng.Mối quan hệ “works” tồn tại giữa ba thực thể, employee, department vàlocation Mối quan hệ này có thể được xem xét như trong hình 2.6

Trang 37

Một, nghĩa là một xe – một đăng ký Yếu tố ánh xạ có thể được thể hiện nhưtrong hình 2.7.

xạ là Một-Nhiều (one-to-many), nghĩa là một khách hàng – một hoặc nhiều

xe Ánh xạ này có thể được thể hiện như trong hình 2.8

Hình 2.8: Yếu tố ánh xạ Một-Nhiều (One-to-Many)

 Nhiều Một (many-to-one)

Loại ánh xạ nay tồn tại khi nhiều thực thể của một tập thực thể kết hợp vớimột thực thể của một tập thực thể khác Sự kết hợp này được thực hiệnkhông kể thực thể kể sau đã kết hợp với các thực thể khác hay không

Xét mối quan hệ giữa vehicle (xe) và manufacturer (nhà sản xuất) Mọi xe chỉ

có một công ty sản xuất hoặc tổ hợp lắp ráp Cùng một công ty hoặc tổ hợp

Trang 38

lắp ráp có thể sản xuất nhiều hơn một loại xe Mối quan hệ “manufactured by”gắn kết giữa xe với nhà sản xuất Sự ánh xạ có thể nhận thấy trong hình 2.9.

Hình 2.9: Yếu tố ánh xạ Nhiều-Một (many-to-one)

 Nhiều - Nhiều (many-to-many)

Loại ánh xạ này tồn tại khi một số thực thể của tập thực thể có thể kết hợpvới một số thực thể của tập thực thể khác

Xét mối quan hệ giữa khách hàng (customer) của ngân hàng và tài khoản(account) của khách hàng Một khách hàng có thể có nhiều hơn một tàikhoản và một tài khoản có thể có nhiều hơn một khách hàng là chủ sở hữu

Vì thế, ánh xạ là Nhiều-Nhiều (many-to-many), nghĩa là một hoặc nhiềukhách hàng được kết hợp với một hoặc nhiều tài khoản Sự ánh xạ có thểnhận thấy trong hình 2.10

Hình 2.10: Yếu tố ánh xạ Nhiều-Nhiều (Many-to-Many)

Trang 39

Một số khái niệm bổ sung trong mô hình E-R là:

 Khóa chính (primary key)

Khóa chính là một thuộc tính có thể định rõ duy nhất một thực thể trong tậpthực thể Xem xét bảng 2.1 chứa chi tiết các sinh viên (student) trong trường

Enrollment_number(số đăng ký)

Name (tên)

Grade (Mức độ)

Division (Phân loại)

 Tập thực thể yếu (Weak entity sets)

Nhiều tập thực thể không có đủ các thuộc tính để thiết lập khóa chính đượcgọi là tập thực thể yếu

 Tập thực thể mạnh (Strong entity sets)

Các tập thực thể có đủ các thuộc tính để thiết lập khóa chính được gọi là tậpthực thể mạnh

Xét kịch bản một viện đào tạo, khi kết thúc mỗi học kỳ, các sinh viên cần phảihoàn tất và nộp các bài tập (assignment) Thầy giáo theo dõi các bài tập dosinh viên nộp Bây giờ, một bài tập (assignment) và một sinh viên (student) cóthể được xét như hai thực thể riêng biệt Các thực thể assignment có thểđược nhóm lại để hình thành tập thực thể assignment và các thực thểstudent có thể được nhóm lại để tạo thành tập thực thể student Các tập thựcthể được kết hợp bởi quan hệ “submitted by”

Trang 40

Hình 2.11: Quan hệ Assignment - Student

Các thuộc tính, assignment_number và subject, không đủ để định rõ duy nhất mộtthực thể assignment Riêng thuộc tính roll_number đủ để định rõ duy nhất bất kỳthực thể sinh viên nào Vì thế, roll_number là khóa chính cho tập thực thể sinh viên.Tập thực thể assignment là tập thực thể yếu do thiếu khóa chính Tập thực thểstudent là tập thực thể mạnh do có sự hiện hiện của thuộc tính khóa chínhroll_number

2.3.1 Lược đồ quan hệ thực thể (Entity-Relationship Diagrams)

Lược đồ quan hệ (E-R) là sự biểu diễn bằng đồ họa mô hình E-R Lược đồ E-R, với

sự trợ giúp của nhiều ký hiệu, biểu diễn một cách hiệu quả nhiều thành phần của

mô hình E-R Các ký hiệu được sử dụng cho nhiều thành phần được chỉ rõ trongbảng 2.2

Ngày đăng: 23/01/2013, 22:07

HÌNH ẢNH LIÊN QUAN

Hình 1. 2. Môi trường hệ thống CSDL đơn giản - RDBMS Book Version1.0 Release 19-1-2008
Hình 1. 2. Môi trường hệ thống CSDL đơn giản (Trang 13)
Hình 2.11: Quan hệ Assignment - Student - RDBMS Book Version1.0 Release 19-1-2008
Hình 2.11 Quan hệ Assignment - Student (Trang 40)
Hình 2.16: Lược đồ E-R cho kịch bản ngân hàng - RDBMS Book Version1.0 Release 19-1-2008
Hình 2.16 Lược đồ E-R cho kịch bản ngân hàng (Trang 44)
Hình 3.1: Các thành phần của SQL Server 2005 - RDBMS Book Version1.0 Release 19-1-2008
Hình 3.1 Các thành phần của SQL Server 2005 (Trang 63)
Hình 3.6: Các mục nhập trong khoảng chừa trống và các hàng trong bảng. - RDBMS Book Version1.0 Release 19-1-2008
Hình 3.6 Các mục nhập trong khoảng chừa trống và các hàng trong bảng (Trang 76)
Hình 3.7: Các thành phần trong bộ máy CSDL quan hệ - RDBMS Book Version1.0 Release 19-1-2008
Hình 3.7 Các thành phần trong bộ máy CSDL quan hệ (Trang 78)
Hình 4.1: Kết nối đến hộp thoại Server - RDBMS Book Version1.0 Release 19-1-2008
Hình 4.1 Kết nối đến hộp thoại Server (Trang 84)
Hình 4.5: Cấu trúc cây CSDL Object Explorer - RDBMS Book Version1.0 Release 19-1-2008
Hình 4.5 Cấu trúc cây CSDL Object Explorer (Trang 88)
Hình 4.7: Thực thi câu lệnh SQL trong trình soạn thảo truy vấn - RDBMS Book Version1.0 Release 19-1-2008
Hình 4.7 Thực thi câu lệnh SQL trong trình soạn thảo truy vấn (Trang 90)
Hình 4.12: Cửa sổ Lacate Database Files - RDBMS Book Version1.0 Release 19-1-2008
Hình 4.12 Cửa sổ Lacate Database Files (Trang 94)
Hình 4.14: CSDL AdventureWorks - RDBMS Book Version1.0 Release 19-1-2008
Hình 4.14 CSDL AdventureWorks (Trang 96)
Hình 5.1 minh họa cách sử dụng biến cục bộ để rút trích dữ liệu từ bảng - RDBMS Book Version1.0 Release 19-1-2008
Hình 5.1 minh họa cách sử dụng biến cục bộ để rút trích dữ liệu từ bảng (Trang 101)
Hình 5.2: Biến toàn cục 5.2.2 Kiểu dữ liệu trong Transact-SQL - RDBMS Book Version1.0 Release 19-1-2008
Hình 5.2 Biến toàn cục 5.2.2 Kiểu dữ liệu trong Transact-SQL (Trang 102)
Hình 5.3 – Sử dụng hàm CONVERT - RDBMS Book Version1.0 Release 19-1-2008
Hình 5.3 – Sử dụng hàm CONVERT (Trang 106)
Hình 6.1: Truy cập CSDL AdventureWorks - RDBMS Book Version1.0 Release 19-1-2008
Hình 6.1 Truy cập CSDL AdventureWorks (Trang 134)
Hình 6.3: Câu lệnh SELECT hiển thị các cột được lấy ra - RDBMS Book Version1.0 Release 19-1-2008
Hình 6.3 Câu lệnh SELECT hiển thị các cột được lấy ra (Trang 136)
Hình 6.4: Câu lệnh SELECT với các cột được nối vào. - RDBMS Book Version1.0 Release 19-1-2008
Hình 6.4 Câu lệnh SELECT với các cột được nối vào (Trang 137)
Hình 6.5: Câu lệnh SELECT - RDBMS Book Version1.0 Release 19-1-2008
Hình 6.5 Câu lệnh SELECT (Trang 138)
Hình 6.6: Câu lệnh SELECT sử dụng mênh đề DISTINCT - RDBMS Book Version1.0 Release 19-1-2008
Hình 6.6 Câu lệnh SELECT sử dụng mênh đề DISTINCT (Trang 139)
Hình 6.9: Câu lệnh SELECT sử dụng hàm AVG - RDBMS Book Version1.0 Release 19-1-2008
Hình 6.9 Câu lệnh SELECT sử dụng hàm AVG (Trang 142)
Hình 9.2: SELECT với INTO clause - RDBMS Book Version1.0 Release 19-1-2008
Hình 9.2 SELECT với INTO clause (Trang 195)
Hình 9.3: Bảng mới được tạo - RDBMS Book Version1.0 Release 19-1-2008
Hình 9.3 Bảng mới được tạo (Trang 196)
Hình 9.6: Mệnh đề Group By - RDBMS Book Version1.0 Release 19-1-2008
Hình 9.6 Mệnh đề Group By (Trang 202)
Hình 9.7 GROUP BY với WHERE - RDBMS Book Version1.0 Release 19-1-2008
Hình 9.7 GROUP BY với WHERE (Trang 203)
Hình 10.3: Câu lệnh SELECT dùng với mệnh đề FROM và WHERE - RDBMS Book Version1.0 Release 19-1-2008
Hình 10.3 Câu lệnh SELECT dùng với mệnh đề FROM và WHERE (Trang 216)
Hình 10.5: Sử dụng mệnh đề WHERE với toán tử LIKE - RDBMS Book Version1.0 Release 19-1-2008
Hình 10.5 Sử dụng mệnh đề WHERE với toán tử LIKE (Trang 218)
Hình 10.6: Sử dụng mệnh đề GROUP BY - RDBMS Book Version1.0 Release 19-1-2008
Hình 10.6 Sử dụng mệnh đề GROUP BY (Trang 219)
Hình 11.1: Tạo kiểu dữ liệu người dùng - RDBMS Book Version1.0 Release 19-1-2008
Hình 11.1 Tạo kiểu dữ liệu người dùng (Trang 228)
Hình 11.4: Khóa ngoại - RDBMS Book Version1.0 Release 19-1-2008
Hình 11.4 Khóa ngoại (Trang 238)
Hình 11.5: Dữ liệu XML trong cột - RDBMS Book Version1.0 Release 19-1-2008
Hình 11.5 Dữ liệu XML trong cột (Trang 242)

TỪ KHÓA LIÊN QUAN

w