You are on page 1of 8

Môn: Cơ sở dữ liệu

Lớp: 202DBSY230184_02
Buổi học: Tiết 7_10 Chiều Thứ 4
Nhóm 16:
STT MSSV Họ và tên
1. 19110389 Nguyễn Hữu Thiện Nhân
2. 19110393 Phạm Nguyễn Quang Lộc
3. 19110415 Lê Nguyễn Thế Linh
4. 19110420 Lê Thị Thanh Nhi
5. 19110460 Nguyễn Thị Thu Thảo

BÀI LÀM CHƯƠNG 1


1. Define the following terms: data, database, DBMS, database system, database
catalog, program-data independence, user view, DBA, end user, canned
transaction, deductive database system, persistent object, meta-data, and
transaction-processing application.
- Data: Sự kiện đã biết có thể được ghi lại và có ý nghĩa ngầm định.
Ex: số 9, toà nhà landmart, Tp.HCM, năm 2021.
- Database: Cơ sở dữ liệu là một tập hợp các dữ liệu có liên quan với nhau
được lưu trữ trong một máy chủ cơ sở dữ liệu; những dữ liệu này sẽ được
lưu trữ dưới dạng bảng. Mục đích chính của cơ sở dữ liệu là cung cấp một
cách để lưu trữ và truy xuất thông tin cơ sở dữ liệu một cách nhanh chóng
và hiệu quả.
Ex: danh sách sinh viên trong một lớp, bảng chấm công của nhân viên,
danh sách kiểm kê hàng hoá,…
- DBMS: Một gói / hệ thống phần mềm để tạo điều kiện thuận lợi cho việc
tạo và duy trì cơ sở dữ liệu được máy tính hóa.
Ex: SQL Server, MySQL, Oracle,…
- Database catalog: Một cơ sở dữ liệu lưu trữ thông tin tự mô tả.
- Program-data independence: là tách biệt giữa chương trình và dữ liệu.
Cho phép thay đổi cấu trúc lưu trữ dữ liệu và các hoạt động mà không cần
phải thay đổi các chương trình truy cập DBMS.
- User view: Khung nhìn dữ liệu của người dùng. Cho phép người dùng có
cái nhìn riêng về database.
- DBA: Quản trị hệ thống cơ sở dữ liệu. Là người chịu trách nhiệm quản trị
và vận hành các hoạt động liên quan đến cơ sở dữ liệu như lên kế hoạch, cài
đặt, cấu hình, tối ưu, backup, security, v.v. nhằm đảm bảo hệ thống luôn
sẵn sàng cho người dùng truy cập.
- End user: Người trực tiếp thao tác vs thông tin của DB( như là truy vấn,
thay đổi, cập nhật dữ liệu...)
- Canned transaction: là một đơn vị xử lý logic trong DBMS bao gồm một
hoặc nhiều thao tác truy cập cơ sở dữ liệu.
- Deductive database system:Hệ thống Cơ sở dữ liệu suy diễn là một hệ
thống cơ sở dữ liệu có thể đưa ra các suy luận (tức là kết luận các dữ kiện
bổ sung) dựa trên các quy tắc và dữ kiện được lưu trữ trong cơ sở dữ liệu
(suy diễn).
- Persistence Object: là chỉ khái niệm đối tượng bền bỉ, tính toàn vẹn của dữ
liệu, chúng ta cần đảm bảo rằng dữ liệu vẫn có thể sống kể cả khi ứng dụng
ngưng hoạt động và có thể tải lên để xử lý tiếp khi hệ thống hoạt động trở
lại.
- Meta-data: siêu dữ liệu, thông tin lưu trữ trong catalog.Trong cơ sở dữ
liệu, metadata là các sửa đổi dạng biểu diễn khác nhau của các đối tượng
trong cơ sở dữ liệu. Trong cơ sở dữ liệu quan hệ thì metadata là các định
nghĩa của bảng, cột, cơ sở dữ liệu, view và nhiều đối tượng khác. Trong
kho dữ liệu, metadata là dạng định nghĩa dữ liệu như: bảng, cột, một báo
cáo, các luật doanh nghiệp hay những quy tắc biến đổi.
- : là một hệ thống thông tin giúp thi hành và lưu lại những giao dịch
Transaction-processing application thông thường hằng ngày cần thiết cho
hoạt động sản xuất kinh doanh.
Ex: nhập đơn đặt hàng, đặt phòng khách sạn, lập bảng lương, lưu hồ sơ
nhân viên, vận chuyển vật tư, cập nhật tài khoản ngân hàng v.v

