Câu hỏi: CSI106 - Phần 9: Cơ sở dữ liệu
30 câu trắc nghiệm kèm lời giải của môn Introduction to Computer Science - CSI106, xếp theo thứ tự nhập vào ngân hàng.
Danh sách câu hỏi
20/30 câuCòn 10
A20
B25
C15
D9
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "20". Một quan hệ trong mô hình dữ liệu quan hệ là một bảng chữ nhật: mỗi dòng là một bản ghi, mỗi cột là một thuộc tính, và mỗi ô giao giữa một dòng với một cột chứa đúng một giá trị. Vậy số giá trị được lưu bằng số dòng nhân số cột, tức 5 nhân 4 bằng 20. Con số "25" là kết quả của 5 nhân 5, tức đã lấy số dòng thay cho số cột. Con số "15" ứng với 5 nhân 3, tức đếm thiếu một cột. Con số "9" là 5 cộng 4, tức đã cộng hai chiều của bảng thay vì nhân; phép cộng không đếm được số ô vì mỗi dòng đều trải hết bốn cột.
ACPU, Memory, I/O devices, Network, Operating System
BHardware, Software, Data, Users, and Procedures
CApplication programs, End users, Database administrators, Data analysts, and System architects
DTables, Rows, Columns, Keys, and Indexes
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Hardware, Software, Data, Users, and Procedures". Một hệ quản trị cơ sở dữ liệu không chỉ là phần mềm mà là một hệ thống gồm thiết bị lưu trữ và xử lý, phần mềm quản trị, bản thân dữ liệu, con người khai thác hoặc quản trị, cùng các thủ tục quy định cách dùng và cách sao lưu. Nhóm "CPU, Memory, I/O devices, Network, Operating System" chỉ kể chi tiết bên trong thành phần thiết bị và hệ thống, bỏ hẳn dữ liệu, con người và thủ tục. Nhóm "Application programs, End users, Database administrators, Data analysts, and System architects" chỉ chia nhỏ phần con người và chương trình ứng dụng. Nhóm "Tables, Rows, Columns, Keys, and Indexes" là các khái niệm cấu trúc bên trong một cơ sở dữ liệu quan hệ, tức chỉ nằm trong thành phần dữ liệu.
AIt does not support relationships between records.
BIt has a complex structure that makes it difficult to query.
CIt does not allow more than one parent for a record.
DIt only works for relational data.
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "It has a complex structure that makes it difficult to query." Trong mô hình mạng, mỗi bản ghi nối với nhiều bản ghi khác bằng con trỏ nên toàn bộ cơ sở dữ liệu thành một đồ thị dày; muốn lấy dữ liệu, người dùng phải biết trước đường đi qua các mối nối, và chính sự rối rắm đó là hạn chế khiến mô hình này bị mô hình quan hệ thay thế. Nhận định "It does not support relationships between records." trái với bản chất mô hình, vì nó ra đời chính để biểu diễn quan hệ nhiều-nhiều. Nhận định "It does not allow more than one parent for a record." là hạn chế của mô hình phân cấp, còn mô hình mạng thì cho phép một bản ghi có nhiều cha. Nhận định "It only works for relational data." nhầm lẫn hai mô hình khác nhau, vì dữ liệu quan hệ thuộc mô hình quan hệ ra sau.
ATo eliminate repeating groups of data in a relation
BTo ensure that all attributes depend on a composite key
CTo reduce the need for complex SQL queries
DTo establish relationships between multiple relations
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "To eliminate repeating groups of data in a relation". Dạng chuẩn một đòi mỗi ô của quan hệ chỉ chứa một giá trị nguyên tử, nên bước này nhằm phá các nhóm lặp và thuộc tính đa trị, chẳng hạn việc nhét nhiều số điện thoại vào cùng một ô; khi còn nhóm lặp thì không thể tìm, sắp hay cập nhật từng giá trị một cách tin cậy. Mục tiêu "To ensure that all attributes depend on a composite key" là chuyện của dạng chuẩn hai, vốn xử lý phụ thuộc bộ phận vào khoá phức. Mục tiêu "To reduce the need for complex SQL queries" đi ngược thực tế, vì chuẩn hoá tách bảng nên truy vấn thường phải nối nhiều bảng hơn. Mục tiêu "To establish relationships between multiple relations" do khoá ngoại đảm nhiệm, không phải việc của dạng chuẩn một.
A
EncrypeB
SelectC
ProjectD
JoinLời giải
Mở trang câu hỏi này →Đáp án đúng: "Encrype". Ba phép thao tác quen thuộc trên quan hệ là chọn dòng, chọn cột và nối hai quan hệ; mã hoá dữ liệu thuộc lĩnh vực bảo mật, nó biến đổi cách lưu trữ chứ không sinh ra một quan hệ mới từ các quan hệ có sẵn, nên không nằm trong nhóm phép toán này, và chữ trong lựa chọn còn bị viết sai chính tả. Phép "Select" lấy ra những dòng thoả một điều kiện và giữ nguyên toàn bộ các cột. Phép "Project" lấy ra một số cột được chỉ định và giữ mọi dòng. Phép "Join" ghép hai quan hệ theo giá trị trùng nhau của thuộc tính chung để tạo ra một quan hệ rộng hơn.
AThe physical storage of the data is independent of the way in which the data is logically organized
BThe abstract storage of the data is independent of the way in which the data is logically organized
CThe logical storage of the data is independent of the way in which the data is logically organized
DThe virtual storage of the data is independent of the way in which the data is logically organized
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "The physical storage of the data is independent of the way in which the data is logically organized". Đây chính là nguyên tắc độc lập dữ liệu của mô hình quan hệ: người dùng chỉ làm việc với các bảng, thuộc tính và truy vấn ở mức logic, còn việc dữ liệu nằm trên khối đĩa nào, có chỉ mục gì, sắp theo thứ tự ra sao là chuyện riêng của hệ quản trị, đổi cách lưu vật lý không buộc phải sửa truy vấn. Mục "The abstract storage of the data is independent of the way in which the data is logically organized" nói lòng vòng, vì mức trừu tượng chính là mức logic. Mục "The logical storage of the data is independent of the way in which the data is logically organized" tự phủ định mình, tổ chức logic không thể độc lập với chính nó. Mục "The virtual storage of the data is independent of the way in which the data is logically organized" dùng sai khái niệm, virtual storage là chuyện quản lý bộ nhớ của hệ điều hành.
A
InsertB
DeleteC
JoinD
SelectE
AddLời giải
Mở trang câu hỏi này →Đáp án đúng: "Insert". Trong SQL, lệnh dùng để đưa thêm một dòng dữ liệu vào bảng đang có là lệnh chèn, viết đủ là thêm vào bảng kèm danh sách giá trị cho các cột. Mục "Delete" làm điều trái lại, nó loại bỏ các dòng thoả điều kiện. Mục "Join" là phép ghép hai quan hệ theo thuộc tính chung để sinh ra một quan hệ kết quả, nó không ghi thêm dòng nào vào bảng nguồn. Mục "Select" chỉ truy vấn và trả về dữ liệu đang có, hoàn toàn không thay đổi nội dung bảng. Mục "Add" không phải một lệnh độc lập để thêm dòng; từ khoá này chỉ xuất hiện bên trong lệnh sửa cấu trúc bảng khi cần thêm một cột, tức thay đổi lược đồ chứ không thêm dữ liệu.
ARectangles, circles, diamonds, lines
BRectangles, ellipses, diamonds, lines
CSquares, ellipses, diamonds, lines
DIt is up to the designer which geometry to use
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Rectangles, ellipses, diamonds, lines". Sơ đồ thực thể quan hệ dùng hình chữ nhật cho tập thực thể, hình bầu dục cho thuộc tính, hình thoi cho tập quan hệ, và các đoạn thẳng để nối những hình đó lại, thêm số hay ký hiệu trên đường nối để chỉ lực lượng quan hệ. Mục "Rectangles, circles, diamonds, lines" dùng hình tròn, vốn không phải ký hiệu quy ước; thuộc tính phải vẽ bằng hình bầu dục. Mục "Squares, ellipses, diamonds, lines" sai ở chỗ vẽ thực thể bằng hình vuông thay vì hình chữ nhật, trong khi tên thực thể thường dài nên quy ước là hình chữ nhật. Mục "It is up to the designer which geometry to use" phủ nhận giá trị của một ký hiệu chuẩn, trong khi sơ đồ chỉ hữu ích khi mọi người đọc cùng một quy ước.
9What describes the hierarchical model?4 lựa chọn
AData is organized as a binary tree and each entity can have several children
BData is organized as a binary tree and each entity have only one children
CData is organized as an inverted tree and each entity can have several children
DData is organized as an inverted tree and each entity have only one child
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Data is organized as an inverted tree and each entity can have several children". Mô hình phân cấp xếp dữ liệu như một cái cây úp ngược: có một bản ghi gốc trên cùng, từ đó toả xuống các bản ghi con, mỗi thực thể được phép có nhiều con nhưng chỉ có đúng một cha, nên đường từ gốc tới một bản ghi là duy nhất. Mục "Data is organized as a binary tree and each entity can have several children" tự mâu thuẫn, cây nhị phân khống chế mỗi nút tối đa hai con, còn mô hình phân cấp không giới hạn như vậy. Mục "Data is organized as a binary tree and each entity have only one children" sai cả hai chỗ, vừa áp cây nhị phân vừa bó mỗi thực thể một con, lúc đó cấu trúc thành một chuỗi thẳng. Mục "Data is organized as an inverted tree and each entity have only one child" đúng hình dạng nhưng đặt giới hạn sai phía, ràng buộc chỉ một nằm ở phía cha chứ không ở phía con.
10What is a key restriction for performing a UNION operation between two relations in SQL?4 lựa chọn
AThey must have different primary keys
BThey must be sorted in the same order
CThey must have the same attributes (columns).
DThey must contain unique data
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "They must have the same attributes (columns)." Phép hợp ghép các dòng của hai quan hệ thành một quan hệ mới, nên hai quan hệ đầu vào phải tương thích về cấu trúc: cùng số cột, các cột tương ứng cùng tên và cùng miền giá trị, nếu không thì không rõ dòng kết quả có những thuộc tính nào. Mục "They must have different primary keys" đặt ra điều kiện không liên quan, khoá chính chỉ ràng buộc trong từng bảng. Mục "They must be sorted in the same order" quên rằng quan hệ là một tập hợp các dòng, thứ tự dòng không mang nghĩa và phép hợp không phụ thuộc thứ tự. Mục "They must contain unique data" lẫn điều kiện với kết quả, các dòng trùng nhau được loại bỏ trong quan hệ kết quả chứ không bị cấm ở đầu vào.
A
RectangleB
EllipseC
DiamondD
LineLời giải
Mở trang câu hỏi này →Đáp án đúng: "Rectangle". Trong sơ đồ thực thể - quan hệ, mỗi tập thực thể, tức nhóm đối tượng cùng loại mà ta cần lưu dữ liệu về chúng, được vẽ bằng một hình chữ nhật có tên tập thực thể đặt bên trong. "Ellipse" dành cho thuộc tính của thực thể hoặc của quan hệ, chẳng hạn tên hay ngày sinh. "Diamond" dành cho tập quan hệ, tức mối liên kết giữa các tập thực thể như quan hệ dạy giữa giảng viên và môn học. "Line" không phải khung chứa đối tượng nào mà chỉ là đoạn nối, dùng gắn thuộc tính vào thực thể hoặc gắn thực thể vào quan hệ, kèm ký hiệu ràng buộc lực lượng ở hai đầu.
AA column that can store null values
BA column or combination of columns that uniquely identify each row in the table
CA column used for indexing
DA foreign key reference in another table
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "A column or combination of columns that uniquely identify each row in the table". Khoá chính là thuộc tính hoặc tổ hợp thuộc tính mà giá trị của nó không trùng ở hai dòng nào, nhờ đó mỗi bản ghi được chỉ đích danh duy nhất; kéo theo là nó không được để rỗng. "A column that can store null values" trái hẳn với yêu cầu đó, vì giá trị rỗng nghĩa là không nhận dạng được dòng. "A column used for indexing" lẫn khoá với chỉ mục: chỉ mục chỉ là cơ chế tăng tốc tìm kiếm và có thể dựng trên cột có giá trị trùng nhau. "A foreign key reference in another table" mô tả khoá ngoại nằm ở bảng khác, thứ dùng để liên kết hai bảng chứ không phải khoá nhận dạng của bảng này.
ARelational model
BHierarchical model
CNetwork model
DDistributed model
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Relational model". Mô hình quan hệ nhìn dữ liệu như một tập các bảng hai chiều: mỗi dòng là một bản ghi, mỗi cột là một thuộc tính, và liên hệ giữa các bảng thể hiện qua giá trị chung của cột chứ không qua con trỏ. "Hierarchical model" tổ chức dữ liệu thành cây lộn ngược, bản ghi con treo dưới bản ghi cha. "Network model" cho một bản ghi nối tới nhiều bản ghi khác thành đồ thị, các liên kết hiện thực bằng con trỏ. "Distributed model" nói về chỗ đặt dữ liệu, tức chia nhau trên nhiều máy, chứ không quy định dữ liệu được cấu trúc theo hình thức nào.
Aunion
Bjoin
Cproject
Dall of these above
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "project". Phép chiếu là phép toán một ngôi: nó nhận đúng một quan hệ làm đầu vào và sinh ra quan hệ mới chỉ gồm những cột được chọn, số dòng không đổi. "union" cần hai quan hệ có cùng cấu trúc để gộp các dòng của chúng lại, nên là phép hai ngôi. "join" cũng lấy hai quan hệ rồi ghép từng cặp dòng theo điều kiện trên thuộc tính chung, tức hai ngôi. "all of these above" chỉ đúng nếu mọi phép được liệt kê đều một ngôi, nhưng phép gộp và phép ghép vừa nêu đều đòi hai bảng đầu vào.
ARelational database model
BObject-oriented database model
CNetwork database model
DHierarchical database model
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Hierarchical database model". Mô hình phân cấp xếp dữ liệu thành cây lộn ngược: một bản ghi gốc ở trên, mỗi bản ghi cha có thể có nhiều con nhưng mỗi con chỉ thuộc một cha, nên đường truy cập luôn đi từ gốc xuống. "Relational database model" dựng dữ liệu thành các bảng hai chiều, không có quan hệ cha con cố định nào. "Object-oriented database model" lưu dữ liệu dưới dạng đối tượng mang theo cả phương thức, tổ chức theo lớp và kế thừa. "Network database model" cũng nối bản ghi bằng con trỏ nhưng cho phép một bản ghi có nhiều cha, vì thế hình dạng của nó là đồ thị chứ không còn là cây.
A
INSERTB
DELETEC
UPDATED
JOINLời giải
Mở trang câu hỏi này →Đáp án đúng: "JOIN". Trong đại số quan hệ, phép nhị phân là phép nhận hai quan hệ làm đầu vào. Phép ghép nối lấy hai bảng rồi tạo ra bảng mới gồm các cặp bộ thoả điều kiện so khớp, nên nó cần đúng hai toán hạng mới chạy được. "INSERT" sai vì thêm một bộ mới chỉ tác động lên một bảng duy nhất, đây là phép một ngôi. "DELETE" sai vì xoá các bộ thoả điều kiện cũng chỉ làm việc trên một bảng. "UPDATE" sai vì sửa giá trị thuộc tính của các bộ vẫn diễn ra trong phạm vi một bảng. Ba phép vừa nêu đều đổi nội dung một quan hệ tại chỗ chứ không kết hợp hai quan hệ với nhau để sinh ra quan hệ mới.
17What is the order of steps to design a database?4 lựa chọn
ACollect the information needed to be stored --> Build an entity-relation model --> Normalization
BCollect the information needed to be stored --> Normalization --> Build an entity-relation model
CBuild an entity-relation model --> Normalization --> Collect the information needed to be stored
DNot need be done through a step-by-step process
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Collect the information needed to be stored --> Build an entity-relation model --> Normalization". Thiết kế cơ sở dữ liệu đi từ thực tế vào mô hình: trước hết thu thập xem cần lưu những thông tin gì, rồi dựng mô hình thực thể liên kết để nhận ra các thực thể, thuộc tính và quan hệ, sau đó mới chuẩn hoá những quan hệ sinh ra từ mô hình để bỏ dư thừa. "Collect the information needed to be stored --> Normalization --> Build an entity-relation model" đảo hai bước cuối, mà chuẩn hoá cần có sẵn các bảng để làm việc trên đó nên không thể đứng trước khi dựng mô hình. "Build an entity-relation model --> Normalization --> Collect the information needed to be stored" đặt việc thu thập thông tin xuống cuối, nghĩa là dựng mô hình khi còn chưa biết phải lưu gì. "Not need be done through a step-by-step process" sai vì đây là quy trình có thứ tự rõ ràng; làm tuỳ hứng sẽ dẫn tới lược đồ dư thừa, khó sửa và dễ sinh bất thường khi cập nhật.
A
UnionB
IntersectionC
MinusD
JoinLời giải
Mở trang câu hỏi này →Đáp án đúng: "Minus". Phép lấy hiệu hai tập kết quả trong ngôn ngữ của SQL Server được viết bằng từ khoá EXCEPT; từ khoá được hỏi tới ở đây là của Oracle, nên câu lệnh mang nó sẽ báo lỗi cú pháp khi chạy trên SQL Server. "Union" vẫn dùng được vì hợp hai tập kết quả là toán tử chuẩn, có cả dạng giữ lại bản ghi trùng. "Intersection" dùng được dưới dạng toán tử giao, SQL Server hỗ trợ phép lấy phần chung của hai tập kết quả. "Join" dùng được và là phép thông dụng nhất, ghép hai bảng theo điều kiện so khớp với nhiều biến thể trong và ngoài. Điểm cần nhớ là cùng một phép toán quan hệ có thể mang tên từ khoá khác nhau giữa các hệ quản trị.
AData is stored in tables with rows and columns.
BEach table has a primary key to uniquely identify each row.
CRelationships between tables are established using pointers.
DData integrity is enforced using constraints such as foreign keys.
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Relationships between tables are established using pointers.". Mô hình quan hệ nối các bảng bằng giá trị chứ không bằng con trỏ: bảng con chứa cột khoá ngoại mang đúng giá trị khoá chính của bảng cha, và hệ quản trị dựa vào sự trùng giá trị đó khi ghép bảng. Dùng con trỏ địa chỉ là cách của mô hình mạng và mô hình phân cấp trước đó. "Data is stored in tables with rows and columns." đúng là đặc điểm của mô hình quan hệ, dữ liệu nằm trong bảng hai chiều gồm các hàng và các cột. "Each table has a primary key to uniquely identify each row." đúng là đặc điểm, khoá chính bảo đảm mỗi hàng được phân biệt duy nhất. "Data integrity is enforced using constraints such as foreign keys." cũng đúng, các ràng buộc như khoá ngoại giữ cho dữ liệu không mâu thuẫn giữa các bảng.
ALess redundancy
BIncreased redundancy
CReduced efficiency
DMore inconsistency
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Less redundancy". Trong hệ tệp phẳng, mỗi ứng dụng giữ tệp riêng nên cùng một dữ liệu bị lặp ở nhiều nơi; cơ sở dữ liệu gom dữ liệu vào một chỗ được quản lý chung, mỗi sự kiện chỉ lưu một lần và các ứng dụng cùng đọc, nhờ đó dư thừa giảm đi. "Increased redundancy" sai vì tăng dư thừa chính là nhược điểm của cách lưu bằng nhiều tệp rời, không phải lợi thế của cơ sở dữ liệu. "Reduced efficiency" sai vì hệ quản trị còn có chỉ mục, bộ tối ưu hoá truy vấn và quản lý giao dịch nên hiệu quả truy nhập thường cao hơn chứ không giảm. "More inconsistency" sai vì bớt dư thừa kéo theo bớt mâu thuẫn: khi một giá trị chỉ được lưu ở một nơi, không còn chuyện bản sao này sửa mà bản sao kia chưa sửa.