Bài tập tạo database

Đâ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ộtKiểuRàng buộcGhi chú
idNSXINTPK, NOT NULL, Tự tăngMã nhà sản xuất
TenNSXVARCHAR(50)NOT NULLTên nhà sản xuất
ThuTuInt(11)NULLThứ tự
AnHienBooleanNULLẨn hiện

2. Tạo bảng DienThoai

Tên cộtKiểuRàng buộcGhi chú
idDTINT(11)PK, NOT NULL, Tự tăngMã điện thoại
TenDTVARCHAR(100)NOT NULLTên điện thoại
GiaFLOATNULLĐơn giá
GiaKMFLOATNULLGiá khuyến mãi
urlHinhVARCHAR(200)NULLĐịa chỉ hình chính
ThoiDiemNhapDATETIMENULLThời điểm nhập hàng
MoTaVARCHAR(4000)NULLMô tả điện thoại
SoLanXemINT(11)DEFAULT 0Số lượt xem
SoLanMuaINT(11)DEFAULT 0Số lần mua
HotBOOLEANDEFAULT 0
idNSXINT(11)FK, NULLMã nhà sản xuất
AnHienBOOLEANDEFAULT 0Ẩn hiện
SoLuongTonKhoINT(11)DEFAULT 0Số lượng tồn kho.

3. Tạo bảng ThuocTinhDT

Tên cộtKiểuRàng buộcGhi chú
idDTINT(11)PK, NOT NULL, Tự tăngMã điện thoại
ManHinhVARCHAR(50)NULL
HeDieuHanhVARCHAR(50)NULL
CameraSauVARCHAR(50)NULL
CameraTruocVARCHAR(50)NULL 
CPUVARCHAR(50)NULL 
RAMVARCHAR(50)NULL 
BoNhoTrongVARCHAR(50)NULL 
TheNhoVARCHAR(50)NULL 
TheSIMVARCHAR(50)NULL 
DungLuongPinVARCHAR(50)NULL 

4. Tạo bảng Users

Tên cộtKiểuRàng buộcGhi chú
idUserINT(11)PK, NOT NULL , Tự tăngMã user
UsernameVARCHAR(30)NOT NULL, UNIQUETên đăng nhập
PasswordVARCHAR(100)NOT NULLMật khẩu, mã khóa bcrypt
HoTenVARCHAR(50)NOT NULLHọ và tên
KichHoatTINYINT(1)NULLKích hoạt chưa, true 1 = đã kích hoạt
urlHinhVARCHAR(200)NULLUrl hình ảnh
EmailVARCHAR(200)NOT NULL , UNIQUEĐịa chỉ email
VaiTroTINYNIT(1)DEFAULT 0Vai trò, 0 là thành viên, 1 là admin…
AnHienBOOLEANNULL, default 1Ẩn Hiện

5. Tạo bảng BinhLuan

Tên cộtKiểuRàng buộcGhi chú
idBLINTPK, NOT NULL, Tự tăngMã bình luận
NoiDungBLVARCHAR(2000)NOT NULLNội dung bình luận
idDTINT(11)FK, NULLMã điện thoại được bình luận
idUserINT(11)FK, NULLMã người bình luận
ThoiDiemBLDATETIMENULLThời điểm bình luận
AnHienBOOLEANNULL, DEFAULT  0Ẩn hiện

6. Tạo bảng DonHang

Tên cộtKiểuRàng buộcGhi chú
idDHINTPK, NOT NULL, Tự tăngid của đơn hàng
ThoiDiemDatHangDATETIMENOT NULLThời điểm đặt hàng
ThoiDiemGiaohangDATETIMENULLThời điểm giao hàng
idUserINT(11)FK, NULLMã người mua
TenNguoiNhanVARCHAR(100)NULLHọ tên người nhận
EmailNguoiNhanVARCHAR(200)NULLEmail người nhận
DiaChiNguoiNhanVARCHAR(200)NULLĐịa chỉ người nhận
AnHienBOOLEANNULL, default 0Ẩn hiện
TrangThaiTINYINT(1)default 00 : Chưa xử lý, 1 đả xử lý xong
GhiChuCuaKhachVARCHAR(2000)NULL 
GhiChuCuaAdminVARCHAR(2000)NULL 

7. Tạo bảng DonHangChiTiet

Tên cộtKiểuRàng buộcGhi chú
idCTINTPK, NOT NULL, Tự tăngid
idDHINT(11)FK, NOT NULLId đơn hàng
idDTINT(11)FK, NULLMã điện thoại
TenDTVARCHAR(100)NOT NULLTên điện thoại
SoLuongINT (11)NOT NULLSố lượng mua
GiaFLOATNOT NULLGiá
urlHinhVARCHAR(200)NULLUrlhì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.