# data[].attributes.headline
Cơ sở dữ liệu quan hệ là loại CSDL lưu dữ liệu trong bảng (table) gồm hàng (bản ghi) và cột (thuộc tính).

# data[].attributes.subject
Cơ sở dữ liệu quan hệ là loại CSDL lưu dữ liệu trong bảng (table) gồm hàng (bản ghi) và cột (thuộc tính).

# data[].attributes.body
Các bảng liên kết với nhau bằng khóa chính và khóa ngoại.

Dễ quản lý, tìm kiếm, cập nhật bằng SQL.

Phổ biến trong các hệ quản trị như MySQL, SQL Server, Oracle, PostgreSQL.

# data[].attributes.headline
Mô hình cơ sở dữ liệu là cách tổ chức và biểu diễn dữ liệu, đồng thời xác định mối quan hệ giữa chúng.

# data[].attributes.subject
Mô hình cơ sở dữ liệu là cách tổ chức và biểu diễn dữ liệu, đồng thời xác định mối quan hệ giữa chúng.

# data[].attributes.body
Các mô hình chính:

Phân cấp: dữ liệu dạng cây (cha – con).

Mạng: dữ liệu có nhiều mối quan hệ phức tạp (nhiều cha – nhiều con).

Quan hệ: dữ liệu trong bảng (hàng – cột), phổ biến nhất hiện nay.

Hướng đối tượng: dữ liệu lưu dưới dạng đối tượng (có thuộc tính và phương thức).

# data[].attributes.body
Trường (Field / Column / Attribute):
• Là cột trong bảng dữ liệu.
• Mỗi trường mô tả một loại thông tin cụ thể về đối tượng lưu trữ.
• Ví dụ: Trong bảng SinhVien, ta có các trường như MaSV, HoTen, NgaySinh, Lop.
• Bản ghi (Record / Row / Tuple):
• Là hàng trong bảng dữ liệu.
• Mỗi bản ghi là một đối tượng cụ thể được lưu trữ với đầy đủ giá trị ở các trường.
• Ví dụ: Trong bảng SinhVien, một bản ghi có thể là:
SV001 | Nguyễn Văn A | 01/01/2000 | CNTT1

👉 Nói ngắn gọn:
• Trường = cột (định nghĩa thuộc tính).
• Bản ghi = hàng (dữ liệu cụ thể của đối tượng).

# data[].attributes.body
Trong cơ sở dữ liệu quan hệ, liên kết dữ liệu (còn gọi là quan hệ) là cách các bảng được kết nối với nhau. Thay vì lưu trữ tất cả thông tin trong một bảng duy nhất, dữ liệu được chia nhỏ thành nhiều bảng riêng biệt, và các liên kết này giúp truy xuất thông tin đầy đủ một cách hiệu quả.

# data[].attributes.body
N1:

N2:

N3:+

n4: +

# data[].attributes.body
Hệ CSDL tập trung là hệ thống cơ sở dữ liệu trong đó toàn bộ dữ liệu được lưu trữ ở một máy tính trung tâm duy nhất.

Máy trung tâm này có thể là một máy chủ, chứa cả cơ sở dữ liệu và phần mềm quản trị dữ liệu, còn các máy khác (máy trạm) khi cần truy xuất hay cập nhật dữ liệu sẽ kết nối tới máy trung tâm này.

# data[].attributes.body
1. Hệ quản trị cơ sở dữ liệu (HQTCSDL)

Là phần mềm quản lí và khai thác CSDL.

Chức năng chính:
a. Định nghĩa dữ liệu
→ Ví dụ: tạo bảng HọcSinh với các cột: MãHS, HọTên, NgàySinh.
b. Cập nhật & truy xuất
→ Ví dụ: thêm học sinh mới, xóa học sinh nghỉ học, tìm HS có điểm > 8.
c. Bảo mật & an toàn
→ Ví dụ: chỉ giáo viên được sửa điểm, học sinh chỉ được xem; sao lưu dữ liệu mỗi tuần.

2. Hệ cơ sở dữ liệu

Gồm: CSDL + HQTCSDL + phần cứng + phần mềm + người dùng.

Ví dụ: hệ thống quản lí thư viện gồm:

CSDL: danh sách sách, bạn đọc.

HQTCSDL: MySQL, SQL Server.

Người dùng: thủ thư, sinh viên.

3. Hệ CSDL tập trung và phân tán

Tập trung: dữ liệu lưu ở 1 máy chủ.

