Nền tảng Kiến thức - Hành trang tới Tương lai
Card image

Chương trình học


  1. Cơ sở dữ liệu
  2. Thiết kế Cơ sở dữ liệu 12
    1. Mô hình dữ liệu Quan niệm CDM (Conceptual Data Model)
    2. Mô hình dữ liệu Vật lý PDM (Physical Data Model)
    3. [Bài tập 1.1] - Thực hành thiết kế sơ đồ CDM trang web Thương mại điện tử
    4. [Bài tập 1.2] - Thực hành thiết kế sơ đồ PDM (ER) trang web Thương mại điện tử
    5. [Bài tập 1.3] - Thực hành thiết kế sơ đồ CDM hệ thống Quản trị Thiết bị / Phòng học
    6. [Bài tập 1.4] - Thực hành thiết kế sơ đồ PDM (ER) hệ thống Quản trị Thiết bị / Phòng học
    7. [Bài tập 1.5] - Thực hành thiết kế sơ đồ CDM hệ thống Kênh phát nhạc
    8. [Bài tập 1.6] - Thực hành thiết kế sơ đồ PDM (ER) hệ thống Kênh phát nhạc
    9. [Bài tập 1.7] - Thực hành thiết kế sơ đồ CDM trang web Quản lý Truyện tranh / Tiểu thuyết
    10. [Bài tập 1.8] - Thực hành thiết kế sơ đồ PDM (ER) trang web Quản lý Truyện tranh / Tiểu thuyết
    11. [Bài tập 1.9] - Thực hành thiết kế sơ đồ CDM hệ thống Quản trị Nhân sự
    12. [Bài tập 1.10] - Thực hành thiết kế sơ đồ PDM (ER) hệ thống Quản trị Nhân sự
  3. Hệ quản trị Cơ sở dữ liệu MySQL - Tổng quan, khái niệm về database 2
    1. Tổng quan, khái niệm về database và các thành phần trong database RDMS
    2. Các kiểu dữ liệu trong MySQL
  4. Hệ quản trị Cơ sở dữ liệu MySQL - Các lệnh tạo cấu trúc (schema database) 2
    1. Câu lệnh tạo cấu trúc bảng - CREATE TABLE
    2. Câu lệnh hiệu chỉnh cấu trúc bảng - ALTER TABLE
  5. Hệ quản trị Cơ sở dữ liệu MySQL - Tạo cấu trúc database với HeidiSQL 9
    1. Tạo cơ sở dữ liệu (database) NetaShop - Sử dụng HeidiSQL
    2. Tạo bảng (table) Danh mục phẳng - Sử dụng HeidiSQL
    3. Tạo bảng (table) Danh mục có liên kết khóa ngoại (có quan hệ) - Sử dụng HeidiSQL
    4. Tạo bảng (table) theo quan hệ Nhiều - Nhiều (N-N) - Sử dụng HeidiSQL
    5. Tạo bảng (table) có Quan hệ Tự thân (self foreign key) - Sử dụng HeidiSQL
    6. [Bài tập 2.1] - Thực hành tạo cấu trúc database với PDM (ER) trang web Thương mại điện tử
    7. [Bài tập 2.2] - Thực hành tạo cấu trúc database với PDM (ER) trang web Quản lý Truyện tranh / Tiểu thuyết
    8. Cách export (dump) cơ sở dữ liệu MySQL bằng HeidiSQL
    9. [Bài tập 2.3] - Thực hành tạo cấu trúc database với PDM (ER) trang web Quản lý Bóng đá
  6. Hệ quản trị Cơ sở dữ liệu MySQL - Các lệnh cập nhật dữ liệu (Insert - Update - Delete) 5
    1. Câu lệnh Thêm dữ liệu (INSERT)
    2. Câu lệnh Cập nhật dữ liệu (UPDATE)
    3. Câu lệnh Xóa dữ liệu (DELETE)
    4. [Bài tập 2.3] - Thực hành thao tác các câu lệnh cập nhật dữ liệu trang web Thương mại điện tử
    5. [Bài tập 2.4] - Thực hành thao tác các câu lệnh cập nhật dữ liệu trang web Quản lý Truyện tranh / Tiểu thuyết
  7. Hệ quản trị Cơ sở dữ liệu MySQL - Các lệnh truy vấn dữ liệu (Select query data) 3
    1. Quy trình Workflow truy vấn dữ liệu với câu lệnh SQL SELECT
    2. [Bài tập 2.5] - Thực hành truy vấn dữ liệu cho Nghiệp vụ Bán hàng - Trang web Thương mại điện tử
    3. [Bài tập 2.6] - Thực hành truy vấn dữ liệu cho Nghiệp vụ Quản lý - Trang web Quản lý Truyện tranh / Tiểu thuyết
  8. Ngôn ngữ lập trình PHP - Cú pháp căn bản 13
    1. Sơ đồ vận hành của một Website
    2. Trình diễn (render) dữ liệu Đơn giản ra giao diện (HTML, CSS, JS) sử dụng PHP
    3. Trình diễn (render) dữ liệu Danh sách Array ra giao diện (HTML, CSS, JS) sử dụng PHP
    4. [Bài tập] - Tạo các trang web PHP cho phép Khách truy cập tương ứng từ địa chỉ web URL
    5. [Bài tập] - Khai báo các biến dữ liệu Đơn giản trong PHP và Render dữ liệu Đơn giản ra giao diện (HTML, CSS, JS) sử dụng PHP
    6. [Bài tập] - Khai báo các biến dữ liệu Mảng Array và Render dữ liệu Danh sách Array ra giao diện (HTML, CSS, JS) sử dụng PHP
    7. [Bài tập] - Xét kết quả tốt nghiệp của Sinh viên dựa theo thang điểm 10 sử dụng PHP
    8. [Bài tập] - Làm quen với vòng lặp FOR / FOREACH / WHILE / DO WHILE trong PHP
    9. Hàm (function) trong PHP
    10. Các hàm (functions) xử lý Ngày tháng (datetime) trong PHP
    11. Các hàm (functions) kiểm tra Biến (Variable) và các hàm kiểm tra Kiểu dữ liệu (data types) của biến trong PHP
    12. [Bài tập] - Làm quen với hàm (function) trong PHP
    13. [Bài tập] - Làm quen và sử dụng các hàm (functions) thông dụng có sẵn trong PHP
  9. Ngôn ngữ lập trình PHP - Xử lý Request và Response 6
    1. Thu thập và Xử lý dữ liệu bằng Yêu cầu GET (Request GET) trong PHP
    2. Thu thập và Xử lý dữ liệu bằng Yêu cầu POST (Request POST) trong PHP
    3. [Bài tập] - Tạo Form Đăng nhập và truyền dữ liệu bằng Request POST trong PHP
    4. [Bài tập] - Tạo Form Liên hệ và truyền dữ liệu bằng Request POST trong PHP
    5. [Bài tập] - Tạo trang Danh sách Sinh viên và truyền dữ liệu chức năng Sửa/Xóa bằng Request GET trong PHP
    6. Bài tập tạo Form Tìm kiếm Thu thập và Xử lý dữ liệu bằng Yêu cầu GET (Request GET) trong PHP
  10. Ngôn ngữ lập trình PHP - Thiết kế bố cục (layouts) cho trang web 3
    1. Khái niệm về bố cục (layouts) trong thiết kế giao diện Web / App
    2. Thiết kế bố cục (layouts) cho giao diện Frontend sử dụng PHP thuần
    3. [Bài tập] - Tiến hành áp dụng bố cục (layout) đã thiết kế cho các trang web thuộc Frontend
  11. Ngôn ngữ lập trình PHP - Thao tác với Cơ sở dữ liệu MySQL 16
    1. Quy trình (workflow) xử lý thao tác với cơ sở dữ liệu MySQL trong PHP
    2. Tạo kết nối đến CSDL MySQL trong PHP
    3. Thực thi câu lệnh SELECT trong PHP
    4. Thực thi câu lệnh INSERT trong PHP
    5. Thực thi câu lệnh INSERT với FORM trong PHP
    6. Thực thi câu lệnh UPDATE trong PHP
    7. Thực thi câu lệnh UPDATE với FORM trong PHP
    8. Thực thi câu lệnh DELETE trong PHP
    9. Thực thi câu lệnh DELETE với FORM trong PHP
    10. [Bài tập] - Tạo trang web hiển thị Danh sách các Truyện tranh/Tiểu thuyết hiện có trong Database ra ngoài Trang chủ - Thực thi câu lệnh SELECT trong PHP
    11. [Bài tập] - Tạo trang web hiển thị Chi tiết của một Truyện tranh/Tiểu thuyết - Thực thi câu lệnh SELECT trong PHP
    12. [Bài tập] - Tạo trang web hiển thị Nội dung của một Chương/Tập cụ thể thuộc một Truyện tranh/Tiểu thuyết nào đó - Thực thi câu lệnh SELECT trong PHP
    13. [Bài tập] - Tạo trang web Quản lý hiển thị Danh sách Truyện tranh - Index
    14. [Bài tập] - Tạo trang web Quản lý hiển thị Danh sách Tiểu thuyết - Index
    15. [Bài tập] - Tạo trang web Quản lý Thêm mới Truyện tranh - Create
    16. [Bài tập] - Tạo trang web Quản lý Thêm mới Tiểu thuyết - Create
  12. Đồ án cuối khóa 6
    1. Cách viết Bài báo cáo Đồ án
    2. Cách nộp Bài báo cáo Đồ án
    3. [Đồ án tham khảo] - Website Đọc truyện tranh online
    4. [Đồ án tham khảo] - Website thương mại điện tử Vật liệu xây dựng
    5. [Đồ án tham khảo] - Website xem phim Online
    6. Tiêu chí báo cáo Đồ án

