Chỉ chọn bảng cần sao lưu
Phần **Luyện tập** của SGK yêu cầu sao lưu và phục hồi riêng `banthuam`. Trong cửa sổ xuất SQL, chọn `banthuam` thay vì chọn toàn bộ các bảng; đặt một tên tệp dễ nhận biết, chẳng hạn `banthuam_ban_thu.sql`, rồi Export. Trước khi phục hồi, nhìn nội dung tệp để biết nó chỉ tạo/đổ dữ liệu cho bảng nào và có lệnh xóa bảng cũ không. Với bộ mẫu, sau khi nhập lại bảng ở đúng CSDL thử, phải có đủ ba hàng mã 1, 2, 6 và đúng hai mã liên kết của mỗi hàng.
`banthuam` có khóa ngoại tham chiếu `bannhac` và `casi`. Vì vậy, sao lưu **một bảng** không đồng nghĩa với sao lưu cả CSDL: nơi nhập cần có các bảng liên quan với những mã bài/ca sĩ phù hợp, hoặc phải có kế hoạch khôi phục các bảng đó trước. Nếu chỉ mang tệp `banthuam` sang một CSDL trống, việc tạo ràng buộc hoặc chèn hàng có thể thất bại. Đây là lí do phải xem cấu trúc và thử nhập, không đoán theo tên tệp.
Chuyển máy là một lần phục hồi có kiểm soát
Với **toàn bộ CSDL**, xuất bản sao SQL từ máy nguồn, chuyển tệp qua kênh được phép, cài/chuẩn bị hệ QTCSDL tương ứng trên máy đích, cấp tài khoản đủ quyền rồi nhập tệp. Sau đó so bảng và dữ liệu với nguồn. SGV nêu MySQL ở máy đích là điều kiện của ví dụ; “máy nào cũng mở được ngay” là sai. Hai máy có thể dùng phiên bản/cấu hình khác nhau, nên cần kiểm lỗi khi nhập. Nếu dữ liệu là của người khác, giữ tệp trong nơi được phân quyền và xóa bản chép tạm theo quy định của đơn vị.
Hãy chọn cách sao lưu theo mục tiêu: cần phục hồi cả hệ thống âm nhạc thì lấy đầy đủ bảng và quan hệ; chỉ cần thử luyện một bảng trong CSDL thực hành đã đủ bảng nền thì lấy riêng `banthuam`. Trước khi xóa hay ghi đè bất cứ thứ gì, đọc tệp và đối chiếu tên CSDL đích. Không dùng CSDL vận hành thật để luyện thao tác xóa.
Thực hành với riêng banthuam
Trong cửa sổ xuất SQL, chỉ đánh dấu `banthuam`, bỏ Drop/Create ở **Database(s)** và chọn Create, nếu cần thì Drop ở **Table(s)**. Chọn Delete + insert, xuất sang một tệp khác để giữ bản sao toàn bộ.
Tệp `banthuam` mẫu bên dưới **không có lệnh USE**. Trước khi chạy, chọn đúng `btvn24_gui_restore` trên cây CSDL; nơi đó phải còn các bảng cha và mã liên quan. Mở tệp bằng Ctrl+O/UTF-8, đọc lại các lệnh rồi F9; sau khi hoàn tất, F5 và xem Data. Kết quả cần đủ ba hàng `(1,1,1)`, `(2,1,2)`, `(6,6,1)`, còn các bảng khác giữ nguyên. Chạy tệp thành công chưa chứng minh các bảng cha đã được phục hồi: vẫn phải kiểm các bảng và mã liên quan. Nếu chỉ có tệp một bảng, không dùng nó để thay bản sao toàn CSDL.
Bài luyện
Muốn luyện theo yêu cầu sao lưu riêng banthuam, chọn gì khi xuất SQL?
Đúng đối tượng cần sao lưu là bảng banthuam.
Ca sĩ là bảng liên quan nhưng không phải bảng được yêu cầu chọn riêng.
Ảnh không khôi phục cấu trúc và hàng.
Cấu hình khách không phải dữ liệu bảng.
Lời giải
SGK gợi ý lặp lại hai nhiệm vụ nhưng chỉ chọn bảng banthuam ở bước xuất.
Bài luyện
Vì sao tệp chỉ chứa banthuam có thể chưa nhập được vào CSDL hoàn toàn trống?
Tên bảng không gây ra thiếu phụ thuộc.
Bảng được tham chiếu và mã hợp lệ cần được chuẩn bị.
SQL chứa lệnh tạo/chèn dữ liệu, không phải ảnh.
tinh/xa không là bảng cha của banthuam.
Lời giải
Bản sao một bảng chưa có các bảng cha bannhac, casi; phải chuẩn bị quan hệ/dữ liệu cần thiết trước khi nhập.
Bài luyện
Đưa CSDL mymusic sang máy khác theo bài vận dụng cần chuỗi nào?
Biểu tượng phần mềm không chứa dữ liệu.
Đây là chuỗi xuất–nhập và đối chiếu kết quả.
Tên máy không mang CSDL sang máy khác.
Ảnh không tạo lại bảng và hàng.
Lời giải
Tệp sao lưu phải được nhập trên máy có hệ QTCSDL phù hợp, sau đó kiểm cấu trúc và dữ liệu.
Đang học