Chuyển tới nội dung chính

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

Các khái niệm cơ bản về cơ sở dữ liệu, các mô hình cơ sở dữ liệu và mô hình thực thể mối kết hợp.


1. Các khái niệm cơ bản

1.1. Cơ sở dữ liệu (CSDL)

  • Cơ sở dữ liệu (Database) là một hệ thống các thông tin có cấu trúc, được lưu trữ trên các thiết bị lưu trữ nhằm 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 những mục đích khác nhau.
  • Ưu điểm so với các hệ thống thông tin khác:
    • Giảm trùng lặp thông tin xuống mức thấp nhất, đảm bảo tính nhất quán và toàn vẹn dữ liệu.
    • Đảm bảo dữ liệu đượ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, nhiều ứng dụng khác nhau.

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

1.2.1. Người dùng cuối

Những người tương tác với dữ liệu thông qua các ứng dụng CSDL.

1.2.2. Chuyên viên tin học

Người xây dựng các ứng dụng CSDL để lưu trữ, truy xuất và thao tác dữ liệu.

1.2.3. Quản trị viên

Chuyên gia chịu trách nhiệm giám sát bảo trì, quản lý hiệu suất và bào mật của hệ thống CSDL.

1.3. Hệ quản trị CSDL

1.3.1. Khái niệm

  • Hệ quản trị CSDL (Database Management System - DBMS) là hệ thống các phần mềm hỗ trợ tích cực cho các nhà phân tích, thiết kế và khai thác CSDL.
  • Một hệ quản trị CSDL phải có:
    • Ngôn ngữ giao tiếp giữa người dùng và CSDL.
    • Từ điển dữ liệu.
    • Biện pháp bảo mật khi có yêu cầu.
    • Cơ chế giải quyết tranh chấp dữ liệu.
    • Cơ chế sao lưu và phục hồi.
    • Đảm bảo tính độc lập giữa dữ liệu và chương trình.

1.3.2. Các loại ngôn ngữ giao tiếp giữa người dùng và CSDL

  • Ngôn ngữ định nghĩa dữ liệu (Data Definition Language - DDL): Cho phép khai báo cấu trúc CSDL, mối liên hệ của dữ liệu.
  • Ngôn ngữ thao tác dữ liệu (Data Manipulation Language - DML): Cho phép truy xuất, thêm, xóa, sửa dữ liệu.
  • Ngôn ngữ truy vấn có cấu trúc (Structured Query Language - SQL): Cho phép người khai thác sử dụng để truy vấn thông tin.
  • Ngôn ngữ quản lý dữ liệu (Data Control Language - DCL): Cho phép thay đổi cấu trúc bảng, khai báo bải mật, cấp quyền cho người sử dụng.

1.4. Các mức biểu diễn một CSDL

1.4.1. Mức ngoài/khung nhìn (View)

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

1.4.2. Mức quan niệm (Conception/Logical)

Mức nhìn tổng thể về CSDL, dành cho người quản trị CSDL. Mô tả cấu trúc của toàn thể CSDL gồm thực thể, kiểu dữ liệu, mối liên hệ và ràng buộc.

1.4.3. Mức trong/vật lý (Physical)

Mô tả cấu trúc lưu trữ vật lý CSDL, dành cho người phát triển CSDL.

1.5. Các mô hình dữ liệu

1.5.1. Mô hình dữ liệu phân cấp

Mô hình dữ liệu phân cấp tổ chức dữ liệu dưới dạng cấu trúc cây, trong đó mỗi nút có một nút cha duy nhất và có thể có nhiều nút con.

Ví dụ: Lược đồ cơ sở dữ liệu quản lý các cư dân trong một chung cư.

Anh 1

1.5.2. Mô hình dữ liệu hướng đối tượng

Mô hình dữ liệu hướng đối tượng biểu diễn dữ liệu dưới dạng đối tượngthuộc tínhphương thức, hỗ trợ kế thừa và đóng gói, cho phép mô tả tự nhiên các cấu trúc phức tạp và tăng khả năng tái sử dụng.

Ví dụ: Lược đồ cơ sở dữ liệu quản lý một cửa hàng bán các tác phẩm nghệ thuật.

1.5.3. Mô hình dữ liệu quan hệ

Mô hình dữ liệu quan hệ tổ chức dữ liệu dưới dạng các bảng (quan hệ) gồm các hàng và cột. Mỗi bảng biểu diễn một thực thể, các hàng là bản ghi và cột là thuộc tính. Dữ liệu được liên kết thông qua khóa chính và khóa ngoại.

Ví dụ: Lược đồ cơ sở dữ liệu quản lý giáo vụ của một trường đại học.