Chương 5-Bài 4. Tạo bảng (table) theo quan hệ Nhiều - Nhiều (N-N) - Sử dụng HeidiSQL

Tác giả: Dương Nguyễn Phú Cường
Ngày đăng: Hồi xưa đó

Các bước thiết kế Quan hệ Nhiều - Nhiều (N-N)

Step 1: Vẽ mô hình thực thể ER và xem xét Quan hệ giữa 2 table giang_vienlop_hoc

Ta có Quan hệ thực tế giữa Giảng viên và Lớp học như sau:
  • 1 Giảng viên thì có thể cùng lúc tham gia Giảng dạy cho 1 hoặc nhiều Lớp học.
  • 1 Lớp học thì có thể có 1 hoặc nhiều Giảng viên giảng dạy.
Mô hình Thực thể ER mô tả Quan hệ giữa 2 table như sau:  

Step 2: đặt tên cho Mối quan hệ Nhiều - Nhiều (N-N)

Trong thực tế, để xác định hay ghi nhận Quá trình Công tác / hoặc Phân công Giảng dạy cho Giảng viên (cũng có thể gọi là sắp Thời khóa biểu) cho Giảng viên. Cán bộ phòng Đào tạo thường sẽ có 1 quyển sổ được đặt tên là bảng "Phân công Công tác/Giảng dạy" để ghi nhận lại Giảng viên nào? tham gia Giảng dạy Lớp học nào?  

