-- ========================================================================= -- CHƯƠNG 4 / LAB 6: LARAVEL FRAMEWORK - GIỚI THIỆU VÀ CÀI ĐẶT -- File CSDL tổng hợp cho dự án Lab01_Framework (Database: labdb) -- ========================================================================= CREATE DATABASE IF NOT EXISTS `labdb` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; USE `labdb`; -- Bảng migrations chuẩn của Laravel CREATE TABLE IF NOT EXISTS `migrations` ( `id` INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, `migration` VARCHAR(255) NOT NULL, `batch` INT NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -- Bảng students (Bài 04 -> Bài 09: bao gồm cả cột class_name) CREATE TABLE IF NOT EXISTS `students` ( `id` BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY, `name` VARCHAR(255) NOT NULL, `email` VARCHAR(255) NOT NULL UNIQUE, `age` INT UNSIGNED NOT NULL DEFAULT 18, `gender` ENUM('male', 'female') NOT NULL DEFAULT 'male', `class_name` VARCHAR(50) NULL DEFAULT 'CNTT-K18A', `created_at` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP, `updated_at` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -- Ghi nhận lịch sử migration INSERT IGNORE INTO `migrations` (`id`, `migration`, `batch`) VALUES (1, '2026_01_01_000001_create_students_table', 1), (2, '2026_01_01_000002_add_class_name_to_students_table', 2); -- Dữ liệu mẫu 10 bản ghi sinh viên (StudentSeeder / StudentFactory) INSERT IGNORE INTO `students` (`id`, `name`, `email`, `age`, `gender`, `class_name`, `created_at`, `updated_at`) VALUES (1, 'Nguyễn Văn An', 'an.nguyen@example.com', 20, 'male', 'CNTT-K18A', NOW(), NOW()), (2, 'Trần Thị Bích Ngọc', 'ngoc.tran@example.com', 19, 'female', 'CNTT-K18A', NOW(), NOW()), (3, 'Lê Hoàng Nam', 'nam.le@example.com', 17, 'male', 'KTPM-K19B', NOW(), NOW()), (4, 'Phạm Minh Châu', 'chau.pham@example.com', 21, 'female', 'HTTT-K17A', NOW(), NOW()), (5, 'Hoàng Đức Trọng', 'trong.hoang@example.com', 22, 'male', 'CNTT-K18B', NOW(), NOW()), (6, 'Vũ Thị Mai Hương', 'huong.vu@example.com', 17, 'female', 'KTPM-K19A', NOW(), NOW()), (7, 'Đặng Quốc Khánh', 'khanh.dang@example.com', 20, 'male', 'ANM-K18A', NOW(), NOW()), (8, 'Bùi Thanh Hà', 'ha.bui@example.com', 19, 'female', 'CNTT-K18A', NOW(), NOW()), (9, 'Đỗ Gia Bảo', 'bao.do@example.com', 16, 'male', 'KTPM-K19B', NOW(), NOW()), (10, 'Ngô Phương Linh', 'linh.ngo@example.com', 21, 'female', 'HTTT-K17A', NOW(), NOW());