Ví dụ: trường học lưu điểm tất cả HS trong 1 máy chủ ở phòng CNTT.

Ưu: dễ quản lí. Nhược: máy hỏng → mất dữ liệu.

Phân tán: dữ liệu lưu ở nhiều nơi.

Ví dụ: ngân hàng có chi nhánh ở nhiều tỉnh, mỗi nơi lưu dữ liệu, kết nối chung.

Ưu: an toàn, nhanh. Nhược: tốn chi phí, khó quản lí.

# data[].attributes.body
Hệ quản trị cơ sở dữ liệu (Hệ QTCSDL)

Là phần mềm để lưu trữ, tìm kiếm, thêm, xóa, sửa và bảo vệ dữ liệu.

Ví dụ: MySQL, SQL Server, Oracle, Access.

Hệ cơ sở dữ liệu (Hệ CSDL)

Gồm 3 phần:

1. Dữ liệu (CSDL)

2. Hệ QTCSDL

3. Phần mềm ứng dụng dùng dữ liệu đó.

Ví dụ: Hệ thống tra cứu điểm thi (có dữ liệu điểm, phần mềm quản lý và giao diện tra cứu).

CSDL tập trung

Dữ liệu lưu ở 1 máy chủ.

Ưu: dễ quản lý, an toàn.

Nhược: khó mở rộng khi nhiều người dùng.

CSDL phân tán

Dữ liệu lưu ở nhiều máy trong mạng.

Ưu: nhanh, tin cậy, dễ mở rộng.

Nhược: phức tạp, tốn chi phí.

KẾT LUẬN

Hệ QTCSDL = phần mềm quản lý dữ liệu.

Hệ CSDL = dữ liệu + phần mềm quản lý + ứng dụng.

Tập trung = lưu một chỗ, Phân tán = lưu nhiều chỗ.

# data[].attributes.body
• Hệ quản trị cơ sở dữ liệu: Là phần mềm dùng để quản lý cơ sở dữ liệu. Nó cho phép tạo và sửa cấu trúc dữ liệu, thêm bớt và tìm kiếm dữ liệu, đảm bảo an toàn và bảo mật, đồng thời hỗ trợ các ứng dụng kết nối với cơ sở dữ liệu. Ví dụ: MySQL, Oracle, SQL Server.
• Hệ cơ sở dữ liệu: Gồm hai phần. Phần máy chủ lưu trữ và xử lý dữ liệu. Phần máy khách là giao diện để người dùng gửi yêu cầu và nhận kết quả.
• Cơ sở dữ liệu tập trung: Dữ liệu được lưu trên một máy duy nhất. Dễ quản lý nhưng hạn chế khi có nhiều người dùng.
• Cơ sở dữ liệu phân tán: Dữ liệu được lưu trên nhiều máy trong mạng. Ưu điểm là an toàn, dễ mở rộng, nhưng quản lý phức tạp và chi phí cao.

# data[].attributes.headline
Bài 12: Hệ quản trị cơ sở dữ liệu và hệ cơ sở dữ liệu

# data[].attributes.subject
Bài 12: Hệ quản trị cơ sở dữ liệu và hệ cơ sở dữ liệu

# data[].attributes.body
1. Hệ quản trị cơ sở dữ liệu (DBMS)

• Phần mềm để tạo lập, lưu trữ, cập nhật, truy vấn dữ liệu.

• Chức năng chính:

• Tạo và chỉnh sửa CSDL.

• Cập nhật, tìm kiếm dữ liệu.

• Bảo mật, phân quyền, sao lưu.

• Cung cấp giao diện cho ứng dụng.

• Ví dụ: MySQL, Oracle, SQL Server.

2. Hệ cơ sở dữ liệu

• Gồm CSDL + DBMS + ứng dụng.

• Người dùng thao tác qua ứng dụng, DBMS xử lý dữ liệu.

3. CSDL tập trung vs. phân tán

• Tập trung: Dữ liệu ở một nơi → dễ quản lý, nhưng dễ quá tải.

• Phân tán: Dữ liệu ở nhiều nơi → an toàn, tin cậy hơn, nhưng khó đồng bộ.

# data[].attributes.body
Cơ sở dữ liệu (Database) là tập hợp có tổ chức các dữ liệu có liên quan với nhau, được lưu trữ trên các thiết bị nhớ (như ổ cứng, server) và được quản lý bằng hệ quản trị cơ sở dữ liệu (DBMS).

Dữ liệu trong cơ sở dữ liệu:

Được sắp xếp theo một cấu trúc nhất định (bảng, hàng, cột, quan hệ, v.v.)

