Cơ Sở Dữ Liệu Quan Hệ

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson
Download our mobile app to listen on the go
Get App

Questions and Answers

Trong cơ sở dữ liệu quan hệ, khái niệm nào sau đây dùng để xác định duy nhất mỗi bản ghi trong một bảng?

  • Khóa ngoại (Foreign Key)
  • Bản ghi (Record)
  • Trường (Field)
  • Khóa chính (Primary Key) (correct)

Câu lệnh SQL nào sau đây được sử dụng để truy vấn dữ liệu từ một bảng?

  • `UPDATE`
  • `SELECT` (correct)
  • `INSERT`
  • `DELETE`

Mệnh đề nào trong SQL được sử dụng để lọc các bản ghi dựa trên một điều kiện cụ thể?

  • `GROUP BY`
  • `WHERE` (correct)
  • `ORDER BY`
  • `HAVING`

Hàm SQL nào sau đây được sử dụng để tính tổng các giá trị trong một cột?

<p><code>SUM()</code> (A)</p> Signup and view all the answers

Loại ràng buộc nào trong SQL đảm bảo rằng một cột không được chứa giá trị NULL?

<p><code>NOT NULL</code> (C)</p> Signup and view all the answers

Trong ngữ cảnh của giao tác (transaction) trong SQL, tính chất nào đảm bảo rằng tất cả các thao tác trong giao tác phải được thực hiện thành công, hoặc không có thao tác nào được thực hiện?

<p>Tính nguyên tử (Atomicity) (B)</p> Signup and view all the answers

Câu lệnh SQL nào được sử dụng để thay đổi cấu trúc của một bảng đã tồn tại?

<p><code>ALTER TABLE</code> (D)</p> Signup and view all the answers

Mệnh đề nào trong SQL cho phép bạn sắp xếp các bản ghi theo một hoặc nhiều cột?

<p><code>ORDER BY</code> (C)</p> Signup and view all the answers

Trong SQL, mệnh đề HAVING khác với WHERE như thế nào?

<p><code>WHERE</code> dùng để lọc các bản ghi trước khi nhóm, còn <code>HAVING</code> dùng để lọc sau khi nhóm. (D)</p> Signup and view all the answers

Khái niệm nào sau đây mô tả một cột trong bảng mà tham chiếu đến khóa chính của một bảng khác?

<p>Khóa ngoại (Foreign Key) (C)</p> Signup and view all the answers

Câu lệnh SQL nào sau đây được dùng để xóa một bảng khỏi cơ sở dữ liệu?

<p><code>DROP TABLE</code> (A)</p> Signup and view all the answers

Trong SQL, ràng buộc UNIQUE có chức năng gì?

<p>Đảm bảo rằng tất cả các giá trị trong một cột là duy nhất. (D)</p> Signup and view all the answers

Tính chất nào của giao tác (transaction) đảm bảo rằng dữ liệu sẽ được lưu giữ vĩnh viễn sau khi giao tác đã được cam kết (committed)?

<p>Tính bền vững (Durability) (B)</p> Signup and view all the answers

Câu lệnh SQL nào sau đây dùng để thêm dữ liệu mới vào một bảng?

<p><code>INSERT</code> (B)</p> Signup and view all the answers

Các loại JOIN nào sau đây trả về tất cả các hàng từ bảng bên trái và các hàng phù hợp từ bảng bên phải?

<p>LEFT JOIN (A)</p> Signup and view all the answers

Ràng buộc CHECK trong SQL được sử dụng để làm gì?

<p>Đảm bảo rằng các giá trị trong một cột phải thỏa mãn một điều kiện cụ thể. (D)</p> Signup and view all the answers

Trong SQL, hàm nào sau đây được sử dụng để tìm giá trị nhỏ nhất trong một cột?

<p><code>MIN()</code> (A)</p> Signup and view all the answers

Câu lệnh nào sau đây dùng để bắt đầu một giao tác (transaction) trong SQL?

<p><code>BEGIN TRANSACTION</code> (C)</p> Signup and view all the answers