Anh 3

1.5.4. Mô hình dữ liệu mạng

Mô hình dữ liệu mạng tổ chức dữ liệu theo cấu trúc đồ thị gồm các nút (bản ghi) và cung (mối quan hệ). Mỗi bản ghi có thể liên kết với nhiều bản ghi cha hoặc con, cho phép biểu diễn các quan hệ phức tạp hơn mô hình phân cấp.

Ví dụ: Lược đồ cơ sở dữ liệu quản lý các nhân viên trong một công ty.

Anh 4

2. Mô hình dữ liệu thực thể mối kết hợp

Mô hình dữ liệu thực thể mối kết hợp (ER - Entity-Relationship Model) được giới thiệu vào năm 1976, dùng để thiết kế CSDL ở mức quan niệm. ER sử dụng các yếu tố như thực thể, thuộc tính và mối kết hợp

2.1. Loại thực thể

Là những đối tượng cụ thể cần được quản lý. Trong mô hình ER, loại thực thể được kí hiệu bằng ô hình chữ nhật với tên loại thực thể trong đó.

Ví dụ: SINHVIEN\text{SINHVIEN}, MONHOC\text{MONHOC}, ...

Anh 5

2.2. Thuộc tính

Là những tính chất đặc trưng của đối tượng cần lưu trữ. Trong mô hình ER, thuộc tính được kí hiệu bằng các hình tròn nối với loại thực thể liên quan, tên thuộc tính được viết bên cạnh nó.

Ví dụ: SINHVIEN\text{SINHVIEN} có các thuộc tính như MSSV, Họ tên, Ngày sinh, ...

Anh 6

Có 3 loại thuộc tính:

  • Đơn trị: Mỗi thực thể chỉ có một giá trị ứng với thuộc tính đó. Ví dụ: MSSVMSSV, HoTenHoTen.

  • Đa trị: Một thực thể có thể có nhiều giá trị ứng với thuộc tính đó. Ví dụ: ChungChiChungChi có thể có nhiều hơn một cái. Kí hiệu: {ChungChi}\{ChungChi\}

  • Đa hợp: Thuộc tính có thể tạo từ nhiều thành phần. Ví dụ: DiaChiDiaChi có thể bao gồm số nhà, tên phường/xã, tên tỉnh/thành phố. Kí hiệu: DiaChi(SoNha,TenDVCapXa,TenDVCapTinh)DiaChi(SoNha, TenDVCapXa, TenDVCapTinh).

Lưu ý: Thuộc tính đa hợp và đa trị có thể lồng nhau.

  • Ví dụ: Thuộc tính ChungChiChungChi của SINHVIEN\text{SINHVIEN} là thuộc tính đa hợp.
  • Kí hiệu: {ChungChi(TenCC,MaCC,DiemSo)}\{ChungChi(TenCC, MaCC, DiemSo)\}

2.3. Thực thể

Là một thể hiện hoặc một đối tượng của loại thực thể.

Ví dụ: Loại thực thể SINHVIEN\text{SINHVIEN} có các thực thể như:

('24250001', 'Nam', 'Nguyen Van A', '01/01/2006')