2. Discuss the main characteristics of the database approach and how it differs
from traditional file systems.

 Trong cách tiếp cận hệ thống tệp:


Mỗi người dùng xác định và triển khai các tệp cần thiết để một ứng dụng cụ
thể chạy. Ex: trong bộ phận bán hàng của một doanh nghiệp, một người dùng sẽ duy
trì thông tin chi tiết về số lượng nhân viên bán hàng có trong bộ phận bán hàng và cấp
bậc của họ, những thông tin chi tiết này sẽ được lưu trữ và duy trì trong một tệp riêng
biệt. Một người dùng khác sẽ duy trì thông tin chi tiết về lương của nhân viên bán
hàng làm việc trong mối quan tâm, báo cáo lương chi tiết sẽ được lưu trữ và duy trì
trong một tệp riêng.
Theo đó thì dữ liệu sẽ được lưu trữ trong các tệp riêng biệt và họ cần các
chương trình khác nhau để thao tác với tệp của mình. → lãng phí không gian và dư
thừa hoặc khi sao chép dữ liệu, có thể dẫn đến nhầm lẫn, không thể chia sẻ dữ liệu
giữa những người dùng khác nhau, có thể xảy ra sự không thống nhất dữ liệu.
Các tệp này sẽ không có bất kỳ mối quan hệ nào giữa dữ liệu được lưu trữ
trong các tệp này.
→ Do đó, trong xử lý tệp truyền thống, mọi người dùng sẽ xác định các
ràng buộc của riêng họ và triển khai các tệp cần thiết cho các ứng dụng. Ứng dụng
được phát triển cho một mục đích cụ thể và chúng sẽ chỉ truy cập vào cơ sở dữ liệu cụ
thể.
Nhiều lập trình viên sẽ tạo tệp trong một thời gian dài và các tệp khác nhau
có định dạng khác nhau, bằng các ngôn ngữ ứng dụng khác nhau.
→ Có khả năng thông tin bị trùng lặp, sự dư thừa này được lưu trữ cùng
một dữ liệu nhiều lần dẫn đến chi phí cao hơn và lãng phí không gian. Điều này có thể
dẫn đến sự mâu thuẫn dữ liệu trong ứng dụng, điều này là do quá trình cập nhật chỉ
được thực hiện đối với một số tệp chứ không phải tất cả các tệp.
Nếu bất kỳ thay đổi nào được thực hiện đối với cấu trúc của tệp nếu sẽ ảnh
hưởng đến tất cả các chương trình, vì vậy các thay đổi đối với cấu trúc của tệp có thể
yêu cầu thay đổi tất cả các chương trình truy cập tệp.
Các hệ thống truyền thống gặp phải vấn đề không khớp và khó truy cập dữ
liệu, điều này có thể khắc phục được trong hệ thống cơ sở dữ liệu hướng đối tượng
của cách tiếp cận database.
 Trong cách tiếp database:
