1. Trang chủ
  2. » Công Nghệ Thông Tin

Bai Tap Thuc Hanh He Quan Tri CSDL kèm Đáp án

7 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Bài Tập Thực Hành Hệ Quản Trị CSDL
Chuyên ngành Quản trị Cơ sở dữ liệu
Thể loại Bài tập thực hành
Định dạng
Số trang 7
Dung lượng 898,41 KB
File đính kèm DAPAN.rar (695 KB)

Nội dung

Tạo một stored procedure tên là displayFilmInfo nhận category_id và language_id như là các tham số: • Nếu category_id và language_id được chỉ rõ, trả lại thông tin các film có category_i

Trang 1

Cấu hình và quản lý truy cập

Nội dung:

1 Cấu hình Mysql server làm việc tại cổng 3307

2 Đăng nhập vào Mysql server với tài khoản root và thay đổi lại mật khẩu root

3 Sửa lại file cấu hình để khi đăng nhập không cần gõ lại số cổng tại dòng lệnh (Gợi ý: khai báo cấu hình cổng trong phần [client]

4 Kiểm tra xem tài khoản root có quyền truy cập tới Mysql server từ máy tính khác không (Gợi ý: truy vấn bảng mysql.user) Nếu có, sửa lại để tài khoản root chỉ có thể truy cập từ máy cục bộ Sau khi sửa có thể kiểm tra lại kết nối từ máy tính thực hành khác

5 Tạo tài khoản người dùng demo, mật khẩu 123@abc Người dùng demo chỉ có thể truy cập tới Mysql server tại chính máy tính cài Mysql server

6 Phân quyền người dùng demo đã tạo ở bước 4 có toàn quyền trên CSDL sakila

7 Tạo tài khoản người dùng guest có thể truy cập tới Mysql server từ bất kỳ máy tính nào

8 Phân quyền người dùng guest chỉ quyền đọc trên bảng film của CSDL sakila

9 Kiểm tra các quyền trên khi đăng nhập với tài khoản demo và guest

10 Kết thúc tắt Mysql server sử dụng lệnh shutdown của chương trình mysqladmin

Môi trường thực hành: Sinh viên vào địa chỉ http://10.10.1.45/mysql‐5.5.9‐win32.zip   để tải

Mysql Server về máy và thực hành

Trang 2

Bài thực hành số 2

Khung nhìn (VIEW)

1 Sử dụng CSDL ClassicModels để thực hành lại các ví dụ trên lớp

2 Sử dụng CSDL Sakila thực hiện các công việc sau:

a Viết lệnh hiển thị các view có trong CSDL sakila Gợi ý: truy vấn bảng tables của CSDL information_schema

b Hiển thị lệnh tạo view customer_list trong CSDL sakila (Sử dụng lệnh show create view)

c Thực hiện truy vấn trên view customer_list

d Thử thực hiện một số cập nhật trên view customer_list: sửa địa chỉ, số điện thoại, thành phố Kiểm tra lại thông tin để chắc chắn rằng việc sửa đổi có thực hiện được hay không

e Tạo view có tên film_details đưa ra các thông tin: tên phim, tóm tắt phim, năm sản xuất, ngôn ngữ sử dụng trong phim và rating của phim

Trang 3

Chương trình hàm, thủ tục

Nội dung:

1 Tạo một stored procedure tên là displayFilmInfo nhận category_id và language_id như là các tham số:

• Nếu category_id và language_id được chỉ rõ, trả lại thông tin các film có category_id và language bằng các giá trị truyền vào

• Nếu 0 được truyền như một tham số cho language_id thì trả lại thông tin các film có category_id là tham số truyền vào

• Nếu 0 được truyền như một tham số cho category_id thì trả lại các film có language_id là tham số truyền vào

2 Viết hàm tính tổng số film được thuê của của hàng trong tháng, năm Với tham số đầu vào là mã của hàng, tháng, năm

Sau đó sử dụng hàm trong lệnh SELECT đưa ra các cửa hàng và tổng số film được thuê tại cửa hàng trong tháng 2/2006

3 Viết stored procedure thực hiện công việc sau:

Giảm p% giá thuê cho n film có số lượng thuê ít nhất trong tháng, năm lấy ra từ date (Trong đó p, n, date là tham số đầu vào)

Gợi ý: Thay vì cách sử dụng lệnh cập nhật theo lô Làm các bước sau: Thực hiện lệnh

SELECT lấy ra n film cần tìm, sau đó sử dụng con trỏ duyệt các film_id từ lệnh SELECT

trên và thực hiện cập nhật film đó

Môi trường thực hành: Sinh viên vào địa chỉ http://10.10.1.45/mysql‐5.5.9‐win32.zip   để tải

Mysql Server về máy và thực hành

 

Trang 4

Bài thực hành số 4

TRIGGER

1 Sử dụng CSDL ClassicModels thực hiện bài tập:

Tạo bảng Khuyen_mai(Mahoadon, Sotien) lưu thông tin về các đơn hàng được

khuyến mại Nguyên tắc là với những đơn hàng trị giá >65.000 thì được chiết khấu 5% Viết

trigger thực hiện công việc: Với những đơn hàng trị giá >65.000 thì cập nhật thông tin về

đơn hàng này vào bảng khuyến mãi

2 Sử dụng CSDL Sakila thực hiện bài tập:

Thêm vào bảng inventory cột is_available có kiểu Boolean hoặc tinyint(1) Tạo trigger trên bảng rental thực hiện công việc :

- Khi đĩa film đó được thuê, giá trị is_available được cập nhật thành false

- Khi đĩa film đó được trả lại, giá trị is_available được cập nhật thành true

Trang 5

1 Lấy ra thông tin về các chỉ mục tồn tại trên bảng film_text

2 Thực hiện truy vấn: lấy ra thông tin về các bộ phim mà phần mô tả của chúng bắt đầu bằng cụm từ ‘A emotional’

a Kiểm tra loại index đã được sử dụng và số lượng bản ghi được duyệt để trả lại kết quả

b Tối ưu truy vấn bằng cách thêm một prefix_index vào cột description, sau đó thực hiện lại truy vấn và cho biết số lượng bản ghi được duyệt để trả lại kết quả

3 Thực hiện truy vấn: Lấy ra thông tin về các diễn viên và mã số của các bộ phim mà diễn viên đó tham gia phim

a Sử dụng phép nối theo thứ tự bắt buộc (straight_join)

b Cho biết sự chênh lệch về số lượng bản ghi cần duyệt trong trường hợp thay đổi thứ tự các bảng tham gia phép nối

4 Thực hiện truy vấn: Lấy ra thông tin về tên các bộ phim và tên các diễn viên tham gia phim đó Sử dụng straight_join để chứng minh thứ tự tối ưu của các bảng tham gia phép nối

Trang 6

MySQL – Bài thực hành số 5

Sao lưu, phục hồi

Nội dung:

1 Xuất dữ liệu từ bảng rental ra file text sử dụng câu lênh SELECT, các trường ngăn

cách nhau bởi dấu phẩy, các trường có giá trị NULL được thay bởi ký tự trống

2 Tạo một bảng mới tên rental_import sử dụng câu lệnh select và nhập dữ liệu file

text được tạo trong câu 1 vào bảng

3 Sao lưu CSDL sakila ra 2 file: 1 file chứa lược đồ CSDL và 1 file chứa dữ liệu sử

dụng tiện ích MySQLDump Gợi ý: sử dụng tùy chọn no-data và no-create-info Sử dụng tùy chọn –flush-logs khi thực hiện sao lưu

4 Thực hiện các lệnh liên quan đến log file

a Bật chế độ log-bin, hiện thị thông tin về các file log sử dụng lệnh SHOW BINARY LOGS

b Thực hiện một số lệnh thay đổi CSDL sakila

c Kiểm tra nội dung file log bằng cách chuyển nội dung ra file text (sử dụng tiện ích MySQLBinLog)

5 Phục hồi CSDL sakila sử dụng CSDL dump được tạo ở câu 3 và file log được tạo

ra trong câu 4. 

 

 

Môi trường thực hành: Sinh viên vào địa chỉ http://10.10.1.45/mysql‐5.5.9‐win32.zip   để tải

Mysql Server về máy và thực hành

 

Trang 7

1 Thực hành lại bài tập trên lớp

2 Cài đặt quá trình tạo bản sao CSDL sakila bên master sang slave Kiểm tra việc cài đặt thành công hay không bằng cách cập nhật dữ liệu bên master để thấy việc cập nhật đó đã được thực hiện bên slave chưa

Gợi ý: để thiết lập 2 máy, sao chép MySQL Server vào 2 thư mục khác nhau, và

cấu hình lại số cổng làm việc khác nhau, thay đổi thư mục làm việc và thư mục dữ liệu trỏ đến thư mục tương ứng Cần thiết lập tùy chọn server_id=n cho các máy tham gia quá trình replication, với mỗi máy n có giá trị khác nhau

3 Thiết lập cấu hình bên slave để chỉ cập nhật các thay đổi với CSDL sakila

Gợi ý: sử dụng thiết lập replicate-do-db=sakila trong mục [mysqld] của file cấu

hình bên slave

Ngày đăng: 28/10/2024, 18:54

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w