Step 3: tiến hành tạo bảng (table) trung gian và chuyển mối liên hệ từ Nhiều - Nhiều (N-N) thành Một-Nhiều (1-N)

Theo quy tắc thiết kế Cơ sở dữ liệu, khi có Quan hệ Nhiều - Nhiều (N-N) xuất hiện, Cơ sở dữ liệu sẽ:
  1. Sinh thêm Bảng (table) Trung gian.
  2. Bảng (table) Trung gian sẽ có tên là tên của Mối quan hệ Nhiều - Nhiều (N-N). Thường đặt tên là Quá trình / Tham gia / Phân công, ...
  3. Trong bảng (table) Trung gian sẽ có đầy đủ khóa ngoại (Foreign key - FK) liên kết đến table Master.
  4. Trong bảng (table) Trung gian sẽ có thêm các cột dùng để lưu trữ thông tin bổ sung/làm rõ nghĩa Mối quan hệ Nhiều - Nhiều (N-N). Tuy nhiên, các cột này không bắt buộc (tùy vào thiết kế của bạn)
Dựa theo quy tắc trên, chúng ta có mô hình ER mới như sau:  

Step 4: lưu ý các Ràng buộc Logic về Nghiệp vụ lưu trữ dữ liệu

Thông thường, trong bất kỳ Hệ thống nào, cũng có tồn tại các quy tắc Ràng buộc về mặt lưu trữ. Theo ví dụ trên, ta có ràng buộc logic về Nghiệp vụ lưu trữ dữ liệu như sau:
  • Phải đảm bảo rằng Một Giảng viên không được dạy cùng 1 Lớp học (tức là dữ liệu ghi nhận trong table phan_cong_cong_tac không được trùng nhau).
  • Hay nói cách khác Một Lớp học không thể cùng lúc có nhiều Giảng viên giảng dạy được (trong 1 tiết học cụ thể, không thể có nhiều hơn 1 Giảng viên cùng đứng trên lớp?!)
