You are on page 1of 7

1. Trình bày vai trò của cơ sở dữ liệu trong môt phần mềm ứng dụng?

Cơ sở dữ liệu (CSDL) là một phần quan trọng của hầu hết các phần mềm ứng dụng hiện đại. CSDL
thường chứa thông tin về các đối tượng và hoạt động liên quan như người dùng, sản phẩm, đơn hàng,
v.v... Lợi ích của việc sử dụng cơ sở dữ liệu trong phần mềm ứng dụng bao gồm:

1. Tính toàn vẹn dữ liệu: Với cơ sở dữ liệu, các loại lỗi dữ liệu có thể được kiểm tra và khắc phục để đảm
bảo tính toàn vẹn dữ liệu.

2. Truy xuất dữ liệu: Các dữ liệu được lưu trữ trong cơ sở dữ liệu có thể được truy xuất và lấy ra cho các
mục đích xử lý dữ liệu như in, xuất file Excel, v.v...

3. Tính nhất quán dữ liệu: Sử dụng cơ sở dữ liệu giúp đảm bảo rằng các dữ liệu được lưu trữ đồng nhất
và không có sự sai khác.

4. Chia sẻ dữ liệu: Dữ liệu được lưu trữ trong cơ sở dữ liệu có thể được chia sẻ giữa nhiều ứng dụng
khác nhau.

5. Giảm thiểu thời gian phát triển: Sử dụng cơ sở dữ liệu giúp giảm thiểu thời gian phát triển ứng dụng
bằng cách sử dụng các công cụ quản lý cơ sở dữ liệu như Entity Framework hoặc LINQ.

Tóm lại, cơ sở dữ liệu đóng một vai trò rất quan trọng trong phát triển phần mềm ứng dụng và giúp cho
việc quản lý dữ liệu trở nên dễ dàng và tiết kiệm thời gian.

2. Hãy liệt kê một số cách lưu trữ khác và so sánh với việc lưu trữ bằng cơ sở dữ liệu?

Ngoài cơ sở dữ liệu, còn có các cách lưu trữ khác như:

1. File system: Lưu trữ dữ liệu trong các tệp tin và thư mục trên đĩa cứng hoặc bộ nhớ flash. Tuy nhiên,
việc quản lý dữ liệu sẽ không được hiệu quả và thiếu tính bảo mật.

2. NoSQL database: Đây là loại cơ sở dữ liệu phi quan hệ, thường được sử dụng cho các ứng dụng web
và các ứng dụng đám mây. NoSQL database thường có khả năng mở rộng tốt hơn so với cơ sở dữ liệu
quan hệ, nhưng lại thiếu tính linh hoạt và khả năng truy vấn phức tạp.

3. Key-value store: Dữ liệu được lưu trữ theo cặp key-value, giúp cho việc truy xuất nhanh chóng và hiệu
quả. Tuy nhiên, key-value store không thể hiện được mối quan hệ giữa các đối tượng.

So sánh với cơ sở dữ liệu, các phương pháp lưu trữ này thường thiếu tính bảo mật, tính linh hoạt trong
việc truy vấn dữ liệu và khả năng mở rộng. Cơ sở dữ liệu cung cấp tính toàn vẹn dữ liệu và quản lý dữ
liệu hiệu quả hơn các phương pháp khác. Bên cạnh đó, việc sử dụng các công cụ quản lý cơ sở dữ liệu
như SQL Server, Oracle hoặc MySQL giúp cho việc phát triển ứng dụng được nhanh chóng và tiết kiệm
thời gian hơn.

3. Hãy cho biết trong trường hợp nào nên dùng cơ sở dữ liệu, trường hợp nào có thể không dùng cơ
sở dữ liệu để lưu trữ

Việc sử dụng cơ sở dữ liệu phải được xem xét kỹ lưỡng, tùy thuộc vào tính chất và yêu cầu của ứng
dụng. Dưới đây là một số trường hợp nên và không nên sử dụng cơ sở dữ liệu:
Nên sử dụng cơ sở dữ liệu trong những trường hợp:

1. Ứng dụng có dữ liệu phức tạp với nhiều mối quan hệ giữa các bảng hoặc đối tượng.

