Professional Documents
Culture Documents
CHỦ ĐỀ 5 -FILE ĐỀ
CHỦ ĐỀ 5 -FILE ĐỀ
CHỦ ĐỀ 5 -FILE ĐỀ
Câu 1: Nếu hoạt động cơ bản là khai thác các CSDL phục vụ ứng dụng tin học thì theo em, hoạt động quản trị
CSDL tương ứng gồm những công việc gì?
Trả lời:
Cài đặt và cập nhật các hệ QTCSDL
Tạo lập và điều chỉnh CSDL
Đảm bảo tài nguyên cho các hoạt động CSDL
Đảm bảo an toàn, bảo mật.
Trang 1
Trả lời:
Cài đặt và nâng cấp các hệ QTCSDL
Tạo lặp điều chỉnh CSDL
Đảm bảo tài nguyên cho các hoạt động CSDL
Đảm bảo an toàn và bảo mật cho dữ liệu.
Câu 3: Trong ba nhóm đối tượng những người làm phần mềm, sử dụng phần mềm quản lí và quản trị CSDL,
ai là người chịu trách nhiệm chính mỗi công việc sau đây: Cập nhật dữ liệu, Thiết kế dữ liệu, Sao lưu dữ liệu?
Trả lời:
Trong ba nhóm đối tượng đó, người chịu trách nhiệm chính mới công việc cập nhật dữ liệu, thiết kế dữ liệu và
sao lưu dữ liệu là nhóm quản trị CSDL.
Nhóm quản trị CSDL có trách nhiệm quản lý và bảo vệ dữ liệu, thiết kế cơ sở dữ liệu để lưu trữ dữ liệu một
cách hợp lý và dễ quản lý, cập nhật dữ liệu khi có sự thay đổi và đảm bảo tính toàn vẹn của dữ liệu thông qua
sao lưu và phục hồi dữ liệu.
II. PHẨM CHẤT VÀ NĂNG LỰC CỦA NHÀ QUẢN TRỊ CSDL
- Nhà quản trị CSDL cần có kiến thức cơ bản về CSDL, biết thiết kế CSDL và sử dụng thành thạo hệ QTCSDL.
- Tính cách tỉ mỉ, cẩn thận, kiên nhẫn, kĩ năng phân tích rất cần thiết với nhà quản trị CSDL khi phải xử lí tình
huống.
- Khả năng học tập suốt đời, giúp nhà quản trị CSDL nâng cao bản lĩnh nghề nghiệp.
- Để trở thành nhà quản trị CSDL tốt, cần được học kiến thức một cách bài bản ở các trường đại học chuyên
ngành, rèn luyện kĩ năng trong các khóa học nghề nghiệp về quản trị CSDL, về các hệ QTCSDL cụ thể và rèn
luyện trong công việc thực tế.
Câu 1: Căn cứ vào các công việc cần thực hiện để quản trị CSDL, anh hãy đề xuất những kiến thức, kĩ năng
và phẩm chất cần có của nhà quản trị CSDL.
Trả lời:
Kiến thức về cơ sở dữ liệu: Bao gồm các khái niệm về hệ quản trị cơ sở dữ liệu, mô hình dữ liệu, ngôn ngữ
truy vấn SQL, các kỹ thuật thiết kế cơ sở dữ liệu, các chuẩn mã hóa và bảo mật dữ liệu.
Kiến thức về hệ thống máy tính: Bao gồm các kiến thức về phần cứng máy tính, hệ điều hành, mạng máy tính,
phần mềm quản trị CSDL và các công nghệ liên quan đến CSDL.
Kỹ năng quản lý dự án: Kỹ năng này rất cần thiết trong việc quản trị CSDL để đảm bảo tiến độ, chi phí và chất
lượng dự án.
Kỹ năng giải quyết vấn đề: Đây là kỹ năng cần thiết để xử lý các vấn đề kỹ thuật, bảo mật và quản lý trong quá
trình quản trị CSDL.
Trang 2
Tư duy phân tích và sáng tạo: Nhà quản trị CSDL cần có tư duy phân tích để phát hiện ra những vấn đề tiềm
ẩn và đưa ra các giải pháp thích hợp.
Tinh thần trách nhiệm và chịu trách nhiệm: Quản trị CSDL đảm nhiệm trách nhiệm quan trọng về bảo mật và
bảo vệ dữ liệu, đòi hỏi người quản trị phải có trách nhiệm cao và sẵn sàng chịu trách nhiệm với các quyết định
của mình.
Câu 2: Có thể học kiến thức và rèn luyện kĩ năng quản trị CSDL ở đâu?
Trả lời:
Có nhiều cách để học kiến thức và rèn luyện kỹ năng quản trị CSDL, bao gồm:
Học tập trực tuyến: Có rất nhiều trang web và các khóa học trực tuyến miễn phí hoặc trả phí như Coursera,
Udemy, edX, Pluralsight, LinkedIn Learning, Codecademy và W3Schools.
Đi học ở các trường đại học hoặc các trung tâm đào tạo chuyên nghiệp.
Tự học thông qua các tài liệu và sách chuyên ngành.
Tham gia các cuộc thi và dự án liên quan đến CSDL để rèn luyện kỹ năng.
Thực hành trên các phần mềm quản trị CSDL
Câu 3: Hãy kể ra các phẩm chất và năng lực cần có của một nhà quản trị CSDL.
Trả lời:
Một nhà quản trị CSDL cần phải có những phẩm chất và năng lực sau:
Nhà quản trị CSDL cần có kiến thức cơ bản về CSDL, biết thiết kế CSDL và sử dụng thành thạo CSDL.
Tính cách tỉ mỉ, cẩn thận, kiên nhẫn, kĩ năng phân tích rất cần thiết với nhà quản trị CSDL khi phải xử lí tình
huống.
Khả năng học tập suốt đời, giúp nhà quản trị CSDL nâng cao bản lĩnh nghề nghiệp.
Để trở thành nhà quản trị CSDL tốt, cần được học kiến thức một cách bài bản ở các trường đại học chuyên
nghành, rèn luyện kĩ năng trong các khóa học nghề nghiệp về quản trị CSDL, về các hệ QTCSDL cụ thể và
rèn luyện trong công việc thực tế.
Câu 4: Cần làm gì để có các kiến thức và kĩ năng cần thiết về quản trị CSDL.
Trả lời:
Để có các kiến thức và kỹ năng cần thiết về quản trị cơ sở dữ liệu (CSDL), ta có thể thực hiện các bước sau:
Tìm hiểu về cơ sở dữ liệu
Học về hệ quản trị cơ sở dữ liệu
Luyện tập tạo và quản lý CSDL
Tham gia khóa học về quản trị CSDL.
Trang 3
III. CƠ HỘI VIỆC LÀM
- Nhu cầu nhân lực quản trị CSDL tăng theo nhu cầu phát triển các ứng dụng tin học sử dụng CSDL.
- Có thể tìm được rất nhiều địa chỉ tuyển dụng nhờ công cụ tìm kiếm trên Internet.
Câu 1: Tại sao nhu cầu nhân lực về quản trị CSDL ngày một tăng?
Trả lời:
Nhu cầu tuyển dụng nhân lực về quản trị cơ sở dữ liệu ngày càng tăng do tính toàn cầu hóa và số hóa, sự tăng
trưởng của Big Data, yêu cầu bảo mật và an ninh dữ liệu, khả năng tích hợp và tương tác giữa các hệ thống
khác nhau cùng với cơ hội việc làm và mức lương cao trong lĩnh vực này.
LUYỆN TẬP
Câu 1: Hãy tìm danh sách ít nhất 5 trường đại học có đào tạo CSDL hay tin học quản lí.
Trả lời:
Đại học Kinh tế - Luật
Đại học Khoa học Tự nhiên
Đại học Kinh tế TP HCM
Đại học Ngân hàng TP HCM
Đại học Công nghệ thông tin
Đại học Công nghệ - ĐHQG Hà Nội.
Câu 2. Hãy tìm một số địa chỉ cung cấp các dịch vụ đào tạo để cấp chứng chỉ về CSDL của các công ti như
IBM, Oracle, Microsoft.
Trả lời:
Microsoft Certificated: Azure Data Fundamentals
IBM
Oracle
Microsoft.
VẬN DỤNG
Câu 1: Hãy tìm ba địa chỉ tuyển dụng nhà quản trị CSDL trong ngành ngân hàng.
Trả lời:
IT Business Analyst (Ngân hàng Á Châu
Senior System Analyst (NTT DATA Vietnam)
Triển khai phần mềm (ERP).
Trang 4
Câu 2: Hãy tìm ba địa chỉ tuyển dụng nhà quản trị CSDL trong các công ty tin học.
Trả lời:
Trưởng Nhóm Quản Trị Cơ Sở Dữ Liệu (DBA) (TẬP ĐOÀN BRG – CÔNG TY CP)
Chuyên Viên Quản Trị Cơ Sở Dữ Liệu (Công Ty CP Chứng Khoán MB)
Chuyên viên Quản trị cơ sở dữ liệu, phòng MIS, Khối Tài chính kế toán (Ngân hàng TMCP Đại Chúng Việt
Nam - PVcomBank).
Câu 2. Theo lịch sử phát triển, máy tính thay đổi như thế nào về điện năng tiêu thụ?
A. Từ tiêu thụ nhiều điện đến tiêu thụ ít điện năng
B. Từ không tiêu thụ điện năng đến tiêu thụ nhiều điện và đến tiêu thụ ít điện năng
C. Từ tiêu thụ nhiều điện đến tiêu thụ ít điện năng và không tiêu thụ điện năng
D. Đáp án khác
Câu 3. Theo lịch sử phát triển, máy tính thay đổi như thế nào về tốc độ tính toán?
A. Từ không đáng tin cậy đến nhanh nhạy và chính xác
B. Từ nhanh nhạy và chính xác đến đáng tin cậy
Trang 5
C. Từ không đáng tin cậy đến nhanh nhạy và chính xác, đáng tin cậy
D. Đáp án khác
Câu 4. Các hiểu biết về kĩ năng CSDL sẽ hết sức hữu ích cho?
A. Những ai có nhu cầu phát triển năng lực chuyên môn ở những bậc học cao hơn liên quan đến tin học
B. Những công nhân viên chức
C. Những nhân viên văn phòng
D. Đáp án khác
Câu 5. Khả năng học tập suốt đời giúp người quản trị CSDL?
A. Phát triển khả năng chuyên môn
B. Nâng cao bản lĩnh nghề nghiệp
C. Phát triển sáng tạo
D. Đáp án khác
Câu 7. Vì sao người quản trị CSDL cần thường xuyên tạo các bản sao dữ liệu dự phòng?
A. Phù hợp với sự phát triển
B. Tiết kiện điện
C. Để khi gặp sự cố có thể khôi phục dữ liệu kịp thời
D. Cả ba đáp án trên đều sai
Câu 8. Vì sao người quản trị CSDL cần nắm bắt sự phát triển của công nghệ, đánh giá hoạt động của hệ thống?
A. Nâng cấp công nghệ khi cần thiết
B. Để khi gặp sự cố có thể khôi phục dữ liệu kịp thời
C. Phù hợp với sự phát triển
D. Đáp án khác
Câu 9. Vì sao người quản trị CSDL cần thường xuyên theo dõi các số liệu thống kê về tình hình sử dụng?
A. Phù hợp với sự phát triển
Trang 6
B. Để nắm bắt biến động nhu cầu tài nguyên để điều chỉnh hoặc bổ sung
C. Để khi gặp sự cố có thể khôi phục dữ liệu kịp thời
D. Đáp án khác
Câu 10. Vì sao người quản trị CSDL tạo lập và làm hồ sơ về CSDL?
A. Để nắm bắt biến động nhu cầu tài nguyên để điều chỉnh hoặc bổ sung
B. Để khi gặp sự cố có thể khôi phục dữ liệu kịp thời
C. Phù hợp với sự phát triển
D. Để phục vụ hoạt động duy trì và nâng cấp hệ thống sau này
I. LỢI ÍCH CỦA VIỆC QUẢN TRỊ CƠ SỞ DỮ LIỆU TRÊN MÁY TÍNH
Trang 7
- Việc ứng dụng CSDL trong quản lí đem lại nhiều lợi ích to lớn: tiện lợi, kịp thời, nhanh chóng, hạn chế sai
sót,…
Câu 1: Các bài toán quản lí cùng với việc lưu trữ dữ liệu, khai thác thông tin đã xuất hiện từ rất lâu trong các
hoạt động kinh tế-xã hội với những nghiệp vụ được vận hành nề nếp, ổn định từ rất nhiều năm,… Hãy cùng
tìm hiểu tại sao lại phải thay đổi thói quen quản lí thủ công, chuyển sang sử dụng máy tính với hệ QTCSDL.
Trả lời:
Việc ứng dụng CSDL trong quản lí đem lại nhiều lợi ích to lớn: Tiện lợi, kịp thời, nhanh chóng, hạn chế sai
sót,...
Câu 2: Hãy nêu vài ví dụ thực tế minh hoạ về việc ứng dụng quản trị CSDL trên máy tính và những lợi ích mà
nó mang lại.
Trả lời:
Dưới đây là một vài ví dụ thực tế minh hoạ về việc ứng dụng quản trị CSDL trên máy tính và những lợi ích mà
nó mang lại:
Hệ thống quản lý khách hàng: Một công ty có một hệ thống quản lý khách hàng trên máy tính, trong đó lưu trữ
thông tin của khách hàng, bao gồm tên, địa chỉ, số điện thoại, email, lịch sử giao dịch, và các thông tin khác.
Nhờ CSDL, nhân viên bán hàng có thể nhanh chóng tra cứu thông tin của khách hàng, cập nhật thông tin mới,
quản lý các hoạt động tiếp thị và dịch vụ chăm sóc khách hàng. Điều này giúp nâng cao chất lượng dịch vụ,
tăng tính chuyên nghiệp, và tối ưu hóa quản lý khách hàng.
Hệ thống quản lý nhân viên: Một doanh nghiệp sử dụng CSDL để quản lý thông tin của nhân viên, bao gồm
hồ sơ nhân viên, thông tin cá nhân, lịch sử công tác, lương thưởng, và các thông tin liên quan khác. Hệ thống
CSDL giúp đơn giản hóa quá trình tuyển dụng, cung cấp dữ liệu chính xác về nhân viên, tính toán lương
thưởng, quản lý chấm công, và đánh giá hiệu suất. Điều này giúp tăng cường tính minh bạch, giảm bớt công
việc thủ công, và nâng cao quản lý nhân sự.
Hệ thống quản lý sản phẩm và kho hàng: Một công ty có một hệ thống CSDL quản lý thông tin về sản phẩm,
kho hàng, đơn đặt hàng, và vận chuyển. CSDL giúp theo dõi số lượng hàng tồn kho, giúp dự đoán và quản lý
nhu cầu cung cấp, và cải thiện quy trình đặt hàng và vận chuyển. Nhờ CSDL, công ty có thể quản lý tối ưu hoá
dòng sản phẩm, đồng bộ hóa thông tin giữa các phòng ban, và cung cấp dịch vụ khách hàng nhanh chóng và
chính xác.
Hệ thống quản lý dự án: Một công ty xây dựng sử dụng CSDL để quản lý dự án, bao gồm kế hoạch, nguồn lực,
tiến độ, và chi phí. CSDL giúp đồng bộ thông tin giữa các bộ phận khácTop of Form.
Trang 8
- Truy cập trang dev.mysql.com/downloads/mysql/ hoặc downloads.mysql.cpm/archives/installer để tải về một
trong các bản: Bản cài tự động, Bản gọn nhẹ và Bản đầy đủ.
- MySQL có sẵn phần mềm khách giúp người dùng có thể kết nối, làm việc với MySQL.
b) Phần mềm HeidiSQL
- Heidi MySQL là một phần mềm mã nguồn mở, miễn phí, giúp kết nối, làm việc với nhiều hệ QTCSDL.
- Truy cập trang www.heidisql.com/download.php để tải về một trong hai bản sau: Bản cài tự động và Bản
Portable.
☞ Kết luận:
- MySQL và HeidiSQL là các phần mềm mã nguồn mở, được nhiều người dùng để quản trị các CSDL.
Câu 1: Hãy sử dụng từ khoá “hệ quản trị CSDL phổ biến” để tìm kiếm thông tin trên Internet và trả lời câu
hỏi "Nếu được lựa chọn, em sẽ chọn hệ QGTCSDL nào để đáp ứng được các tiêu chí nhiều người dùng và là
hệ QTCSDL miễn phí”?
Trả lời:
Nếu được lựa chọn, một hệ quản trị CSDL phổ biến và miễn phí mà có thể đáp ứng được các tiêu chí của nhiều
người dùng là MySQL. MySQL là một hệ quản trị CSDL mã nguồn mở được phát triển bởi Oracle Corporation
và được cộng đồng nguồn mở hỗ trợ và phát triển. Nó là một trong những hệ quản trị CSDL phổ biến nhất trên
thế giới, được sử dụng rộng rãi trong các ứng dụng web, từ các trang web cá nhân, blog, cho đến các công ty
công nghệ lớn.
MySQL đáp ứng được nhiều tiêu chí của người dùng, bao gồm:
Miễn phí: MySQL là một hệ quản trị CSDL mã nguồn mở, do đó hoàn toàn miễn phí để sử dụng, phát triển và
triển khai.
Dễ sử dụng: MySQL có một cộng đồng lớn và hỗ trợ đa dạng, vì vậy việc tìm kiếm tài liệu và giải đáp câu hỏi
là dễ dàng. Nó cũng có giao diện quản lý đồ họa (MySQL Workbench) giúp dễ dàng quản lý và tương tác với
CSDL.
Tính ổn định và đáng tin cậy: MySQL đã được sử dụng rộng rãi trong nhiều năm và đã được kiểm tra, đánh
giá và cải thiện liên tục. Nó cung cấp tính ổn định và đáng tin cậy trong việc quản lý dữ liệu.
Khả năng mở rộng: MySQL hỗ trợ khả năng mở rộng lên đến hàng triệu bản ghi và hàng nghìn người dùng
đồng thời, cho phép phát triển ứng dụng lớn và có khả năng mở rộng trong tương lai.
Vì vậy, nếu đang tìm kiếm một hệ quản trị CSDL miễn phí, phổ biến và đáp ứng được các tiêu chí của nhiều
người dùng, MySQL là một lựa chọn hợp lý.
Câu 2: Khi cài đặt MYSQL, phần mềm cài đặt có yêu cầu em làm điều gì mà cần phải ghi nhớ để sau đó có
thể đăng nhập vào MYSQL không?
Trả lời:
Trang 9
Phần mềm yêu cầu tạo mật khẩu.
LUYỆN TẬP
Câu 1: Thực hành cài đặt MySOQL và cài đặt HeidiSSQL.
Trả lời:
Để thực hiện cài đặt MySQL và HeidiSQL, bạn có thể làm theo các bước sau:
Cài đặt MySQL:
Bước 1: Tải xuống MySQL Community Edition
Truy cập trang web chính thức của MySQL tại địa chỉ: https://dev.mysql.com/downloads/mysql/
Chọn phiên bản phù hợp của MySQL Community Edition dành cho hệ điều hành của bạn và tải xuống.
Bước 2: Cài đặt MySQL
Chạy tệp cài đặt MySQL vừa tải xuống và làm theo hướng dẫn trên màn hình để hoàn thành quá trình cài đặt.
Chú ý lựa chọn các tùy chọn cài đặt, bao gồm ngôn ngữ, cổng kết nối, người dùng và mật khẩu của MySQL.
Bước 3: Khởi chạy dịch vụ MySQL
Sau khi cài đặt hoàn tất, khởi động dịch vụ MySQL trên máy tính của bạn.
Truy cập vào cửa sổ dòng lệnh hoặc terminal (với quyền quản trị) và nhập các lệnh sau (tùy theo hệ điều hành):
Windows: net start mysql
macOS/Linux: sudo service mysql start
Trang 10
Bấm nút "Open (mở)" để kết nối đến MySQL.
Sau khi hoàn tất các bước trên, bạn đã cài đặt và kết nối thành công MySQL và HeidiSQL, sẵn sàng để quản
lý và làm việc với CSDL MySQL
VẬN DỤNG
Câu 1: Truy cập Internet với các cụm từ khoá thích hợp để tìm hiểu thêm thông tin về MySQL và HeidiSQL.
Trả lời:
MySQL là một hệ quản trị cơ sở dữ liệu (DBMS) mã nguồn mở phổ biến, được sử dụng rộng rãi trong việc
quản lý cơ sở dữ liệu trên các ứng dụng web và hệ thống phức tạp. MySQL cung cấp khả năng lưu trữ và truy
xuất dữ liệu hiệu quả, hỗ trợ nhiều ngôn ngữ lập trình và nhiều nền tảng hệ điều hành, cung cấp tính năng an
ninh và độ tin cậy cao.
HeidiSQL là một công cụ quản lý cơ sở dữ liệu mã nguồn mở dành cho MySQL, MariaDB, Microsoft SQL
Server và PostgreSQL. HeidiSQL cung cấp giao diện đồ họa thân thiện và dễ sử dụng cho việc quản lý cơ sở
dữ liệu, cho phép thực thi các câu lệnh SQL, duyệt dữ liệu, chỉnh sửa bảng, quản lý người dùng, sao lưu và
phục hồi cơ sở dữ liệu, và nhiều tính năng hữu ích khác.
Dưới đây là một số thông tin chung về MySQL và HeidiSQL:
MySQL:
MySQL là một hệ quản trị cơ sở dữ liệu mã nguồn mở, phát triển và duy trì bởi Oracle Corporation. MySQL
được sử dụng rộng rãi trong các ứng dụng web và hệ thống phức tạp, từ các trang web cá nhân cho đến các
công ty lớn và tổ chức trên toàn thế giới.
MySQL cung cấp tính năng an ninh, độ tin cậy cao, hỗ trợ nhiều ngôn ngữ lập trình, và có cộng đồng người
dùng đông đảo và nhiều tài liệu hướng dẫn trực tuyến.
HeidiSQL:
HeidiSQL là một công cụ quản lý cơ sở dữ liệu mã nguồn mở, được phát triển bởi anh/chị guitorres và được
cung cấp miễn phí cho cộng đồng người dùng.
HeidiSQL cung cấp giao diện đồ họa thân thiện, dễ sử dụng, hỗ trợ nhiều hệ quản trị cơ sở dữ liệu, bao gồm
MySQL, MariaDB, Microsoft SQL Server và PostgreSQL.
HeidiSQL cung cấp nhiều tính năng hữu ích cho việc quản lý cơ sở dữ liệu, bao gồm thực thi câu lệnh SQL,
duyệt dữ liệu, chỉnh sửa bảng, quản lý người dùng, sao lưu và phục hồi.
Câu 2. Do đâu mà Quản lý CSDL trên máy tính thường nhanh chóng, tiết kiệm thời gian và công sức hơn so với
quản lý thủ công?
A. Dữ liệu trong CSDL có thể được tìm kiếm, lọc, và phân tích theo nhiều tiêu chí khác nhau trong thời gian
ngắn, giúp người quản lý dễ dàng đưa ra quyết định hoặc tìm kiếm thông tin cần thiết.
B. Các hoạt động cập nhật và chỉnh sửa dữ liệu trên máy tính thường được tự động hóa và có thể được thực
hiện đồng thời trên nhiều bản ghi, giúp tiết kiệm thời gian và giảm bớt công sức so với quản lý thủ công mà
phải xử lý từng bản ghi một
C. Được trải nghiệm nhiều tính năng khác nhau: nghe, gọi, chơi trò chơi, xem video...
D. Dữ liệu trong CSDL có thể được bảo vệ bằng các biện pháp bảo mật như mã hóa
Câu 3. Do đâu mà Quản lý CSDL trên máy tính mang lại khả năng tra cứu và phân tích dữ liệu hiệu quả hơn so
với quản lý thủ công?
A. Dữ liệu trong CSDL có thể được tìm kiếm, lọc, và phân tích theo nhiều tiêu chí khác nhau trong thời gian
ngắn, giúp người quản lý dễ dàng đưa ra quyết định hoặc tìm kiếm thông tin cần thiết.
B. Các hoạt động cập nhật và chỉnh sửa dữ liệu trên máy tính thường được tự động hóa và có thể được thực
hiện đồng thời trên nhiều bản ghi, giúp tiết kiệm thời gian và giảm bớt công sức so với quản lý thủ công mà
Trang 12
phải xử lý từng bản ghi một
C. Được trải nghiệm nhiều tính năng khác nhau: nghe, gọi, chơi trò chơi, xem video...
D. Dữ liệu trong CSDL có thể được bảo vệ bằng các biện pháp bảo mật như mã hóa
Câu 6. Do đâu mà Quản lý CSDL trên máy tính cung cấp khả năng kiểm soát truy cập và độ bảo mật cao hơn
so với quản lý thủ công?
A. Dữ liệu trong CSDL có thể được tìm kiếm, lọc, và phân tích theo nhiều tiêu chí khác nhau trong thời gian
ngắn, giúp người quản lý dễ dàng đưa ra quyết định hoặc tìm kiếm thông tin cần thiết.
B. Các hoạt động cập nhật và chỉnh sửa dữ liệu trên máy tính thường được tự động hóa và có thể được thực
hiện đồng thời trên nhiều bản ghi, giúp tiết kiệm thời gian và giảm bớt công sức so với quản lý thủ công mà
phải xử lý từng bản ghi một
C. Được trải nghiệm nhiều tính năng khác nhau: nghe, gọi, chơi trò chơi, xem video...
D. Dữ liệu trong CSDL có thể được bảo vệ bằng các biện pháp bảo mật như mã hóa
Câu 8. Đâu không phải lí do để thay đổi thói quen quản lí thủ công, chuyển sang sử dụng máy tính với hệ
QTCSDL?
A. Tiện lợi, kịp thời
Trang 13
B. Nhanh chóng hơn
C. Hạn chế sai sót
D. Miễn phí
Câu 9. Do đâu mà Quản lý CSDL trên máy tính thường nhanh chóng, tiết kiệm thời gian và công sức hơn so với
quản lý thủ công?
A. Dữ liệu trong CSDL có thể được tìm kiếm, lọc, và phân tích theo nhiều tiêu chí khác nhau trong thời gian
ngắn, giúp người quản lý dễ dàng đưa ra quyết định hoặc tìm kiếm thông tin cần thiết.
B. Các hoạt động cập nhật và chỉnh sửa dữ liệu trên máy tính thường được tự động hóa và có thể được thực
hiện đồng thời trên nhiều bản ghi, giúp tiết kiệm thời gian và giảm bớt công sức so với quản lý thủ công mà
phải xử lý từng bản ghi một
C. Được trải nghiệm nhiều tính năng khác nhau: nghe, gọi, chơi trò chơi, xem video...
D. Dữ liệu trong CSDL có thể được bảo vệ bằng các biện pháp bảo mật như mã hóa
BÀI 18. THỰC HÀNH XÁC ĐỊNH CẤU TRÚC BẢNG VÀ CÁC TRƯỜNG KHÓA
I. LÝ THUYẾT
Câu 1: Ở bài 13, các em đã phần nào thấy được lợi ích khi tổ chức CSDL của website âm nhạc với nhiều bảng
mà không phải là một bảng với đầy đủ tất cả các thông tin về mỗi bản thu âm (tên bản nhạc, tên nhạc sĩ, tên
ca sĩ). Tuy nhiên, làm thế nào để từ yêu cầu ban đầu (quản lí danh sách các bản thu âm với đây đủ thông tin
tên bản nhạc, tên nhạc sĩ, tên ca sĩ) người ta lại đi đến được CSDL với các bảng ở Bài 13?
Trả lời:
Ta phải xác định cấu trúc bảng và các khóa chính, khóa ngoài, tạo liên kết giữa các bảng.
Trang 14
- Thông tin quản lí bao gồm: Số hiệu bản thu âm (STT), tên bản nhạc, tên nhạc sĩ sáng tác, tên ca sĩ thể hiện.
Từ đó có thể hình dung một bảng dữ liệu tên là banthuam, với các trường idBanthuam (để lưu số hiệu bản thu
âm), tenBannhac (để lưu tên bản nhạc), tenNhacsi (để lưu tên nhạc sĩ), tenCasi (để lưu tên ca sĩ) và viết mô tả
ngắn gọn ở dạng:
banthuam(idBanthuam, tenBannhac,tenNhacsi,tenCasi)
trong đó, trường idBanthuam là trường khóa chính.
Trang 15
Để đơn giản, các trường khóa chính thường có kiểu INT và tự động tăng giá trị (AUTO_INCREMENT)
Các trường tenNhacsi, tenCasi, tenBannhac có thể chọn là xâu ký tự có độ dài tối đa 255 ký tự (VARCHAR
(255))
Câu hỏi
Câu 1: Em hãy chỉ ra những lợi ích có được khi tổ chức CSDL âm nhạc với các bảng như đã trình bày trong
bài học.
Trả lời:
Tổ chức cơ sở dữ liệu (CSDL) âm nhạc với các bảng được mô tả như trên sẽ mang lại nhiều lợi ích, bao gồm:
Quản lý thông tin về các ca sĩ (casi) và nhạc sĩ (nhacsi): CSDL sẽ cho phép lưu trữ và quản lý thông tin về các
ca sĩ và nhạc sĩ, bao gồm các trường như idcasi, tencasi, idnhacsi, tennhacsi. Điều này giúp tổ chức có thể dễ
dàng tra cứu và quản lý thông tin cá nhân, 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ả.
Quản lý thông tin về các ban nhạc (bannhac) và bản thu âm (banthuam): CSDL cũng cho phép lưu trữ và quản
lý thông tin về các ban nhạc và bản thu âm của các ban nhạc. Các thông tin như idbannhac, tenbannhac, idnhacsi
sẽ giúp tổ chức có thể theo dõi và quản lý hoạt động của các ban nhạc, bao gồm cả thông tin về các tác phẩm
âm nhạc mà các ban nhạc đã thực hiện.
Quản lý quan hệ giữa ca sĩ, ban nhạc và nhạc sĩ: CSDL giúp tổ chức có thể quản lý các mối quan hệ giữa các
ca sĩ, ban nhạc và nhạc sĩ thông qua các khóa ngoại như idcasi, idbanthuam, idnhacsi. Điều này giúp tổ chức
có thể theo dõi và quản lý các hoạt động nghệ thuật, dự án âm nhạc và các tác phẩm hợp tác giữa các ca sĩ, ban
nhạc và nhạc sĩ.
Tra cứu và tìm kiếm dữ liệu dễ dàng: CSDL âm nhạc với các bảng được thiết kế hợp lý giúp tổ chức có thể dễ
dàng tra cứu và tìm kiếm dữ liệu, từ đó đáp ứng nhanh chóng nhu cầu tìm kiếm thông tin của người dùng
hoặc nhân viên trong tổ chức.
Tối ưu hóa hoạt động tổ chức: Quản lý CSDL âm nhạc giúp tổ chức có thể tối ưu hóa hoạt động, từ việc quản
lý dữ liệu, phân tích và bảo mật.
LUYỆN TẬP
Câu 1: Có thể có những nhạc sĩ, ca sĩ trùng tên nên người ta muốn quản lí thêm thông tin ngày sinh của các
nhạc sĩ, ca sĩ. Để làm được việc đó, CSDL cần thay đổi như thế nào?
Trả lời:
Để thêm thông tin ngày sinh của các nhạc sĩ, ca sĩ vào CSDL, bạn cần 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. Bạn có thể đặt tên cho trường này là "ngaysinh" hoặc tên tương
tự để thể hiện thông tin ngày sinh của các nghệ sĩ.
Sau khi thêm trường "ngaysinh" vào bảng "nhacsi" và "casi", CSDL sẽ có cấu trúc như sau:
Trang 16
Bảng casi:
idcasi (khóa chính)
tencasi
ngaysinh
Bảng banthuam:
idbanthuam (khóa chính)
idbannhac
idcasi
Bảng bannhac:
idbannhac (khóa chính)
tenbannhac
idnhacsi
Bảng nhacsi:
idnhacsi (khóa chính)
tennhacsi
ngaysinh
Sau khi thực hiện thay đổi này, bạn có thể lưu trữ thông tin ngày sinh của các nhạc sĩ, ca sĩ vào CSDL và sử
dụng nó cho việc quản lí và truy vấn dữ liệu liên quan đến thông tin ngày sinh của các nghệ sĩ một cách dễ
dàng.
Câu 2: 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?
Trả lời:
Để thêm thông tin nơi sinh của nhạc sĩ, ca sĩ (tên tỉnh/thành phố), bạ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. Dưới đây là một ví dụ về cách thực hiện thay đổi này:
Bảng casi:
idcasi (khóa chính)
tencasi
ngaysinh
noisinh_id (khóa ngoại tham chiếu tới bảng noisinh)
Bảng banthuam:
idbanthuam (khóa chính)
idbannhac
idcasi
Bảng bannhac:
Trang 17
idbannhac (khóa chính)
tenbannhac
idnhacsi
Bảng nhacsi:
idnhacsi (khóa chính)
tennhacsi
ngaysinh
noisinh_id (khóa ngoại tham chiếu tới bảng noisinh)
Bảng noisinh:
idnoisinh (khóa chính)
tennoisinh
Trong đó, bảng "noisinh" là bảng mới được thêm vào để lưu trữ thông tin nơi sinh của nhạc sĩ, ca sĩ, bao gồm
cột "idnoisinh" là khóa chính và cột "tennoisinh" là nơi lưu trữ tên tỉnh/thành phố.
Sau khi thực hiện thay đổi này, bạn có thể lưu trữ thông tin nơi sinh của các nhạc sĩ, ca sĩ vào bảng "noisinh"
và sử dụng cột "noisinh_id" trong các bảng "nhacsi" và "casi" để tham chiếu tới thông tin nơi sinh trong bảng
"noisinh". Điều này cho phép bạn quản lí và truy vấn dữ liệu liên quan đến thông tin nơi sinh của các nghệ sĩ
một cách dễ dàng.
VẬN DỤNG
Câu 1: Thực hiện các bước phân tích đề thiết lập mô hình dữ liệu cho một bài toán quản lí thực tế, ví dụ quản
lí danh sách tên quận/huyện của các tỉnh thành phố.
Trả lời:
Bước 1: Phân tích yêu cầu
Bài toán: Quản lí danh sách tên quận/huyện của các tỉnh thành phố.
Yêu cầu: Cần lưu trữ danh sách tên quận/huyện của các tỉnh thành phố.
Bước 2: Xác định các thực thể (entities)
Tỉnh thành phố: Là đơn vị hành chính cấp 1, có tên và mã duy nhất.
Quận/Huyện: Là đơn vị hành chính cấp 2, có tên và mã duy nhất, thuộc về một tỉnh/thành phố.
Bước 3: Xác định các mối quan hệ (relationships)
Mối quan hệ giữa Tỉnh thành phố và Quận/Huyện: Tỉnh thành phố có thể có nhiều quận/huyện thuộc về nó, vì
vậy đây là mối quan hệ một-nhiều (one-to-many). Mã duy nhất của tỉnh thành phố sẽ được sử dụng làm khóa
chính trong bảng Tỉnh thành phố, và mã của tỉnh thành phố sẽ là khóa ngoại trong bảng Quận/Huyện để tham
chiếu đến tỉnh/thành phố tương ứng.
Trang 18
Bước 4: Thiết lập cấu trúc CSDL Dựa trên phân tích ở trên, ta có thể thiết lập cấu trúc CSDL gồm các bảng
sau:
Bảng Tỉnh thành phố:
MaTinhThanhPho (khóa chính)
TenTinhThanhPho
Bảng Quận/Huyện:
MaQuanHuyen (khóa chính)
TenQuanHuyen
MaTinhThanhPho (khóa ngoại tham chiếu tới bảng Tỉnh thành phố)
Trong đó, bảng "Tỉnh thành phố" lưu trữ thông tin về các tỉnh thành phố, bao gồm mã và tên của chúng. Bảng
"Quận/Huyện" lưu trữ thông tin về các quận/huyện, bao gồm mã, tên và mã của tỉnh/thành phố mà chúng thuộc
về.
Bước 5: Cài đặt mô hình dữ liệu Sau khi thiết lập cấu trúc CSDL, bạn có thể cài đặt mô hình dữ liệu cho bài
toán quản lí danh sách tên quận/huyện của các tỉnh thành phố bằng cách sử dụng các công cụ, ngôn ngữ lập
trình hoặc hệ quản trị cơ sở dữ liệu phù hợp. Ví dụ như sử dụng SQL để tạo các bảng, định nghĩa các trường
Câu 2. 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 ca sĩ, ban nhạc và nhạc sĩ
Câu 3. 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?
A. Cần xóa bỏ cấu trúc CSDL và thay bằng cấu trúc khác
B. Thêm các trường vào CSDL
C. 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
D. Đáp án khác
Câu 4. Để thêm thông tin ngày sinh của các nhạc sĩ, ca sĩ vào CSDL, bạn cần?
A. 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
B. 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. Cần xóa bỏ cấu trúc CSDL và thay bằng cấu trúc khác
D. Đáp án khác
Câu 5. Để 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?
A. Tỉnh thành phố và Quận/Huyện
B. Tính và Thị trấn
C. Tỉnh và thị xã
D. Huyện và thị trấn
Câu 6. Để 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à
A. Mã của huyện
B. Mã của thị trấn
C. Mã của tỉnh thành phố
D. Mã của thị xã
Trang 20
Câu 7. Để 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
ngoại trong bảng Quận/Huyện là?
A. Mã của huyện
B. Mã của thị trấn
C. Mã của tỉnh thành phố
D. Mã của thị xã
Câu 8. Để 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à?
A. Khóa chính
B. Khóa ngoại tham chiếu tới bảng Quận/Huyện
C. Khóa ngoại tham chiếu tới bảng Tỉnh thành phố
D. Đáp án khác
Trang 21
Bước 2: 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 trái của HeidiSQL.
Bước 3: Nhấp chuột phải vào tên cơ sở dữ liệu và chọn "Create new" để tạo bảng mới.
Bước 4: Đặt tên cho bảng mới và thiết lập các trường cho bảng đó. Ví dụ, bạn có thể đặt tên bảng là
"TinhThanhPho" và thêm các trường "MaTinhThanhPho" (kiểu dữ liệu: INT, khóa chính),
"TenTinhThanhPho" (kiểu dữ liệu: VARCHAR).
Bước 5: Nhấp chuột phải vào bảng vừa tạo và chọn "Create new" để thêm bảng mới khác. Làm tương tự để
tạo các bảng "QuanHuyen" với các trường tương ứng như "MaQuanHuyen" (kiểu dữ liệu: INT, khóa chính),
"TenQuanHuyen" (kiểu dữ liệu: VARCHAR), "MaTinhThanhPho" (kiểu dữ liệu: INT, khóa ngoại).
Bước 6: 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 ngoại.
Ví dụ, bạn có thể nhấp chuột phải vào trường "MaTinhThanhPho" trong bảng "QuanHuyen" và chọn "Foreign
key setup" để thiết lập khóa ngoại này tham chiếu đến bảng "TinhThanhPho" và trường "MaTinhThanhPho"
của bảng đó.
Bước 7: Lưu lại các thay đổi và đóng cửa sổ tạo lập cơ sở dữ liệu.
Sau khi hoàn thành các bước trên, bạn đã tạo lập thành công CSDL và các bảng đơn giản trong HeidiSQL. 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, sửa đổi, xóa dữ liệu trong các
bảng này theo yêu cầu của bạn.
Tạo lập CSDL mymusic
Tạo lập bảng
Trang 22
b) Khai báo khóa chính
- Ấn định idNhacsi là khóa chính: Nháy nút phải chuột vào dòng khai báo idNhacsi và chọn Create new index
-> PRIMARY.
- Để sửa khóa chính đã khai báo nhầm này, hãy nháy đúp chuột vào ô tenNhacsi ở dưới ô PRIMARY KEY ở
phần trên và chọn lại idNhacsi.
- Sau đó nháy chuột vào ô bên cạnh dưới ô PRIMARY.
LUYỆN TẬP
Câu 1: Khai báo tạo lập bảng casi như thiết kế ở Bài 18.
Trả lời:
Tạo bảng Casi: Nháy nút phải chuột ở vùng danh sách các CSDL đã có, chọn thẻ tạo mới, chọn Bảng. Nhập
tên: Casi, chọn thêm mới để thêm trường: idcasi, tencasi, chọn Khai báo khóa chính và lưu bảng.
VẬN DỤNG
Câu 1: Hãy lập CSDL quản lí tên các Quận/Huyện, Tỉnh/Thành phố của Việt Nam. Tạo bảng Tỉnh/Thành phố.
Trả lời:
Sử dụng phần mềm HEIDISQL để tạo lập CSDL
Nháy nút phải chuột vùng danh sách các CSDL đã có. Chọn thẻ tạo mới, chọn cơ sở dữ liệu. Nhập tên CSDL,
chọn Ok
Tạo bảng Tỉnh/Thành phố: Nháy nút phải chuột ở vùng danh sách các CSDL đã có, chọn thẻ tạo mới, chọn
Bảng. Nhập tên: Tỉnh/Thành phố, chọn thêm mới để thêm trường: idtenthanhpho, tenthanhpho, tenquan
(huyen) chọn Khai báo khóa chính và lưu bảng.
Câu 2. Cần phải xác định và khai báo gì để tạo lập bảng?
• Tên bảng
Trang 23
• Kiểu dữ liệu
• Khai báo kích thước của mỗi trường
Câu 3. Mở HeidiSQL và kết nối đến cơ sở dữ liệu của bạn (nếu đã có). Nếu chưa có cơ sở dữ liệu, bạn có thể
tạo mới một cơ sở dữ liệu bằng cách nhấp chuột phải vào?
A. "Create database"
B. "Create new"
C. "Root"
D. Đáp án khác
Câu 4. Sau khi kết nối đến cơ sở dữ liệu, bạn có thể chọn cơ sở dữ liệu đó trong?
A. Danh sách cơ sở dữ liệu được hiển thị bên dưới của HeidiSQL
B. Danh sách cơ sở dữ liệu được hiển thị bên phải của HeidiSQL
C. Danh sách cơ sở dữ liệu được hiển thị bên trái của HeidiSQL
D. Đáp án khác
Trang 24
Câu 6. 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?
A. Thiết lập khóa phụ
B. Thiết lập khóa chính
C. Thiết lập khóa ngoại
D. Đáp án khác
Câu 8. 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à?
A. Cột mới
B. Trường mới
C. Column 1
D. Row 1
Câu 10. 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?
A. Cần xóa bỏ cấu trúc CSDL và thay bằng cấu trúc khác
B. Thêm các trường vào CSDL
C. 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
D. Đáp án khác
Trang 25
Trả lời:
Khi tạo bảng trong cơ sở dữ liệu có hỗ trợ khoá ngoài (foreign key), việc thiết lập khoá ngoài được thực hiện
bằng cách xác định cột trong bảng hiện tại là khoá ngoài, và chỉ định bảng mà khoá ngoài này tham chiếu đến
(bảng gốc).
LUYỆN TẬP
Câu 1: Hãy tạo lập bảng banthuam.
Trang 26
Trả lời:
Tạo bảng banthuam: Nháy nút phải chuột ở vùng danh sách các CSDL đã có, chọn thẻ tạo mới, chọn Bảng.
Nhập tên: Banthuam, chọn thêm mới để thêm trường: idbanthuam, idbannhac, idcasi và Khai báo khóa chính
và lưu bảng.
VẬN DỤNG
Câu 1: Hãy tạo lập bảng Quận/Huyện trong CSDL quản lí tên Quận/Huyện, Tỉnh/Thành phố.
Trả lời:
Tạo bảng quanhuyen: Nháy nút phải chuột ở vùng danh sách các CSDL đã có, chọn thẻ tạo mới, chọn Bảng.
Nhập tên: quanhuyen, chọn thêm mới để thêm trường: idquanhuyen, tenquanhuyen, dientich, danso. Khai báo
khóa chính và lưu bảng.
Câu 2. Vệc thiết lập khoá ngoài được thực hiện như thế nào?
A. Việc thiết lập khoá ngoài được thực hiện bằng cách xác định cột trong bảng hiện tại là khoá ngoài
B. Việc thiết lập khoá ngoài được thực hiện bằng cách chỉ định bảng mà khoá ngoài này tham chiếu đến (bảng
gốc)
C. Việc thiết lập khoá ngoài được thực hiện bằng cách xác định cột trong bảng hiện tại là khoá ngoài, và chỉ
Trang 27
định bảng mà khoá ngoài này tham chiếu đến (bảng gốc)
D. Cả ba đáp án trên đều sai
Câu 3. Để chọn giá trị mặc định là AUTO_INCREMENT thì nháy chuột vào ô?
A. Allow NULL
B. Add column
C. No default
D. Đáp án khác
Câu 5. Cần khai báo giá trị mặc định phù hợp với?
A. Giá trị tương ứng của hàng
B. Giá trị tương ứng của cột
C. Giá trị tương ứng của k
D. Đáp án khác
Câu 6. Tên các trường không được trùng lặp giá trị nên phải khai báo khóa?
A. Chính
B. Phụ
C. Cấm trùng lặp
D. Đáp án khác
Trang 28
B. "Create new"
C. "Root"
D. Foreign keys
BÀI 21. THỰC HÀNH CẬP NHẬT VÀ TRUY XUẤT DỮ LIỆU CÁC BẢNG
I. LÝ THUYẾT
Câu 1: Cập nhật và truy xuất dữ liệu là hai công việc chính khi làm việc với một CSDL. HeidiSQL hỗ trợ việc
thực hiện các công việc đó như thế nào với những bảng đơn giản, không có khoá ngoài?
Trả lời:
HeidiSQL là một công cụ quản lý CSDL mã nguồn mở hỗ trợ việc thực hiện cập nhật và truy xuất dữ liệu trong
các bảng đơn giản không có khoá ngoài theo các bước sau:
Truy xuất dữ liệu: Bằng cách chọn bảng cần truy xuất và sử dụng truy vấn SQL, bạn có thể truy xuất dữ liệu
trong bảng.
Cập nhật dữ liệu: HeidiSQL cung cấp giao diện đồ họa cho phép bạn chỉnh sửa, thêm mới hoặc xoá dữ liệu
trong các bảng.
Trang 29
- Trường idNhacsi có kiểu INT, AUTO_INCREMENT (tự động điền giá trị) nên không cần nhập dữ liệu cho
trường này. Nháy đúp chuột vào ô ở cột tenNhacsi để nhập tên Nhạc sĩ, nhấn phím Enter, sau đó nhấn phím
Insert để nhập hàng mới.
- Tiếp tục thực hành nhập thêm dữ liệu để nắm vững những thao tác nhập dữ liệu.
LUYỆN TẬP
Câu 1: Cập nhật dữ liệu vào bảng casi.
Trả lời:
Bước 1: Tạo bảng casi
Bước 2: Chọn add để cập nhật dữ liệu cho bảng casi
Câu 2: Truy xuất dữ liệu bảng casi theo các tiêu chí khác nhau.
Trả lời:
Để truy xuất dữ liệu từ bảng "casi" theo các tiêu chí khác nhau, bạn có thể sử dụng ngôn ngữ truy vấn cơ sở dữ
liệu (SQL) để tạo các câu truy vấn phù hợp. Dưới đây là một số ví dụ về cách truy xuất dữ liệu từ bảng "casi"
theo các tiêu chí khác nhau:
Truy xuất tất cả các dòng dữ liệu từ bảng "casi":
sqlCopy code
SELECT * FROM casi;
Truy xuất dữ liệu các ca sĩ có "tencasi" bắt đầu bằng chữ "N":
Trang 30
SELECT * FROM casi WHERE tencasi LIKE 'N%';
Truy xuất dữ liệu các ca sĩ theo thứ tự tên theo thứ tự từ A đến Z:
SELECT * FROM casi ORDER BY tencasi ASC;
Truy xuất dữ liệu các ca sĩ có "idcasi" nằm trong danh sách (1, 2, 3):
SELECT * FROM casi WHERE idcasi IN (1, 2, 3);
VẬN DỤNG
Câu 1: Thực hành cập nhật và truy xuất dữ liệu bảng Tỉnh/Thành phố trong CSDL quản lí danh sách tên
Quận/Huyện, Tỉnh/Thành phố.
Trả lời:
Thực hành cập nhật dữ liệu bảng Tỉnh/Thành phố trong CSDL quản lí danh sách tên Quận/Huyện, Tỉnh/Thành
phố:
Bước 1: Tạo bảng Tỉnh/Thành phố
Bước 2: Cập nhật dữ liệu:
Truy xuất dữ liệu:
SELECT matinh_thanhpho, tentinh_thanhpho
FROM Tinh_Thanhpho;
II. HỆ THỐNG BÀI TẬP TỰ LUẬN
Câu 1. Đâu là công việc chính khi làm việc với một CSDL?
• Cập nhật dữ liệu
• Truy xuất dữ liệu
Câu 2. HeidiSQL hỗ trợ việc thực hiện Truy xuất dữ liệu như thế nào với những bảng đơn giản, không có khoá
ngoài??
A. Bằng cách chọn bảng cần chỉnh sửa, bạn có thể thêm mới, chỉnh sửa hoặc truy xuất dữ liệu trong bảng
B. HeidiSQL cung cấp giao diện đồ họa cho phép bạn chỉnh sửa, thêm mới hoặc xoá dữ liệu trong các bảng
C. Bằng cách chọn bảng cần truy xuất và sử dụng truy vấn SQL, bạn có thể truy xuất dữ liệu trong bảng
D. Cả ba đáp án trên đều sai
Câu 3. Để truy xuất dữ liệu từ bảng "casi" theo các tiêu chí khác nhau, có thể sử dụng?
A. Trực tiếp lọc ra các dữ liệu thủ công
B. Đặt lệnh và thực hiện lệnh
C. Ngôn ngữ truy vấn cơ sở dữ liệu (SQL) để tạo các câu truy vấn phù hợp
D. Cả ba đáp án trên đều đúng
Câu 4. Muốn truy xuất tất cả các dòng dữ liệu từ bảng "casi" ta dùng ?
A. SELECT * FROM casi WHERE tencasi LIKE '%Hoa%';
B. SELECT * FROM casi WHERE idcasi = 1;
C. SELECT * FROM casi;
D. SELECT * FROM casi WHERE tencasi LIKE 'N%';
Câu 5. Muốn truy xuất các ca sĩ theo thứ tự tên theo thứ tự từ A đến Z ta dùng ?
A. SELECT * FROM casi WHERE tencasi LIKE '%Hoa%';
B. SELECT * FROM casi WHERE idcasi = 1;
C. SELECT * FROM casi ORDER BY tencasi ASC;
D. SELECT * FROM casi WHERE tencasi LIKE 'N%';
Câu 6. 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 ?
A. SELECT * FROM casi WHERE tencasi LIKE '%Hoa%';
B. SELECT * FROM casi WHERE idcasi = 1;
C. SELECT * FROM casi WHERE idcasi IN (1, 2, 3);
D. SELECT * FROM casi WHERE tencasi LIKE 'N%';
Trang 32
Câu 7. Muốn truy xuất dữ liệu các ca sĩ theo thứ tự "idcasi" giảm dần ta dùng ?
A. SELECT * FROM casi WHERE tencasi LIKE '%Hoa%';
B. SELECT * FROM casi WHERE idcasi = 1;
C. SELECT * FROM casi ORDER BY idcasi DESC;
D. SELECT * FROM casi WHERE tencasi LIKE 'N%';
Câu 9. Muốn truy xuất dữ liệu các ca sĩ có "tencasi" bắt đầu bằng chữ "N" ta dùng ?
A. SELECT * FROM casi WHERE tencasi LIKE '%Hoa%';
B. SELECT * FROM casi WHERE idcasi = 1;
C. SELECT * FROM casi;
D. SELECT * FROM casi WHERE tencasi LIKE 'N%';
Câu 10. Muốn truy xuất dữ liệu các ca sĩ có "tencasi" chứa từ khóa "Hoa" ta dùng ?
A. SELECT * FROM casi WHERE tencasi LIKE '%Hoa%';
B. SELECT * FROM casi WHERE idcasi = 1;
C. SELECT * FROM casi;
D. SELECT * FROM casi WHERE tencasi LIKE 'N%';
BÀI 22. THỰC HÀNH CẬP NHẬT BẢNG DỮ LIỆU CÓ THAM CHIẾU
I. LÝ THUYẾT
Câu 1: Khi cập nhật một bảng có khoá ngoài, dữ liệu của trường khoá ngoài phải là dữ liệu tham chiếu được
đến một trường khoá chính của một bảng tham chiếu. HeidiSQL hỗ trợ kiểm soát điều này như thế nào?
Trả lời:
HeidiSQL cung cấp tính năng hỗ trợ kiểm soát khóa ngoài trong quá trình cập nhật dữ liệu trên bảng, giúp đảm
bảo tính nhất quán và tính toàn vẹn của dữ liệu trong CSDL.
Trang 33
- Chọn bảng bannhac, nháy chuột chọn thẻ Dữ liệu, ta thấy các trường idBannhac, tenBannhac, idNhacsi nhưng
chưa có dữ liệu.
- Thực hiện nhập dữ liệu.
- Trường idNhacsi có kiểu INT, AUTO_INCREMENT nên không cần nhập dữ liệu cho trường này. Nháy đúp
chuột vào ô ở trường tenBannhac để nhập tên bản nhạc.
- Trường idNhacsi là trường khóa ngoài, đã được khia báo tham chiếu đến trường idNhacsi của bảng nhacsi,
vì vậy để đảm bảo tính nhất quán, giá trị hợp lệ chỉ có thể lấy từ các giá trị của idNhacsi có trong bảng nhacsi.
Nháy đúp chuột vào ô nhập trường idNhacsi và chọn tên nhạc sĩ trong hộp danh sách.
II. NHIỆM VỤ 2
- Cách tương tác với giao diện Quản lí danh sách các bản nhạc:
+ Để nhập dữ liệu bản nhạc mới, người dùng phải nhập tên bản nhạc, chọn nhạc sĩ từ hộp danh sách phía dưới
sau đó chọn Nhập.
+ Để tìm một bản nhạc có thể nhập vài từ của tên bản nhạc, cũng có thể chọn nhạc sĩ nếu biết, sau đó nháy
chuột chọn Tìm.
+ Danh sách các bản nhạc đã có trong CSDL được thể hiện ở bảng phía dưới thành nhiều trang, mỗi trang 10
dòng. Có thể nhảy chuột vào hộp danh sách trang đề chọn trang.
Trang 34
+ Muốn sửa một bản nhạc nào đó, nháy chuột vào phím radio trên dòng đó, thông tin của bản nhạc sẽ được
hiển thị ở phần phía trên của giao diện để người dùng sửa chữa, thay đổi,... Nháy chuột chọn Nhập để lưu lại
kết quả thay đổi.
+ Muốn xoá một hay nhiều bản nhạc nào đó trong danh sách đã có: nháy chuột vào các checkbox ở đầu các
dòng tương ứng và chọn Xoá.
LUYỆN TẬP
Câu 1: Cập nhật dữ liệu vào bảng banthuam.
Trả lời:
Bước 1: Mở CSDL Mymusic, mở bảng banthuam để cập nhật dữ liệu
Bước 2: Cập nhật dữ liệu
Câu 2: Truy xuất dữ liệu bảng banthuam theo các tiêu chí khác nhau.
Trả lời:
Dưới đây là một số ví dụ về truy vấn SQL để truy xuất dữ liệu từ bảng "banthuam" với các tiêu chí khác nhau:
Truy xuất tất cả dữ liệu từ bảng "banthuam":
SELECT * FROM banthuam;
Truy xuất dữ liệu từ bảng "banthuam" với điều kiện cụ thể trên trường "idbannhac":
SELECT * FROM banthuam WHERE idbannhac = 1; -- Giả sử giá trị idbannhac cần tìm là 1
Truy xuất dữ liệu từ bảng "banthuam" với điều kiện kết hợp giữa nhiều trường:
SELECT * FROM banthuam WHERE idcasi = 2 -- Giả sử giá trị idcasi cần tìm là 2 AND banthuam >= 100;
-- Giả sử giá trị banthuam cần tìm là lớn hơn hoặc bằng 100
Truy xuất dữ liệu từ bảng "banthuam" sắp xếp theo một trường cụ thể:
SELECT * FROM banthuam ORDER BY idbannhac ASC; -- Giả sử muốn sắp xếp theo trường idbannhac
tăng dần.
VẬN DỤNG
Câu 1: Hãy thực hành cập nhật và truy xuất bảng Quận/Huyện trong CSDL quản lí danh sách tên các
Quận/Huyện, Tỉnh/Thành phố.
Trang 35
Trả lời:
Mở bảng quanhuyen để cập nhật dữ liệu:
Truy xuất bảng quanhuyen:
Truy xuất tất cả dữ liệu từ bảng "quanhuyen":
SELECT * FROM quanhuyen;
Truy xuất dữ liệu từ bảng "quanhuyen" với điều kiện cụ thể trên trường "idquanhuyen":
SELECT * FROM quanhuyen WHERE idquanhuyen = 1; -- Giả sử giá trị idquanhuyen cần tìm là 1
Truy xuất dữ liệu từ bảng "quanhuyen" với điều kiện kết hợp giữa nhiều trường:
SELECT * FROM quanhuyen WHERE danso > 1000000 -- Giả sử giá trị danso cần tìm là lớn hơn 1.000.000
AND dientich < 1000; -- Giả sử giá trị dientich cần tìm là nhỏ hơn 1000
Truy xuất dữ liệu từ bảng "quanhuyen" sắp xếp theo một trường cụ thể:
SELECT * FROM quanhuyen ORDER BY danso DESC; -- Giả sử muốn sắp xếp theo trường danso giảm dần
(DESC)
Câu 2. Việc HeidiSQL hỗ trợ kiểm soát việc cập nhật dữ liệu của trường khoá ngoài giúp?
• Đảm bảo tính toàn vẹn dữ liệu trong các bảng có khoá ngoài
• Tránh việc cập nhật dữ liệu không đúng hoặc gây ra sự cố
Câu 3. Khi người dùng cập nhật dữ liệu trong bảng chứa khoá ngoài, HeidiSQL sẽ?
A. Kiểm tra giá trị của các trường trong bảng để đảm bảo rằng nó phải là giá trị tham chiếu đến một trường
khoá chính của bảng tham chiếu
B. Kiểm tra giá trị của trường khoá ngoài để đảm bảo rằng nó phải là giá trị tham chiếu đến một trường khoá
chính của bảng tham chiếu
C. Kiểm tra các giá trị trong bảng
D. Cả ba đáp án trên đều đúng
Câu 5. Để truy xuất dữ liệu từ bảng "banthuam" với điều kiện cụ thể trên trường "idbannhac" ta dùng câu lệnh?
A. SELECT * FROM banthuam;
B. SELECT * FROM banthuam ORDER BY idbannhac ASC;
C. SELECT idbannhac, idcasi FROM banthuam;
D. SELECT * FROM banthuam WHERE idbannhac = 1; -- Giả sử giá trị idbannhac cần tìm là 1
Câu 6. Để truy xuất tất cả dữ liệu từ bảng "banthuam" ta dùng câu lệnh?
A. SELECT * FROM banthuam;
B. SELECT * FROM banthuam ORDER BY idbannhac ASC;
C. SELECT idbannhac, idcasi FROM banthuam;
D. SELECT * FROM banthuam WHERE idbannhac = 1; -- Giả sử giá trị idbannhac cần tìm là 1
Câu 7. Để truy xuất dữ liệu từ bảng "banthuam" với điều kiện kết hợp giữa nhiều trường ta dùng câu lệnh?
Trang 37
A. SELECT * FROM banthuam WHERE idcasi = 2 -- Giả sử giá trị idcasi cần tìm là 2 AND banthuam >=
100; -- Giả sử giá trị banthuam cần tìm là lớn hơn hoặc bằng 100
B. SELECT * FROM banthuam ORDER BY idbannhac ASC;
C. SELECT idbannhac, idcasi FROM banthuam;
D. SELECT * FROM banthuam WHERE idbannhac = 1; -- Giả sử giá trị idbannhac cần tìm là 1
Câu 8. Để truy xuất dữ liệu từ bảng "banthuam" sắp xếp theo một trường cụ thể ta dùng câu lệnh?
A. SELECT * FROM banthuam;
B. SELECT * FROM banthuam ORDER BY idbannhac ASC;
C. SELECT * FROM banthuam ORDER BY idbannhac ASC; -- Giả sử muốn sắp xếp theo trường idbannhac
tăng dần
D. SELECT * FROM banthuam WHERE idbannhac = 1; -- Giả sử giá trị idbannhac cần tìm là 1
Câu 9. Để Truy xuất tất cả dữ liệu từ bảng "quanhuyen" ta dùng câu lệnh?
A. SELECT * FROM quanhuyen WHERE danso > 1000000 -- Giả sử giá trị danso cần tìm là lớn hơn 1.000.000
AND dientich < 1000; -- Giả sử giá trị dientich cần tìm là nhỏ hơn 1000
B. SELECT * FROM quanhuyen WHERE idquanhuyen = 1; -- Giả sử giá trị idquanhuyen cần tìm là 1
C. SELECT * FROM quanhuyen;
D. SELECT idquanhuyen, tenquanhuyen FROM quanhuyen;
Câu 10. Để Truy xuất dữ liệu từ bảng "quanhuyen" với điều kiện cụ thể trên trường "idquanhuyen" ta dùng câu
lệnh?
A. SELECT * FROM quanhuyen WHERE danso > 1000000 AND dientich < 1000;
B. SELECT * FROM quanhuyen WHERE idquanhuyen = 1;
C. SELECT * FROM quanhuyen;
D. SELECT idquanhuyen, tenquanhuyen FROM quanhuyen;
BÀI 23. THỰC HÀNH TRUY XUẤT DỮ LIỆU QUA LIÊN KẾT CÁC BẢNG
I. LÝ THUYẾT
Câu 1: Các bảng có thể có quan hệ với nhau, thể hiện qua khoá ngoại. Nhờ vậy có thể truy xuất dữ liệu từ các
bảng khác theo môi quan hệ. Việc này sẽ được thực hiện cụ thể như thế nào trong giao diện của một hệ
QTCSDL?
Trả lời:
Trong giao diện của một hệ quản trị CSDL, để truy xuất dữ liệu từ các bảng khác theo mối quan hệ thì người
dùng có thể sử dụng các công cụ truy vấn dữ liệu như truy vấn SQL hoặc các công cụ đồ họa. Các công cụ này
Trang 38
thường cung cấp các tính năng đồ họa giúp người dùng thiết kế và tạo các mối quan hệ giữa các bảng và cho
phép người dùng truy xuất dữ liệu từ các bảng khác nhau bằng cách sử dụng các truy vấn SQL.
Cụ thể, để truy xuất dữ liệu từ các bảng có mối quan hệ với nhau, người dùng cần sử dụng câu lệnh JOIN để
kết hợp các bảng với nhau theo khoá ngoài. Câu lệnh JOIN cho phép bạn truy xuất dữ liệu từ nhiều bảng cùng
một lúc bằng cách ghép các bảng lại với nhau theo khoá ngoài.
I. NHIỆM VỤ 1. LẬP DANH SÁCH CÁC BẢN NHẠC VÀ TÊN TÁC GIẢ
- Để lấy ra danh sách các bản nhạc gồm tenBannhac, tenNhacsi, dùng câu truy vấn:
SELECT bannhac.tenBannhac, nhacsi.tenNhacsi
FROM bannhac INNER JOIN nhacsi ON bannhac.idNhacsi = nhacsi.idNhacsi;
II. NHIỆM VỤ 2. LẬP DANH SÁCH CÁC BẢN THU ÂM VỚI ĐỦ CÁC THÔNG TIN IDBANTHUAM,
TENBANNHAC, TENCASI
- Câu truy vấn đúng là:
SELECT banthuam.idBanthuam, bannhac.tenBannhac, casi.tenCasi
FROM banthuam
INNER JOIN bannhac ON banthuam.idBannhac = bannhac.idBannhac
INNER JOIN casi ON banthuam.idCasi = casi.idCasi
III. NHIỆM VỤ 3. TÌM HIỂU MỘT CHỨC NĂNG CỦA ỨNG DỤNG "QUẢN LÝ DỮ LIỆU ÂM
NHẠC"
- Cách tương tác với giao diện này tương tự như với giao diện "Quản lí danh sách các bản nhạc" ở Bài 22, chỉ
khác ở chỗ khi nhập bản thu âm, chỉ có thể chọn tên bản nhạc, tên ca sĩ từ hộp danh sách với những tên đã có
trong CSDL. Danh sách các bản thu âm có đầy đủ các thông tin tường minh tên bản nhạc, tên nhạc sĩ và tên ca
sĩ thể hiện.
LUYỆN TẬP
Câu 1: Lấy danh sách các bản thu âm với đầy đủ các thông tin, idBanthuam, tenBannhac, ten Theloai,
tenNhacsi, tenCasi.
Trả lời:
SELECT bt.idbannhac AS idBanthuam,
bn.tenbannhac AS tenBannhac,
tl.tentheloai AS tenTheloai,
ns.tennhacsi AS tenNhacsi,
cs.tencasi AS tenCasi
Trang 39
FROM banthuam bt
JOIN bannhac bn ON bt.idbannhac = bn.idbannhac
JOIN nhacsi ns ON bn.idnhacsi = ns.idnhacsi
JOIN casi cs ON bt.idcasi = cs.idcasi
JOIN theloai tl ON bn.idtheloai = tl.idtheloai;
VẬN DỤNG
Câu 1: Lấy danh sách các bản thu âm với các thông tin idBanthuam, tenBannhac, tenTheloai, tenCasi các bản
nhạc của nhạc sĩ Văn Cao.
Trả lời:
SELECT bt.idbannhac AS idBanthuam,
bn.tenbannhac AS tenBannhac,
tl.tentheloai AS tenTheloai,
cs.tencasi AS tenCasi
FROM banthuam bt
JOIN bannhac bn ON bt.idbannhac = bn.idbannhac
JOIN nhacsi ns ON bn.idnhacsi = ns.idnhacsi
JOIN casi cs ON bt.idcasi = cs.idcasi
JOIN theloai tl ON bn.idtheloai = tl.idtheloai
WHERE ns.tennhacsi = 'Văn Cao';
Câu 2: Lấy danh sách các bản thu âm với các thông tin idBanthuam, tenBannhac, tenTacgia, tenTheloai các
bản nhạc do ca sĩ Lê Dung thể hiện.
Trả lời:
SELECT bt.idbannhac AS idBanthuam,
bn.tenbannhac AS tenBannhac,
ns.tennhacsi AS tenTacgia,
tl.tentheloai AS tenTheloai
FROM banthuam bt
JOIN bannhac bn ON bt.idbannhac = bn.idbannhac
JOIN nhacsi ns ON bn.idnhacsi = ns.idnhacsi
JOIN casi cs ON bt.idcasi = cs.idcasi
JOIN theloai tl ON bn.idtheloai = tl.idtheloai
WHERE cs.tencasi = 'Lê Dung';
Trang 40
Câu 3: Lấy danh sách các bản thu âm với các thông tin idBanthuam, tenBannhac, tenTacgia, tenCasi các bản
nhạc do ca sĩ Lê Dung thể hiện thuộc thể loại Nhạc trữ tình.
Trả lời:
SELECT bt.idbannhac AS idBanthuam,
bn.tenbannhac AS tenBannhac,
ns.tennhacsi AS tenTacgia,
cs.tencasi AS tenCasi
FROM banthuam bt
JOIN bannhac bn ON bt.idbannhac = bn.idbannhac
JOIN nhacsi ns ON bn.idnhacsi = ns.idnhacsi
JOIN casi cs ON bt.idcasi = cs.idcasi
JOIN theloai tl ON bn.idtheloai = tl.idtheloai
WHERE cs.tencasi = 'Lê Dung' AND tl.tentheloai = 'Nhạc trữ tình';
Câu 4: Thực hành truy xuất bảng Quận/Huyện qua liên kết với bảng Tỉnh/Thành phố.
Trả lời:
Chúng ta có hai bảng trong cơ sở dữ liệu: "tinhthanhpho" và "quanhuyen". Bảng "tinhthanhpho" chứa thông
tin về các tỉnh/thành phố, bao gồm các trường: "id_tinhthanhpho" (khóa chính), "tentinhthanhpho" (tên
tỉnh/thành phố), "quocgia" (quốc gia). Bảng "quanhuyen" chứa thông tin về các quận/huyện, bao gồm các
trường: "id_quanhuyen" (khóa chính), "tenquanhuyen" (tên quận/huyện), "id_tinhthanhpho" (khóa ngoại liên
kết với "id_tinhthanhpho" trong bảng "tinhthanhpho").
Để truy xuất thông tin của quận/huyện kèm theo thông tin của tỉnh/thành phố tương ứng, ta có thể sử dụng truy
vấn SQL sau:
SELECT qh.tenquanhuyen AS tenQuanHuyen,
tp.tentinhthanhpho AS tenTinhThanhPho,
tp.quocgia AS quocGia
FROM quanhuyen qh
JOIN tinhthanhpho tp ON qh.id_tinhthanhpho = tp.id_tinhthanhpho;
Trang 41
Câu 2. HeidiSQL có hỗ trợ người dùng khi nhập các câu truy vấn theo phương thức nào?
• Dùng màu sắc để trợ giúp quan sát cú pháp của câu truy vấn
• Khi người dùng nhập một tên bảng và dấu . HeidiSQL sẽ hiển thị ngay danh sách tên các trường của
bảng để người dùng lựa chọn
Câu 3. Trong giao diện của một hệ quản trị CSDL, để truy xuất dữ liệu từ các bảng khác theo mối quan hệ thì
người dùng có thể?
A. Sử dụng các trường dữ liệu
B. Sử dụng các phần mềm truy vấn dữ liệu như truy vấn SQL
C. Sử dụng các phần mềm truy vấn dữ liệu như truy vấn SQL hoặc các công cụ đồ họa
D. Sử dụng các công cụ truy vấn dữ liệu như truy vấn SQL hoặc các công cụ đồ họa
Câu 4. Để truy xuất dữ liệu từ các bảng có mối quan hệ với nhau thì?
A. Người dùng cần sử dụng khóa chính
B. Người dùng sử dụng các phần mềm thứ ba
C. Người dùng cần sử dụng câu lệnh JOIN để kết hợp các bảng với nhau theo khoá ngoài
D. Đáp án khác
Trang 42
C. Bạn truy xuất dữ liệu từ nhiều bảng cùng một lúc bằng cách ghép các bảng lại với nhau theo khoá ngoài
D. Đáp án khác
Câu 6. Để lấy tên bảng bằng câu lệnh SELECT, chúng ta có thể sử dụng?
A. Table: ......
B. syntax coloring
C. “information_schema. tables”
D. Đáp án khác
Câu 10. Nếu muốn dữ liệu kết xuất có cả hai trường nhằm có thể đối chiếu một cách tường minh thì chỉ cần?
A. Đổi tên hai tên trường ( cùng trường) ở hai bảng để phân biệt
B. Đổi định dạng dữ liệu
C. Đặt các dữ liệu sao cho giống nhau
D. Đáp án khác
Trang 43