Giáo trình Cơ sở dữ liệu Chi tiết: Từ Tổng quan đến Chuẩn hóa & SQL

Tài liệu giảng dạy Cơ sở dữ liệu full (lý thuyết & ôn tập) hệ thống hóa kiến thức từ cơ bản đến nâng cao ngành giai đoạn 2020-2025

Chuyên ngành

Cơ Sở Dữ Liệu

Người đăng

Ẩn danh

Thể loại

Giáo trình
159
3
0

Phí lưu trữ

45 Point

Tóm tắt

I. Bắt đầu với Giáo trình Cơ sở dữ liệu Nền tảng cốt lõi

Việc nắm vững kiến thức từ giáo trình Cơ sở dữ liệu là yêu cầu bắt buộc đối với sinh viên ngành tin học và các lĩnh vực liên quan. Cơ sở dữ liệu (CSDL) không chỉ là công cụ lưu trữ mà còn là trái tim của mọi ứng dụng phần mềm, từ website thương mại điện tử đến hệ thống quản lý doanh nghiệp. Nội dung này cung cấp một cái nhìn tổng quan, hệ thống hóa các khái niệm nền tảng, giúp người học xây dựng một lộ trình tiếp cận môn học một cách hiệu quả. Việc hiểu rõ định nghĩa, vai trò của hệ quản trị cơ sở dữ liệu (DBMS) và các thành phần cấu thành là bước đệm vững chắc để chinh phục các chủ đề chuyên sâu hơn như thiết kế mô hình, truy vấn và tối ưu hóa hiệu năng. Các khái niệm ban đầu có thể trừu tượng, nhưng chúng là chìa khóa để giải quyết các bài toán thực tế trong việc tổ chức, lưu trữ và khai thác dữ liệu.

1.1. Định nghĩa Cơ sở dữ liệu Database DB là gì

Theo định nghĩa chuẩn, Cơ sở dữ liệu (Database - DB) là một hệ thống thông tin có cấu trúc, được lưu trữ trên các thiết bị vật lý nhằm thỏa mãn yêu cầu khai thác đồng thời của nhiều người dùng hoặc nhiều ứng dụng khác nhau. Một CSDL không phải là một tập hợp dữ liệu ngẫu nhiên. Nó biểu thị một khía cạnh của thế giới thực, hay còn gọi là một "thế giới thu nhỏ". Mọi thay đổi trong thế giới thực cần được phản ánh một cách trung thực vào CSDL. Ví dụ, trong một CSDL quản lý sinh viên, các thông tin về sinh viên, môn học, điểm số được liên kết logic với nhau. Điều này cho phép phòng đào tạo cập nhật thông tin, trong khi khoa và sinh viên có thể xem dữ liệu liên quan cùng một lúc. Ưu điểm chính của CSDL là giảm thiểu sự trùng lặp, đảm bảo tính nhất quán dữ liệu và cho phép chia sẻ thông tin hiệu quả.

1.2. Tại sao cần học về Hệ quản trị Cơ sở dữ liệu DBMS

Để quản lý và khai thác CSDL hiệu quả, cần có một phần mềm chuyên dụng gọi là Hệ quản trị Cơ sở dữ liệu (DBMS - Database Management System). Đây là công cụ trung gian, cho phép người dùng định nghĩa, xây dựng và thao tác với CSDL. Một DBMS cung cấp các chức năng quan trọng như: định nghĩa cấu trúc dữ liệu và ràng buộc thông qua siêu dữ liệu (metadata), đảm bảo an toàn và bảo mật, giải quyết tranh chấp khi có nhiều truy cập đồng thời, và cung cấp cơ chế sao lưu, phục hồi khi xảy ra sự cố. Các DBMS phổ biến hiện nay như SQL Server, Oracle, MySQL, DB2 đều được xây dựng dựa trên các mô hình dữ liệu cụ thể, mà phổ biến nhất là mô hình quan hệ. Việc học về DBMS giúp hiểu rõ cách một CSDL được vận hành và bảo trì một cách chuyên nghiệp.

1.3. Các thành phần chính trong một hệ thống cơ sở dữ liệu

Một hệ thống CSDL hoàn chỉnh được cấu thành từ nhiều yếu tố tương tác với nhau. Theo kiến trúc ANSI-SPARC, hệ thống này được chia thành ba mức: Mức trong (vật lý) mô tả cách dữ liệu được lưu trữ trên đĩa; Mức quan niệm (logic) định nghĩa các dữ liệu cần lưu và mối quan hệ giữa chúng, đây là kết quả của quá trình thiết kế cơ sở dữ liệu; và Mức ngoài (khung nhìn - View) là cách người dùng cuối hoặc ứng dụng "nhìn" thấy dữ liệu. Bên cạnh đó, con người cũng là một thành phần không thể thiếu, bao gồm: người quản trị CSDL (DBA), người thiết kế CSDL, lập trình viên ứng dụng và người dùng cuối. Cuối cùng, ngôn ngữ cơ sở dữ liệu (như SQL) đóng vai trò là công cụ giao tiếp, cho phép thực hiện các thao tác định nghĩa (DDL), thao tác (DML) và kiểm soát (DCL) dữ liệu.

