Lấy danh sách các bản thu âm với các thông tin idBanthuam, tenBannhac, tenTacgia, tenCasi các bản nhạc do ca sĩ Lê Dung thể hiện thuộc thể loại Nhạc trữ tình.
Lấy danh sách các bản thu âm với các thông tin idBanthuam, tenBannhac, tenTacgia, tenTheloai các bản nhạc do ca sĩ Lê Dung thể hiện.
SELECT bt.idbannhac AS idBanthuam,
bn.tenbannhac AS tenBannhac,
ns.tennhacsi AS tenTacgia,
tl.tentheloai AS tenTheloai
FROM banthuam bt
JOIN bannhac bn ON bt.idbannhac = bn.idbannhac
JOIN nhacsi ns ON bn.idnhacsi = ns.idnhacsi
JOIN casi cs ON bt.idcasi = cs.idcasi
JOIN theloai tl ON bn.idtheloai = tl.idtheloai
WHERE cs.tencasi = 'Lê Dung'
Lấy danh sách các bản thu âm với các thông tin idBanthuam, tenBannhac, tenTheloai, tenCasi các bản nhạc của nhạc sĩ Văn Cao.
SELECT bt.idbannhac AS idBanthuam,
bn.tenbannhac AS tenBannhac,
tl.tentheloai AS tenTheloai,
cs.tencasi AS tenCasi
FROM banthuam bt
JOIN bannhac bn ON bt.idbannhac = bn.idbannhac
JOIN nhacsi ns ON bn.idnhacsi = ns.idnhacsi
JOIN casi cs ON bt.idcasi = cs.idcasi
JOIN theloai tl ON bn.idtheloai = tl.idtheloai
WHERE ns.tennhacsi = 'Văn Cao'
Lấy danh sách các bản thu âm với đầy đủ các thông tin, idBanthuam, tenBannhac, ten Theloai, tenNhacsi, tenCasi.
SELECT bt.idbannhac AS idBanthuam,
bn.tenbannhac AS tenBannhac,
tl.tentheloai AS tenTheloai,
ns.tennhacsi AS tenNhacsi,
cs.tencasi AS tenCasi
FROM banthuam bt
JOIN bannhac bn ON bt.idbannhac = bn.idbannhac
JOIN nhacsi ns ON bn.idnhacsi = ns.idnhacsi
JOIN casi cs ON bt.idcasi = cs.idcasi
JOIN theloai tl ON bn.idtheloai = tl.idtheloai;
Một CSDL các bản nhạc, trên một trang website âm nhạc, được tổ chức như mô tả trong Hình 13.1, gồm có danh sách các tên nhạc sĩ với mã (định danh) là Aid (Hình 13.1a), danh sách các tên ca sĩ với mã (định danh) là Sid (Hình 13.1b), danh sách các bản nhạc với tên bản nhạc, mã nhạc sĩ (tác giả bản nhạc ) và mã Mid-định danh bản nhạc (Hình 13.1c), danh sách các bản thu âm gồm có mã bản nhạc và mã ca sĩ (Hình 13.1d). Hãy quan sát và trả lời các câu hỏi sau:
1. Nhạc sĩ sáng tác bản nhạc "Trường ca sông Lô" là nhạc sĩ nào? Nhạc sĩ sáng tác bản nhạc "Xa khơi” là nhạc sĩ nào?
2. Bản thu âm trong Hình 13.1d tương ứng với dòng 0005 TN là bản thu âm của bản nhạc nào, do ca sĩ nào thể hiện?
1. Nhạc sĩ sáng tác bản nhạc "Trường ca sông Lô" là Văn Cao
Nhạc sĩ sáng tác bản nhạc "Xa khơi" là nhạc sĩ: Nguyễn Tài Tuệ
2. Nhạc sĩ sáng tác bản nhạc "Trường ca sông Lô" là Văn Cao
Nhạc sĩ sáng tác bản nhạc "Xa khơi" là nhạc sĩ: Nguyễn Tài Tuệ
Để lấy danh sách các bản nhạc do nhạc sĩ Văn Cao (mã định danh Aid = 1), sáng tác trong bảng dữ liệu Bản nhạc, ta có thể thực hiện theo một trong hai cách sau:
- Dùng một ngôn ngữ lập trình, viết chương trình mở tệp chứa bảng dữ liệu Bản nhạc, rồi lần lượt lấy ra từng nhóm dữ liệu liên quan đến từng bản nhạc, sau đó tách phần Aid để kiểm tra, nếu Aid = 1 thì đưa ra tên bản nhạc (tenBN)
- Dùng ngôn ngữ truy vấn, viết: “CHỌN TenBN TỪ Bản nhạc VỚI Aid = 1” rồi gửi cho hệ QTCSDL thực hiện.
Sự khác biệt cơ bản trong cách truy vấn nhờ ngôn ngữ truy vấn so với lập trình trực tiếp theo em là gì?
Sự khác biệt cơ bản giữa cách truy vấn dữ liệu thông qua ngôn ngữ truy vấn và lập trình trực tiếp là: Ngôn ngữ truy vấn được thiết kế đặc biệt để truy vấn dữ liệu trong cơ sở dữ liệu một cách hiệu quả và đơn giản, trong khi lập trình trực tiếp cần phải sử dụng ngôn ngữ lập trình để thực hiện các truy vấn dữ liệu và đảm bảo tính đúng đắn của chúng. Sử dụng ngôn ngữ truy vấn có thể giúp thực thi các truy vấn nhanh hơn và dễ dàng bảo trì hơn trong các ứng dụng liên tục sử dụng dữ liệu từ cơ sở dữ liệu. Tuy nhiên, lập trình trực tiếp cũng còn được sử dụng để thực hiện các truy vấn dữ liệu phức tạp hoặc kết hợp các tác vụ khác nhau trong ứng dụng.
Ở 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?
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.
Tất cả người dùng internet đều có thể được tìm kiếm, được xem danh sách các bản nhạc theo tên bản nhạc, tên ca sĩ, tên nhạc sĩ mà không cần đăng nhập hệ thống. Ngoài ra, một số người dùng xác định có quyền nhập thêm dữ liệu về bản nhạc mới, nhạc sĩ mới và ca sĩ mới.
Theo các em, cần phải tổ chức phần quyền truy cập CSDL như thế nào để đáp ứng các yêu cầu trên?
- Nhóm 1: Nhóm người dùng không cần khai báo, đăng nhập , được quyền chỉ tìm kiếm, xem không có quyền cập nhật.
- Nhóm 2: Nhóm người dùng có quyền thêm vào CSDL các bản nhạc mới, tên nhạc sĩ, ca sĩ mới. Nhưng không có quyền xoá, sửa.
- Nhóm 3: Nhóm người dùng có quyền xoá, sửa dữ liệu trong các bảng của CSDL, nhưng không có quyên thay đổi cấu trúc bảng, không có quyền xoá bảng.
- Nhóm 4: Nhóm người dùng có toàn quyền đối với các bảng trong CSDL, chính là ngưới dùng có quyền tạo lập các bảng của CSDL.
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?
Để 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
idcasi
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.
Phần trắc nghiệm
Hãy điền Đ vào ô nếu đáp án đúng và điền S vào ô nếu đáp án sai
Đúng | Sai | |
---|---|---|
A. Tệp tin là đơn vị cơ bản để lưu trữ thông tin trên thiết bị lưu trữ | ||
B. Trong một thư mục có thể tồn tại hai tệp tin hoặc hai thư mục có tên giống nhau | ||
C. Thư mục gốc là thư mục được tạo ra đầu tiên trong đĩa | ||
D. Các tệp văn bản có thể là: bản nhạc, bài hát, . . . |