2. Ứng dụng cần thao tác với dữ liệu nhanh chóng và hiệu quả.

3. Dữ liệu cần được bảo mật và quản lý chặt chẽ.

4. Ứng dụng có nhiều người dùng cùng truy cập và cập nhật dữ liệu.

5. Cần thực hiện các truy vấn phức tạp hoặc phân tích dữ liệu.

Không nên sử dụng cơ sở dữ liệu trong những trường hợp:

1. Ứng dụng có dữ liệu đơn giản và không có mối quan hệ giữa các đối tượng.

2. Ứng dụng cần lưu trữ dữ liệu tạm thời hoặc có tính chất tạm thời.

3. Dữ liệu không quan trọng và không cần phải được bảo mật.

4. Các tập tin hoặc hình ảnh có kích thước lớn.

Tuy nhiên, việc sử dụng cơ sở dữ liệu hay không phụ thuộc vào yêu cầu cụ thể của từng ứng dụng và
mục đích sử dụng dữ liệu đó. Do đó, việc đánh giá và lựa chọn phương án lưu trữ phù hợp là rất quan
trọng trong quá trình phát triển ứng dụng.

4. Hãy kể tên một công ty hoặc tổ chức. doanh nghiệp có sử dụng cơ sở dữ liệu. Trình bày dấu hiệu
nhận biết tại công ty đó có sự tương tác với cơ sở dữ liệu?

Một ví dụ về công ty sử dụng cơ sở dữ liệu là Google. Google sử dụng cơ sở dữ liệu để lưu trữ thông tin
về các trang web trên Internet, kết quả tìm kiếm và hơn thế nữa. Dưới đây là một số dấu hiệu nhận biết
tại công ty có sự tương tác với cơ sở dữ liệu:

1. Công ty sử dụng phần mềm quản lý cơ sở dữ liệu như SQL Server, Oracle hoặc MySQL.

2. Công ty có các chức năng liên quan đến cơ sở dữ liệu như thêm, sửa, xóa, truy vấn dữ liệu.

3. Công ty có các ứng dụng liên quan đến dữ liệu như phân tích dữ liệu, báo cáo, xuất dữ liệu.

4. Công ty có các chức năng bảo mật dữ liệu như đăng nhập, phân quyền người dùng.

5. Công ty có các kế hoạch sao lưu và khôi phục dữ liệu.

Nếu công ty có những dấu hiệu này thì có thể nhận biết rằng họ có sự tương tác với cơ sở dữ liệu.

5. Hãy kể tên 3 hệ quản trị cơ sở dữ liệu quan hệ, 2 hệ quản trị cơ sở dữ liệu không quan hệ, 1 hệ
quản trị cơ sở dữ liệu hướng đối tượng

3 hệ quản trị cơ sở dữ liệu quan hệ:

1. MySQL

2. Microsoft SQL Server

3. Oracle Database
2 hệ quản trị cơ sở dữ liệu không quan hệ:

1. MongoDB

2. Cassandra

1 hệ quản trị cơ sở dữ liệu hướng đối tượng:

1. db4o (Database for Objects)

6. Hãy trình bày các nhóm người dùng trên cơ sở dữ liệu. Mỗi nhóm cho ví dụ minh học

Các nhóm người dùng trên cơ sở dữ liệu phổ biến bao gồm:

1. Người quản trị cơ sở dữ liệu (Database Administrator - DBA): Là người có trách nhiệm giám sát và
quản lý toàn bộ cơ sở dữ liệu. Công việc của họ bao gồm thiết kế cơ sở dữ liệu, tối ưu hóa hiệu suất, sao
lưu và khôi phục dữ liệu, đảm bảo tính bảo mật và sẵn sàng hỗ trợ cho các người dùng khác trong tổ
chức. Ví dụ: DBA của công ty ABC.

2. Nhà phát triển ứng dụng (Application Developer): Là người sử dụng cơ sở dữ liệu để xây dựng các ứng
dụng. Họ có thể tạo ra các ứng dụng với các ngôn ngữ lập trình như Java, C#, Python và sử dụng các
công cụ quản lý cơ sở dữ liệu như Entity Framework hoặc LINQ để truy xuất và xử lý dữ liệu. Ví dụ: Nhà
phát triển ứng dụng tại công ty XYZ.