II. Thách thức khi thiết kế Từ tập tin cổ điển đến CSDL

Trước khi Cơ sở dữ liệu ra đời, việc quản lý thông tin chủ yếu dựa trên mô hình hệ thống tập tin cổ điển. Mỗi phòng ban, đơn vị tự xây dựng các tập tin riêng lẻ để phục vụ mục đích hẹp của mình. Phương pháp này tuy đơn giản và triển khai nhanh chóng cho các nhu cầu nhỏ, nhưng lại bộc lộ nhiều nhược điểm nghiêm trọng khi quy mô hệ thống mở rộng. Các vấn đề như trùng lặp thông tin, dữ liệu không nhất quán, khó khăn trong việc chia sẻ và thiếu cơ chế bảo mật đã trở thành rào cản lớn cho sự phát triển của các tổ chức. Sự ra đời của giáo trình Cơ sở dữ liệu và các phương pháp luận đi kèm đã cung cấp một giải pháp toàn diện để giải quyết những thách thức này, tạo ra một hệ thống quản lý dữ liệu tập trung, nhất quán và an toàn.

2.1. Nhược điểm chí mạng của hệ thống tập tin cổ điển

Hệ thống tập tin cổ điển tổ chức dữ liệu một cách riêng rẽ, thiếu tính liên kết. Ví dụ được nêu trong tài liệu gốc về công ty XYZ cho thấy phòng Kế toán và phòng Tổ chức đều quản lý thông tin nhân viên nhưng trên các tệp và phần mềm khác nhau (Excel, Word). Điều này dẫn đến các nhược điểm nghiêm trọng. Thứ nhất, dữ liệu dư thừa (redundancy) khi cùng một thông tin (ví dụ: tên nhân viên) được lưu trữ ở nhiều nơi. Thứ hai, dữ liệu không nhất quán (inconsistency) xảy ra khi một thông tin được cập nhật ở nơi này nhưng lại bị bỏ quên ở nơi khác. Chẳng hạn, phòng Tổ chức tăng lương cho nhân viên nhưng phòng Kế toán không được cập nhật kịp thời. Cuối cùng, việc chia sẻ thông tin giữa các phòng ban trở nên cực kỳ khó khăn, gây lãng phí tài nguyên và cản trở quá trình ra quyết định.

2.2. Các vấn đề về tính nhất quán và toàn vẹn dữ liệu

Tính nhất quán (consistency)toàn vẹn dữ liệu (integrity) là hai yêu cầu cốt lõi mà hệ thống tập tin cổ điển không thể đảm bảo. Tính nhất quán yêu cầu dữ liệu phải tuân thủ các quy tắc logic đã được định nghĩa. Sự dư thừa trong hệ thống tập tin dẫn đến nguy cơ cao về không nhất quán. Tính toàn vẹn đề cập đến sự chính xác và đầy đủ của dữ liệu trong suốt vòng đời của nó. Một CSDL hiện đại giải quyết vấn đề này thông qua các ràng buộc toàn vẹn, chẳng hạn như ràng buộc miền giá trị, ràng buộc khóa chính, và khóa ngoại. Các ràng buộc này đảm bảo rằng mọi thao tác thêm, sửa, xóa dữ liệu đều phải tuân thủ các quy tắc đã định, từ đó duy trì trạng thái hợp lệ và đáng tin cậy của toàn bộ hệ thống.

2.3. Yêu cầu về bảo mật và phân quyền khai thác thông tin

Trong môi trường đa người dùng, vấn đề bảo mật và phân quyền là tối quan trọng. Hệ thống tập tin cổ điển thường thiếu cơ chế kiểm soát truy cập tinh vi. Ngược lại, một hệ quản trị cơ sở dữ liệu cung cấp các công cụ mạnh mẽ để giải quyết vấn đề này. Người quản trị (DBA) có thể định nghĩa các tài khoản người dùng khác nhau và cấp cho họ các quyền hạn cụ thể trên từng đối tượng dữ liệu. Ví dụ, một nhân viên có thể chỉ được phép xem (SELECT) thông tin sản phẩm, trong khi quản lý kho có quyền cập nhật (UPDATE) số lượng tồn kho. Cơ chế này, được thực thi thông qua Ngôn ngữ kiểm soát dữ liệu (DCL), giúp ngăn chặn truy cập trái phép, bảo vệ dữ liệu nhạy cảm và đảm bảo rằng mỗi người dùng chỉ có thể thực hiện các hành động phù hợp với vai trò của họ trong tổ chức.

