TRƯỜNG ĐẠI HỌC CẦN THƠTRƯỜNG CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG KHOA HỆ THỐNG THÔNG TIN BÁO CÁO HỌC PHẦN CT205 – QUẢN TRỊ CƠ SỞ DỮ LIỆU Đề tài BÁO CÁO BÀI TẬP CUỐI KỲ Người hướng dẫn Sin
Tạo các bảng để lưu các thông tin trên
Tạo các bảng để lưu
XE( HANGXE , DONGXE, PHIENBAN , GIANIEMYET)
DAMPHAN(ID_DAMPHAN, HANGXE, DONGXE, DAMPHAN)
(Khóa chính gạch chân + in đậm, khóa ngoại in đậm + in nghiên)
Bảng PHANKHUC
Bảng DONGCO
Viết thủ tục cho phép nhập vào 1 xe mới
Tạo thủ tục
Gọi thủ tục để Nhập liệu như bảng trên
2.2.1 Gọi thủ tục câu trên
Hinh 6 Thủ tục NHAP_XE_MOI
Hinh 7 Gọi thủ tục NHAP_XE_MOI
2.2.2 Kết quả sau khi chạy
Viết thủ tục cho phép cập nhật giá niêm yết của 1 xe nào đó
Tạo thủ tục
Hinh 8 Kết quả NHAP_XE_MOI
Hinh 9 Thủ tục UPDATE_NIEMYET
Kết quả sau khi chạy
Hinh 10 Gọi thủ tục UPDATE_NIEMYET
Hinh 11 Kết quả chạy UPDATE_NIEMYET
Viết hàm trả về giá niêm yết của 1 xe nào đó
Tạo hàm
Viết hàm trả về dòng xe, hãng xe có giá cao nhất
Cần viết hàm chuyển đổi từ VARCHAR2 sang number
Hinh 14 Hàm CHUYEN_DOI_GIA
Do 1 hàm chỉ có thể trả về 1 giá trị nhưng cần trả về dòng xe va hãng xe nên cần tạo tên OBJECT
xe nên cần tạo tên OBJECT
Chạy để kiểm tra
Hinh 16 Hàm GIA_CAO_NHAT
Hinh 17 Chạy GIA_CAO_NHAT
Viết thủ tục để xóa 1 xe nào đó
Tạo thủ tục xóa xe
Hinh 18 Kết quả khi chạy GIA_CAO_NHAT
Hinh 19 Thủ tục XOA_XE
Chạy kiểm tra với trường hợp có xe
Viết hàm trả về giá lăn bánh ở Cần Thơ của 1 xe nào đó, biết rằng giá lăn bánh được tính theo công thức sau
Hàm GIA_LAN_BANH_CT
Hinh 22 Hàm GIA_LAN_BANH_CT
Viết trigger để theo dõi việc sửa giá trong bảng xe
Tạo TRIGGER
Hinh 23 Chạy GIA_LAN_BANH_CT
Hinh 24 Tạo bảng XE_LOG
Viết trigger để theo dõi việc xóa dữ liệu trong bảng xe
Tạo TRIGGER
Hinh 27 Kết quả XE_LOG
Xóa 1 xe để kiểm tra
Tạo các người dùng mới để quản lý CSDL Ô tô trên, cấp quyền tương ứng (quản lý, nhân viên bán xe,
Tạo QUAN_LI
Hinh 30 Kết quả bảng XE_LOG
Hinh 31 Tạo USER NHAN_VIEN
Hinh 32 Tạo USER QUAN_LI
Vào người dùng QUAN_LI_1 thử kiểm tra
Hinh 33 Truy cập date từ QUAN_LI
Lược đồ CSDL ENGLISH_CENTER
KHOAHOC (MAKH, TENKH, NGAYBD, NGAYKT)
LOAILOP (MALOAI, TENLOAI)
LOP (MALOP, MALOAI, TENLOP, SISO, MAKH)
Hinh 38 Dữ liệu bảng LOAILOP
HOCVIEN (MAHV,TENHV, GIOITINH, NGAYSINH, DIACHI)
Hinh 40 Dữ liệu bảng LOAILOP
Hinh 42 Dữ liệu bảng HOCVIEN
MONHOC (MAMH, TENMH)
DIEM (MAMH,MAHV,MALOP, DIEM)
Hinh 44 Dữ liệu bảng MONHOC
Hinh 46 Dữ liệu bảng DIEM
Các hàm
Hàm tính tổng điểm của 1 Học viên
2.1.2 Kết quả sau khi chạy:
Hàm tính trung bình điểm của 1 Học viên
2.2.2 Kết quả sau khi gọi hàm
Hinh 48 Kết quả sau khi chạy TOTAL_SCORE
Hinh 50 Kết quả sau khi chạy AVERAGE
Hàm thống kê số sinh viên đạt
2.3.2 Kết quả sau khi gọi hàm
Hinh 52 Kết quả sau khi chạy COUNT_PASSED
Các thủ tục
Thủ tục nhập dữ liệu cho bảng HOCVIEN
Hinh 53, Thủ tục INSERT_HOCVIEN
Hinh 54 Chạy thủ tục INSERT_HOCVIEN
3.1.3 Đã thêm 1 học viên vào bảng HOCVIEN
Thủ tục UPDATE DIEM
Hinh 55 Thêm HOCVIEN thành công
Hinh 56 Thủ tục UPDATE_DIEM
Thủ tục xóa học viên
Hinh 57 Chạy thủ tục UPDATE_DIEM
Hinh 58 Điểm đã cập nhật thành công
Hinh 59 Thủ tục DELETE_HOCVIEN
3.3.3 Kiểm tra lại thấy đã xóa thành công
Hinh 60 Chạy thủ tục DELETE_HOCVIEN
Hinh 61 Học viên đã được xóa
Các Trigger
Theo dõi việc xóa dữ liệu bảng HOCVIEN
4.1.1 Tạo bảng lưu trữ Log
Hinh 62 Tạo bảng HOCVIEN_LOG
4.1.4 Kiểm tra bảng HOCVIEN_LOG
Theo dõi việc sửa điểm
Hinh 65 Kiểm tra HOCVIEN_LOG
Hinh 66 Tạo bảng DIEM_LOG
4.2.3 Chỉnh sửa điểm của học viên
4.2.4 Đã cập nhật trong DIEM_LOG
Theo dõi hoạt động thêm, sửa, xóa HOCVIEN
4.3.2 Khi chạy các lệnh thêm, sửa, xóa trên bảng HOCVIEN
Hinh 68 Update DIEM để kiểm tra
Hinh 69 Kiểm tra DIEM_LOG
Hinh 70 TRIGGER HOCVIEN_ALL_ACTIONS
Hinh 71 Insest dữ liệu để kiểm tra
HQTCSDL là gì? Các HQTCSDL hiện nay
- Hệ quản trị cơ sở dữ liệu là một phần mềm dùng để quản lý và tổ chức cơ sở dữ liệu.
- Các hệ quản trị cơ sở dữ liệu hiện nay: Oracle, MySQL, SQL
Khác nhau giữa HQTCSDL và bảng tính (vd, Excel) là gì?
-Hệ quản trị cơ sở dữ liệu:
+ Có thể quản lý dữ liệu với số lượng lớn và phức tạp.
+ Có thể được truy cập từ xa và có nhiều mô hình lưu trữ khác nhau, hỗ trợ các truy vấn phức tạp.
+ Có tính bảo mật cao do được bảo vệ bởi hệ thống phân quyền phức tạp. + Có khả năng tính hợp với các hệ thống khác như: web, ứng dụng và API. + Tốc độ truy vấn nhanh.
+ Cho phép truy cập đồng thời nhiều người dùng mà không ảnh hướng đến tính toàn vẹn dữ liệu.
+ Chỉ có thể lưu trữ 65.536 dòng dữ liệu.
+ Được lưu trữ dưới dạng file, không hỗ trợ mô hình phân tán dữ liệu.
+ Có thể bảo vệ bằng mặt khẩu nhưng không bảo mật mạnh bằng hệ thống phân quyền.
+ Không dễ dàng tích hợp với các hệ thống khác.
+ Tốc độ truy vấn chậm nếu có nhiều dữ liệu, có thể dẫn đến treo.
+ Hạn chế về khả năng làm việc nhóm, chỉ hỗ trợ làm việc trên file qua các nền tảng đám mây.
DBA là ai? Nhiệm vụ?
- DBA (Database Administrator) là người quản trị cơ sở dữ liệu.
- Nhiệm vụ: Quản trị và vận hành cơ sở dữ liệu như lên kế hoạch, cài đặt, cấu hình,security,…
Các phương pháp bảo vệ d
+ Phân đoạn cơ sở dữ liệu.
Giao dịch là gì? Tại sao phải cần GD?
-Giao dịch là một công việc thực hiện một logic nào đó.
-Giao dịch là cần thiết vì nó đảm bảo tính toàn vẹn và độ tin cậy của dữ liệu trong các thao tác truy vấn và thay đổi dữ liệu.
Các trạng thái của GD
Partially Committed (Cam kết một phần).
Thuộc tính ACID là gì?
-Viết tắt của 4 thuộc tính:
Các vấn đề cạnh tranh trong môi trường đa người dùng là gì? Giải pháp khắc phục?
-Concurrent processing issues xảy ra khi nhiều người dùng hoặc tiến trình đồng thời truy cập và thao tác trên cùng một cơ sở dữ liệu, dẫn đến các tình huống không mong muốn.
Lịch trình là gì? Lịch trình tuần tự và không tuần tự
- Lịch trình là một chuỗi các thao tác (như đọc, ghi) từ nhiều giao dịch.
1 Lịch trình tuần tự: Các giao dịch được thực hiện tuần tự, đảm bảo không có vấn đề tương tranh.
2 Lịch trình không tuần tự: Các giao dịch được thực hiện xen kẽ, giúp tối ưu hiệu suất.
Các kỹ thuật quản lý cạnh tranh
- Bi quan (lock) là phương pháp quản lí khóa, giả định rằng các xung đột dữ liệu thường xảy ra, dữ liệu được khóa ngay lập tức khi bắt đầu giao dịch.
- Giao thức khóa 2 kỳ: đảm bảo tính tuần tự hóa (serializability) - một trong những tính chất quan trọng để duy trì sự nhất quán của dữ liệu trong môi trường đa người dùng.
- Các vấn đề khi sử dụng 2PL
- Có 2 giai đoạn là mở rộng (Growing Phase) và thu hẹp (Shrinking Phase)
- Deadlock: khi hai hoặc nhiều giao dịch giữ các khóa mà giao dịch khác cần
- Xử lý deadlock: Hệ thống sẽ theo dõi các giao dịch để phát hiện các vòng lặp trong việc chờ khóa, từ đó hủy bỏ một giao dịch để phá vỡ vòng lặp
- Sử dụng nhãn thời gian:mỗi giao dịch sẽ được gán một nhãn thời gian, nếu xảy ra tình trạng khóa chết thì hệ thống sẽ dừng với các giao dịch có nhãn mới hơn.
- Lạc quan: 3 kỳ (đọc, kiểm tra, ghi):Giả định rằng các xung đột sẽ hiếm khi xảy ra và chỉ kiểm tra xung đột vào cuối quá trình.
+ Kỳ Đọc (Read Phase) giao dịch sẽ đọc dữ liệu từ cơ sở dữ liệu mà không cần khóa các bản ghi.
+ Kỳ Kiểm tra (Validation Phase) giao dịch sẽ kiểm tra xem có xung đột nào với các giao dịch khác không.
+ Kỳ Ghi (Write Phase) nếu giao dịch vượt qua giai đoạn kiểm tra, nó sẽ thực hiện cập nhật dữ liệu vào cơ sở dữ liệu.
- Độ mịn của mục dữ liệulà mức độ chi tiết của các đối tượng khóa hoặc quản lý trong cơ sở dữ liệu.