8 - Ràng buộc toàn vẹn thuộc tính tổng hợp: là ràng buộc toàn vẹn giữa một thuộc tính của quan hệ R được tính toán từ các thuộc tính của các quan hệ khác.. TT Nội dung các ý cần trình bà
Trang 1TÀI LIỆU VÀ CÂU HỎI KIỂM TRA, SÁT HẠCH
KIẾN THỨC CHUYÊN NGÀNH Tuyển dụng vị trí: Làm công tác Công nghệ thông tin trình độ đại học
I TÀI LIỆU BIÊN SOẠN
1 Bảo mật và quản trị mạng, Nguyễn Thanh Quang, Nhà xuất bản Vănhóa thông tin, 2012
2 Thủ thuật quản trị mạng Windows 2000, Phạm Hồng Tài, Nhà xuấtbản Thống kê, 2010
3 Giáo trình bảo mật thông tin , Đặng Trường Sơn, Trường Đại học Côngnghệ - Đại học Quốc gia Hà Nội, 2013
4 Sử dụng và khắc phục các lỗi thường gặp trong Windows server 2003,Phan Thanh Nam, Nhà xuất bản Thống Kê, 2005
5 Giáo trình cơ sở dữ liệu quan hệ - Lý thuyết và bài tập, Lương XuânHồng, Nguyễn Hữu Bình, Nhà xuất bản Thống kê, 2000
6 Cấu trúc máy vi tính và các thiết bị ngoại vi, Nguyễn Nam Trung, Nhàxuất bản Khoa học và kỹ thuật, 2012
7 Giáo trình lý thuyết và bài tập ngôn ngữ C, Nguyễn Đình Tê - HoàngĐức Hải, Nhà xuất bản Giáo dục, 1999
8 Giáo trình C++ lập trình hướng đối tượng lý thuyết và bài tập, NguyễnTiến - Đặng Xuân Hường (biên dịch), Nhà xuất bản Thống kê, 2002
9 Nhập môn cơ sở dữ liệu, Hồ Cẩm Hà (chủ biên), Nhà xuất bản Đại học
sư phạm, 2005
10 Cấu trúc dữ liệu và giải thuật, Đỗ Xuân Lôi, Nhà xuất bản Đại họcquốc gia Hà Nội, 2004
II CÂU HỎI VÀ ĐÁP ÁN
Câu hỏi số 1 Anh (chị) hãy cho biết “Ràng buộc toàn vẹn” là gì? Kể tên
và giải thích các loại ràng buộc toàn vẹn?
Đáp án:
1 Ràng buộc toàn vẹn là điều kiện mà mọi thuộc tính hay mọi
bộ đều phải thỏa mãn ở bất kỳ thời điểm nào
8
Trang 22 Có các ràng buộc toàn vẹn:
- Ràng buộc toàn vẹn về miền giá trị: là ràng buộc liên quan
đến miền giá trị của các thuộc tính
8
- Ràng buộc toàn vẹn liên thuộc tính: là ràng buộc toàn vẹn
giữa các thuộc tính trong cùng một lược đồ quan hệ
8
- Ràng buộc toàn vẹn liên bộ: là ràng buộc toàn vẹn giữa các
bộ trong một lược đồ quan hệ, phổ biến là ràng buộc toàn vẹn
về khóa chính
8
- Ràng buộc toàn vẹn về phụ thuộc tồn tại (ràng buộc toàn
vẹn về khóa ngoại)
K là khóa ngoại của lược đồ quan hệ R khi K là khóa chính
của một lược đồ quan hệ R’ nào đó Do đó, khi cập nhật dữ
liệu của thuộc tính này trong quan hệ R cần kiểm tra xem nó
đã tồn tại trong R’ chưa
9
- Ràng buộc toàn vẹn liên thuộc tính liên quan hệ: Là ràng
buộc toàn vẹn các thuộc tính của quan hệ này với các thuộc
tính của quan hệ khác
8
- Ràng buộc toàn vẹn liên bộ, liên quan hệ: là ràng buộc
toàn vẹn giữa các nhóm các bộ trong các quan hệ khác nhau
8
- Ràng buộc toàn vẹn thuộc tính tổng hợp: là ràng buộc
toàn vẹn giữa một thuộc tính của quan hệ R được tính toán từ
các thuộc tính của các quan hệ khác
8
Câu hỏi số 2 Anh (chị) hãy nêu các khái niệm sau đây trong lập trình
hướng đối tượng?
Trang 3TT Nội dung các ý cần trình bày/thực hiện Điểm
1 Đối tượng là một thực thể có các tính chất (gọi là thuộc tính)
3 Tính kế thừa: là tính chất cho phép dùng lại một lớp hiện có
để xây dựng một lớp mới, khi đó lớp hiện có gọi là lớp cơ sở
(hay gọi là lớp cha), lớp mới gọi là lớp dẫn xuất (hay gọi là
lớp con)
15
4 Tính đa hình: là khả năng cho phép mô tả các phương thức
có tên giống nhau trong các lớp khác nhau
1 Bộ xử lý yêu cầu (Query processor): là một thành phần chính
của hệ quản trị cơ sở dữ liệu với nhiệm vụ dịch các câu lệnh
trong ngôn ngữ truy vấn thành các câu lệnh ở mức thấp để
chuyển cho bộ quản lý cơ sở dữ liệu
13
2 Bộ quản lý cơ sở dữ liệu: giao tiếp với các chương trình ứng
dụng của người dùng và các câu lệnh truy vấn
13
3 Bộ tiền xử lý ngôn ngữ thao tác dữ liệu (DML preprocessor):
chuyển các câu lệnh thao tác dữ liệu nhúng trong một chương
trình ứng dụng thành các lời gọi thủ tục chuẩn trong ngôn
ngữ chủ
13
4 Bộ biên dịch ngôn ngữ định nghĩa dữ liệu (DDL complier):
chuyển các câu lệnh định nghĩa dữ liệu thành một tập các
bảng chứa siêu dữ liệu Các bảng này được lưu trữ trong hệ
13
Trang 4thống từ điển dữ liệu
5 Bộ quản lý từ điển dữ liệu: quản lý các truy cập đến từ điển
dữ liệu và bảo trì hệ thống từ điển dữ liệu
1 Cung cấp cho người dùng khả năng lưu trữ, truy xuất và cập
nhật dữ liệu
6
2 Cung cấp cho người dùng một từ điển dữ liệu (catalog), đó là
các mô tả về dữ liệu được lưu trữ và người dùng truy cập
được vào từ điển dữ liệu này
10
3 Hỗ trợ các giao tác (transaction) bằng cách cung cấp một cơ
chế đảm bảo rằng hoặc tất cả các cập nhật trong một giao tác
làm việc được thực hiện hoặc không thao tác cập nhật nào
trong giao tác này được thực hiện để đảm bảo tính nhất quán
dữ liệu
10
4 Cung cấp các dịch vụ điều khiển tương tranh để đảm bảo tính
nhất quán dữ liệu khi có nhiều phiên làm việc với cơ sở dữ
liệu, có nhiều người đồng thời truy cập vào cơ sở dữ liệu đặc
biệt là những truy cập làm thay đổi thông tin lưu trong đó
10
5 Cung cấp một cơ chế để khôi phục dữ liệu khi xảy ra một sự
cố làm hỏng cơ sở dữ liệu theo một kiểu nào đó
8
6 Cung cấp dịch vụ bản quyền, có nghĩa là có một cơ chế để
đảm bảo chỉ những người có quyền mới được truy cập cơ sở
dữ liệu
8
7 Hỗ trợ cho truyền thông dữ liệu, tức là có khả năng tích hợp
được với các phần mềm truyền thông
8
8 Cung cấp các dịch vụ đảm bảo tính toàn vẹn dữ liệu 5
Trang 5Câu hỏi số 5 Anh (chị) hãy cho biết những ứng dụng trong việc quản lý cơ
sở dữ liệu trên Linux; đồng thời nêu rõ từng cơ sở dữ liệu đó?
Đáp án:
T
T
Nội dung các ý cần trình bày/thực hiện Điểm
1 Ứng dụng trong việc quản lý cơ sở dữ liệu trên Linux
Những hệ thống quản lý cơ sở dữ liệu được sử dụng trong hệ
điều hành Linux rất đa dạng, nó gồm những hệ thống quản lý cơ
sở dữ liệu mức rất mạnh và được thiết kế hỗ trợ cho những cơ
sở dữ liệu có quan hệ lớn như Oracle, Sybase, và DB2 của hãng
IBM… Red Hat cũng đã cung cấp cho Linux những hệ thống
quản lý cơ sở dữ liệu lớn như MySQL và PostgreSQL
15
Tuy nhiên ngoài những hệ thống quản lý cơ sở dữ liệu ở mức
lớn, Linux còn được cung cấp những hệ thống quản lý dữ liệu
vừa và nhỏ như KDE và GNOME Ngoài ra Linux còn cung
được cung cấp những phần mềm sẵn sàng cho những cơ sở dữ
liệu truy nhập với ngôn ngữ lập trình như Xbase
10
2 Các loại cơ sở dữ liệu trong Linux
- Oracle: là phiên bản của hệ thống quản lý cơ sở dữ liệu
Oracle9i Nó có đầy đủ những chức năng mà Oracle9i có, là một
cơ sở dữ liệu chuyên nghiệp sử dụng cho những cơ sở dữ liệu
lớn chuyên dùng cho việc kinh doanh điện tử internet
8
- Sybase: là hệ thống cơ sở dữ liệu được ứng dụng phục vụ cho
việc quản lý những cơ sở dữ liệu ở các xí nghiệp, công ty vừa và
nhỏ
5
- DB2: là hệ thống quản lý cơ sở dữ liệu được cung cấp bởi
hãng máy tính nổi tiếng IBM DB2 là hệ thống quản lý cơ sở dữ
liệu mang tính phổ thông trong hệ thống của Linux nó bao gồm
tính hoạt động internet cùng với sự bổ trợ cho Java và Perl
Ngoài ra DB2 còn có tính biến đổi được để mở rộng cơ sở dữ
liệu một cách dễ dàng
11
- MySQL: là hệ thống do Red Hat phát triển, là sản phẩm nguồn
mở sẵn sàng tự do dưới giấy phép GPL Nó là một hệ thống
quản lý cơ sở dữ liệu nhanh cho những cơ sở dữ liệu lớn, đáng
tin cậy có thể sử dụng với cường độ cao
8
- PostgreSQL: cũng là một hệ thống quản lý cơ sở dữ liệu do
Red Hat cung cấp Nó được sử dụng để cung cấp cho cơ sở dữ
liệu hỗ trợ cho những dịch vụ nghiêng về internet và hệ thống
mạng Ưu điểm của hệ thống này là thao tác sử dụng đơn giản
8
Trang 6Câu hỏi số 6 Anh (chị) hãy cho biết trong thiết kế cơ sở dữ liệu, chuẩn
hóa dữ liệu là gì? Trình bày các dạng chuẩn của lược đồ quan hệ?
Đáp án:
1 Chuẩn hóa dữ liệu: Là quá trình phân rã các quan hệ không
bình thường thành các quan hệ có cấu trúc tốt nhỏ hơn và
không làm mất mất thông tin, tránh sự trùng lắp và dị thường
dữ liệu
13
2 Các dạng chuẩn của lược đồ quan hệ:
- Dạng chuẩn 1 (First Normal Form - 1NF): Một lược đồ
quan hệ R được gọi là đạt dạng chuẩn 1 (1NF) nếu và chỉ nếu
miền giá trị của các thuộc tính trong R đều chỉ chứa các giá
trị nguyên tố (hay còn gọi là giá trị đơn)
13
- Dạng chuẩn 2 (Second Normal Form -2NF): Lược đồ quan
hệ R được gọi là đạt dạng chuẩn 2 nếu nó đạt dạng chuẩn 1
và mọi thuộc tính không khóa của R đều phụ thuộc hàm đầy
đủ vào khóa
13
- Dạng chuẩn 3 (Third Normal Form- 3NF): Một lược đồ
quan hệ R đạt dạng chuẩn 3 nếu nó là 2NF và mỗi thuộc tính
không khóa của R không phụ thuộc bắt cầu vào khóa của R
13
- Dạng chuẩn BCNF (Boyce-Codd Normal Form): Lược đồ
quan hệ R đạt chuẩn BCNF khi:
+ R đạt 1 NF
+ Vế trái của tất cả các phụ thuộc hàm đều là siêu khóa
13
Câu hỏi số 7 Anh (chị) hãy giải thích các thành phần và hoạt động của
các cú pháp sau đây (được viết trong ngôn ngữ lập trình C)?
Trang 7Đáp án:
1 Cú pháp 1:
- Các thành phần:
+ if, else là các từ khóa
+ biểu thức: là biểu thức logic, có giá trị đúng (1) hoặc sai (0)
+ Lệnh 1, lệnh 2: là câu lệnh thực hiện công việc nào đó, có
thể 1 lệnh hoặc nhiều lệnh
15
- Hoạt động: Kiểm tra giá trị của biểu thức, nếu biểu thức có
giá trị 1 thì thực hiện Lệnh 1, nếu biểu thức có giá trị 0 thì
thực hiện Lệnh 2
15
2 Cú pháp 2:
- Các thành phần:
+ do, while: là các từ khóa
+ biểu thức: là biểu thức logic, có giá trị đúng (1) hoặc sai (0)
+ Lệnh: là câu lệnh thực hiện công việc nào đó, có thể 1 lệnh
hoặc nhiều lệnh
15
- Hoạt động: thực hiện Lệnh trong thân do… while, sau đó
kiểm tra giá trị của biểu thức sau từ khóa while, nếu biểu
thức có giá trị 1 thì lặp lại việc thực hiện Lệnh trong thân
vòng lặp, nếu biểu thức có giá trị 0 thì kết thúc vòng lặp và
thực hiện lệnh sau while
20
Câu hỏi số 8 Anh (chị) hãy giải thích các thành phần và hoạt động của
các cú pháp sau đây (được viết trong ngôn ngữ lập trình C)?
break;
default: Lệnh;
Trang 8+ switch, case, default, break: là các từ khóa
+ biểu thức: là biểu thức có kết quả thuộc kiểu nguyên
+ n1, n2, … nk: là các giá trị thuộc kiểu nguyên
+ Lệnh, Lệnh 1, lệnh 2, lệnh k: là câu lệnh thực hiện công
việc nào đó, có thể 1 lệnh hoặc nhiều lệnh
15
- Hoạt động: xác định giá trị của biểu thức, kiểm tra giá trị
của biểu thức bằng giá trị ni nào (i=1,…,k) thì nhảy tới thực
hiện Lệnh tương ứng sau case ni và thoát, trong trường hợp
giá trị của biểu thức không bằng giá trị ni nào thì nhảy tới
thực hiện lệnh sau nhãn default (nếu có), còn không thì thoát
khỏi thân switch
20
2 Cú pháp 2:
- Các thành phần:
+ while: là từ khóa
+ biểu thức: là biểu thức logic, có giá trị đúng (1) hoặc sai (0)
+ Lệnh: là câu lệnh thực hiện công việc nào đó, có thể 1 lệnh
hoặc nhiều lệnh
15
- Hoạt động: nếu giá trị của biểu thức là 0 thì thoát khỏi vòng
lặp, nếu giá trị của biểu thức là 1 thì thực hiện Lệnh trong
thân while và quay lại kiểm tra biểu thức
15
Câu hỏi số 9 Anh (chị) hãy cho biết "cấu trúc dữ liệu" là gì? Phân biệt
các cấu trúc dữ liệu sau: mảng, danh sách, danh sách tuyến tính, ngăn xếp(stack), hàng đợi (queue)?
Đáp án:
1 Cấu trúc dữ liệu là 1 sự quy định về miền giá trị và các phép
Trang 9được thực hiện đối với mảng.
3 Danh sách: là một tập có thứ tự nhưng bao gồm một số biến
động các phần tử thuộc kiểu nào đó Phép bổ sung và loại bỏ
một phần tử là phép thường xuyên tác động lên danh sách
11
4 Danh sách tuyến tính: là danh sách mà các phần tử được
sắp xếp liên tiếp nhau trong bộ nhớ
11
5 Ngăn xếp (stack): là một kiểu danh sách tuyến tính đặc biệt
mà phép bổ sung và loại bỏ luôn luôn thực hiện ở một đầu
gọi là đỉnh
11
6 Hàng đợi (queue): là kiểu danh sách tuyến tính mà phép bổ
sung được thực hiện ở một đầu (gọi là lối sau) và phép loại
bỏ được thực hiện ở một đầu khác (gọi là lối trước)
11
Câu hỏi số 10 Anh (chị) hãy cho biết khái niệm tiến trình và tiểu trình.
Các trạng thái của tiến trình Cấu trúc dữ liệu của khối quản lý tiến trình?
Đáp án:
T
T
Nội dung các ý cần trình bày/thực hiện Điểm
1 Khái niệm tiến trình, tiểu trình
- Tiến trình (Process):
+ Tiến trình là chương trình đang thực hiện Mỗi tiến trình có
một tài nguyên và môi trường riêng Các tiến trình hoàn toàn
độc lập với nhau, có thể liên lạc với nhau thông qua cơ chế
truyền tin giữa các tiến trình
+ Tiểu trình là một đơn vị cơ bản của hệ thống Một tiểu trình
cũng có thể tạo lập một tiến trình con
5
+ Một tiến trình có thể sở hữu nhiều tiểu trình 5
Trang 10+ Các tiểu trình trong cùng một tiến trình có thể chia sẻ một
không gian địa chỉ hoặc truy xuất đến một Stack cùng nhau
5
2 Các trạng thái của tiến trình
- Blocked: Tiến trình bị chặn, không thể tiếp tục 2
- Ready: Tiến trình đang sẵn sang, chờ cấp CPU để xử lý 2
- Kết thúc: Tiến trình đã hoàn tất xử lý 2
3 Cấu trúc dữ liệu của khối quản lý tiến trình 30
HĐH quản lý các tiến trình thông qua khối quản lý tiến trình
(Process Control Block - PCB) Thành phần chủ yếu của PCB
bao gồm:
- Định dạng của tiến trình: Phân biệt các tiến trình 5
- Trạng thái tiến trình: Xác định hoạt động hiện hành của tiến
trình
5
- Ngữ cảnh của tiến trình: Mô tả các tài nguyên tiến trình đang
trong quá trình hoặc để phục vụ cho hoạt động hiện tại hoặc để
làm cơ sở phục hồi hoạt động cho tiến trình, bao gồm các thông
tin (Trạng thái CPU; Bộ xử lý; Bộ nhớ chính; Tài nguyên sử
dụng; Tài nguyên tạo lập)
5
- Thông tin giao tiếp: Phản ánh các thông tin về quan hệ của tiến
trình với các tiến trình khác trong hệ thống:
+ Tiến trình cha: Tiến trình tạo lập tiến trình này+ Tiến trình con: Các tiến trình do tiến trình này tạo lập+ Độ ưu tiên: Giúp bộ điều phối có thông tin để lựachọn tiến trình được cấp CPU
5
- Thông tin thống kê: Là những thông tin thống kê về hoạt động
của tiến trình như thời gian đã sử dụng CPU, thời gian chờ…
Các thông tin này sẽ đánh giá tình hình hệ thống và dự đoán các
tình huống tương lai
10
Trang 11Câu hỏi số 11 Anh (chị) hãy cho biết kỹ thuật phân vùng cố định và
phân vùng động, nêu rõ ưu nhược điểm của từng kỹ thuật Nêu cơ chế quản lý
bộ nhớ?
Đáp án:
T
T
Nội dung các ý cần trình bày/thực hiện Điểm
1 Kỹ thuật phân vùng cố định và phân vùng động.
Phân vùng cố định: Bộ nhớ được chia thành n phần, kích thước
các phần không nhất thiết phải bằng nhau, mỗi phần sử dụng
một bộ nhớ độc lập Mỗi phần có thể nạp một chương trình và tổ
chức thực hiện đồng thời Vì mỗi phần được coi là một bộ nhớ
độc lập, nên các chương trình sẽ có một danh sách quản lý
không gian nhớ tự do riêng Chương trình được nạp vào phần
nào thì sẽ ở đó cho đến khi kết thúc
20
- Ưu điểm: Đơn giản, dễ tổ chức, giảm thời gian tìm kiếm 5
- Nhược điểm: lãng phí bộ nhớ và xảy ra hiện tượng phân mảnh
nội vi
5
Phân vùng động: Bộ nhớ có một bảng quản lý không gian nhớ
tự do thống nhất Khi thực hiện chương trình, hệ thống dựa vào
kích thước chương trình để phân bổ không gian nhớ thích hợp
tạo thành một vùng nhớ độc lập và tạo bảng quản lý riêng Khi
các chương trình kết thúc, bộ nhớ dành cho chương trình sẽ bị
thu hồi
15
- Ưu điểm: Tận dụng được không gian nhớ tự do 5
- Nhược điểm: Không gây ra hiện tượng phân mảnh nội vi
nhưng lại xuất hiện phân mảnh ngoại vi
5
2 Cơ chế quản lý bộ nhớ: HĐH chia không gian nhớ thành các
khối nhớ bằng nhau (block) và quản lý theo danh sách liên kết
hoặc quản lý bằng bảng các bit
10
Câu hỏi số 12 Anh (chị) hãy cho biết khái niệm cơ sở dữ liệu, hệ quản trị
cơ sở dữ liệu? Cho một ví dụ minh họa về cơ sở dữ liệu Nêu tên một số hệ quảntrị cơ sở dữ liệu Nêu sự khác biệt cơ bản giữa cơ sở dữ liệu và dữ liệu thôngthường?
Đáp án:
Trang 12T
Nội dung các ý cần trình bày/thực hiện Điểm
1 Cơ sở dữ liệu (tiếng Anh là database) đơn giản chỉ là một tập
hợp các thông tin được tổ chức theo một cấu trúc nhất định giúp
máy tính có thể dễ dàng đọc thông tin, chỉnh sửa, thêm hoặc xóa
Hệ quản trị cơ sở dữ liệu khi lưu trữ cơ sở dữ liệu cần đảm bảo
được được tính cấu trúc trong cơ sở dữ liệu và ngoài ra cần phải
hỗ trợ việc đọc, chỉnh sửa, thêm và xóa dữ liệu trên cơ sở dữ
liệu một cách dễ dàng
10
3 Ví dụ về một cơ sở dữ liệu đơn giản: Một danh sách sinh viên
của một trường với 5 trường dữ liệu là họ và tên sinh viên, năm
sinh, mã số sinh viên, lớp học và khóa học được coi là một cơ
sở dữ liệu
Chú ý: Thí sinh có thể nêu rất nhiều những ví dụ khác nhau về
CSDL, nếu đúng vẫn đạt điểm tối đa.
10
4 Một số hệ quản trị cơ sở dữ liệu: FoxPro, Microsoft Access,
Microsoft SQL Server, MySQL, Oracle,
10
5 Sự khác biệt cơ bản giữa cơ sở dữ liệu và dữ liệu: Sự khác
biệt cơ bản giữa cơ sở dữ liệu và dữ liệu thông thường đó là tính
cấu trúc sắp xếp có hệ thống Một tập hợp dữ liệu không có cấu
trúc hệ thống nhất định không được coi là một cơ sở dữ liệu
15
Câu hỏi số 13 Anh (chị) hãy cho biết khái niệm SQL; nêu tên một số
lệnh cơ bản trong SQL và chức năng của chúng?
Đáp án:
T
T
Nội dung các ý cần trình bày/thực hiện Điểm
1 Khái niệm SQL: là thuật ngữ viết tắt của Structured Query
Language, là ngôn ngữ truy vấn mang tính cấu trúc Nó được thiết
kế để quản lý dữ liệu trong một hệ thống quản lý cơ sở dữ liệu
quan hệ (RDBMS)
10