3. Người dùng cuối (End user): Là người sử dụng các ứng dụng được xây dựng trên cơ sở dữ liệu. Họ
thường là nhân viên trong tổ chức và sử dụng các ứng dụng để thao tác với dữ liệu. Ví dụ: Nhân viên bán
hàng của công ty QWE sử dụng ứng dụng quản lý đơn hàng để nhập thông tin đơn hàng mới.

Các nhóm người dùng này có mối quan hệ phức tạp với cơ sở dữ liệu và trách nhiệm khác nhau khi sử
dụng cơ sở dữ liệu. Việc hiểu rõ về các nhóm người dùng này sẽ giúp cho việc quản lý và phát triển cơ sở
dữ liệu trở nên dễ dàng hơn.

7. Hãy trình bày kiến trúc 3 mức của một hệ cơ sở dữ liệu. Nêu ví dụ minh họa

Kiến trúc 3 mức của một hệ cơ sở dữ liệu bao gồm:

1. Mức Cơ sở dữ liệu (Physical level): Mức này miêu tả cách cơ sở dữ liệu được lưu trữ trên đĩa cứng,
bao gồm các chi tiết về cấu trúc file, khối và bộ nhớ đệm. Các đối tượng của mức này bao gồm các block,
trang, extent và segment. Đây là mức thấp nhất của kiến trúc cơ sở dữ liệu và hầu hết người dùng không
cần quan tâm đến nó.

Ví dụ: Một bảng trong cơ sở dữ liệu Oracle được lưu trữ trên đĩa cứng dưới dạng một hoặc nhiều
segment, mỗi segment lại được chia thành nhiều extents và mỗi extent lại được chia thành nhiều block.

2. Mức Mô tả (Logical level): Mức này miêu tả cách dữ liệu được tổ chức theo các khái niệm logic và mối
quan hệ giữa chúng. Các đối tượng của mức này bao gồm các bảng, trường, ràng buộc và quan hệ giữa
các bảng.

Ví dụ: Trong hệ cơ sở dữ liệu MySQL, một bảng có thể được tạo ra với các trường như id, name và
address. Mối quan hệ giữa các bảng được xác định thông qua khóa ngoại.
3. Mức Ứng dụng (View level): Mức này miêu tả cách người dùng cuối truy xuất và xử lý dữ liệu. Các đối
tượng của mức này bao gồm các view, thủ tục lưu trữ và các câu lệnh truy vấn. Người dùng có thể sử
dụng các công cụ truy vấn để truy xuất dữ liệu từ cơ sở dữ liệu.

Ví dụ: Người dùng có thể truy vấn các thông tin sản phẩm trong cơ sở dữ liệu bằng câu lệnh SQL như
SELECT ProductName, Price FROM Products WHERE CategoryID = 1.

Việc hiểu rõ kiến trúc 3 mức của một hệ cơ sở dữ liệu là rất quan trọng để thiết kế, phát triển và duy trì
cơ sở dữ liệu một cách hiệu quả.

8. Tính chất của cơ sở dữ liệu quan hệ, các hệ thống sử dụng cơ sở dữ liệu quan hệ

Cơ sở dữ liệu quan hệ (Relational Database) là một loại cơ sở dữ liệu được tổ chức theo mô hình quan
hệ. Trong đó, dữ liệu được lưu trữ trong các bảng (table), mỗi bảng gồm nhiều hàng (row) và cột
(column). Cột thường biểu diễn cho các thuộc tính của đối tượng, trong khi hàng chứa thông tin về các
đối tượng.

Tính chất của cơ sở dữ liệu quan hệ bao gồm:

1. Độ đơn giản: Hệ thống quản lý cơ sở dữ liệu quan hệ (RDBMS) rất đơn giản để sử dụng và triển khai.

2. Tính nhất quán: Dữ liệu trong các bảng liên kết với nhau được đảm bảo tính nhất quán, không xảy ra
tình trạng dữ liệu bị lặp lại hay mất mát dữ liệu.