Từ Ràng buộc logic về Nghiệp vụ Lưu trữ của Hệ thống yêu cầu như trên, chúng ta cần thiết kế lại mô hình ER như sau:

Cách giải quyết 1:

  • Tiến hành tạo ràng buộc Khóa chính (Primary key - PK) bao gồm 2 cột (gv_id, lop_id)

Cách giải quyết 2:

  • Tạo thêm 1 cột ID làm khóa chính (Primary key - PK), kiểu số nguyên, tự tăng trong table phan_cong_cong_tac
  • Tạo khóa Duy nhất (Unique) bao gồm 2 cột (gv_id, lop_id) để đảm bảo rằng không thể có cặp dữ liệu (gv_id và lop_id) trùng lặp nhau.

Mở rộng thêm bảng (table) mon_hoc

Ta có mối quan hệ thực tế giữa 3 thực thể Giảng viên, Lớp họcMôn học như sau:
  • 1 Giảng viên thì có thể cùng lúc tham gia Giảng dạy cho 1 hoặc nhiều Lớp học.
  • 1 Lớp học thì có thể có 1 hoặc nhiều Giảng viên giảng dạy.
  • 1 Lớp học thì có thể học 1 hoặc nhiều Môn học khác nhau (như Toán, Lý, Hóa, Lập trình Web, Thiết kế CSDL, ...)
  • 1 Môn học có thể được dạy ở 1 hoặc nhiều Lớp học khác nhau
  • ...

Bài tập: thiết kế CSDL có thể lưu trữ và trả lời được các câu hỏi Nghiệp vụ như sau:

  1. Có thể biết và ghi nhận 1 Giảng viên nào? Đang dạy Môn học nào? Cho Lớp nào?
  2. Có thể thống kê số lượng các Lớp mà 1 Giảng viên đang phụ trách giảng dạy là bao nhiêu?
  3. Môn học nào đang được dạy ở các Lớp nhiều nhất?
  4. Lớp nào đang được nhiều Giảng viên giảng dạy nhất?
  5. ...

Một số ví dụ Quan hệ Nhiều - Nhiều (N-N) thực tế:

  1. 1 Sản phẩm có thể cùng lúc thuộc 1 hoặc nhiều Chuyên mục <-> Một Chuyên mục có thể có 1 hoặc nhiều Sản phẩm.
  2. 1 Nhân viên có thể cùng lúc Chấm công nhiều loại hình (Hành chính, Ngoài giờ, Ngày nghỉ, Lễ/Tết, ...) <-> Một loại hình Chấm công có thể có nhiều Nhân viên.
  3. Một mẫu Kết quả Xét nghiệm có thể có 1 hoặc nhiều Tiêu chí <-> Một tiêu chí có thể có 1 hoặc nhiều Mẫu Kết quả Xét nghiệm.
  4. Một phòng Khách sạn có thể có 1 hoặc nhiều Khách thuê <-> Một Khách thuê có thể thuê 1 hoặc nhiều phòng
  5. ...

Các bài học

Chương trình học

Bao gồm Module, Chương, Bài học, Bài tập, Kiểm tra...