Là một kho dữ liệu duy nhất được duy trì được xác định một lần và sau đó
được nhiều người dùng truy cập.
Phương pháp tiếp cận database là database system không chỉ chứa dữ liệu
mà nó còn chứa định nghĩa hoặc mô tả đầy đủ về cấu trúc cơ sở dữ liệu và các ràng buộc.
Các định nghĩa này được lưu trữ trong một danh mục hệ thống, chứa thông tin về cấu trúc
và các định nghĩa của database. Thông tin được lưu trữ trong danh mục được gọi là siêu
dữ liệu, nó mô tả cơ sở dữ liệu chính.
→ Cách tiếp cận này sẽ hoạt động trên bất kỳ loại cơ sở dữ liệu nào. Ex: Cơ
sở dữ liệu bảo hiểm, Hãng hàng không, cơ sở dữ liệu ngân hàng, cơ sở dữ liệu trường
học, tiền điện, hộ dân.
Nó sẽ cho phép nhiều người dùng truy cập cơ sở dữ liệu cùng một lúc và có
thể chia sẻ dữ liệu.
Nhiều khung nhìn có thể được tạo ra. Dạng xem là một biểu diễn thông tin
được điều chỉnh phù hợp có trong một hoặc nhiều bảng. Dạng xem còn được gọi là
“Bảng ảo” vì dạng xem không chứa các bản ghi được lưu trữ vật lý và sẽ không chiếm
bất kỳ không gian nào.
Cấu trúc của database được lưu trữ riêng biệt trong danh mục hệ thống khỏi
sự truy cập của các chương trình ứng dụng. Thuộc tính này được gọi là Program-data
independence.
Database có thể được sử dụng để cung cấp lưu trữ liên tục cho các đối
tượng chương trình và cấu trúc dữ liệu dẫn đến cách tiếp cận cơ sở dữ liệu hướng đối
tượng. Có thể được sử dụng để biểu thị các mối quan hệ phức tạp giữa các dữ liệu cũng
như để truy xuất và cập nhật dữ liệu liên quan một cách dễ dàng và hiệu quả.
Xác định và thực thi các ràng buộc toàn vẹn cho dữ liệu được lưu trữ trong
cơ sở dữ liệu. Cơ sở dữ liệu cũng cung cấp các phương tiện để phục hồi các lỗi phần cứng
và phần mềm. Hệ thống con sao lưu và phục hồi chịu trách nhiệm khôi phục. Nó làm
giảm đáng kể thời gian phát triển ứng dụng khi so sánh với cách tiếp cận hệ thống tệp và
tính sẵn có của thông tin cập nhật của tất cả người dùng. Nó cũng cung cấp bảo mật cho
dữ liệu được lưu trữ trong hệ thống cơ sở dữ liệu.

3. What are the responsibilities of the DBA and the database designers?
 Trách nhiệm của DBA: là người chịu trách nhiệm quản trị và vận hành các
hoạt động liên quan đến cơ sở dữ liệu như lên kế hoạch, cài đặt, cấu hình, tối
ưu, backup, security, v.v. nhằm đảm bảo hệ thống luôn sẵn sàng cho người
dùng truy cập.
- Họ cần đảm bảo rằng có đủ CPU, đĩa, bộ nhớ và băng thông mạng, các
bản sao lưu thích hợp đang được thực hiện (và kiểm tra định kỳ). Họ
nên giám sát tải của hệ thống và cho các nhà phát triển / nhà thiết kế biết
khi nào hệ thống đang bị vượt quá.
- Cài đặt và nâng cấp máy chủ DBMS và các công cụ ứng dụng.
- Phân bổ hệ thống lưu trữ và lập kế hoạch các yêu cầu lưu trữ trong
tương lai cho hệ thống cơ sở dữ liệu.
- Tạo cấu trúc lưu trữ cơ sở dữ liệu chính (không gian bảng) sau khi các
nhà phát triển ứng dụng đã thiết kế một ứng dụng.
- Tạo các đối tượng chính (bảng, dạng xem, chỉ mục) sau khi các nhà phát
triển ứng dụng đã thiết kế một ứng dụng.
- Sửa đổi cấu trúc cơ sở dữ liệu, nếu cần, từ thông tin do các nhà phát
triển ứng dụng cung cấp.
- Đăng ký người dùng và duy trì bảo mật hệ thống.
- Đảm bảo tuân thủ thỏa thuận cấp phép DBMS
- Kiểm soát và giám sát quyền truy cập của người dùng vào cơ sở dữ liệu.
- Giám sát và tối ưu hóa hiệu suất của cơ sở dữ liệu.
- Lập kế hoạch sao lưu và phục hồi thông tin cơ sở dữ liệu
- Duy trì dữ liệu lưu trữ trên băng.
- Sao lưu và khôi phục cơ sở dữ liệu.
- Liên hệ với nhà thiết kế database để được hỗ trợ kỹ thuật.
 Trách nhiệm của database designers: Người thiết kế cơ sở dữ liệu, thiết kế,