III. Phương pháp thiết kế CSDL Mô hình Thực thể Liên kết ER

Quá trình thiết kế cơ sở dữ liệu bắt đầu bằng việc tạo ra một lược đồ quan niệm, và Mô hình Thực thể-Liên kết (ER Model) là công cụ chuẩn mực cho giai đoạn này. Được P.Chen đề xuất vào năm 1976, mô hình ER cho phép biểu diễn cấu trúc của một CSDL một cách trừu tượng, tập trung vào các đối tượng trong thế giới thực và mối quan hệ giữa chúng mà không cần quan tâm đến chi tiết cài đặt vật lý. Việc xây dựng một sơ đồ ER (ERD) rõ ràng là bước quan trọng nhất để đảm bảo CSDL được thiết kế đúng với yêu cầu người dùng, dễ hiểu và dễ bảo trì. Nắm vững các thành phần của mô hình này là kỹ năng cơ bản được đề cập trong mọi giáo trình Cơ sở dữ liệu chuyên nghiệp.

3.1. Các thành phần cơ bản Thực thể thuộc tính và khóa

Mô hình ER được xây dựng từ ba thành phần chính. Thực thể (Entity) là một đối tượng trong thế giới thực có thể phân biệt được, ví dụ như một SINHVIEN hoặc một MONHOC. Một tập hợp các thực thể tương tự nhau tạo thành một tập thực thể (Entity Set), được biểu diễn bằng hình chữ nhật. Mỗi thực thể được mô tả bởi các thuộc tính (Attribute), là các đặc tính riêng của thực thể đó, biểu diễn bằng hình oval. Thuộc tính có thể là đơn trị, đa trị hoặc phức hợp. Để phân biệt duy nhất mỗi thực thể trong một tập thực thể, người ta sử dụng khóa (Key). Khóa là một hoặc một tập thuộc tính tối thiểu có giá trị không trùng lặp cho mỗi thực thể, và được gạch dưới trong sơ đồ ER.

3.2. Khám phá các loại mối liên kết trong mô hình ER

Mối liên kết (Relationship) là sự kết nối giữa hai hay nhiều tập thực thể, phản ánh một quan hệ trong thực tế và được biểu diễn bằng hình thoi. Bậc của mối liên kết là số tập thực thể tham gia. Phổ biến nhất là các mối liên kết bậc hai, được phân loại dựa trên bản số (cardinality): Một-Một (1-1), ví dụ một nhân viên quản lý một phòng ban; Một-Nhiều (1-N), ví dụ một phòng ban có nhiều nhân viên; và Nhiều-Nhiều (N-N), ví dụ một sinh viên học nhiều môn học. Ngoài ra, còn có các trường hợp đặc biệt như mối liên kết đệ quy, nơi một tập thực thể liên kết với chính nó (ví dụ: nhân viên quản lý nhân viên khác), và mối liên kết đa ngôi với sự tham gia của nhiều hơn hai tập thực thể.

3.3. Hướng dẫn thiết kế Mô hình EER Khái niệm mở rộng

Mô hình Thực thể-Liên kết Mở rộng (EER) bổ sung các khái niệm nâng cao để mô hình hóa các kịch bản phức tạp hơn. Khái niệm chính là lớp cha - lớp con và mối liên kết ISA (is a), cho phép biểu diễn sự kế thừa. Chuyên biệt hóa (Specialization) là quá trình xác định các lớp con từ một lớp cha dựa trên các đặc tính riêng biệt. Ví dụ, tập thực thể NHANVIEN có thể được chuyên biệt hóa thành các lớp con như CANBOQUANLY và NHANVIENVANPHONG. Ngược lại, tổng quát hóa (Generalization) là quá trình gộp các đặc tính chung của nhiều tập thực thể thành một lớp cha duy nhất. Các ràng buộc như rời rạc/chồng chéo và toàn bộ/từng phần giúp định nghĩa rõ hơn mối quan hệ giữa các lớp này.

IV. Chuyển đổi sang Mô hình Quan hệ Bí quyết tối ưu hóa CSDL

Sau khi hoàn thành lược đồ quan niệm bằng mô hình ER, bước tiếp theo trong quy trình thiết kế cơ sở dữ liệu là chuyển đổi sang một mô hình logic có thể cài đặt được trên một DBMS cụ thể. Mô hình Quan hệ (Relational Model), do E.F. Codd đề xuất, là mô hình thống trị tuyệt đối hiện nay. Ưu điểm của nó nằm ở sự đơn giản, cấu trúc dựa trên bảng (quan hệ) dễ hiểu và nền tảng lý thuyết tập hợp vững chắc. Việc chuyển đổi từ sơ đồ ER sang lược đồ quan hệ là một kỹ thuật quan trọng, đòi hỏi phải tuân theo một tập hợp các quy tắc để đảm bảo toàn bộ thông tin và ràng buộc từ mô hình ER được bảo toàn. Đây là nội dung cốt lõi trong phần thực hành của giáo trình Cơ sở dữ liệu.