Khi nào bạn nên sử dụng mệnh đề GROUP BY trong một truy vấn SQL?

<p>Khi bạn muốn nhóm các hàng có cùng giá trị trong một hoặc nhiều cột. (B)</p> Signup and view all the answers

Trong cơ sở dữ liệu quan hệ, tính toàn vẹn tham chiếu (referential integrity) đảm bảo điều gì?

<p>Các mối quan hệ giữa các bảng là hợp lệ. (D)</p> Signup and view all the answers

Flashcards

Cơ sở dữ liệu quan hệ

Loại cơ sở dữ liệu dựa trên mô hình quan hệ, sử dụng các bảng để lưu trữ và quản lý dữ liệu.

Bảng (Table)

Tập hợp các dữ liệu có cấu trúc, bao gồm các hàng (bản ghi) và các cột (trường).

Bản ghi (Record/Tuple)

Một hàng trong bảng, chứa thông tin về một đối tượng cụ thể.

Trường (Field/Attribute)

Một cột trong bảng, mô tả một thuộc tính của thực thể.

Signup and view all the flashcards

Khóa chính (Primary Key)

Một trường hoặc tập hợp các trường dùng để xác định duy nhất mỗi bản ghi trong bảng.

Signup and view all the flashcards

Khóa ngoại (Foreign Key)

Một trường hoặc tập hợp các trường trong một bảng tham chiếu đến khóa chính của một bảng khác.

Signup and view all the flashcards

SQL

Ngôn ngữ truy vấn cấu trúc, được sử dụng để giao tiếp với cơ sở dữ liệu quan hệ.

Signup and view all the flashcards

SELECT

Dùng để truy vấn dữ liệu từ một hoặc nhiều bảng.

Signup and view all the flashcards

INSERT

Dùng để thêm mới dữ liệu vào bảng.

Signup and view all the flashcards

UPDATE

Dùng để sửa đổi dữ liệu trong bảng.

Signup and view all the flashcards

DELETE

Dùng để xóa dữ liệu khỏi bảng.

Signup and view all the flashcards

CREATE TABLE

Dùng để tạo một bảng mới trong cơ sở dữ liệu.

Signup and view all the flashcards

ALTER TABLE

Dùng để sửa đổi cấu trúc của một bảng đã có.

Signup and view all the flashcards

DROP TABLE

Dùng để xóa một bảng khỏi cơ sở dữ liệu.

Signup and view all the flashcards

WHERE

Dùng để lọc các bản ghi dựa trên một điều kiện cụ thể.

Signup and view all the flashcards

ORDER BY

Dùng để sắp xếp các bản ghi theo một hoặc nhiều cột.

Signup and view all the flashcards

GROUP BY

Dùng để nhóm các bản ghi có cùng giá trị trong một hoặc nhiều cột.

Signup and view all the flashcards

HAVING

Dùng để lọc các nhóm đã được tạo bởi GROUP BY dựa trên một điều kiện.

Signup and view all the flashcards

JOIN

Dùng để kết hợp các bản ghi từ hai hoặc nhiều bảng dựa trên một điều kiện liên quan giữa các cột.

Signup and view all the flashcards

NOT NULL

Đảm bảo rằng một cột không được chứa giá trị NULL.

Signup and view all the flashcards

Study Notes

  • Cơ sở dữ liệu quan hệ (Relational Database) là một loại cơ sở dữ liệu dựa trên mô hình quan hệ, sử dụng các bảng để lưu trữ và quản lý dữ liệu.

