# data[].attributes.body
Hiểu được cách thức nhập dữ liệu đối với các bảng có trường khóa ngoài – trường tham chiếu đến một khóa chính của bảng khác.

# data[].attributes.body
Mối nhóm có từ 3-5 thành viên

Chú ý: Ghi rõ họ tên thành viên của nhóm

Ví dụ: Nhóm 01

Nguyễn Văn A

Nguyễn Văn B

# data[].attributes.body
Các nhóm tiến hành thêm mới dữ liệu vào bảng bannhac và gửi minh chứng tại đây

# data[].attributes.headline
Sửa chữa và cập nhật dữ liệu trong bảng bannhac

# data[].attributes.subject
Sửa chữa và cập nhật dữ liệu trong bảng bannhac

# data[].attributes.body
Các nhóm tiến hành sửa chữa và cập nhật dữ liệu trong bảng bannhac ( từ bảng 1 thành bảng 2 ) và nộp minh chứng tại đây

# data[].attributes.body
Các em sau khi xóa dòng dữ liệu trong bảng bannhac, tiến hành nộp minh chứng tại đây

# data[].attributes.body
Bảng bannhac đã có dữ liệu với trường idNhacsi tham chiếu đến trường idNhacsi của bảng nhacsi.

# data[].attributes.body
Do vậy ta không thể tùy tiện xóa các dòng của bảng nhacsi. MySQL sẽ kiểm tra và ngăn chặn việc xóa các dòng trong bảng nhacsi mà giá trị trường idNhacsi đã có trong trường idNhacsi của bảng bannhac.

# data[].attributes.body
Các nhóm hoàn thành 2 yêu cầu sau và tiến hành nộp minh chứng tại đây

⊛Yêu cầu 1: Thực hành truy xuất dữ liệu theo thứ tự giảm dần của trường idBannhac, theo thứ tự tên các bản nhạc

⊛Yêu cầu 2: Thực hành lấy ra danh sách tên các bản nhạc của nhạc sĩ Văn Cao có trong bảng bannhac

# data[].attributes.headline
Video phần mềm ứng dụng Quản lí dữ liệu âm nhạc

# data[].attributes.subject
Video phần mềm ứng dụng Quản lí dữ liệu âm nhạc

# data[].attributes.body
Các nhóm tìm hiểu chức năng của phần mềm ứng dụng Quản lí dữ liệu âm nhạc và so sánh, nhận xét với kiến thức trong bài thực hành thông qua một số câu hỏi mở sau:

⊛ Giao diện của phần mềm có dễ sử dụng không? Có hướng vào nghiệp vụ hằng ngày của người quản lí website âm nhạc không?

⊛  Có hỗ trợ nhập dữ liệu vào trường khóa ngoài theo tham chiếu đến bảng nhacsi không?

⊛Người sử dụng phần mềm có cần biết đến cấu trúc của các bảng dữ liệu không?

Sau khi hoàn thành hoạt động, các nhóm tiến hành nộp minh chứng tại đây

# data[].attributes.headline
Câu 1: Đâu là công việc chính khi làm việc với một CSDL?

# data[].attributes.subject
Câu 1: Đâu là công việc chính khi làm việc với một CSDL?

# data[].attributes.body
A.Cập nhật dữ liệu

B.Truy xuất dữ liệu

C.Xóa dòng dữ liệu

D.Cả ba đáp án trên đều đúng

# data[].attributes.headline
Câu 2 Muốn truy xuất tất cả các dòng dữ liệu từ bảng "casi" ta dùng?

# data[].attributes.subject
Câu 2 Muốn truy xuất tất cả các dòng dữ liệu từ bảng "casi" ta dùng?

# data[].attributes.body
A. SELECT * FROM casi WHERE tencasi LIKE '%Hoa%';

B. SELECT * FROM casi WHERE idcasi = 1;

C. SELECT * FROM casi;

D. SELECT * FROM casi WHERE tencasi LIKE 'N%';

# data[].attributes.attachment_link.readable_text
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET NAMES utf8 */;
/*!50503 SET NAMES utf8mb4 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

CREATE DATABASE IF NOT EXISTS `mymusic` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci */;
USE `mymusic`;