4.1. Các khái niệm cốt lõi trong mô hình dữ liệu quan hệ

Trong mô hình quan hệ, dữ liệu được tổ chức dưới dạng các quan hệ (Relation), thường được hình dung như các bảng. Mỗi quan hệ bao gồm các hàng và cột. Các cột được gọi là thuộc tính (Attribute), và mỗi hàng được gọi là một bộ (Tuple) hay mẫu tin. Lược đồ quan hệ định nghĩa tên quan hệ và danh sách các thuộc tính của nó. Toàn bộ tập hợp các lược đồ quan hệ trong hệ thống tạo thành lược đồ CSDL quan hệ. Một đặc trưng quan trọng của mô hình này là mỗi giá trị trong một bộ phải là giá trị nguyên tử (không thể phân chia nhỏ hơn), điều này có nghĩa là các thuộc tính đa trị và phức hợp từ mô hình ER phải được xử lý đặc biệt khi chuyển đổi.

4.2. Vai trò của khóa chính và khóa ngoại trong các quan hệ

Các ràng buộc khóa là nền tảng để đảm bảo tính toàn vẹn và tạo liên kết trong mô hình quan hệ. Khóa chính (Primary Key) là một hoặc một tập thuộc tính được chọn để định danh duy nhất cho mỗi bộ trong một quan hệ. Giá trị của khóa chính không được phép rỗng (NULL) và không được trùng lặp. Trong khi đó, khóa ngoại (Foreign Key) là một tập thuộc tính trong một quan hệ mà giá trị của nó tham chiếu đến khóa chính của một quan hệ khác (hoặc chính nó). Khóa ngoại là cơ chế chính để thể hiện các mối liên kết giữa các bảng, đảm bảo toàn vẹn tham chiếu, nghĩa là một bộ trong bảng con chỉ có thể tham chiếu đến một bộ đã tồn tại trong bảng cha.

4.3. Kỹ thuật chuyển đổi từ sơ đồ ER sang lược đồ quan hệ

Quá trình chuyển đổi từ mô hình ER sang mô hình quan hệ tuân theo một bộ quy tắc có hệ thống. Mỗi tập thực thể mạnh sẽ được chuyển thành một quan hệ riêng, với các thuộc tính của thực thể trở thành thuộc tính của quan hệ và khóa của thực thể trở thành khóa chính. Đối với các mối liên kết, cách xử lý phụ thuộc vào bản số: Mối liên kết 1-N được thể hiện bằng cách thêm khóa chính của bên '1' vào quan hệ của bên 'N' làm khóa ngoại. Mối liên kết N-N được chuyển thành một quan hệ mới (bảng nối) có khóa chính là sự kết hợp của các khóa chính từ hai tập thực thể tham gia. Các tập thực thể yếu và thuộc tính đa trị cũng được chuyển thành các quan hệ riêng biệt, liên kết với quan hệ chủ thông qua khóa ngoại.

V. Khai thác dữ liệu với SQL Ngôn ngữ truy vấn có cấu trúc

Ngôn ngữ truy vấn có cấu trúc (SQL - Structured Query Language) là ngôn ngữ tiêu chuẩn để tương tác với các CSDL quan hệ. Mặc dù tên gọi chỉ nhấn mạnh đến khả năng "truy vấn", SQL thực chất là một ngôn ngữ toàn diện, bao gồm các câu lệnh để định nghĩa, thao tác và kiểm soát dữ liệu. Hầu hết các hệ quản trị cơ sở dữ liệu thương mại hàng đầu như Oracle, SQL Server, MySQL đều sử dụng SQL làm ngôn ngữ giao tiếp chính. Việc thành thạo SQL là kỹ năng không thể thiếu để khai thác hiệu quả thông tin được lưu trữ, từ việc truy xuất dữ liệu đơn giản đến việc tạo các báo cáo phức tạp và quản lý quyền truy cập. Nội dung này trong giáo trình Cơ sở dữ liệu tập trung vào các thành phần chính của SQL.

5.1. Giới thiệu Ngôn ngữ định nghĩa dữ liệu DDL