3. Tính linh hoạt: Các bảng có thể được kết hợp với nhau thông qua các khóa ngoại để truy xuất và lấy
dữ liệu từ nhiều bảng khác nhau.

4. Khả năng mở rộng: Hệ thống RDBMS có thể mở rộng quy mô dữ liệu một cách dễ dàng bằng cách
thêm mới các bảng hoặc các cột trong bảng.

Các hệ thống sử dụng cơ sở dữ liệu quan hệ bao gồm nhiều lĩnh vực, từ các ứng dụng tin học cá nhân
đến các hệ thống doanh nghiệp lớn. Ví dụ như các trang web thương mại điện tử, hệ thống quản lý tài
sản, hệ thống quản lý khách hàng, hệ thống quản lý nhân sự, hệ thống quản lý kho và vận chuyển, và
nhiều hệ thống khác.

9. Cơ sở dữ liệu không quan hệ là gì?

Cơ sở dữ liệu không quan hệ (Non-Relational Database hay NoSQL) là một loại cơ sở dữ liệu mà không
sử dụng các bảng, hàng và cột như trong cơ sở dữ liệu quan hệ. Thay vào đó, NoSQL lưu trữ dữ liệu ở
dạng tài liệu (document), đồ thị (graph), hoặc key-value pair.
Các loại cơ sở dữ liệu không quan hệ phổ biến gồm:

1. Cơ sở dữ liệu tài liệu (Document-oriented database): Lưu trữ dữ liệu dưới dạng JSON, XML hoặc
BSON. Mỗi tài liệu có thể có một cấu trúc khác nhau và được lưu trữ trong một kho lưu trữ tài liệu.

2. Cơ sở dữ liệu đồ thị (Graph database): Lưu trữ dữ liệu dưới dạng đồ thị, với các nút (node) và các
cạnh (edge) để biểu diễn các quan hệ giữa các đối tượng.

3. Cơ sở dữ liệu key-value (Key-value store): Lưu trữ dữ liệu dưới dạng key-value, với mỗi dữ liệu được
lưu trữ với một khóa duy nhất và giá trị tương ứng.

4. Cơ sở dữ liệu cột (Column-family database): Lưu trữ dữ liệu dưới dạng bảng, nhưng khác với cơ sở dữ
liệu quan hệ, các bảng có thể có số lượng cột khác nhau và các cột này được lưu trữ trong các dòng
(row) khác nhau.

Các loại cơ sở dữ liệu không quan hệ được sử dụng rộng rãi trong các ứng dụng web, đặc biệt là khi xử lý
các dữ liệu phi cấu trúc hoặc dữ liệu lớn.

10. Trình bày các chức năng của hệ quản trị cơ sở dữ liệu

Hệ quản trị cơ sở dữ liệu (DBMS - Database Management System) là một phần mềm được sử dụng để
quản lý cơ sở dữ liệu. Nó cung cấp các chức năng cho phép người dùng tạo, sửa đổi, truy xuất và xóa dữ
liệu trong cơ sở dữ liệu của họ. Dưới đây là một số chức năng chính của hệ quản trị cơ sở dữ liệu:

1. Quản lý dữ liệu: DBMS cung cấp các chức năng để tạo, sửa đổi và xóa dữ liệu trong cơ sở dữ liệu. Nó
cho phép người dùng tạo bảng, thêm, sửa đổi hoặc xóa bản ghi từ các bảng này.

2. Bảo mật dữ liệu: DBMS cung cấp các chức năng bảo mật dữ liệu để đảm bảo rằng chỉ những người
được ủy quyền mới có thể truy cập vào cơ sở dữ liệu. Các tính năng bảo mật như kiểm soát truy cập và
mã hóa dữ liệu giúp đảm bảo an toàn cho dữ liệu quan trọng.

3. Đảm bảo tính nhất quán của dữ liệu: DBMS đảm bảo tính nhất quán của dữ liệu bằng cách áp dụng
các ràng buộc dữ liệu. Ví dụ, một ràng buộc khóa ngoại được sử dụng để đảm bảo rằng một bản ghi
trong bảng này phải có một giá trị liên kết hợp lệ trong bảng khác.

