KHỞI ĐỘNG
Câu hỏi. 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 132
Lời giải:
Ta phả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.
LUYỆN TẬP
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?
Lời giải:
Để thêm thông tin ngày sinh của các nhạc sĩ, ca sĩ vào CSDL, bạn cần 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. Bạn có thể đặt tên cho trường này là "ngaysinh" hoặc tên tương tự để thể hiện thông tin ngày sinh của các nghệ sĩ.
Sau khi thêm trường "ngaysinh" vào bảng "nhacsi" và "casi", CSDL sẽ có cấu trúc như sau:
Bảng casi:
idcasi (khóa chính)
tencasi
ngaysinh
Bảng banthuam:
idbanthuam (khóa chính)
idbannhac
Bảng bannhac:
idbannhac (khóa chính)
tenbannhac
idnhacsi
Bảng nhacsi:
idnhacsi (khóa chính)
tennhacsi
ngaysinh
Sau khi thực hiện thay đổi này, bạn có thể lưu trữ thông tin ngày sinh của các nhạc sĩ, ca sĩ vào CSDL và sử dụng nó cho việc quản lí và truy vấn dữ liệu liên quan đến thông tin ngày sinh của các nghệ sĩ một cách dễ dàng.
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?
Lời giải:
Để thêm thông tin nơi sinh của nhạc sĩ, ca sĩ (tên tỉnh/thành phố), bạn cần thay đổi cấu trúc CSDL bằng cách thêm một bảng mới để lưu trữ thông tin này. Dưới đây là một ví dụ về cách thực hiện thay đổi này:
Bảng casi:
idcasi (khóa chính)
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
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 để lưu trữ thông tin nơi sinh của nhạc sĩ, ca sĩ, 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ố.
Sau khi thực hiện thay đổi này, bạn có thể lưu trữ thông tin nơi sinh của các nhạc sĩ, ca sĩ vào bảng "noisinh" và sử dụng cột "noisinh_id" trong các bảng "nhacsi" và "casi" để tham chiếu tới thông tin nơi sinh trong bảng "noisinh". Điều này cho phép bạn quản lí và truy vấn dữ liệu liên quan đến thông tin nơi sinh của các nghệ sĩ một cách dễ dàng.
VẬN DỤNG
Câu hỏi. 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ố.
Lời giả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: Cần lưu trữ danh sách tên quận/huyện của các tỉnh thành phố.
Tỉnh thành phố: Là đơn vị hành chính cấp 1, có tên và mã duy nhất.
Quận/Huyện: Là đơ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)
Mối quan hệ giữa Tỉnh thành phố và Quận/Huyện: Tỉnh thành phố có thể có nhiều quận/huyện thuộc về nó, vì vậy đây là mối quan hệ một-nhiều (one-to-many). Mã duy nhất của tỉnh thành phố sẽ đượ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ả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 của chúng. 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 CSDL, bạn có thể cài đặt mô hình dữ liệu cho 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ố bằng cách sử dụng các công cụ, ngôn ngữ lập trình hoặc hệ quản trị cơ sở dữ liệu phù hợp.
Bình luận