Câu hỏi: Ở bài 13, các em đã phần nào thấy được lợi ích khi tổ chức CSDL của website âm nhạc với nhiều bảng mà không phải là một bảng với đầy đủ tất cả các thông tin về mỗi bản thu âm (tên bản nhạc, tên nhạc sĩ, tên ca sĩ). Tuy nhiên, làm thế nào để từ yêu cầu ban đầu (quản lí danh sách các bản thu âm với đây đủ thông tin tên bản nhạc, tên nhạc sĩ, tên ca sĩ) người ta lại đi đến được CSDL với các bảng như đã trình bày ở Bài 13?
Hướng dẫn trả lời:
Xác định cấu trúc bảng và các khóa chính, khóa ngoài, tạo liên kết giữa các bảng.
Câu hỏi
Câu 1: Em hãy chỉ ra những lợi ích có được khi tổ chức CSDL âm nhạc với các bảng như đã trình bày trong bài học.
Hướng dẫn trả lời:
Quản lý thông tin về các ca sĩ (casi) và nhạc sĩ (nhacsi): cho phép lưu trữ và quản lý thông tin về các ca sĩ và nhạc sĩ, gồm idcasi, tencasi, idnhacsi, tennhacsi, giúp tổ chức dễ dàng tra cứu và quản lý thông tin cá nhân, hoạt động nghệ thuật, tác phẩm âm nhạc của các ca sĩ và nhạc sĩ một cách hiệu quả.
Quản lý thông tin về các ban nhạc (bannhac) và bản thu âm (banthuam): lưu trữ và quản lý thông tin về các ban nhạc và bản thu âm của các ban nhạc.
Quản lý quan hệ giữa ca sĩ, ban nhạc và nhạc sĩ: quản lý các mối quan hệ giữa các ca sĩ, ban nhạc và nhạc sĩ thông qua các khóa ngoại như idcasi, idbanthuam, idnhacsi, giúp theo dõi và quản lý các hoạt động nghệ thuật, dự án âm nhạc và các tác phẩm hợp tác giữa các ca sĩ, ban nhạc và nhạc sĩ.
Tra cứu và tìm kiếm dữ liệu dễ dàng: dễ dàng tra cứu và tìm kiếm dữ liệu, từ đó đáp ứng nhanh chóng nhu cầu tìm kiếm thông tin của người dùng hoặc nhân viên trong tổ chức.
Tối ưu hóa hoạt động tổ chức: tối ưu hóa hoạt động, từ việc quản lý dữ liệu, phân tích và bảo mật.
Câu 1: Có thể có những nhạc sĩ, ca sĩ trùng tên nên người ta muốn quản lí thêm thông tin ngày sinh của các nhạc sĩ, ca sĩ. Để làm được việc đó, CSDL cần thay đổi như thế nào?
Hướng dẫn trả lời:
Thêm một trường mới vào bảng "nhacsi" và bảng "casi" để lưu trữ thông tin ngày sinh, đặt tên là "ngaysinh" hoặc tương tự
Cấu trúc sau khi thêm:
Bảng casi:
idcasi (khóa chính)
tencasi
ngaysinh
Bảng banthuam:
idbanthuam (khóa chính)
idbannhac
idcasi
Bảng bannhac:
idbannhac (khóa chính)
tenbannhac
idnhacsi
Bảng nhacsi:
idnhacsi (khóa chính)
tennhacsi
ngaysinh
Câu 2: Nếu muốn quản lí thêm thông tin nơi sinh của nhạc sĩ, ca sĩ (tên tỉnh/thành phố), CSDL cần thay đổi như thế nào?
Hướng dẫn trả lời:
Thay đổi cấu trúc CSDL: thêm một bảng mới để lưu trữ thông tin này.
Ví dụ:
Bảng casi:
idcasi (khóa chính)
tencasi
ngaysinh
noisinh_id (khóa ngoại tham chiếu tới bảng noisinh)
Bảng banthuam:
idbanthuam (khóa chính)
idbannhac
idcasi
Bảng bannhac:
idbannhac (khóa chính)
tenbannhac
idnhacsi
Bảng nhacsi:
idnhacsi (khóa chính)
tennhacsi
ngaysinh
noisinh_id (khóa ngoại tham chiếu tới bảng noisinh)
Bảng noisinh:
idnoisinh (khóa chính)
tennoisinh
Trong đó, bảng "noisinh" là bảng mới được thêm vào, bao gồm cột "idnoisinh" là khóa chính và cột "tennoisinh" là nơi lưu trữ tên tỉnh/thành phố.
Câu 1: Thực hiện các bước phân tích đề thiết lập mô hình dữ liệu cho một bài toán quản lí thực tế, ví dụ quản lí danh sách tên quận/huyện của các tỉnh thành phố.
Hướng dẫn trả lời:
Bước 1: Phân tích yêu cầu
Bài toán: Quản lí danh sách tên quận/huyện của các tỉnh thành phố.
Yêu cầu: lưu trữ danh sách tên quận/huyện của các tỉnh thành phố.
Bước 2: Xác định các thực thể (entities)
Tỉnh thành phố: đơn vị hành chính cấp 1, có tên và mã duy nhất.
Quận/Huyện: đơn vị hành chính cấp 2, có tên và mã duy nhất, thuộc về một tỉnh/thành phố.
Bước 3: Xác định các mối quan hệ (relationships)
Tỉnh thành phố có thể có nhiều quận/huyện → quan hệ một-nhiều (one-to-many). Mã duy nhất được sử dụng làm khóa chính trong bảng Tỉnh thành phố, và mã của tỉnh thành phố sẽ là khóa ngoại trong bảng Quận/Huyện để tham chiếu đến tỉnh/thành phố tương ứng.
Bước 4: Thiết lập cấu trúc CSDL:
Bảng Tỉnh thành phố:
MaTinhThanhPho (khóa chính)
TenTinhThanhPho
Bảng Quận/Huyện:
MaQuanHuyen (khóa chính)
TenQuanHuyen
MaTinhThanhPho (khóa ngoại tham chiếu tới bảng Tỉnh thành phố)
Trong đó, bảng "Tỉnh thành phố" lưu trữ thông tin về các tỉnh thành phố, bao gồm mã và tên. Bảng "Quận/Huyện" lưu trữ thông tin về các quận/huyện, bao gồm mã, tên và mã của tỉnh/thành phố mà chúng thuộc về.
Bước 5: Cài đặt mô hình dữ liệu Sau khi thiết lập cấu trúc CSD