Có thể tìm kiếm, cập nhật, chỉnh sửa, xoá nhanh chóng và chính xác.

Ví dụ về cơ sở dữ liệu:

Bảng bệnh nhân: Mã BN, Họ tên, Ngày sinh, Giới tính, Địa chỉ

Bảng SinhVien: Mã SV, Họ tên, Ngày sinh, Giới tính, Lớp, Ngành học

# data[].attributes.headline
Tính toàn vẹn, bảo mật, an toàn của dữ liệu 

# data[].attributes.subject
Tính toàn vẹn, bảo mật, an toàn của dữ liệu 

# data[].attributes.body
. Tính toàn vẹn

Là tính đúng đắn và nhất quán của dữ liệu trong CSDL.

Dữ liệu phải tuân thủ các ràng buộc: khóa chính, khóa ngoại, kiểu dữ liệu, miền giá trị.

2. Tính bảo mật

Là khả năng ngăn chặn truy cập trái phép vào CSDL.

Thực hiện nhờ phân quyền, mật khẩu, cơ chế kiểm soát người dùng.

3. Tính an toàn

Là khả năng bảo vệ dữ liệu trước các sự cố như hỏng hóc, mất điện, virus, tấn công…

Thực hiện bằng sao lưu, phục hồi và hệ thống dự phòng.

# data[].attributes.body
Hạn chế dư thừa dữ liệu có nghĩa là tránh việc cùng một thông tin bị lưu trữ lặp lại ở nhiều nơi, điều này giúp giảm kích thước cơ sở dữ liệu, tăng tốc độ xử lý, và đảm bảo tính nhất quán của dữ liệu khi cập nhật. Cần tổ chức lưu trữ dữ liệu độc lập với phần mềm để dễ dàng chia sẻ dữ liệu giữa các ứng dụng, đơn giản hóa việc bảo trì và phát triển, và đảm bảo tính nhất quán dữ liệu trên nhiều hệ thống.

Tại sao cần tổ chức lưu trữ dữ liệu độc lập với phần mềm?

Việc tách biệt lưu trữ dữ liệu khỏi ứng dụng phần mềm là một nguyên tắc quan trọng trong thiết kế hệ thống.

Dễ dàng chia sẻ dữ liệu:

Dữ liệu được lưu trữ ở một nơi độc lập có thể dễ dàng được truy cập và sử dụng bởi nhiều phần mềm và ứng dụng khác nhau, thay vì mỗi phần mềm lại tạo ra các bản sao dữ liệu của riêng mình.

Đảm bảo tính nhất quán dữ liệu:

Khi dữ liệu được lưu trữ tập trung, việc cập nhật và duy trì tính nhất quán trở nên dễ dàng hơn, tránh các mâu thuẫn dữ liệu do nhiều phiên bản khác nhau.

Thuận tiện cho việc bảo trì và phát triển:

Các nhà phát triển có thể thay đổi hoặc nâng cấp phần mềm mà không ảnh hưởng trực tiếp đến cấu trúc lưu trữ dữ liệu và ngược lại, giúp tăng tính linh hoạt và hiệu quả.

Hỗ trợ tối ưu hóa việc sử dụng tài nguyên:

Việc tổ chức dữ liệu độc lập giúp tránh tình trạng dữ liệu bị lặp lại, từ đó giảm yêu cầu về không gian lưu trữ và tài nguyên xử lý.

# data[].attributes.headline
tính không dư thừa và tính độc lập của cơ sở dữ liệu

# data[].attributes.subject
tính không dư thừa và tính độc lập của cơ sở dữ liệu

# data[].attributes.body
Tính không dư thừa: dữ liệu chỉ lưu một lần, không trùng lặp ở nhiều bảng → tránh sai lệch, tiết kiệm bộ nhớ.

Tính độc lập: dữ liệu tách biệt với chương trình, thay đổi cách lưu trữ không ảnh hưởng đến ứng dụng khai thác dữ liệu.

# data[].attributes.body
Lưu trữ dữ liệu là quá trình ghi lại, bảo quản và quản lý thông tin để có thể sử dụng sau này. Dữ liệu có thể là văn bản, hình ảnh, video, phần mềm,

Giữ lại thông tin quan trọng (công việc, học tập, kỷ niệm...)

Phục vụ cho việc tra cứu và phân tích sau này

Bảo vệ dữ liệu khỏi mất mát do lỗi phần cứng, thiên tai, tấn công mạng,...

