Tại bài tập này, em đã quyết định sử dụng MySQL - hệ quản trị cơ sở dữ liệu mã nguồn mở để thực hành các thao tác tại đây.. Chủ đề của tuần này là thực hiện các câu lệnh truy vấn trên cơ
Trang 1VIỆN TOÁN ỨNG DỤNG VÀ TIN HỌC
Báo cáo cuối kỳ Môn: Cơ sở dữ liệu - MI3090
Trang 2Vũ Quang Minh - 20195903 2
Mục Lục Thực hành tuần 1 3
Thực hành tuần 2 5
Thực hành tuần 3 14
Thực hành tuần 4 15
Thực hành tuần 5 16
Thực hành tuần 6 19
Thực hành tuần 7 23
Thực hành tuần 8 26
Thực hành tuần 9 30
Kết Luận 35
Trang 3Vũ Quang Minh - 20195903 3
Thực hành tuần 1
Bài 1: Thiết lập được hệ quản trị cơ sở dữ liệu trên máy tính cá nhân
Tại bài tập này, em đã quyết định sử dụng MySQL - hệ quản trị cơ sở dữ liệu mã nguồn mở để thực hành các thao tác tại đây
Bài 2: Thiết lập được môi trường làm việc với cơ sở dữ liệu từ máy chủ đơn vị
Em đã thiết lập kết nối bằng cách dùng local host:
Trang 4Vũ Quang Minh - 20195903 4
Bài 3: Tạo được một sơ sở dữ liệu mẫu để làm việc
Em đã sử dụng 2 phương pháp chính là Copy – Paste và Import dữ liệu từ file ngoài:
• Phương pháp Copy – Paste
• Phương pháp Import dữ liệu
Trang 5Vũ Quang Minh - 20195903 5
Thực hành tuần 2
Chủ đề của tuần này là thực hiện các câu lệnh truy vấn trên cơ sở dữ liệu
Bài 1: SELECT, ORDER BY, WHERE, SELECT DISTINCT
• Nhóm câu lệnh select, order by, where
• Câu lệnh select – distinct: truy vấn theo kết quả độc nhất
Trang 6Vũ Quang Minh - 20195903 6
Bài 2: AND, OR, IN
• Câu lệnh and truy xuất các kết quả thoả mãn đồng thời các điều kiện
• Câu lệnh Or truy xuất các kết quả thoả mãn ít nhất 1 trong các điều kiện
Trang 7Vũ Quang Minh - 20195903 7
• Câu lệnh In truy xuất các kết quả thoả mãn ít nhất 1 trong các điều kiện
Bài 3: BETWEEN, LIKE
• Câu lệnh Between truy vấn các kết quả thoả mãn giá trị trong 1 khoảng
• Câu lệnh Like truy vấn các kết quả có các giá trị giống toàn bộ hoặc 1 phần
% dùng để biểu thị cho 0 hoặc nhiều giá trị _ dùng để biểu thị cho 01 ký tự
Trang 8Vũ Quang Minh - 20195903 8 Bài 4: IS NULL, Table & Column Aliases
• Is NULL dùng để kiểm tra giá trị có rỗng hay không
Trang 9Vũ Quang Minh - 20195903 9
• Table & Column Aliases dùng để liên kết hoặc nối các bảng, các cột lại với nhau thành 1 bảng mới hoặc 1 cột mới
Bài 5: INNER JOIN, LEFT JOIN, RIGHT JOIN, Self Join, CROSS JOIN
• Inner join dùng để truy vấn kết hợp 2 bảng dựa trên điều kiện chung
• Left join, right join, truy vấn kết hợp 2 bảng với tất cả kết quả của bảng left/right và một phần của bảng right/left phù hợp với điều kiện
Trang 10Vũ Quang Minh - 20195903 10
• Self join truy vấn, dữ liệu hoặc so sánh các hàng với nhau tại chính bảng đó
Trang 11Vũ Quang Minh - 20195903 11
Bài 6: GROUP BY, HAVING, ROLLUP
• Group By, Having,
• Rollup
Trang 12Vũ Quang Minh - 20195903 12
Bài 7: Subquery, Derived Tables, EXISTS
• Subquery là câu lệnh truy vấn con, được lồng ghép trong câu lệnh truy vấn khác
• EXISTS: kiểm tra sự tồn tại của bản ghi trong truy vấn con
Trang 14Vũ Quang Minh - 20195903 14
Thực hành tuần 3
Chủ đề: Tìm hiểu được cấu trúc của một cơ sở dữ liệu
Bài 1: Truy vấn các bảng, tên, thuộc tính của các cột
Bài 2: Xây dựng, tạo lập diagram
Trang 15Vũ Quang Minh - 20195903 15
Thực hành tuần 4
Chủ đề: Xây Dựng Được Cấu Trúc Của Một Cơ Sở Dữ Liệu
Bài 1+2: Thiết lập bảng dữ liệu (PK, UK, DataType, Null, constraint)
Bài 3: Thiết lập khung nhìn (View)
Trang 16Vũ Quang Minh - 20195903 16
Bài 4: Tạo procedure: (thủ tục) gồm nhiều câu lệnh, có thể sử dụng lại nhiều lần
Thực hành tuần 5
Chủ đề: Thực Hành Các Câu Lệnh Thao Tác Dữ Liệu
Bài 1: Thực hiện các câu lệnh cập nhật (insert, update, delete dữ liệu)
• Insert
Trang 17Vũ Quang Minh - 20195903 17
• Update
• Delete
Bài 2: Cập nhật dữ liệu từ 1 bảng excel qua sinh tự động SQL Script
Em sử dụng phần mềm MySQL for excel để có thể chuyển dữ liệu từ excel vào trong MySQL
Trang 18Vũ Quang Minh - 20195903 18
Bài 3: Cập nhật dữ liệu qua procedure
Trang 19Vũ Quang Minh - 20195903 19
Thực hành tuần 6
Chủ Đề: Thực Hành Các Câu Lệnh Sử Dụng Hàm Trong Truy Vấn
Bài 1: Aggregate Functions, Math Functions, Comparison Functions
• Aggregate Functions: Count, Sum, Avg, Min, Max
Trang 20Vũ Quang Minh - 20195903 20
• Comparison Functions: Greatest, Least, Isnull…
• Math Functions: abs, round, ceil, floor, mod, exp…
Trang 22Vũ Quang Minh - 20195903 22
Bài 4: Date Functions, String Functions
• String Functions
• Date Functions
Trang 23Vũ Quang Minh - 20195903 23
THỰC HÀNH ĐÁNH CHỈ MỤC DỮ LIỆU
Bài 1: Đánh chỉ mục dữ liệu một bảng
Thực hành tuần 7
Chủ đề: Thực hành thiết kế cơ sở dữ liệu lưu trữ đơn hàng
Bài 1: In diagram cơ sở dữ liệu
Trang 24Vũ Quang Minh - 20195903 24
Bài 2: Thực hành câu lệnh SQL:
Trang 25Vũ Quang Minh - 20195903 25
Trang 26Vũ Quang Minh - 20195903 26
Thực hành tuần 8
Trang 27Vũ Quang Minh - 20195903 27
Trang 28Vũ Quang Minh - 20195903 28
Trang 29Vũ Quang Minh - 20195903 29
Trang 31Vũ Quang Minh - 20195903 31
• Restart MySQL
Bài 2: Users, Roles, and Privileges
• Select User:
Trang 32Vũ Quang Minh - 20195903 32
• Create new user:
• Privileges
Trang 33Vũ Quang Minh - 20195903 33
Bài 3: Show commands
Bài 4: Backup and Restore (sử dụng để
• Backup
Trang 34Vũ Quang Minh - 20195903 34
• Restore
Bài 5: Database maintenance
Những hư hỏng trong Database thường rất ít xảy ra, tuy nhiên việc phát hiện và khắc phục ngay các hư hỏng này là việc làm rất quan trọng
Trang 35Vũ Quang Minh - 20195903 35
Kết Luận
Thông qua từng tuần bài tập, thực hành, em đã học được rất nhiều điều mới, cụ thể:
- Cập nhật, tạo lập một cơ sở dữ liệu thông qua nhiều hình thức
- Biết thêm các câu lệnh truy vấn dữ liệu
- Xây dựng lược đồ R-E, E-R trên giấy và trên phần mềm
- Xây dựng được tính liên kết giữa các bảng, biết thêm được khoá chính, khoá ngoại…
- Tạo ra được các procedure để cập nhật, thêm mới, xoá …
- Tạo được các index, partition để tối ưu, tiết kiệm thời gian trong quá trình truy vấn kết quả
- Được làm quen với MySQL command line
- Qua các bài tập, em đã biết các tìm bao đóng, phủ tối thiểu, khoá tối thiểu của một quan hệ
- Được thực hành chuẩn hoá quan hệ theo các chuẩn 1NF, 2NF, 3NF…
- Học thêm cách để tạo ngẫu nhiên số lượng lớn các thông tin dữ liệu
Và cuối cùng, em xin cảm ơn thầy Nguyễn Danh Tú đã lên lớp và giảng dạy bọn em môn Cơ sở dữ liệu trong suốt kì học 20202 vừa qua
Trang 36Vũ Quang Minh - 20195903 36
Tài liệu tham khảo
• Slide bài giảng môn Cơ sở dữ liệu: Ths Nguyễn Danh Tú, trường Đại học Bách khoa Hà Nội
• Một số nguồn trên Internet:
https://www.mysqltutorial.org/
https://viblo.asia/p/tong-hop-ve-chuan-hoa-co-so-du-lieu-ORNZqP33K0n