Chương trình học


  1. Cơ sở dữ liệu
  2. Thiết kế Cơ sở dữ liệu 12
    1. Mô hình dữ liệu Quan niệm CDM (Conceptual Data Model)
    2. Mô hình dữ liệu Vật lý PDM (Physical Data Model)
    3. [Bài tập 1.1] - Thực hành thiết kế sơ đồ CDM trang web Thương mại điện tử
    4. [Bài tập 1.2] - Thực hành thiết kế sơ đồ PDM (ER) trang web Thương mại điện tử
    5. [Bài tập 1.3] - Thực hành thiết kế sơ đồ CDM hệ thống Quản trị Thiết bị / Phòng học
    6. [Bài tập 1.4] - Thực hành thiết kế sơ đồ PDM (ER) hệ thống Quản trị Thiết bị / Phòng học
    7. [Bài tập 1.5] - Thực hành thiết kế sơ đồ CDM hệ thống Kênh phát nhạc
    8. [Bài tập 1.6] - Thực hành thiết kế sơ đồ PDM (ER) hệ thống Kênh phát nhạc
    9. [Bài tập 1.7] - Thực hành thiết kế sơ đồ CDM trang web Quản lý Truyện tranh / Tiểu thuyết
    10. [Bài tập 1.8] - Thực hành thiết kế sơ đồ PDM (ER) trang web Quản lý Truyện tranh / Tiểu thuyết
    11. [Bài tập 1.9] - Thực hành thiết kế sơ đồ CDM hệ thống Quản trị Nhân sự
    12. [Bài tập 1.10] - Thực hành thiết kế sơ đồ PDM (ER) hệ thống Quản trị Nhân sự
  3. Hệ quản trị Cơ sở dữ liệu MySQL - Tổng quan, khái niệm về database 2
    1. Tổng quan, khái niệm về database và các thành phần trong database RDMS
    2. Các kiểu dữ liệu trong MySQL
  4. Hệ quản trị Cơ sở dữ liệu MySQL - Các lệnh tạo cấu trúc (schema database) 2
    1. Câu lệnh tạo cấu trúc bảng - CREATE TABLE
    2. Câu lệnh hiệu chỉnh cấu trúc bảng - ALTER TABLE
  5. Hệ quản trị Cơ sở dữ liệu MySQL - Tạo cấu trúc database với HeidiSQL 9
    1. Tạo cơ sở dữ liệu (database) NetaShop - Sử dụng HeidiSQL
    2. Tạo bảng (table) Danh mục phẳng - Sử dụng HeidiSQL
    3. Tạo bảng (table) Danh mục có liên kết khóa ngoại (có quan hệ) - Sử dụng HeidiSQL
    4. Tạo bảng (table) theo quan hệ Nhiều - Nhiều (N-N) - Sử dụng HeidiSQL
    5. Tạo bảng (table) có Quan hệ Tự thân (self foreign key) - Sử dụng HeidiSQL
    6. [Bài tập 2.1] - Thực hành tạo cấu trúc database với PDM (ER) trang web Thương mại điện tử
    7. [Bài tập 2.2] - Thực hành tạo cấu trúc database với PDM (ER) trang web Quản lý Truyện tranh / Tiểu thuyết
    8. Cách export (dump) cơ sở dữ liệu MySQL bằng HeidiSQL
    9. [Bài tập 2.3] - Thực hành tạo cấu trúc database với PDM (ER) trang web Quản lý Bóng đá
  6. Hệ quản trị Cơ sở dữ liệu MySQL - Các lệnh cập nhật dữ liệu (Insert - Update - Delete) 5
    1. Câu lệnh Thêm dữ liệu (INSERT)
    2. Câu lệnh Cập nhật dữ liệu (UPDATE)
    3. Câu lệnh Xóa dữ liệu (DELETE)
    4. [Bài tập 2.3] - Thực hành thao tác các câu lệnh cập nhật dữ liệu trang web Thương mại điện tử
    5. [Bài tập 2.4] - Thực hành thao tác các câu lệnh cập nhật dữ liệu trang web Quản lý Truyện tranh / Tiểu thuyết
  7. Hệ quản trị Cơ sở dữ liệu MySQL - Các lệnh truy vấn dữ liệu (Select query data) 3
    1. Quy trình Workflow truy vấn dữ liệu với câu lệnh SQL SELECT
    2. [Bài tập 2.5] - Thực hành truy vấn dữ liệu cho Nghiệp vụ Bán hàng - Trang web Thương mại điện tử
    3. [Bài tập 2.6] - Thực hành truy vấn dữ liệu cho Nghiệp vụ Quản lý - Trang web Quản lý Truyện tranh / Tiểu thuyết
  8. Ngôn ngữ lập trình PHP - Cú pháp căn bản 13
    1. Sơ đồ vận hành của một Website
    2. Trình diễn (render) dữ liệu Đơn giản ra giao diện (HTML, CSS, JS) sử dụng PHP
    3. Trình diễn (render) dữ liệu Danh sách Array ra giao diện (HTML, CSS, JS) sử dụng PHP
    4. [Bài tập] - Tạo các trang web PHP cho phép Khách truy cập tương ứng từ địa chỉ web URL
    5. [Bài tập] - Khai báo các biến dữ liệu Đơn giản trong PHP và Render dữ liệu Đơn giản ra giao diện (HTML, CSS, JS) sử dụng PHP
    6. [Bài tập] - Khai báo các biến dữ liệu Mảng Array và Render dữ liệu Danh sách Array ra giao diện (HTML, CSS, JS) sử dụng PHP
    7. [Bài tập] - Xét kết quả tốt nghiệp của Sinh viên dựa theo thang điểm 10 sử dụng PHP
    8. [Bài tập] - Làm quen với vòng lặp FOR / FOREACH / WHILE / DO WHILE trong PHP
    9. Hàm (function) trong PHP
    10. Các hàm (functions) xử lý Ngày tháng (datetime) trong PHP
    11. Các hàm (functions) kiểm tra Biến (Variable) và các hàm kiểm tra Kiểu dữ liệu (data types) của biến trong PHP
    12. [Bài tập] - Làm quen với hàm (function) trong PHP
    13. [Bài tập] - Làm quen và sử dụng các hàm (functions) thông dụng có sẵn trong PHP
  9. Ngôn ngữ lập trình PHP - Xử lý Request và Response 6
    1. Thu thập và Xử lý dữ liệu bằng Yêu cầu GET (Request GET) trong PHP
    2. Thu thập và Xử lý dữ liệu bằng Yêu cầu POST (Request POST) trong PHP
    3. [Bài tập] - Tạo Form Đăng nhập và truyền dữ liệu bằng Request POST trong PHP
    4. [Bài tập] - Tạo Form Liên hệ và truyền dữ liệu bằng Request POST trong PHP
    5. [Bài tập] - Tạo trang Danh sách Sinh viên và truyền dữ liệu chức năng Sửa/Xóa bằng Request GET trong PHP
    6. Bài tập tạo Form Tìm kiếm Thu thập và Xử lý dữ liệu bằng Yêu cầu GET (Request GET) trong PHP
  10. Ngôn ngữ lập trình PHP - Thiết kế bố cục (layouts) cho trang web 3
    1. Khái niệm về bố cục (layouts) trong thiết kế giao diện Web / App
    2. Thiết kế bố cục (layouts) cho giao diện Frontend sử dụng PHP thuần
    3. [Bài tập] - Tiến hành áp dụng bố cục (layout) đã thiết kế cho các trang web thuộc Frontend
  11. Ngôn ngữ lập trình PHP - Thao tác với Cơ sở dữ liệu MySQL 16
    1. Quy trình (workflow) xử lý thao tác với cơ sở dữ liệu MySQL trong PHP
    2. Tạo kết nối đến CSDL MySQL trong PHP
    3. Thực thi câu lệnh SELECT trong PHP
    4. Thực thi câu lệnh INSERT trong PHP
    5. Thực thi câu lệnh INSERT với FORM trong PHP
    6. Thực thi câu lệnh UPDATE trong PHP
    7. Thực thi câu lệnh UPDATE với FORM trong PHP
    8. Thực thi câu lệnh DELETE trong PHP
    9. Thực thi câu lệnh DELETE với FORM trong PHP
    10. [Bài tập] - Tạo trang web hiển thị Danh sách các Truyện tranh/Tiểu thuyết hiện có trong Database ra ngoài Trang chủ - Thực thi câu lệnh SELECT trong PHP
    11. [Bài tập] - Tạo trang web hiển thị Chi tiết của một Truyện tranh/Tiểu thuyết - Thực thi câu lệnh SELECT trong PHP
    12. [Bài tập] - Tạo trang web hiển thị Nội dung của một Chương/Tập cụ thể thuộc một Truyện tranh/Tiểu thuyết nào đó - Thực thi câu lệnh SELECT trong PHP
    13. [Bài tập] - Tạo trang web Quản lý hiển thị Danh sách Truyện tranh - Index
    14. [Bài tập] - Tạo trang web Quản lý hiển thị Danh sách Tiểu thuyết - Index
    15. [Bài tập] - Tạo trang web Quản lý Thêm mới Truyện tranh - Create
    16. [Bài tập] - Tạo trang web Quản lý Thêm mới Tiểu thuyết - Create
  12. Đồ án cuối khóa 6
    1. Cách viết Bài báo cáo Đồ án
    2. Cách nộp Bài báo cáo Đồ án
    3. [Đồ án tham khảo] - Website Đọc truyện tranh online
    4. [Đồ án tham khảo] - Website thương mại điện tử Vật liệu xây dựng
    5. [Đồ án tham khảo] - Website xem phim Online
    6. Tiêu chí báo cáo Đồ án

Bài học trước Bài học tiếp theo