Font size
Worksheetsôn tập cuối kì 2 Tin học 11
Total questions: 92
Worksheet time: 49mins
Đối tượng nào chịu trách nhiệm chính cho ba công việc: Cập nhật dữ liệu, Thiết kế dữ liệu, Sao lưu dữ liệu?
Người thiết kế CSDL.
Người sử dụng.
Người quản trị CSDL.
Người bán phần mềm.
Phương án nào sau đây nêu đúng lợi ích của việc quản trị CSDL trên máy tính?
Nâng cao khả năng bảo mật.
Nâng cao trình độ công nghệ.
Hạn chế xảy ra sai sót.
Gia tăng thời gian giao dịch.
Phát biểu nào là sai?
MySQL hỗ trợ thực hiện truy vấn SQL.
MySQL là phần mềm không mất phí.
MySQL không có giao diện dòng lệnh.
MySQL có khả năng quản lý nhiều CSDL.
Mục đích đặt khóa cấm trùng lặp là
không có hai dòng cùng giá trị giống nhau.
không cho phép thay đổi trường khóa chính.
cho phép tự thay đổi liên kết giữa các bảng.
cho phép dữ liệu có thể tự động cập nhật.
Tổ chức cơ sở dữ liệu (CSDL) âm nhạc với các bảng mang lại lợi ích gì?
Quản lý thông tin về các ca sĩ (casi) và nhạc sĩ (nhacsi)
Quản lý thông tin về các ban nhạc (bannhac) và bản thu âm (banthuam)
Quản lý quan hệ giữa casi, bannhac và nhacsi
Quản lý quan hệ giữa (nhacsi), (casi), (bannhac) và banthuam
Việc CSDL âm nhạc quản lý thông tin về ca, nhạc sĩ có lợi ích gì?
Giúp tổ chức có thể dễ dàng tra cứu và quản lý thông tin cá nhân
Giúp tổ chức có thể dễ dàng tra cứu và quản lý thông tin hoạt động nghệ thuật, tác phẩm âm nhạc của các ca sĩ và nhạc sĩ một cách hiệu quả
Giúp tổ chức có thể dễ dàng tra cứu những bài hát mới
Giúp tổ chức thu phí âm nhạc dễ dàng
Quản lý CSDL âm nhạc giúp tổ chức có thể tối ưu hóa hoạt động trong việc?
Quản lý dữ liệu
Phân tích
Bảo mật
Quản lý, phân tích và bảo mật
Nếu muốn quản lí thêm thông tin nơi sinh của nhạc sĩ, ca sĩ (tên tỉnh/thành phố), CSDL cần thay đổi như thế nào?
Cần xóa bỏ cấu trúc CSDL và thay bằng cấu trúc khác
Thêm các trường vào CSDL
Cần thay đổi cấu trúc CSDL bằng cách thêm một bảng mới để lưu trữ thông tin này
Không thể thực hiện được
Để thêm thông tin ngày sinh của các nhạc sĩ, ca sĩ vào CSDL, bạn cần?
Cần thay đổi cấu trúc CSDL bằng cách thêm một bảng mới để lưu trữ thông tin này
Thêm một trường mới vào bảng "nhacsi" và bảng "casi" để lưu trữ thông tin ngày sinh
Cần xóa bỏ cấu trúc CSDL và thay bằng cấu trúc khác
Không thể thêm thông tin ngày sinh vì cấu trúc bảng không cho phép sửa đổi
Để thực hiện mô hình quản lý danh sách tên quận/huyện của các tỉnh thành phố em phải xác định mối quan hệ giữa?
Tỉnh thành phố và Quận/Huyện
Tỉnh và Thị trấn
Tỉnh và thị xã
Huyện và thị trấn
Để thực hiện mô hình quản lý danh sách tên quận/huyện của các tỉnh thành phố, em có thể xác định khóa chính trong trong bảng Tỉnh/thành phố là?
Mã của huyện
Mã của thị trấn
Mã tỉnh/thành phố
Mã của thị xã
Để thực hiện mô hình quản lý danh sách tên quận/huyện của các tỉnh thành phố, trong bảng Quận/Huyện thì MaTinhThanhPho sẽ là?
Khóa chính
Khóa ngoại tham chiếu tới bảng Quận/Huyện
Khóa ngoại tham chiếu tới bảng Tỉnh thành phố
Đáp án khác
Có các loại khóa nào trong CSDL?
Khóa chính
Khóa ngoài
Khóa cấm trùng lặp
Khóa chính, khóa ngoài, khóa cấm trùng lặp
Trong cơ sở dữ liệu, bảng là gì?
Một kiểu dữ liệu lưu trữ thông tin dưới dạng văn bản
Một tập hợp các bản ghi (record) lưu trữ thông tin về các đối tượng
Một dạng của mối quan hệ giữa các bảng khác nhau
Một loại dữ liệu cho phép thực hiện phép toán
Khóa chính (primary key) của bảng có vai trò gì?
Đảm bảo tính duy nhất cho mỗi bản ghi trong bảng
Liên kết các bảng với nhau
Cung cấp thông tin về các bảng khác trong cơ sở dữ liệu
Là khóa chỉ có thể chứa các giá trị NULL
Khóa ngoại (foreign key) là gì trong cơ sở dữ liệu?
Là khóa duy nhất để xác định bản ghi trong bảng hiện tại
Là trường dùng để liên kết bảng hiện tại với một bảng khác
Là khóa chỉ có thể chứa các giá trị NULL
Là khóa chỉ cho phép chứa các giá trị số
Trong một bảng cơ sở dữ liệu, mỗi trường (column) phải có:
Một tên duy nhất trong bảng
Một giá trị khóa chính
Một giá trị khóa ngoại
Một kiểu dữ liệu cố định và không thể thay đổi
[TH] Khóa duy nhất (unique key) có điểm khác biệt so với khóa chính ở điểm nào?
Khóa duy nhất có thể chứa giá trị NULL
Khóa duy nhất bắt buộc phải chứa giá trị không NULL
Khóa duy nhất chỉ áp dụng cho các trường có kiểu dữ liệu số
Khóa duy nhất chỉ có thể tồn tại ở một bảng
[TH] Trường nào sau đây không thể là khóa chính trong một bảng?
Một trường có giá trị duy nhất cho mỗi bản ghi
Một trường có thể chứa giá trị NULL
Một trường không chứa giá trị NULL cho bất kỳ bản ghi nào
Một trường có thể xác định duy nhất mỗi bản ghi trong bảng
Trong mối quan hệ giữa hai bảng, nếu bảng B có khóa ngoại tham chiếu đến khóa chính của bảng A, điều này có nghĩa là:
Mỗi bản ghi trong bảng B phải có giá trị tương ứng với một bản ghi trong bảng.
Mỗi bản ghi trong bảng A có thể có nhiều bản ghi tương ứng trong bảng
Bảng A là phụ thuộc vào bảng
Bảng B không thể có giá trị NULL
Một bảng có trường email và trường này là khóa chính. Tuy nhiên, có thể có một vài bản ghi trong bảng có cùng giá trị email. Điều này có đúng không?
Đúng, vì khóa chính không bắt buộc phải duy nhất
Đúng, vì khóa chính chỉ cần không chứa giá trị NULL
Sai, vì khóa chính phải đảm bảo duy nhất cho mỗi bản ghi
Sai, vì khóa chính phải chứa giá trị NULL
Có các loại khóa nào trong CSDL?
Mỗi bảng chỉ có một khóa chính và một khóa ngoài
Mỗi bảng chỉ có một khóa chính, khóa ngoại có một hoặc nhiều phụ thuộc vào bài toán cụ thể
Khóa cấm trùng lặp dùng để hạn chế việc trùng lặp giá trị trong bảng
Các loại khóa trong bảng có thể kể đến gồm có: Khóa chính, khóa ngoài, khóa cấm trùng lặp
Để trở thành một nhà quản trị CSDL, những việc nào em nên làm?
Chỉ quan tâm đến kiến thức về CSDL, không cần rèn luyện kĩ năng khác.
Đạt các chứng chỉ trong các khóa học về nghề quản trị CSDL là đủ.
Định hướng chuyên ngành học tập liên quan đến nghề quản trị CSDL.
Tự rèn luyện các kiến thức cơ bản về CSDL trong môn Tin học
Việc đầu tiên để làm việc với một CSDL là?
Thu thập
Xử lý
Tạo lập
Thống kê
Việc đầu tiên để tạo lập một CSDL quan hệ là ?
Thu thập dữ liệu
Xử lý dữ liệu
Tạo ra một hay nhiều bảng
Tạo ra nhiều csdl
Cần phải xác định và khai báo gì để tạo lập bảng?
Tên bảng
Kiểu dữ liệu
Khai báo kích thước của mỗi trường
Tên bảng, kiểu dữ liệu và kích thước mỗi trường
Để tạo mới CSDL ta nháy phải chuột vào vùng danh sách CSDL và chọn?
Create New/database
Create New/table
Create New/column
Create New/row
Sau khi kết nối đến cơ sở dữ liệu, bạn có thể chọn cơ sở dữ liệu đó trong?
Danh sách cơ sở dữ liệu được hiển thị bên dưới của HeidiSQL
Danh sách cơ sở dữ liệu được hiển thị bên phải của HeidiSQL
Danh sách cơ sở dữ liệu được hiển thị bên trái của HeidiSQL
Danh sách cơ sở dữ liệu được hiển thị bên trên của HeidiSQL
Để tạo bảng mới trong CSDL, ta nháy chuột phải vào CSDL chọn?
Create New/database
Create New/table
Create New/column
Create New/row
Sau khi đã tạo các bảng, bạn có thể thiết lập các quan hệ giữa các bảng bằng cách?
Thiết lập khóa phụ
Thiết lập khóa chính
Thiết lập khóa ngoại
Thiết lập khóa cấm trùng lặp
Bạn có thể sử dụng các câu lệnh SQL hoặc giao diện đồ họa của HeidiSQL để?
Thêm dữ liệu trong các bảng
Sửa đổi dữ liệu trong các bảng
Xóa dữ liệu trong các bảng
Thêm, xóa, sửa dữ liệu bảng
Khi chọn thêm mới để thêm trường thì một trường mới hiện ra với tên mặc định là?
Cột mới
Trường mới
Column 1
Row 1
Để thêm mới một trường ta nháy nút nào?
Add
Remove
Indexes(0)
Foreign keys(0)
Để ấn định khóa chính thì ta thực hiện?
Chọn Create new index -> Primary
Chọn Create new index -> Key
Chọn Create new index -> Unique
Chọn Create new index -> Fulltext
Biểu tượng nào sau đây là khóa chính?
PRIMARY
UNIQUE
FULLTEXT
Foreign keys
Biểu tượng nào sau đây là khóa ngoại?
PRIMARY
UNIQUE
FULLTEXT
Foreign keys
Biểu tượng nào sau đây là khoá cấm trùng lặp?
Primary
Unique
FULLTEXT
Foreign keys
Kiểu dữ liệu nào trong MySQL dùng để lưu trữ giá trị số nguyên?
VARCHAR
INT
DECIMAL
DATE
Trong MySQL, kiểu dữ liệu nào được sử dụng để lưu trữ ngày tháng?
TEXT
DATE
DATETIME
TIME
Kiểu dữ liệu nào trong MySQL được dùng để lưu trữ các chuỗi văn bản có độ dài cố định?
TEXT
CHAR
VARCHAR
ENUM
Kiểu dữ liệu nào dưới đây có thể lưu trữ giá trị thập phân với độ chính xác cao hơn?
FLOAT
DECIMAL
INT
DOUBLE
Kiểu dữ liệu nào dưới đây có thể lưu trữ một giá trị kiểu số thực với độ chính xác thấp?
FLOAT
DECIMAL
DOUBLE
INT
Kiểu dữ liệu nào trong MySQL dùng để lưu trữ chuỗi văn bản có độ dài thay đổi?
CHAR
TEXT
VARCHAR
ENUM
Kiểu dữ liệu nào trong MySQL dùng để lưu trữ một giá trị ngày giờ bao gồm cả ngày, tháng, năm và giờ, phút, giây?
DATE
DATETIME
TIMESTAMP
TIME
Cho biết phát biểu dưới đây là đúng hay sai khi nói về khoá?
Unique Key và Primary Key đều cho phép chứa một giá trị NULL
Unique Key cho phép chứa nhiều giá trị NULL.
Foreign Key dùng để tạo mối quan hệ giữa các bảng trong cơ sở dữ liệu.
Primary Key dùng để đảm bảo mỗi bản ghi trong bảng có giá trị duy nhất và không có giá trị NULL.
Cho biết phát biểu dưới đây là đúng hay sai khi nói về khoá?
Khóa ngoại (Foreign Key) có thể tham chiếu đến cột nào trong bảng khác, Cột có khóa chính hoặc cột có ràng buộc UNIQUE
Khóa cấm trùng lặp (Unique Key) có đặc điểm cho phép chứa giá trị NULL, nhưng chỉ một giá trị NULL duy nhất.
Khóa chính và khóa cấm trùng lặp có sự khác biệt là Khóa chính không thể chứa giá trị NULL, trong khi khóa cấm trùng lặp có thể chứa NULL.
Khóa chính có thể chứa giá trị NULL, trong khi khóa cấm trùng lặp không thể chứa NULL.
khóa ngoài có tác dụng?
Thể hiện dữ liệu chính
Liên kết các dữ liệu trong bảng với nhau
Liên kết dữ liệu giữa các bảng
Thể hiện dữ liệu không quan trọng
Việc thiết lập khóa ngoài được thực hiện như thế nào??
Việc thiết lập khóa ngoài được thực hiện bằng cách xác định cột trong bảng hiện tại là khóa ngoài
Việc thiết lập khóa ngoài được thực hiện bằng cách chỉ định bảng mà khóa ngoài này tham chiếu đến (bảng gốc)
Việc thiết lập khóa ngoài được thực hiện bằng cách xác định cột trong bảng hiện tại là khóa ngoài, và chỉ định bảng mà khóa ngoài này tham chiếu đến (bảng gốc)
Việc thiết lập khóa ngoài được thực hiện bằng cách xác định hàng trong bảng hiện tại là khóa ngoài
Để chọn giá trị mặc định là AUTO_INCREMENT thì nháy chuột vào ô?
Allow NULL
Add column
Default
Comment
Các trường là khóa ngoài của bảng là ?
Các dữ liệu trong một cột liên kết đến một cột của bảng khác
Các ô trong bảng liên kết đến một ô của bảng khác
Các trường tham chiếu đến một trường khóa chính của bảng khác
Các dữ liệu trong một hàng liên kết đến một cột của bảng khác
Tên các trường không được trùng lặp giá trị nên phải khai báo khóa?
Khoá chính
Khoá phụ
Khoá cấm trùng lặp
Khoá ngoại
Để khai báo khoá cấm trùng lặp ta dùng?
Chọn Create new index -> Primary
Chọn Create new index -> Key
Chọn Create new index -> Unique
Chọn Create new index -> Fulltext
Để khai báo khoá ngoài ta chọn thẻ?
" Create database"
"Create new"
"Root"
Foreign keys
Để chọn bảng tham chiếu ta chọn ô?
" Create database"
"Create new"
Reference table
Foreign keys
bảng banthuam có các trường nào dưới đây?
idbanthuam
idbannhac
idcasi
idbanthuam, idbannhac, idcasi
Để ấn định khoá chính thì ta thực hiện?
Chọn Create new index -> Primary
Chọn Create new index -> Key
Chọn Create new index -> Unique
Chọn Create new index -> Fulltext
Để nhập dữ liệu cho bảng ta nháy chuột vào nút?
Add
Table
Data
Query*
Để chỉnh sửa hoặc thay đổi thiết kế cho bảng ta nháy chuột vào nút?
Add
Table
Data
Query*
Để nhập thêm một dòng dữ liệu cho bảng ta nháy chuột vào nút?
Add
Table
Data
Query*
Để nhập câu lệnh SQL ta nháy chuột vào nút?
Add
Table
Data
Query*
Để thực hiện (chạy) câu lệnh SQL ta nháy chuột vào nút?
▶️🔻
Table
Data
Query*
Xác định trường khoá chính cho bảng hocsinhdưới đây?
Hocsinh(idhocsinh, tenhocsinh, ngaysinh, gioitinh)
idhocsinh
tenhocsinh
ngaysinh
gioitinh
Xác định trường khoá ngoại cho bảng dữ liệu diemmonhoc dưới đây?
diemhocsinh(iddiemhocsinh, idhocsinh, idtoan, idly, idhoa, idvan,…)
iddiemhocsinh
idhocsinh
Trừ iddiemhocsinh
Trừ idhocsinh
Giới tính con người khai báo kiểu dữ liệu nào là phù hợp?
INT
FLOAT
BOOLEAN
VARCHAR
Xác định một học sinh có phải là đoàn viên hay không chọn kiểu dữ liệu nào là phù hợp?
INT
FLOAT
BOOLEAN
VARCHAR
Để lưu điểm của học sinh thì dùng kiểu dữ liệu nào là phù hợp?
INT
FLOAT
BOOLEAN
VARCHAR
Để lưu trữ ngày sinh, ngày mất của một nhạc sĩ thì dùng kiểu dữ liệu nào là phù hợp?
TIME
DATE
BOOLEAN
VARCHAR
Đọc câu lệnh SQL dưới đây và trả lời đúng/sai cho các câu hỏi?
CREATE TABLE casi(idcasi INT(7) PRIMARY KEYAUTO_INCREMENT, tencasi VARCHAR(25))
Khoá chính của bảng casi là idcasi
Kiểu dữ liệu của idcasi là số nguyên, tăng tự động và mỗi bộ dữ liệu của idcasi có 7 kí số
Trường tencasi là xâu kí tự có độ dài thay đổi và không vượt quá 25 kí tự
Sau khi thực hiện câu lệnh SQL ở trên thì ta không thể thay đổi cấu trúc của bảng casi được nữa.
Muốn truy xuất tất cả các dòng dữ liệu từ bảng "casi" ta dùng?
SELECT * FROM casi WHERE tencasi LIKE '%Hoa%';
SELECT * FROM casi WHERE idcasi = 1;
SELECT * FROM casi;
SELECT * FROM casi WHERE tencasi LIKE 'N%';
Muốn truy xuất các ca sĩ theo thứ tự tên theo thứ tự từ A đến Z ta dùng ?
SELECT * FROM casi WHERE tencasi LIKE '%Hoa%';
SELECT * FROM casi WHERE idcasi = 1;
SELECT * FROM casi ORDER BY tencasi ASC;
SELECT * FROM casi WHERE tencasi LIKE 'N%';
Muốn truy xuất dữ liệu các ca sĩ có "idcasi" nằm trong danh sách (1, 2, 3) ta dùng ?
SELECT * FROM casi WHERE tencasi LIKE '%Hoa%';
SELECT * FROM casi WHERE idcasi = 1;
SELECT * FROM casi WHERE idcasi IN (1, 2, 3);
SELECT * FROM casi WHERE tencasi LIKE 'N%';
Muốn truy xuất dữ liệu các ca sĩ theo thứ tự "idcasi" giảm dần ta dùng ?
SELECT * FROM casi WHERE tencasi LIKE '%Hoa%';
SELECT * FROM casi WHERE idcasi = 1;
SELECT * FROM casi ORDER BY idcasi DESC;
SELECT * FROM casi WHERE tencasi LIKE 'N%';
Muốn truy xuất dữ liệu các ca sĩ có "idcasi" là 1 ta dùng ?
SELECT * FROM casi WHERE tencasi LIKE '%Hoa%';
SELECT * FROM casi WHERE idcasi = 1;
SELECT * FROM casi;
SELECT * FROM casi WHERE tencasi LIKE 'N%';
Muốn truy xuất dữ liệu các ca sĩ có "tencasi" bắt đầu bằng chữ "N" ta dùng ?
SELECT * FROM casi WHERE tencasi LIKE '%Hoa%';
SELECT * FROM casi WHERE idcasi = 1;
SELECT * FROM casi;
SELECT * FROM casi WHERE tencasi LIKE 'N%';
Muốn truy xuất dữ liệu các ca sĩ có "tencasi" chứa từ khóa "Hoa" ta dùng ?
SELECT * FROM casi WHERE tencasi LIKE '%Hoa%';
SELECT * FROM casi WHERE idcasi = 1;
SELECT * FROM casi;
SELECT * FROM casi WHERE tencasi LIKE 'N%';
Để chỉnh sửa dữ liệu trong bảng ta thực hiện?
Nháy đúp chuột vào ô dữ liệu cần sửa và nhập lại
Nhấn phím Insert
Nháy nút phải chuột vào ô cần sửa
Nháy nút trái chuột vào ô dữ liệu cần sửa
Để xóa các dòng dữ liệu trong bảng, ta thực hiện chọn những dòng muốn xóa và nhấn tổ hợp phím?
shift+Delete
ctrl+delete
alt+delete
win+delete
Để xóa các dòng dữ liệu trong bảng, ta thực hiện chọn những dòng muốn xóa và nhấn nút?
➕
✖️
✅
❌
Để để thêm một dòng dữ liệu trong bảng, ta thực hiện bằng cách nhấn nút?
➕
✖️
✅
❌
Để xem toàn bộ dữ liệu trong bảng ta chọn thẻ?
Query
Table:…..
Data
Database
Để lấy ra danh sách dữ liệu thỏa mãn một yêu cầu nào đó ta thực hiện?
Các thao tác tạo bộ lọc
Các thao tác xoá
Các thao tác sắp xếp
Các thao tác tìm kiếm
Để thực hiện thao tác tạo bộ lọc ta thực hiện bằng cách chuột phải vào cột cần lọc và chọn?
Reset Sorting
Quick Filter
Find Text…
Refresh
Để xoá bộ lọc ta chọn?
Dọn dẹp và lọc
Lọc
Quick Filter
Find text
Biểu thức dữ liệu là ?
Biểu thức logic xác lập các điều kiện với các giá trị của các trường dữ liệu
Biểu thức kí tự xác lập các điều kiện với các giá trị của các trường dữ liệu
Biểu thức số xác lập các điều kiện với các giá trị của các trường dữ liệu
Biểu thức toán xác lập các điều kiện với các giá trị của các trường dữ liệu
Cặp dấu [ ] dùng để ?
Biểu thị nội dung bên ngoài nó là một lựa chọn có thể dùng hoặc không dùng
Biểu thị nội dung bên trong nó là một lựa chọn có thể dùng hoặc không dùng
Biểu thị nội dung bên trong nó là một lựa chọn bắt buộc dùng
Biểu thị nội dung bên ngoài nó là một lựa chọn bắt buộc dùng
Để biểu diễn thứ tự tăng dần ta dùng
DESC
LIKE
AND
ASC
Để biểu diễn thứ tự giảm dần ta dùng?
ASC
LIKE
AND
DESC
Cho câu lệnh SQL dưới và trả lời các câu hỏi dưới là đúng hay sai?
SELECT idcasi, tencasi FROM casi WHERE tencasi LIKE '%Sơn'ORDER BY tencasi;
Lọc ra thông tin của trong bảng casi với tên ca sĩ có tên là ‘Sơn’
Lọc ra những ca sĩ có tên ‘Sơn’ và sắp xếp giảm dần theo tên ca sĩ
Có thể thay thế điều kiện ORDER BY tencasi; thành ORDER BY tencasi ASC; mà không ảnh hưởng đến kết quả hiện thị của câu truy vấn
Để liệt kê tất cả các trường trong bảng ca sĩ ta đặt kí tự * sau từ khoá SELECT cho câu lệnh SQL trên.
Để hỗ trợ việc quản lí thông tin nhân sự tại một công ty, một cơ sở dữ liệu quan hệ được xây dựng vói 3 bảng có cấu trúc như sau:
NHANVIEN (MaNV, HoTen, GioiTinh, NgaySinh) lưu thông tin: mã nhân viên, họ tên nhân viên, giới tính, ngày sinh.
DUAN (MaDA, TenDA, BatDau, KetThuc) lưu thông tin: mã dự án, tên dự án, ngày bắt đầu, ngày kết thúc.
THAMGIA (MaDA, MaNV, ViTri) lưu thông tin: mã dự án, mã nhân viên và vị trí nhân viên đó trong dự án.
Một nhân viên của công ty có thể tham gia nhiều dự án và một dự án có thể có nhiều nhân viên. Khi tìm hiểu về cơ sở dữ liệu trên, một số bạn học sinh đưa ra các nhận xét sau:
HoTen là một trường tương ứng với một cột của bảng NHANVIEN.
Bộ hai thuộc tính MaDA và MaNV là khoá chính của bảng THAMGIA.
Công ty sử dụng một máy chủ để lưu dữ liệu, do vậy phải chọn hệ cơ sở dữ liệu phân tán để quản lí cơ sở dữ liệu.
Câu lệnh SQL sau đây liệt kê họ tên các nhân viên và vị trí của họ trong dự án có mã dự án là 1.
SELECT NHANVIEN.HoTen, THAMGIA.ViTri
FROM NHANVIEN INNER JION THAMGIA ON NHANVIEN.MaNV = THAMGIA.MaNV
WHERE MaDA = 1
Để quản lí Tour du lịch, công ty đã triển khai xây dựng một phần mềm hỗ trợ có khai thác cơ sở dữ liệu quan hệ gồm các bảng, có cấu trúc như sau:
DIADANH (idDiadanh, tenDiadanh, tenTinh, dactrung): Lưu thông tin tương ứng mã địa danh, tên địa danh, tên địa điểm, đặc trưng của địa điểm.
TOUR (idTour, idDiadanh, tenTour, soNgay, soDem, PT_di, PT_ve, giatour): Lưu thông tin tương ứng mã Tour, mã địa danh, tên Tour, số ngày ở, số đêm ở, phương tiện đi, phương tiện về, giá tour/1 người.
Sau khi tìm hiểu dữ liệu của phần mềm, một nhân viên đã đưa ra các nhận định sau:
Khi nhập một địa danh vào cơ sở dữ liệu, dữ liệu về địa danh này sẽ được lưu vào bảng DIADANH.
Trường giatour của bảng TOUR có kiểu dữ liệu là kiểu số.
Trường idDiadanh của bảng TOUR có thể là khóa chính của bảng TOUR.
Để lấy danh sách tên các địa danh có giá tour dưới 5 triệu đồng, cần phải liên kết hai bảng trên thông qua trường idDiadanh.
Tuấn được giao nhiệm vụ thiết kế một CSDL quản lí thông tin cho một bệnh viện ABC. Hệ thống cần lưu trữ thông tin về bệnh nhân, bác sĩ và lịch khám bệnh. Cụ thể, thông tin cần quản lí bao gồm các bảng:
Benhnhan(idBN, Hoten, Ngsinh, Diachi, Tell) lưu các thông tin của bệnh nhân gồm: mã bệnh nhân, tên bệnh nhân, ngày sinh, địa chỉ, số điện thoại.
Bacsi(idBs, Hotenbs, khoa, Lienhe) lưu trữ thông tin: Mã bác sĩ, tên bác sĩ, chuyên khoa, số điện thoại.
Lichkham(idLichkham, idBs, idBN, ngaykham) lưu các thông tin: Mã lịch khám, mã bệnh nhân, mã bác sĩ, ngày giờ khám.
Sau khi xem CSDL, một người bạn của Tuấn đã có nhận xét sau đây?
Trong bảng Lichkham thì idLichkham là khoá chính, idBS và idBN là khoá ngoại.
Bảng bệnh nhân cần có một trường dữ liệu để lưu trữ số điện thoại của bệnh nhân, nhưng không cần thiết phải kiểm tra tính hợp lệ của số điện thoại trong CSDL.
Một bệnh nhân chỉ có thể có một lịch khám duy nhất trong hệ thống tại một thời điểm.
Liệt kê thông tin gồm có: mã lịch khám, bệnh nhân và bác si khám bệnh trong ngày ‘21/05/2025’ ta dùng câu lệnh SQL
SELECT idLichkham, Benhnhan.Hoten, Bacsi.Hotenbs
FROM Lichkham
INNER JOIN Benhnhan ON Lichkham.idBN = Benhnhan.idBN
INNER JOIN Bacsi ON Lichkham.idBs = Bacsi.idBs
WHERE Lichkham.ngaykham = ‘21/05/2025’;
Cho CSDL của một thư viện bao gồm các bảng sau:
Sach(idSach, Tensach, Tacgia, NXB, Giabia, Soluong): Lưu danh sách các sách trong thư viện. Gồm: Mã sách, tên sách, tác giả, nhà xuất bản, giá bìa, số lượng sách còn lại trong thư viện.
Docgia(idDocgia, Hoten, Ngaysinh, Tel, Diachi): Lưu thông tin đọc giả. Gồm: Mã đọc giả, tên đọc giả, họ tên, ngày sinh, số điện thoại, địa chỉ.
Chitietmuonsach(idSach, idMuonsach, idDocgia, soluong): Lưu chi tiết mượn sách. Gồm: mã sách, Mã mượn sách, mã đọc giả số lượng sách mượn.
Một số bạn học sinh đưa ra nhận xét về khai thác CSDL trên như sau:
Khi thư viện nhập thêm một cuốn sách mới mà sách này chưa có trong CSDL thì dữ liệu sách này sẽ được lưu vào bảng sách.
Trường dữ liệu chitietmuonsach.soluong là khoá chính của bảng chitietmuonsach, tham chiếu đến trường dữ liệu sach.soluong
Mỗi khi có giao dịch mượn sách, ít nhất 3 bảng dữ liệu cần được cập nhật là: Sach, Muonsach, Chitietmuonsach.
Một đọc giả chỉ có thể mượn tối đa số lượng sách bằng với số lượng sách còn lại được lưu trữ trong bảng sách. Điều này có nghĩa là nếu sach.soluong = 0, đọc giả sẽ không thể thực hiện được giao dịch mượn sách.