4. Truy xuất dữ liệu: DBMS cung cấp các tính năng để truy xuất dữ liệu từ các bảng trong cơ sở dữ liệu.
Người dùng có thể tìm kiếm và lọc dữ liệu, thực hiện các câu lệnh SELECT để truy xuất dữ liệu từ các
bảng và sắp xếp, nhóm hoặc tổng hợp dữ liệu.

5. Sao lưu và phục hồi dữ liệu: DBMS cung cấp các chức năng sao lưu và phục hồi dữ liệu để đảm bảo
rằng dữ liệu của bạn được bảo vệ. Nó cho phép bạn sao lưu và khôi phục cơ sở dữ liệu của mình vào bất
kỳ thời điểm nào trong quá khứ.

6. Quản lý tương tranh: DBMS cung cấp các tính năng để quản lý tương tranh khi nhiều người sử dụng
cùng truy cập vào cơ sở dữ liệu. Nó hỗ trợ các giao thức khóa và xử lý tương tranh để đảm bảo tính nhất
quán của dữ liệu trong các tình huống này.
Tóm lại, hệ quản trị cơ sở dữ liệu là một phần mềm quan trọng giúp người dùng quản lý và bảo vệ dữ
liệu của họ. Nó cung cấp các tính năng để quản lý và truy xuất dữ liệu, đảm bảo tính nhất quán và bảo
mật của dữ liệu, sao lưu và phục hồi dữ liệu và quản lý tương tranh khi nhiều người sử dụng cùng truy
cập vào cơ sở dữ liệu.

11. Hãy giải thích mối quan hệ giữa thực thể (entity), loại thực thể (entity class) và thể hiện của thực
thể (entity instance)

Trong mô hình quan hệ thực thể-quan hệ (ER - Entity-Relationship model), các đối tượng của dữ liệu
được biểu diễn như là các thực thể (entities). Các thực thể này có thể thuộc về một loại thực thể cụ thể
(entity class) và được biểu diễn bởi các thể hiện của thực thể (entity instance).

- Thực thể (entity): là một đối tượng trong thế giới thực, có thể được phân biệt và có tính chất riêng
biệt. Trong ER, các thực thể được biểu diễn bằng các hình vuông và có tên gọi riêng. Ví dụ, trong một hệ
thống quản lý bán hàng, thực thể "khách hàng" có thể chứa thông tin về tên, địa chỉ, số điện thoại và
email của khách hàng.

- Loại thực thể (entity class): là một nhóm các thực thể có các thuộc tính chung và được đặc trưng bởi
một tập thuộc tính chung. Trong ER, các loại thực thể được biểu diễn bằng các hình vuông có đường xén
ngang ở phía trên và có tên gọi riêng. Ví dụ, trong hệ thống quản lý bán hàng, loại thực thể "sản phẩm"
có thể chứa thông tin về tên sản phẩm, mô tả, giá và số lượng.

- Thể hiện của thực thể (entity instance): là một trường hợp cụ thể của một loại thực thể trong thế giới
thực. Trong ER, các thể hiện của thực thể được đại diện bởi các hình vuông được kẻ nét và có tên gọi
riêng. Ví dụ, trong hệ thống quản lý bán hàng, một thể hiện của thực thể "khách hàng" có thể tương ứng
với thông tin chi tiết của một khách hàng cụ thể.

Vì vậy, mối quan hệ giữa thực thể, loại thực thể và thể hiện của thực thể trong ER là như sau: Một loại
thực thể là một nhóm các thực thể có các thuộc tính chung, trong khi thể hiện của thực thể là một
trường hợp cụ thể của một loại thực thể. Các thực thể được biểu diễn bởi các thể hiện của chúng và
thuộc về một loại thực thể cụ thể.

Link

- Lý thuyết chuyển đổi ERD sang MH QUAN HE : https://www.studocu.com/vn/document/truong-


dai-hoc-fpt/database/cac-buoc-chuyen-tu-mo-hinh-e-r-sang-mo-hinh-quan-he/40914373
- Đại số quan hệ: https://cuuduongthancong.com/atc/36/ngon-ngu-dai-so-quan-he----ths.-thai-
bao-tran
https://github.com/datmatrung/CoSoDuLieu/blob/master/BaiTapDaiSoQuanHe.pdf

You might also like