btvn.vn
Tìm kiếm Đăng nhập

Sao lưu riêng bảng banthuam và chuyển CSDL sang máy khác

Lưu trên thiết bị này
Thực hành tạo và khai thác cơ sở dữ liệu — ICT · Chọn bài khác

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?
Chọn một đáp án

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?
Chọn một đáp án

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?
Chọn một đáp án

Đang học