CREATE TABLE IF NOT EXISTS `bannhac` (
  `idBannhac` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `tenBannhac` varchar(255) NOT NULL,
  `idNhacsi` int(10) unsigned NOT NULL,
  PRIMARY KEY (`idBannhac`),
  UNIQUE KEY `tenBannhac_idNhacsi` (`tenBannhac`,`idNhacsi`),
  KEY `FK_bannhac_nhacsi` (`idNhacsi`),
  CONSTRAINT `FK_bannhac_nhacsi` FOREIGN KEY (`idNhacsi`) REFERENCES `nhacsi` (`idNhacsi`) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

INSERT INTO `bannhac` (`idBannhac`, `tenBannhac`, `idNhacsi`) VALUES
	(7, ' Nh���c r���ng', 3),
	(1, 'Du k��ch s��ng Thao', 1),
	(6, 'Ti���n v��� H�� n���i', 2),
	(8, 'Ti���ng h��t gi���a r���ng P���c B��', 4),
	(3, 'T��nh ca', 3),
	(2, 'Tr�����ng ca S��ng L��', 2),
	(5, 'Vi���t Nam qu�� h����ng t��i', 1),
	(4, 'Xa kh��i', 5);

CREATE TABLE IF NOT EXISTS `banthuam` (
  `idBanthuam` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `idBannhac` int(10) unsigned NOT NULL,
  `idCasi` int(10) unsigned NOT NULL,
  PRIMARY KEY (`idBanthuam`),
  UNIQUE KEY `idBannhac_idCasi` (`idBannhac`,`idCasi`),
  KEY `FK_banthuam_casi` (`idCasi`),
  CONSTRAINT `FK_banthuam_bannhac` FOREIGN KEY (`idBannhac`) REFERENCES `bannhac` (`idBannhac`) ON DELETE NO ACTION ON UPDATE NO ACTION,
  CONSTRAINT `FK_banthuam_casi` FOREIGN KEY (`idCasi`) REFERENCES `casi` (`idCasi`) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

INSERT INTO `banthuam` (`idBanthuam`, `idBannhac`, `idCasi`) VALUES
	(1, 1, 5),
	(9, 2, 1),
	(2, 2, 2),
	(3, 3, 1),
	(4, 4, 3),
	(5, 5, 4),
	(10, 6, 4),
	(6, 6, 5),
	(7, 7, 4),
	(8, 8, 2);

CREATE TABLE IF NOT EXISTS `casi` (
  `idCasi` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `tenCasi` varchar(255) NOT NULL DEFAULT '0',
  PRIMARY KEY (`idCasi`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

INSERT INTO `casi` (`idCasi`, `tenCasi`) VALUES
	(1, 'Tr���n Kh��nh'),
	(2, 'L�� Dung'),
	(3, 't��n Nh��n'),
	(4, 'Qu���c H����ng'),
	(5, 'Do��n T���n');

CREATE TABLE IF NOT EXISTS `nhacsi` (
  `idNhacsi` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `tenNhacsi` varchar(255) NOT NULL DEFAULT '',
  PRIMARY KEY (`idNhacsi`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

INSERT INTO `nhacsi` (`idNhacsi`, `tenNhacsi`) VALUES
	(1, '����� Nhu���n'),
	(2, 'V��n Cao'),
	(3, 'Ho��ng Vi���t'),
	(4, 'Nguy���n T��i Tu���'),
	(5, 'Do��n T���n');

/*!40103 SET TIME_ZONE=IFNULL(@OLD_TIME_ZONE, 'system') */;
/*!40101 SET SQL_MODE=IFNULL(@OLD_SQL_MODE, '') */;
/*!40014 SET FOREIGN_KEY_CHECKS=IFNULL(@OLD_FOREIGN_KEY_CHECKS, 1) */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40111 SET SQL_NOTES=IFNULL(@OLD_SQL_NOTES, 1) */;

# data[].attributes.body
Các nhóm hãy thực hành lấy ra danh sách idBannhac của ca sĩ Quốc Hương

Các nhóm sau khi thực hiện xong yêu cầu sẽ tiến hành nộp minh chứng tại đây

# data[].attributes.body
Nhung, P.lợi