Các Khái Niệm Cơ Bản

  • Bảng (Table):
    • Là tập hợp các dữ liệu có cấu trúc, bao gồm các hàng (bản ghi) và các cột (trường).
    • Mỗi bảng biểu diễn một thực thể hoặc một mối quan hệ trong thế giới thực.
  • Bản ghi (Record/Tuple):
    • Là một hàng trong bảng, chứa thông tin về một đối tượng cụ thể.
    • Mỗi bản ghi là một thể hiện của thực thể được mô tả bởi bảng.
  • Trường (Field/Attribute):
    • Là một cột trong bảng, mô tả một thuộc tính của thực thể.
    • Mỗi trường có một kiểu dữ liệu cụ thể (ví dụ: số nguyên, chuỗi, ngày tháng).
  • Khóa chính (Primary Key):
    • Là một trường hoặc một tập hợp các trường dùng để xác định duy nhất mỗi bản ghi trong bảng.
    • Không được phép có hai bản ghi có cùng giá trị khóa chính.
    • Khóa chính không được chứa giá trị NULL.
  • Khóa ngoại (Foreign Key):
    • Là một trường hoặc một tập hợp các trường trong một bảng tham chiếu đến khóa chính của một bảng khác.
    • Tạo mối quan hệ giữa hai bảng.
    • Đảm bảo tính toàn vẹn tham chiếu (referential integrity) giữa các bảng.

SQL (Structured Query Language)

  • SQL là ngôn ngữ truy vấn cấu trúc, được sử dụng để giao tiếp với cơ sở dữ liệu quan hệ.
  • Cho phép người dùng thực hiện các thao tác như truy vấn, thêm, sửa, xóa dữ liệu, cũng như định nghĩa cấu trúc cơ sở dữ liệu.

Các Câu Lệnh SQL Cơ Bản

  • SELECT:
    • Dùng để truy vấn dữ liệu từ một hoặc nhiều bảng.
    • Cú pháp cơ bản: SELECT column1, column2, ... FROM table_name WHERE condition;
  • INSERT:
    • Dùng để thêm mới dữ liệu vào bảng.
    • Cú pháp cơ bản: INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);
  • UPDATE:
    • Dùng để sửa đổi dữ liệu trong bảng.
    • Cú pháp cơ bản: UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition;
  • DELETE:
    • Dùng để xóa dữ liệu khỏi bảng.
    • Cú pháp cơ bản: DELETE FROM table_name WHERE condition;
  • CREATE TABLE:
    • Dùng để tạo một bảng mới trong cơ sở dữ liệu.
    • Cú pháp cơ bản: CREATE TABLE table_name (column1 datatype, column2 datatype, ...);
  • ALTER TABLE:
    • Dùng để sửa đổi cấu trúc của một bảng đã có.
    • Ví dụ: thêm, xóa, hoặc sửa đổi cột.
  • DROP TABLE:
    • Dùng để xóa một bảng khỏi cơ sở dữ liệu.
    • Cú pháp cơ bản: DROP TABLE table_name;

Các Mệnh Đề Quan Trọng Trong SQL

  • WHERE:
    • Dùng để lọc các bản ghi dựa trên một điều kiện cụ thể.
    • Chỉ trả về các bản ghi thỏa mãn điều kiện.
  • ORDER BY:
    • Dùng để sắp xếp các bản ghi theo một hoặc nhiều cột.
    • Có thể sắp xếp theo thứ tự tăng dần (ASC) hoặc giảm dần (DESC).
  • GROUP BY:
    • Dùng để nhóm các bản ghi có cùng giá trị trong một hoặc nhiều cột.
    • Thường được sử dụng với các hàm tổng hợp (ví dụ: COUNT, SUM, AVG, MIN, MAX).
  • HAVING:
    • Dùng để lọc các nhóm đã được tạo bởi GROUP BY dựa trên một điều kiện.
    • Tương tự như WHERE, nhưng áp dụng cho các nhóm thay vì các bản ghi.
  • JOIN:
    • Dùng để kết hợp các bản ghi từ hai hoặc nhiều bảng dựa trên một điều kiện liên quan giữa các cột.
    • Các loại JOIN phổ biến: INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN.

Các Hàm Thông Dụng Trong SQL

  • COUNT():
    • Đếm số lượng bản ghi thỏa mãn một điều kiện.
  • SUM():
    • Tính tổng các giá trị trong một cột.
  • AVG():
    • Tính trung bình các giá trị trong một cột.
  • MIN():
    • Tìm giá trị nhỏ nhất trong một cột.
  • MAX():
    • Tìm giá trị lớn nhất trong một cột.
  • Các hàm xử lý chuỗi (ví dụ: SUBSTRING, UPPER, LOWER).
  • Các hàm xử lý ngày tháng (ví dụ: YEAR, MONTH, DAY).