Ngôn ngữ định nghĩa dữ liệu (DDL - Data Definition Language) là nhóm các câu lệnh SQL dùng để định nghĩa và quản lý cấu trúc của các đối tượng trong CSDL. Các lệnh DDL chính bao gồm CREATE, ALTER, và DROP. Lệnh CREATE được sử dụng để tạo mới các đối tượng như cơ sở dữ liệu (CREATE DATABASE), bảng (CREATE TABLE), chỉ mục (CREATE INDEX). Lệnh ALTER dùng để sửa đổi cấu trúc của một đối tượng đã tồn tại, ví dụ như thêm, xóa hoặc thay đổi một cột trong bảng (ALTER TABLE). Lệnh DROP được dùng để xóa vĩnh viễn một đối tượng khỏi CSDL. Các câu lệnh DDL tác động trực tiếp đến lược đồ cơ sở dữ liệu và thường được thực thi bởi người quản trị hoặc người thiết kế CSDL.

5.2. Hướng dẫn sử dụng Ngôn ngữ thao tác dữ liệu DML

Ngôn ngữ thao tác dữ liệu (DML - Data Manipulation Language) bao gồm các câu lệnh để làm việc với dữ liệu thực tế được lưu trong các bảng. Đây là nhóm lệnh được sử dụng thường xuyên nhất bởi cả lập trình viên và người dùng cuối. Bốn lệnh DML cơ bản là: SELECT để truy xuất, truy vấn dữ liệu từ một hoặc nhiều bảng; INSERT để thêm một hoặc nhiều hàng mới vào bảng; UPDATE để sửa đổi dữ liệu của các hàng đã có; và DELETE để xóa các hàng khỏi bảng. Câu lệnh SELECT là lệnh mạnh mẽ và phức tạp nhất, cho phép lọc, sắp xếp, nhóm và kết hợp dữ liệu từ nhiều nguồn khác nhau để tạo ra các kết quả có ý nghĩa.

5.3. Quản lý quyền truy cập với Ngôn ngữ kiểm soát dữ liệu DCL

Ngôn ngữ kiểm soát dữ liệu (DCL - Data Control Language) chịu trách nhiệm về các khía cạnh bảo mật và quản lý quyền truy cập trong CSDL. Các câu lệnh DCL cho phép người quản trị (DBA) kiểm soát ai có thể làm gì trên dữ liệu. Hai lệnh DCL chính là GRANTREVOKE. Lệnh GRANT được sử dụng để cấp quyền cho người dùng, ví dụ như cấp quyền SELECT trên một bảng cụ thể. Lệnh REVOKE dùng để thu hồi các quyền đã được cấp trước đó. Việc sử dụng DCL một cách hiệu quả giúp đảm bảo chỉ những người dùng được ủy quyền mới có thể truy cập và sửa đổi dữ liệu, là một phần quan trọng trong việc duy trì tính bảo mật và toàn vẹn của hệ thống thông tin.

VI. Bí quyết chuẩn hóa CSDL Đảm bảo tính toàn vẹn dữ liệu

Chuẩn hóa cơ sở dữ liệu (Normalization) là một quy trình thiết kế có hệ thống nhằm tổ chức các thuộc tính và bảng trong một CSDL quan hệ để giảm thiểu sự dư thừa dữ liệu và loại bỏ các dị thường cập nhật (update anomalies). Mục tiêu chính của chuẩn hóa là phân rã các bảng lớn thành các bảng nhỏ hơn, có cấu trúc tốt hơn và được liên kết với nhau. Một lược đồ cơ sở dữ liệu được chuẩn hóa tốt sẽ giúp cải thiện tính toàn vẹn dữ liệu, tiết kiệm không gian lưu trữ và làm cho việc bảo trì CSDL trở nên dễ dàng hơn. Các dạng chuẩn (Normal Forms) cung cấp một bộ tiêu chí để đo lường mức độ chuẩn hóa của một lược đồ. Đây là một chủ đề nâng cao nhưng cực kỳ quan trọng trong lý thuyết cơ sở dữ liệu.

6.1. Phụ thuộc hàm và tầm quan trọng trong quá trình chuẩn hóa

Khái niệm trung tâm của lý thuyết chuẩn hóa là phụ thuộc hàm (Functional Dependency - FD). Một phụ thuộc hàm X → Y tồn tại trong một quan hệ nếu với mỗi giá trị của tập thuộc tính X, luôn có một giá trị duy nhất tương ứng của tập thuộc tính Y. Nói cách khác, X xác định Y. Ví dụ, trong quan hệ SINHVIEN, ta có MaSV → HoTen, vì mỗi mã sinh viên chỉ xác định một họ tên duy nhất. Việc xác định chính xác tất cả các phụ thuộc hàm trong một tập dữ liệu là bước đầu tiên và quan trọng nhất trong quá trình chuẩn hóa. Dựa trên các phụ thuộc hàm này, người thiết kế có thể xác định các khóa và phân tích cấu trúc của các quan hệ để phát hiện các vấn đề tiềm ẩn.