('24250002, 'Nu', 'Nguyen Thi B', '02/03/2005')

2.4. Khóa

Là thuộc tính để nhận diện và phân biệt các thực thể trong cùng một loại thực thể. Từ giá trị của thuộc tính khóa có thể xác định duy nhất một thực thể trong loại thực thể đó.

Ví dụ 1: Mỗi sinh viên được cấp một MSSV, không trùng với các sinh viên khác nên khóa của loại thực thể SINHVIEN\text{SINHVIEN}MSSVMSSV. Trong mô hình ER, khóa có 1 thuộc tính được biểu diễn bằng cách tô đen ô tròn hoặc gạch chân thuộc tính đó

Anh 7

Lưu ý:

  • Mỗi thực thể đều phải có một khóa
  • Một khóa có thể có một hoặc nhiều thuộc tính.
  • Có thể có nhiều khóa trong một loại thực thể, ta sẽ chọn ra một khóa làm khóa chính cho loại thực thể đó.

Ví dụ 2: Nếu như không tồn tại 2 sinh viên có cùng họ tên, ngày sinh và địa chỉ thì khóa của loại thực thể SINHVIEN\text{SINHVIEN} có thể là HoTenHoTen, NgaySinhNgaySinhDiaChiDiaChi. Trong mô hình ER, khóa có nhiều thuộc tính được biểu diễn bằng 1 ô tròn tô đen và một đường liền mạch đè ngang tất cả các thuộc tính đó.

Anh 8

2.5. Loại mối kết hợp

2.5.1. Khái niệm

Là sự kết hợp giữa hai hay nhiều loại thực thể. Trong mô hình ER, loại mối kết hợp bằng hình thoi hoặc oval nối giữa các loại thực thể tham gia vào nó.

Ví dụ 1: Giữa hai loại thực thể SINHVIEN\text{SINHVIEN}LOPHOC\text{LOPHOC} có loại mối kết hợp Thuoc\text{Thuoc}. (Ý nghĩa: Một sinh viên có thể thuộc một lớp học)

Anh 9

Giữa hai loại thực thể có thể có nhiều hơn một mối kết hợp.

Ví dụ 2: Hai loại thực thể SINHVIEN\text{SINHVIEN}LOPHOC\text{LOPHOC} còn có loại mối kết hợp LopTruong\text{LopTruong}. (Sinh viên có thể là lớp trưởng của một lớp học)

Anh 10

2.5.2. Số ngôi của loại mối kết hợp

Là số lượng loại thực thể tham gia đồng thời vào loại mối kết hợp đó.

Ví dụ 1: Loại mối kết hợp QuanLy\text{QuanLy} chỉ có loại thực thể NHANVIEN\text{NHANVIEN} tham gia nên số ngôi của nó là 1.

Anh 11

Ví dụ 2: Loại mối kết hợp Thuoc\text{Thuoc} có loại thực thể SINHVIEN\text{SINHVIEN}LOPHOC\text{LOPHOC} tham gia nên số ngôi của nó là 2.

Anh 12

Ví dụ 3: Loại mối kết hợp GiangDay\text{GiangDay} có loại thực thể LOPHOC\text{LOPHOC}, MONHOC\text{MONHOC}GIANGVIEN\text{GIANGVIEN} tham gia nên số ngôi của nó là 3.

Anh 13

2.5.3. Thuộc tính của loại mối kết hợp

Bao gồm các thuộc tính khóa của các loại thực thể tham gia vào mối kết hợp đó và các thuộc tính bổ sung khác, dùng để mô tả tính chất cho mối quan hệ đó.

Ví dụ: Thuộc tính của loại mối kết hợp GiangDay\text{GiangDay} gồm MaMHMaMH, MaLHMaLH, MaGVMaGV, HocKyHocKyNamHocNamHoc.

Anh 14

2.6. Bản số

Là số lượng tối thiểu và số lượng tối đa các mối kết hợp mà một thực thể thuộc mối kết hợp đó tham gia. Trong mô hình ER, bản số được biểu diễn bởi một cặp số ở các loại thực thể tham gia vào một mối kết hợp nào đó.

Kí hiệu: (Soˆˊ lượng toˆˊi thiểu,soˆˊ lượng toˆˊi đa)(\text{Số lượng tối thiểu}, \text{số lượng tối đa})

Các bản số thường gặp:

  • (0,1)(0, 1): Có hoặc không.
  • (1,1)(1, 1): Duy nhất một.
  • (1,n)(1, n): Một hoặc nhiều.
  • (0,n)(0, n): Không hoặc nhiều.

Ví dụ: Giữa hai loại thực thể SINHVIEN\text{SINHVIEN}LOPHOC\text{LOPHOC} có hai loại mối kết hợp là Thuoc\text{Thuoc}LopTruong\text{LopTruong}. Một sinh viên có thể hiện diện ở nhiều lớp học, một lớp học có thể có nhiều sinh viên. Một sinh viên có thể làm lớp trưởng của nhiều lớp học hoặc không làm lớp trưởng, một lớp học có thể có nhiều đời lớp trưởng.

Anh 15

2.7. Lược đồ ER

Là đồ thị biểu diễn các tập thực thể, thuộc tính và mối quan hệ. Đỉnh của đồ thị là tập thực thể, thuộc tính và quan hệ được kí hiệu như các ví dụ trên. Cạnh của đồ thị là đường nối giữa tập thực thể và thuộc tính, giữa mối quan hệ và tập thực thể.

Ví dụ: Xây dựng lược đồ ER biểu diễn 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.

  • Công ty có nhiều phòng ban, mỗi phòng ban có tên phòng, mã phòng duy nhất, một trưởng phòng và ngày nhận chức.
  • Đề án bao gồm tên đề án, mã số duy nhất, địa điểm triển khai, do một phòng ban chủ trì.
  • Nhân viên có mã số phân biệt với các nhân viên khác, họ tên, giới tính, địa chỉ, ngày sinh. Mỗi nhân viên làm việc ở một 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 viên đều có một người quản lý trực tiếp.

Anh 16