Chương trình học
- Cơ sở dữ liệu
-
Thiết kế Cơ sở dữ liệu
12
- Mô hình dữ liệu Quan niệm CDM (Conceptual Data Model)
- Mô hình dữ liệu Vật lý PDM (Physical Data Model)
- [Bài tập 1.1] - Thực hành thiết kế sơ đồ CDM trang web Thương mại điện tử
- [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ử
- [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
- [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
- [Bài tập 1.5] - Thực hành thiết kế sơ đồ CDM hệ thống Kênh phát nhạc
- [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
- [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
- [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
- [Bài tập 1.9] - Thực hành thiết kế sơ đồ CDM hệ thống Quản trị Nhân sự
- [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ự
- Hệ quản trị Cơ sở dữ liệu MySQL - Tổng quan, khái niệm về database 2
- Hệ quản trị Cơ sở dữ liệu MySQL - Các lệnh tạo cấu trúc (schema database) 2
-
Hệ quản trị Cơ sở dữ liệu MySQL - Tạo cấu trúc database với HeidiSQL
9
- Tạo cơ sở dữ liệu (database) NetaShop - Sử dụng HeidiSQL
- Tạo bảng (table) Danh mục phẳng - Sử dụng HeidiSQL
- Tạo bảng (table) Danh mục có liên kết khóa ngoại (có quan hệ) - Sử dụng HeidiSQL
- Tạo bảng (table) theo quan hệ Nhiều - Nhiều (N-N) - Sử dụng HeidiSQL
- Tạo bảng (table) có Quan hệ Tự thân (self foreign key) - Sử dụng HeidiSQL
- [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ử
- [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
- Cách export (dump) cơ sở dữ liệu MySQL bằng HeidiSQL
- [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 đá
- 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
- Hệ quản trị Cơ sở dữ liệu MySQL - Các lệnh truy vấn dữ liệu (Select query data) 3
-
Ngôn ngữ lập trình PHP - Cú pháp căn bản
13
- Sơ đồ vận hành của một Website
- Trình diễn (render) dữ liệu Đơn giản ra giao diện (HTML, CSS, JS) sử dụng PHP
- Trình diễn (render) dữ liệu Danh sách Array ra giao diện (HTML, CSS, JS) sử dụng PHP
- [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
- [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
- [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
- [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
- [Bài tập] - Làm quen với vòng lặp FOR / FOREACH / WHILE / DO WHILE trong PHP
- Hàm (function) trong PHP
- Các hàm (functions) xử lý Ngày tháng (datetime) trong PHP
- 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
- [Bài tập] - Làm quen với hàm (function) trong PHP
- [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
-
Ngôn ngữ lập trình PHP - Xử lý Request và Response
6
- Thu thập và Xử lý dữ liệu bằng Yêu cầu GET (Request GET) trong PHP
- Thu thập và Xử lý dữ liệu bằng Yêu cầu POST (Request POST) trong PHP
- [Bài tập] - Tạo Form Đăng nhập và truyền dữ liệu bằng Request POST trong PHP
- [Bài tập] - Tạo Form Liên hệ và truyền dữ liệu bằng Request POST trong PHP
- [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
- 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
- Ngôn ngữ lập trình PHP - Thiết kế bố cục (layouts) cho trang web 3
-
Ngôn ngữ lập trình PHP - Thao tác với Cơ sở dữ liệu MySQL
16
- Quy trình (workflow) xử lý thao tác với cơ sở dữ liệu MySQL trong PHP
- Tạo kết nối đến CSDL MySQL trong PHP
- Thực thi câu lệnh SELECT trong PHP
- Thực thi câu lệnh INSERT trong PHP
- Thực thi câu lệnh INSERT với FORM trong PHP
- Thực thi câu lệnh UPDATE trong PHP
- Thực thi câu lệnh UPDATE với FORM trong PHP
- Thực thi câu lệnh DELETE trong PHP
- Thực thi câu lệnh DELETE với FORM trong PHP
- [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
- [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
- [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
- [Bài tập] - Tạo trang web Quản lý hiển thị Danh sách Truyện tranh - Index
- [Bài tập] - Tạo trang web Quản lý hiển thị Danh sách Tiểu thuyết - Index
- [Bài tập] - Tạo trang web Quản lý Thêm mới Truyện tranh - Create
- [Bài tập] - Tạo trang web Quản lý Thêm mới Tiểu thuyết - Create
- Đồ án cuối khóa 6
Cách chuẩn hóa Cơ sở dữ liệu từ 1 bảng thành các bảng có quan hệ
Ví dụ: ta cần lưu trữ thông tin Sản phẩm, và Chuyên mục để phân loại Sản phẩm trong tablesanpham
như sau:
sp_id
: ID tự tăng dùng để định danh duy nhất 1 Sản phẩmsp_ten
: tên Sản phẩmsp_gia
: giá bán Sản phẩmlsp_ten
: sản phẩm thuộc Loại nào đó
Cách lưu trữ tất cả thông tin trong cùng 1 table sanpham
này có vài điểm hạn chế:
Dư thừa dữ liệu
Xem xét ví dụ trên, chúng ta phân tích như sau: Cùng 1 chuỗi "Điện thoại", lại xuất hiện dư thừa đến 3 lần trong dữ liệu trên. Ví dụ:- Chuỗi
Điện thoại
có10 ký tự
, mỗi ký tự tốn2 bytes
để lưu trữ => cần10 * 2 = 20 bytes
để lưu trữ hết chuỗi này - Việc xuất hiện dư thừa đến 3 lần, làm chúng ta tiêu tốn
3 lần * 20 bytes = 60 bytes
dung lượng lưu trữ
Cách giải quyết
Step 1: Tách dữ liệu ra thành 2 bảng (table):
- Table
sanpham
- Table
loaisanpham
Step 2: xác định quan hệ giữa 2 table sanpham
và loaisanpham
Ta có quan hệ như sau:
- 1
Sản phẩm
thì thuộc mộtLoại sản phẩm
nào đó - 1
Loại sản phẩm
thì có thể không có hoặc có nhiềuSản phẩm
Step 3: khởi tạo cột dùng để liên kết giữa 2 bảng và tạo liên kết Khóa ngoại
Do quan hệ chúng ta sử dụng làKhông-Nhiều (0-n) hay Một-Nhiều (1-n) => còn gọi là quan hệ dạng Cha-Con (Master-Detail)
, nên sẽ có một số quy tắc thiết kế như sau:
- Cột khóa ngoại (Foreign key - FK) sẽ được đặt bên table con (detail)
sanpham
, với một số quy tắc sau:- Quy cách đặt tên: thường đặt tên giống như cột khóa chính (Primary key - PK) bên table cha
loaisanpham
. - Để có thể tạo quan hệ ràng buộc Khóa ngoại với nhau thì kiểu dữ liệu của cột Khóa ngoại (bên table
sanpham
) và Khóa chính (bên tableloaisanpham
) phải giống hệt nhau.
- Quy cách đặt tên: thường đặt tên giống như cột khóa chính (Primary key - PK) bên table cha
Thực hành
Tạo khóa ngoại cho tableshop_products
và table shop_categories
trong HeidiSQL:
Step 1: tạo table shop_categories
Step 2: tạo table shop_products
Step 3: tạo khóa ngoại Foreign Key liên kết giữa 2 table
Step 4: nhập dữ liệu data cho table shop_categories
Step 5: nhập dữ liệu data cho table shop_products
Xong!
Mục lục
Các bài học
Bài học trước Bài học tiếp theo
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
- Cơ sở dữ liệu
-
Thiết kế Cơ sở dữ liệu
12
- Mô hình dữ liệu Quan niệm CDM (Conceptual Data Model)
- Mô hình dữ liệu Vật lý PDM (Physical Data Model)
- [Bài tập 1.1] - Thực hành thiết kế sơ đồ CDM trang web Thương mại điện tử
- [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ử
- [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
- [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
- [Bài tập 1.5] - Thực hành thiết kế sơ đồ CDM hệ thống Kênh phát nhạc
- [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
- [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
- [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
- [Bài tập 1.9] - Thực hành thiết kế sơ đồ CDM hệ thống Quản trị Nhân sự
- [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ự
- Hệ quản trị Cơ sở dữ liệu MySQL - Tổng quan, khái niệm về database 2
- Hệ quản trị Cơ sở dữ liệu MySQL - Các lệnh tạo cấu trúc (schema database) 2
-
Hệ quản trị Cơ sở dữ liệu MySQL - Tạo cấu trúc database với HeidiSQL
9
- Tạo cơ sở dữ liệu (database) NetaShop - Sử dụng HeidiSQL
- Tạo bảng (table) Danh mục phẳng - Sử dụng HeidiSQL
- Tạo bảng (table) Danh mục có liên kết khóa ngoại (có quan hệ) - Sử dụng HeidiSQL
- Tạo bảng (table) theo quan hệ Nhiều - Nhiều (N-N) - Sử dụng HeidiSQL
- Tạo bảng (table) có Quan hệ Tự thân (self foreign key) - Sử dụng HeidiSQL
- [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ử
- [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
- Cách export (dump) cơ sở dữ liệu MySQL bằng HeidiSQL
- [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 đá
- 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
- Hệ quản trị Cơ sở dữ liệu MySQL - Các lệnh truy vấn dữ liệu (Select query data) 3
-
Ngôn ngữ lập trình PHP - Cú pháp căn bản
13
- Sơ đồ vận hành của một Website
- Trình diễn (render) dữ liệu Đơn giản ra giao diện (HTML, CSS, JS) sử dụng PHP
- Trình diễn (render) dữ liệu Danh sách Array ra giao diện (HTML, CSS, JS) sử dụng PHP
- [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
- [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
- [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
- [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
- [Bài tập] - Làm quen với vòng lặp FOR / FOREACH / WHILE / DO WHILE trong PHP
- Hàm (function) trong PHP
- Các hàm (functions) xử lý Ngày tháng (datetime) trong PHP
- 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
- [Bài tập] - Làm quen với hàm (function) trong PHP
- [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
-
Ngôn ngữ lập trình PHP - Xử lý Request và Response
6
- Thu thập và Xử lý dữ liệu bằng Yêu cầu GET (Request GET) trong PHP
- Thu thập và Xử lý dữ liệu bằng Yêu cầu POST (Request POST) trong PHP
- [Bài tập] - Tạo Form Đăng nhập và truyền dữ liệu bằng Request POST trong PHP
- [Bài tập] - Tạo Form Liên hệ và truyền dữ liệu bằng Request POST trong PHP
- [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
- 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
- Ngôn ngữ lập trình PHP - Thiết kế bố cục (layouts) cho trang web 3
-
Ngôn ngữ lập trình PHP - Thao tác với Cơ sở dữ liệu MySQL
16
- Quy trình (workflow) xử lý thao tác với cơ sở dữ liệu MySQL trong PHP
- Tạo kết nối đến CSDL MySQL trong PHP
- Thực thi câu lệnh SELECT trong PHP
- Thực thi câu lệnh INSERT trong PHP
- Thực thi câu lệnh INSERT với FORM trong PHP
- Thực thi câu lệnh UPDATE trong PHP
- Thực thi câu lệnh UPDATE với FORM trong PHP
- Thực thi câu lệnh DELETE trong PHP
- Thực thi câu lệnh DELETE với FORM trong PHP
- [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
- [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
- [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
- [Bài tập] - Tạo trang web Quản lý hiển thị Danh sách Truyện tranh - Index
- [Bài tập] - Tạo trang web Quản lý hiển thị Danh sách Tiểu thuyết - Index
- [Bài tập] - Tạo trang web Quản lý Thêm mới Truyện tranh - Create
- [Bài tập] - Tạo trang web Quản lý Thêm mới Tiểu thuyết - Create
- Đồ án cuối khóa 6
Bài học trước Bài học tiếp theo
Menu Tiện ích
Menu Hướng dẫn Học tập
❤🧡💛💚💙💜 Học là phải THỰC HÀNH ❤🧡💛💚💙💜
Thực hiện các bước tuần tự theo nội dung Bài học nhé!