6.2. Tìm hiểu các dạng chuẩn cơ bản 1NF 2NF 3NF BCNF

Các dạng chuẩn (Normal Forms) là một chuỗi các quy tắc ngày càng nghiêm ngặt. Dạng chuẩn 1 (1NF) yêu cầu tất cả các thuộc tính phải chứa giá trị nguyên tử. Dạng chuẩn 2 (2NF) yêu cầu quan hệ phải ở 1NF và mọi thuộc tính không khóa phải phụ thuộc hàm đầy đủ vào toàn bộ khóa chính. Dạng chuẩn 3 (3NF) yêu cầu quan hệ phải ở 2NF và không có thuộc tính không khóa nào phụ thuộc bắc cầu vào khóa chính. Dạng chuẩn Boyce-Codd (BCNF) là một phiên bản chặt chẽ hơn của 3NF. Thông thường, việc đạt đến 3NF hoặc BCNF được coi là đủ tốt cho hầu hết các ứng dụng thực tế, giúp cân bằng giữa việc loại bỏ dư thừa và hiệu năng truy vấn.

6.3. Phân rã lược đồ Bảo toàn thông tin và phụ thuộc hàm

Quá trình chuẩn hóa thường liên quan đến việc phân rã (decomposition) một lược đồ quan hệ lớn thành các lược đồ nhỏ hơn. Một phép phân rã tốt phải đảm bảo hai tính chất quan trọng. Thứ nhất là bảo toàn thông tin (lossless-join decomposition), nghĩa là khi kết nối (JOIN) các bảng con lại với nhau, ta phải thu được chính xác bảng ban đầu mà không mất hay thêm thông tin. Thứ hai là bảo toàn phụ thuộc hàm (dependency-preserving decomposition), nghĩa là tất cả các phụ thuộc hàm ban đầu đều có thể được kiểm tra trên các bảng con mà không cần phải kết nối chúng lại. Việc đạt được một phép phân rã vừa bảo toàn thông tin vừa bảo toàn phụ thuộc hàm là mục tiêu lý tưởng của quá trình thiết kế cơ sở dữ liệu.

15/10/2025

Trích đoạn nội dung tài liệu

Chương I. TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU A. Mục tiêu  Về kiến thức: Sau khi xong chương này sinh viên nắm vững các kiến thức sau: - Nguyên nhân ra đời của cơ sở dữ liệu - Khái niệm về cơ sở dữ liệu, ưu điểm của cơ sở dữ liệu - Khái niệm về hệ quản trị cơ sở dữ liệu, các đặc tính của hệ quản trị cơ sở dữ liệu. - Khái niệm về mô hình dữ liệu, các loại mô hình dữ liệu.

Ưu điểm của mô hình quan hệ so với các mô hình dữ liệu khác.  Về kỹ năng Giúp sinh viên phát triển các kỹ năng: - Mạnh dạn phát biểu ý kiến. - Rèn luyện khả năng làm việc theo nhóm. Phương pháp giảng dạy - Trình chiếu slides - Đặt câu hỏi cho sinh viên trả lời - Hướng sinh viên thảo luận theo nhóm C.

Tài liệu tham khảo 1. Nguyễn An Tế, Đồng Thị Bích Thủy (1996). Nhập Môn Cơ Sở Dữ Liệu. Nguyễn Đăng Tỵ, Đỗ Phúc (2003).

Giáo Trình Cơ Sở Dữ Liệu. Lê Tiến Vương (1994). Nhập Môn Cơ Sở Dữ Liệu Quan Hệ 4. Mô Hình Dữ Liệu và Ngôn Ngữ Vấn Tin.

Nội dung chi tiết I. Cơ sở dữ liệu Trong những năm gần đây khi vấn đề tin học hóa ngày càng mở rộng, thuật ngữ Cơ sở dữ liệu (CSDL) đã trở nên khá quen thuộc không chỉ riêng với những người làm tin 9 Giáo trình Cơ sở dữ Tổng quan về Cơ sở dữ học mà còn đối với những người làm trong các lĩnh vực khác như kinh tế, thương mại, khoa học, giáo dục, y tế… Có thể nói rằng Cơ sở dữ liệu là môn học về cách tổ chức lưu trữ và khai thác dữ liệu và là môn học bắt buộc đối với các sinh viên chuyên ngành tin học. Phải thừa nhận rằng không có một ứng dụng tin học nào mà không chứa đựng vấn đề về tổ chức lưu trữ và khai thác dữ liệu. Tại sao cần phải có Cơ sở dữ liệu? Trong suốt một thời gian dài tại Việt Nam, vì nhiều lý do khác nhau, hầu hết các đơn vị kinh tế, hành chính sự nghiệp,… tin học hóa quản lý bằng cách sử dụng mô hình hệ thống tập tin cổ điển, chúng được tổ chức riêng rẽ, phục vụ cho một mục đích của một đơn vị con cụ thể.