kiểm tra và triển khai cơ sở dữ liệu ứng dụng kiến thức về hệ quản trị cơ sở dữ
liệu, bảo vệ và bảo mật cơ sở dữ liệu.
- Các nhà thiết kế / phát triển cơ sở dữ liệu làm việc với người dùng cuối
để đảm bảo rằng cơ sở dữ liệu chứa tất cả thông tin mà người dùng cần.
Họ cũng cần thiết kế các bảng và chỉ mục vật lý để đảm bảo rằng các
truy vấn thực thi nhanh nhất theo yêu cầu. Họ cho DBA biết họ cần bao
nhiêu không gian để bắt đầu và các bảng / chỉ mục dự kiến sẽ phát triển
nhanh như thế nào.
- Nếu các truy vấn (màn hình và báo cáo) chạy không đủ nhanh, các nhà
thiết kế. Nhà phát triển cần kiểm tra các tắc nghẽn trong mã của họ và
DBA cần kiểm tra các tắc nghẽn trong bộ nhớ, I / O hoặc mạng. Các nhà
thiết kế có thể cần tạo chỉ mục mới hoặc thêm thống kê vào cơ sở dữ
liệu để truy vấn thực thi nhanh hơn - những đối tượng này sẽ cần không
gian từ DBA’s và có thể thay đổi định nghĩa bảng để tạo / cập nhật
thống kê.
- Cung cấp một biểu diễn logic của các đối tượng / bảng, các mối quan hệ
của thực thể và cung cấp thông tin chi tiết về cách chúng tương tác với
nhau. Cung cấp ảnh chụp nhanh về cách cơ sở dữ liệu của bạn được
thiết kế và cách nó trình bày trường hợp kinh doanh Cơ sở dữ liệu đang
giữ biểu diễn logic này ở định dạng vật lý. Có trách nhiệm giữ dữ liệu,
cung cấp hiệu suất nhất quán, quyền truy cập dựa trên vai trò, bảo mật
và nhiều thứ khác.

4. What are the different types of database end users? Discuss the main
activities of each.
Người dùng cuối về cơ bản là những người có công việc yêu cầu quyền truy
cập vào cơ sở dữ liệu để truy vấn, cập nhật và tạo báo cáo. Cơ sở dữ liệu chủ yếu tồn tại
để sử dụng. Có 4 loại như sau:
 Casual End Users: Người dùng cuối thông thường
Đây là những người dùng thỉnh thoảng truy cập cơ sở dữ liệu nhưng họ yêu
cầu thông tin khác nhau mỗi lần. Họ sử dụng một ngôn ngữ truy vấn cơ sở dữ liệu phức
tạp về cơ bản để chỉ định yêu cầu của họ và thường là người quản lý cấp trung hoặc cấp
hoặc các trình duyệt không thường xuyên khác. Những người dùng này biết được rất ít cơ
sở vật chất mà họ có thể sử dụng lặp đi lặp lại từ nhiều cơ sở vật chất do DBMS cung cấp
để truy cập nó.
 Naive or parametric end users: Người dùng cuối tham số
