Đây là bài tập tạo database, bạn thực hiện tạo database và các table được liệt kê trong bài. Sau đó tạo quan hệ giữa các table theo yêu cầu.
Tạo database tên phone và tạo các table theo yêu cầu sau:
1. Tạo bảng NhaSanXuat
Tên cột
Kiểu
Ràng buộc
Ghi chú
idNSX
INT
PK, NOT NULL, Tự tăng
Mã nhà sản xuất
TenNSX
VARCHAR(50)
NOT NULL
Tên nhà sản xuất
ThuTu
Int(11)
NULL
Thứ tự
AnHien
Boolean
NULL
Ẩn hiện
2. Tạo bảng DienThoai
Tên cột
Kiểu
Ràng buộc
Ghi chú
idDT
INT(11)
PK, NOT NULL, Tự tăng
Mã điện thoại
TenDT
VARCHAR(100)
NOT NULL
Tên điện thoại
Gia
FLOAT
NULL
Đơn giá
GiaKM
FLOAT
NULL
Giá khuyến mãi
urlHinh
VARCHAR(200)
NULL
Địa chỉ hình chính
ThoiDiemNhap
DATETIME
NULL
Thời điểm nhập hàng
MoTa
VARCHAR(4000)
NULL
Mô tả điện thoại
SoLanXem
INT(11)
DEFAULT 0
Số lượt xem
SoLanMua
INT(11)
DEFAULT 0
Số lần mua
Hot
BOOLEAN
DEFAULT 0
idNSX
INT(11)
FK, NULL
Mã nhà sản xuất
AnHien
BOOLEAN
DEFAULT 0
Ẩn hiện
SoLuongTonKho
INT(11)
DEFAULT 0
Số lượng tồn kho.
3. Tạo bảng ThuocTinhDT
Tên cột
Kiểu
Ràng buộc
Ghi chú
idDT
INT(11)
PK, NOT NULL, Tự tăng
Mã điện thoại
ManHinh
VARCHAR(50)
NULL
HeDieuHanh
VARCHAR(50)
NULL
CameraSau
VARCHAR(50)
NULL
CameraTruoc
VARCHAR(50)
NULL
CPU
VARCHAR(50)
NULL
RAM
VARCHAR(50)
NULL
BoNhoTrong
VARCHAR(50)
NULL
TheNho
VARCHAR(50)
NULL
TheSIM
VARCHAR(50)
NULL
DungLuongPin
VARCHAR(50)
NULL
4. Tạo bảng Users
Tên cột
Kiểu
Ràng buộc
Ghi chú
idUser
INT(11)
PK, NOT NULL , Tự tăng
Mã user
Username
VARCHAR(30)
NOT NULL, UNIQUE
Tên đăng nhập
Password
VARCHAR(100)
NOT NULL
Mật khẩu, mã khóa bcrypt
HoTen
VARCHAR(50)
NOT NULL
Họ và tên
KichHoat
TINYINT(1)
NULL
Kích hoạt chưa, true 1 = đã kích hoạt
urlHinh
VARCHAR(200)
NULL
Url hình ảnh
Email
VARCHAR(200)
NOT NULL , UNIQUE
Địa chỉ email
VaiTro
TINYNIT(1)
DEFAULT 0
Vai trò, 0 là thành viên, 1 là admin…
AnHien
BOOLEAN
NULL, default 1
Ẩn Hiện
5. Tạo bảng BinhLuan
Tên cột
Kiểu
Ràng buộc
Ghi chú
idBL
INT
PK, NOT NULL, Tự tăng
Mã bình luận
NoiDungBL
VARCHAR(2000)
NOT NULL
Nội dung bình luận
idDT
INT(11)
FK, NULL
Mã điện thoại được bình luận
idUser
INT(11)
FK, NULL
Mã người bình luận
ThoiDiemBL
DATETIME
NULL
Thời điểm bình luận
AnHien
BOOLEAN
NULL, DEFAULT 0
Ẩn hiện
6. Tạo bảng DonHang
Tên cột
Kiểu
Ràng buộc
Ghi chú
idDH
INT
PK, NOT NULL, Tự tăng
id của đơn hàng
ThoiDiemDatHang
DATETIME
NOT NULL
Thời điểm đặt hàng
ThoiDiemGiaohang
DATETIME
NULL
Thời điểm giao hàng
idUser
INT(11)
FK, NULL
Mã người mua
TenNguoiNhan
VARCHAR(100)
NULL
Họ tên người nhận
EmailNguoiNhan
VARCHAR(200)
NULL
Email người nhận
DiaChiNguoiNhan
VARCHAR(200)
NULL
Địa chỉ người nhận
AnHien
BOOLEAN
NULL, default 0
Ẩn hiện
TrangThai
TINYINT(1)
default 0
0 : Chưa xử lý, 1 đả xử lý xong
GhiChuCuaKhach
VARCHAR(2000)
NULL
GhiChuCuaAdmin
VARCHAR(2000)
NULL
7. Tạo bảng DonHangChiTiet
Tên cột
Kiểu
Ràng buộc
Ghi chú
idCT
INT
PK, NOT NULL, Tự tăng
id
idDH
INT(11)
FK, NOT NULL
Id đơn hàng
idDT
INT(11)
FK, NULL
Mã điện thoại
TenDT
VARCHAR(100)
NOT NULL
Tên điện thoại
SoLuong
INT (11)
NOT NULL
Số lượng mua
Gia
FLOAT
NOT NULL
Giá
urlHinh
VARCHAR(200)
NULL
Urlhình của điện thoại
8. Tạo quan hệ giữa các table:
Trong phpMyadmuin, thực hiện tạo quan hệ theo khóa chính khóa ngoại giữa các table:
9. Nhập dữ liệu cho các table
Nhập vào bảng users 1 record đầu tiên, username là admin, password là 123, VaiTro là 1, AnHien là 1, còn các giá trị khác tùy ý
Nhập vào bảng users 1vài record khác, giá trị tùy ý.
Vào các website thegioididong, cellphones quan sát các nhà sản xuất điện thoại di động và nhập vào table nhasanxuat. (8 record)
Vào các website thegioididong, cellphones quan sát các điện thoại di động và nhập vào table dienthoai, thuoctinh (12 record). Trong cột urlHinh của table dienthoai, bạn nhập địa chỉ các hình vào theo công thức hinh/tenfilehình File hình thì của điện thoại thì bạn tạo 1 folder tên hinh rồi save các hình điện thoại vào đó, đặt tên file hình theo tên của điện thoại (không dấu). Ví dụ sam-sung-galaxy-s8.jpg.