Lấy một ví dụ cụ thể như sau: Tại công ty XYZ, người ta trang bị máy tính cho tất cả các phòng ban để phục vụ quản lý. Phòng Kế toán sử dụng máy tính để tính lương và in danh sách lương của từng bộ phận dựa trên danh sách nhân viên cùng với hệ số lương và phụ cấp do phòng tổ chức cung cấp, thông tin mà phòng Kế toán quản lý là: Họ và Tên, Hệ số lương, Hệ số phụ cấp và sử dụng công cụ văn phòng là Microsoft Excel. Phòng Tổ chức quản lý thông tin chi tiết về nhân viên gồm: Họ và Tên, Chức vụ, Giới tính, Ngày sinh, Hệ số lương, Hệ số phụ cấp, Hoàn cảnh gia đình, Quá trình công tác, phần mềm sử dụng để quản lý là Microsoft Word. Trong khi đó tại Tổng công ty sử dụng phần mềm Microsoft Excel quản lý tất cả các thông tin của cả 2 phòng Kế toán và Tổ chức.

Ta có nhận xét sau:  Ưu điểm của Hệ thống tập tin cổ điển: - Việc xây dựng hệ thống các tập tin riêng tại từng đơn vị quản lý ít tốn thời gian bởi khối lượng thông tin quản lý nhỏ, không cần phải đầu tư nhiều vật chất và chất xám, do đó triển khai ứng dụng nhanh. - Thông tin triển khai chỉ phục vụ cho mục đích hẹp nên khả năng đáp ứng nhanh chóng, kịp thời.  Nhược điểm của Hệ thống tập tin cổ điển: - Do thông tin được tổ chức ở mỗi phòng ban cũng như phần mềm dùng để quản lý ở mỗi phòng ban khác nhau, nên sự phối hợp tổ chức và khai thác ở các phòng ban là khó khăn, thông tin phòng ban này không thể sử dụng được cho phòng ban khác, thiếu sự chia sẻ thông tin giữa các nơi. Chẳng hạn trong tháng 12 phòng Tổ chức tăng lương 1 Giáo trình Cơ sở dữ Tổng quan về Cơ sở dữ cho nhân viên Nguyễn Văn Tuấn nhưng chưa kịp chuyển thông tin sang phòng Kế toán, cuối tháng 12 nhân viên Nguyễn Văn Tuấn vẫn nhận lương theo hệ số lương củ.

Điều này xảy ra do thiếu sự chia sẽ thông tin giữa 2 phòng ban. - Cùng một thông tin nhưng phải nhập vào máy tính tại nhiều bộ phận khác nhau gây nên sự lãng phí thời gian và công sức, tốn nhiều không gian để lưu trữ. Khi thông tin một nhân viên thay đổi phải thay đổi tại tất cả các phòng ban. - Sự trùng lắp thông tin dễ dẫn đến tình trạng không nhất quán dữ liệu.

Chẳng hạn, cùng nhân viên Nguyễn Văn Tuấn, phòng Tổ chức nhập đầy đủ học tên nhưng phòng Kế toán lại nhập tắt Nguyễn V. Qua ví dụ trên, ta nhận thấy việc tổ chức dữ liệu theo hệ thống tập tin cổ điển có khá nhiều nhược điểm. Việc xây dựng một hệ thống đảm bảo được tính nhất quán dữ liệu, đáp ứng được nhu cầu khai thác thông tin đồng thời của tất cả các phòng ban trong công ty là thực sự cần thiết. Đây là nguyên nhân dẫn đến sự ra đời của phương pháp tổ chức dữ liệu mới: Cơ sở dữ liệu.

Định nghĩa cơ sở dữ liệu Cơ sở dữ liệu (DataBase - DB) là hệ thống thông tin có cấu trúc được lưu trữ trên các thiết bị lưu trữ có thể thỏa mãn yêu cầu khai thác thông tin đồng thời của nhiều người sử dụng hay nhiều chương trình ứng dụng với nhiều mục đích khác nhau Chương trình ứng dụng 1 Cơ sở dữ liệu User 1 Chương trình ứng dụng 2 User 2 … User… Hình 1. Sơ đồ tổng quát về cơ sở dữ liệu Chẳng hạn, ta cần xây dựng CSDL quản lý sinh viên trong một trường đại học, dữ liệu cần lưu trữ các thông tin về sinh viên, chuyên ngành, môn học, giảng viên giảng dạy môn học, điểm thi, … Các thông tin này liên quan mật thiết với nhau và được lưu trữ 1 Giáo trình Cơ sở dữ Tổng quan về Cơ sở dữ trong máy tính dưới dạng cấu trúc nào đó (chẳng hạn dạng bảng). Cùng một thời điểm, phòng Đào tạo có thể sử dụng CSDL để cập nhật thông tin của sinh viên, Khoa có thể xem thông tin giảng viên để sắp xếp thời khóa biểu, sinh viên có thể xem kết quả thi của mình. Các tính chất của một cơ sở dữ liệu - CSDL không chỉ đơn thuần là hợp nhất các hệ thống tập tin riêng lẻ mà là một tập hợp dữ liệu có cấu trúc liên kết với nhau một cách logic và mang một ý nghĩa cố hữu nào đó.