Đây là những người dùng về cơ bản tạo nên một phần đáng kể người dùng cuối cơ
sở dữ liệu. Chức năng công việc chính về cơ bản xoay quanh việc liên tục truy vấn và cập nhật
cơ sở dữ liệu. Về cơ bản, họ sử dụng một loại truy vấn tiêu chuẩn được gọi là giao dịch đóng hộp
đã được lập trình và thử nghiệm. Những người dùng này cần phải tìm hiểu rất ít về các cơ sở
được cung cấp bởi DBMS mà họ có về cơ bản để hiểu các giao diện của người dùng của giao
dịch tiêu chuẩn được thiết kế và triển khai cho mục đích sử dụng của họ. Người dùng cuối Naive
về cơ bản thực hiện các tác vụ sau:
- Người đang làm việc trong ngân hàng sẽ cho chúng ta biết cơ bản số dư tài khoản
và sau khi rút và gửi tiền.
- Nhân viên đặt chỗ của các hãng hàng không, đường sắt, khách sạn và các công ty
cho thuê ô tô về cơ bản kiểm tra tình trạng sẵn có cho một yêu cầu nhất định và
thực hiện đặt chỗ.
- Nhân viên đang làm việc tại đầu tiếp nhận cho các công ty vận chuyển nhập gói
hàng được xác định thông qua mã vạch và thông tin mô tả thông qua các nút để
cập nhật cơ sở dữ liệu trung tâm về các gói hàng đã nhận và đang vận chuyển.
 Sophisticated end users: Người dùng cuối tinh vi
Những người dùng này về cơ bản bao gồm các kỹ sư, nhà khoa học, nhà phân tích
kinh doanh và những người khác đã hoàn toàn làm quen với các cơ sở của DBMS để triển khai
ứng dụng của họ nhằm đáp ứng yêu cầu phức tạp của họ. Những người dùng này cố gắng tìm
hiểu hầu hết các cơ sở DBMS để đạt được các yêu cầu phức tạp của họ.
 Standalone users: Người dùng độc lập
Đây là những người dùng có công việc về cơ bản là duy trì cơ sở dữ liệu cá nhân
bằng cách sử dụng gói chương trình tạo sẵn cung cấp các giao diện dựa trên menu hoặc
dựa trên đồ họa dễ sử dụng. Ex: người dùng gói thuế về cơ bản lưu trữ nhiều loại cá nhân
dữ liệu tài chính của các mục đích thuế. Những người dùng này trở nên rất thành thạo
trong việc sử dụng một gói phần mềm cụ thể.

5. Consider Figure 1.2.


a. If the name of the ‘CS’ (Computer Science) Department changes to ‘CSSE’
(Computer Science and Software Engineering) Department and the corresponding
prefix for the course number also changes, identify the columns in the database that
would need to be updated.
b. Can you restructure the columns in the COURSE, SECTION, and
PREREQUISITE tables so that only one column will need to be updated?
a. identify the columns in the database that would need to be updated.

Major ở bảng STUDENT;


Course_number, Department ở bảng COURSE;
Course_number ở bảng SECTION;
Prerequisite_number, Course_number ở bảng PREREQUITITE
b.
Trong bảng Course:
- Chuyển tên cột Course_number thành Course_ID. Chuyển nội dung của cột
Course_number thành mã khoá học không có tiền tố là mã khoa.

Trong bảng Section: Chuyển tên cột và dữ liệu của bảng Course_number thành cột
Course_ID. Khi đó mã khoa trong bảng Course sẽ tham chiếu đến bảng Section
thông qua Course_ID.

Trong bảng PrereQuisite: Chuyển tên cột và dữ liệu của bảng Course_number
thành cột Course_ID. Khi đó mã khoa trong bảng Course sẽ tham chiếu đến bảng
Section PrereQuisite thông qua Course_ID. Sau đó nội dung trong cột
Prerequisite_number ta bỏ các tiền tố có liên quan đến mã khoa và đặt lại mã cho
prerequisite.
→ Như vậy khi thay đổi mã khoa ta chỉ cần thay đổi mã khoa trong cột
Department của bảng Course là được.

You might also like