Tối ưu hoạt động kinh doanh và hỗ trợ ra quyết định

Thời kỳ đầu: Ghi chép bằng tay trên giấy, đá, da...

Thế kỷ 20: Dữ liệu được lưu trên đĩa từ, băng từ, đĩa mềm

Thập niên 1990–2000: Sử dụng CD, DVD, ổ cứng (HDD)

Hiện nay: Dùng SSD, USB, thẻ nhớ và đặc biệt là lưu trữ đám mây (Cloud) như Google Drive, OneDrive…

# data[].attributes.body
Tóm gọn: Làm sạch → chọn lọc → phân tích → đánh giá → trình bày → ứng dụng.

# data[].attributes.body
lấy dữ liệu đã lưu trữ ra để sử dụng( đọc biển, đọc phần tử trong list)

xem đọc dữ lệu

tìm kiếm dữ liệu

sắp xếp dữ liệu

Các thao tác thường thực hiện khi truy xuất dữ liệu gồm:

1. ﻿﻿﻿Đọc dữ liệu (xem, in ra, lấy giá trị).

2. ﻿﻿﻿Tìm kiếm dữ liệu (theo điều kiện hoặc khóa).

3. ﻿﻿﻿Sắp xếp dữ liệu (tăng dần, giảm dần).

4. ﻿﻿﻿Lọc dữ liệu khỉ lấy phần thoa điều kiện).

5. ﻿﻿﻿Cập nhật dữ liệu (sừa đổi giá trị).

6. ﻿﻿﻿Xóa dữ liệu (loại bỏ khi không cần).

# data[].attributes.body
Cập nhật dữ liệu là gì?

Cập nhật dữ liệu là quá trình thay đổi, bổ sung, chỉnh sửa hoặc xóa dữ liệu trong một hệ thống, cơ sở dữ liệu hoặc tệp tin để đảm bảo thông tin luôn mới, chính xác và phù hợp với thực tế.

2. Cập nhật dữ liệu bao gồm các thao tác nào?

Trong tin học và quản trị dữ liệu, thường có 4 thao tác chính (gọi là CRUD):

C (Create): Thêm mới dữ liệu.

R (Read): Truy xuất, xem dữ liệu.

U (Update): Sửa đổi, chỉnh sửa dữ liệu.

D (Delete): Xóa bỏ dữ liệu không cần thiết.

Trong đó, “cập nhật dữ liệu” thường chỉ tập trung vào Update (sửa) và Create (thêm mới).

3. Khi nào cần cập nhật dữ liệu?

Bạn cần cập nhật dữ liệu khi:

Thông tin cũ đã lỗi thời hoặc sai lệch.

Có thông tin mới cần thêm vào.

Hệ thống yêu cầu dữ liệu đồng bộ, chính xác để phân tích, báo cáo hoặc ra quyết định.

Người dùng hoặc doanh nghiệp thay đổi thông tin (ví dụ: thay đổi địa chỉ, số điện thoại, giá sản phẩm…).

# data[].attributes.body
Khai thác dữ liệu (Data mining) là quá trình tìm ra thông tin hữu ích, xu hướng hoặc quy luật ẩn bên trong một khối dữ liệu lớn. Người ta không chỉ lưu trữ dữ liệu, mà còn “đào bới” (mine) nó để rút ra tri thức mới.

# data[].attributes.body
Khóa ngoài (Foreign Key)

Là cột (hoặc tập cột) trong một bảng, tham chiếu đến khóa chính của một bảng khác.

Vai trò:

Tạo mối liên kết giữa các bảng.

Đảm bảo toàn vẹn tham chiếu: dữ liệu trong khóa ngoài phải tồn tại trong bảng cha hoặc để trống.

Ví dụ: Trong bảng Diem(MaSV, MonHoc, DiemThi), cột MaSV là khóa ngoài, tham chiếu đến MaSV trong bảng SinhVien → đảm bảo rằng điểm thi luôn gắn với một sinh viên có thật.

📌

Quan hệ giữa Khóa chính và Khóa ngoài

Khóa chính giúp xác định bản ghi duy nhất trong bảng.

Khóa ngoài dùng để liên kết bảng này với bảng khác, thường tham chiếu đến khóa chính.

Sự kết hợp của hai loại khóa này giúp:

Tránh dư thừa dữ liệu.

Đảm bảo tính nhất quán và toàn vẹn trong cơ sở dữ liệu quan hệ.

Hỗ trợ các kiểu quan hệ: 1-1, 1-nhiều, nhiều-nhiều.