- Một cơ sở dữ liệu biểu thị một khía cạnh nào đó của thế giới thực. Những thay đổi của thế giới thực phải được phản ánh một cách trung thực vào trong cơ sở dữ liệu. Những thông tin được đưa vào trong cơ sở dữ liệu tạo thành một không gian cơ sở dữ liệu hoặc là một “thế giới thu nhỏ”.  Ưu điểm của CSDL - Giảm sự trùng lắp thông tin đến mức thấp nhất và do đó đảm bảo được tính nhất quán và toàn vẹn dữ liệu.

- Có 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, tiết kiệm được tài nguyên và tăng hiệu quả sản xuất.  Yêu cầu đặt ra Để đạt được các ưu điểm trên, CSDL đặt ra những vấn đề cần phải giải quyết: - Tính chủ quyền của dữ liệu: Do khả năng chia sẻ thông tin của CSDL nên tính chủ quyền của dữ liệu có thể bị mờ nhạt. Tính chủ quyền được thể hiện trên vấn đề an toàn dữ liệu và tính chính xác của dữ liệu. - Tính bảo mật và quyền khai thác thông tin: Do có nhiều người được phép khai thác CSDL nên cần phải có cơ chế bảo mật và phân quyền khai thác.

- Giải quyết tranh chấp dữ liệu: Nếu có nhiều người cùng muốn truy cập đến một CSDL, độ ưu tiên truy cập có thể được căn cứ trên quyền hạn khai thác của từng người sử dụng (ưu tiên cho người có quyền khai thác cao hơn), dựa trên đặc tính của sự truy cập (xem, thêm, xóa, sửa), hoặc dựa trên thời điểm truy cập dữ liệu, … - Đảm bảo dữ liệu khi có sự cố: Việc quản lý dữ liệu tập trung có thể làm tăng khả năng mất mát hoặc sai lệch thông tin khi có sự cố như mất điện đột xuất, một phần đĩa 1 Giáo trình Cơ sở dữ Tổng quan về Cơ sở dữ lưu trữ CSDL bị hư, … Để đảm bảo CSDL luôn ổn định cần thiết phải có một cơ chế phục hồi dữ liệu khi có sự cố xảy ra.  Kiến trúc tổng quát của một cơ sở dữ liệu Theo kiến trúc ANSI-PARC, một CSDL có 3 mức biểu diễn: Chương trình Mức ngoài ứng dụng n User 1 User 2 View 1 View 2 View n Mức quan niệm Được mô hình hóa thành Mô hình dữ liệu (Sơ đồ mức quan niệm) Môi trường thế giới thực Mức trong Cấu trúc mức vật lý (mức vật lý) CSDL Catalog Hình 1. Kiến trúc tổng quát của một cơ sở dữ liệu - Mức trong: Còn gọi là mức vật lý, đây là mức lưu trữ CSDL. Vấn đề cần giải quyết ở mức này là dữ liệu được lưu trữ như thế nào? ở đâu?.

Những người hiểu và làm việc với CSDL tại mức này là người quản trị CSDL (Administrator) - Mức quan niệm: Còn gọi là mức logic. Tại mức này sẽ giải quyết câu hỏi: cần phải lưu trữ những dữ liệu gì, mối quan hệ giữa các dữ liệu này như thế nào ? Từ thế giới thực, các chuyên viên tin học (chuyên thiết kế CSDL) qua quá trình khảo sát nhu cầu và phân tích, sẽ xác định thông tin gì được cho là cần thiết phải đưa vào CSDL, đồng thời mô tả rõ mối quan hệ giữa các thông tin này. Kết quả của quá trình phân tích chính là mô hình dữ liệu. Có thể nói CSDL mức quan niệm là sự biểu 1 Giáo trình Cơ sở dữ Tổng quan về Cơ sở dữ diễn trừu tượng CSDL mức vật lý, và ngược lại CSDL mức vật lý là sự cài đặt cụ thể CSDL mức quan niệm.

- Mức ngoài: Đây là mức của người sử dụng và các chương trình ứng dụng. Làm việc ở mức này chính là các kỹ sư lập trình và người sử dụng không chuyên (người dùng cuối).

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