Ví Dụ Minh Họa

  • Giả sử có một bảng Customers với các cột CustomerID, Name, City.
  • Truy vấn để lấy tất cả khách hàng từ thành phố "Hanoi":
    • SELECT * FROM Customers WHERE City = 'Hanoi';
  • Truy vấn để đếm số lượng khách hàng trong mỗi thành phố:
    • SELECT City, COUNT(*) FROM Customers GROUP BY City;
  • Truy vấn để lấy danh sách khách hàng và đơn hàng của họ (giả sử có bảng Orders với cột CustomerID là khóa ngoại):
    • SELECT Customers.Name, Orders.OrderID FROM Customers INNER JOIN Orders ON Customers.CustomerID = Orders.CustomerID;

Các Ràng Buộc (Constraints) Trong SQL

  • NOT NULL:
    • Đảm bảo rằng một cột không được chứa giá trị NULL.
  • UNIQUE:
    • Đảm bảo rằng tất cả các giá trị trong một cột là duy nhất.
  • PRIMARY KEY:
    • Xác định một cột hoặc một tập hợp các cột là khóa chính của bảng.
  • FOREIGN KEY:
    • Xác định một cột hoặc một tập hợp các cột là khóa ngoại, tham chiếu đến khóa chính của một bảng khác.
  • CHECK:
    • Đảm bảo rằng các giá trị trong một cột phải thỏa mãn một điều kiện cụ thể.
  • DEFAULT:
    • Chỉ định một giá trị mặc định cho một cột nếu không có giá trị nào được cung cấp khi thêm mới bản ghi.

Tính Toàn Vẹn Dữ Liệu

  • Tính toàn vẹn thực thể (Entity Integrity):
    • Đảm bảo rằng mỗi bảng phải có một khóa chính, và khóa chính không được chứa giá trị NULL.
  • Tính toàn vẹn tham chiếu (Referential Integrity):
    • Đảm bảo rằng các mối quan hệ giữa các bảng là hợp lệ.
    • Khóa ngoại phải tham chiếu đến một khóa chính tồn tại, hoặc phải là NULL.
  • Tính toàn vẹn miền (Domain Integrity):
    • Đảm bảo rằng các giá trị trong một cột phải thuộc một miền dữ liệu hợp lệ.
    • Ví dụ: kiểu dữ liệu, ràng buộc CHECK.
  • Tính toàn vẹn do người dùng định nghĩa (User-Defined Integrity):
    • Các quy tắc hoặc ràng buộc do người dùng định nghĩa để đảm bảo tính chính xác của dữ liệu.

Giao Tác (Transaction)

  • Giao tác là một chuỗi các thao tác được thực hiện như một đơn vị duy nhất.
  • Đảm bảo tính nhất quán, toàn vẹn và độ tin cậy của dữ liệu.
  • Các tính chất ACID của giao tác:
    • Tính nguyên tử (Atomicity): Tất cả các thao tác trong giao tác phải được thực hiện thành công, hoặc không có thao tác nào được thực hiện.
    • Tính nhất quán (Consistency): Giao tác phải đưa cơ sở dữ liệu từ một trạng thái hợp lệ sang một trạng thái hợp lệ khác.
    • Tính độc lập (Isolation): Các giao tác phải được thực hiện độc lập với nhau.
    • Tính bền vững (Durability): Kết quả của một giao tác đã được cam kết (committed) phải được lưu giữ vĩnh viễn.
  • Các câu lệnh quản lý giao tác:
    • BEGIN TRANSACTION: Bắt đầu một giao tác.
    • COMMIT: Kết thúc giao tác và lưu các thay đổi vào cơ sở dữ liệu.
    • ROLLBACK: Hủy bỏ giao tác và khôi phục cơ sở dữ liệu về trạng thái trước khi bắt đầu giao tác.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

More Like This

Use Quizgecko on...
Browser
Browser