-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathAsmJava5.sql
More file actions
80 lines (72 loc) · 3.14 KB
/
Copy pathAsmJava5.sql
File metadata and controls
80 lines (72 loc) · 3.14 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
-- Tạo database nếu chưa có
CREATE DATABASE AsmJava5;
GO
USE AsmJava5;
-- Tạo bảng Users
CREATE TABLE Users (
id INT PRIMARY KEY IDENTITY(1,1),
name NVARCHAR(100) NOT NULL,
email NVARCHAR(100) UNIQUE NOT NULL,
password NVARCHAR(255) NOT NULL,
avatar NVARCHAR(255), -- Lưu đường dẫn file ảnh
bio NVARCHAR(500), -- Mô tả cá nhân
role BIT NOT NULL DEFAULT 1 -- 1: User, 0: Admin
);
-- Chèn dữ liệu mẫu
INSERT INTO Users (name, email, password, avatar, bio, role)
VALUES
('Admin', 'admin@example.com', 'admin123', 'avatars/admin.jpg', 'Quản trị viên của hệ thống', 0),
('Nguyễn Văn A', 'nguyenvana@example.com', 'password123', 'avatars/user1.jpg', 'Thích lập trình Java', 1),
('Trần Thị B', 'tranthib@example.com', 'pass456', 'avatars/user2.jpg', 'Yêu thích công nghệ AI', 1);
-- Tạo bảng Items
CREATE TABLE Items (
id INT PRIMARY KEY IDENTITY(1,1),
name NVARCHAR(100) NOT NULL,
price FLOAT NOT NULL,
qty INT NOT NULL,
image NVARCHAR(255),
seller NVARCHAR(100),
category NVARCHAR(50),
discount FLOAT DEFAULT 0,
sold INT DEFAULT 0
);
-- Tạo bảng ItemOptions (Lưu các option của Item)
CREATE TABLE ItemOptions (
id INT PRIMARY KEY IDENTITY(1,1),
itemId INT NOT NULL,
optionValue NVARCHAR(255) NOT NULL,
FOREIGN KEY (itemId) REFERENCES Items(id) ON DELETE CASCADE
);
-- Tạo bảng ItemImages (Lưu nhiều ảnh của sản phẩm)
CREATE TABLE ItemImages (
id INT PRIMARY KEY IDENTITY(1,1),
itemId INT NOT NULL,
imageUrl NVARCHAR(255) NOT NULL,
FOREIGN KEY (itemId) REFERENCES Items(id) ON DELETE CASCADE
);
-- Chèn dữ liệu mẫu vào Items
INSERT INTO Items (name, price, qty, image, seller, category, discount, sold)
VALUES
('Laptop Dell XPS', 1500, 10, 'dell_xps.jpg', 'Dell Official', 'Laptops', 10, 100),
('iPhone 14', 1200, 15, 'iphone_14.jpg', 'Apple Store', 'Phones', 5, 200),
('Sony Camera', 800, 5, 'sony_camera.jpg', 'Sony Official', 'Cameras', 0, 50),
('MacBook Pro 16', 2500, 8, 'macbook_pro.jpg', 'Apple Store', 'Laptops', 7, 150),
('Samsung Galaxy S23', 1100, 12, 'samsung_s23.jpg', 'Samsung Official', 'Phones', 10, 180),
('Canon EOS R5', 3500, 3, 'canon_r5.jpg', 'Canon Store', 'Cameras', 5, 40),
('Lenovo ThinkPad X1', 1400, 9, 'thinkpad_x1.jpg', 'Lenovo Store', 'Laptops', 8, 120),
('Google Pixel 7', 900, 10, 'pixel_7.jpg', 'Google Store', 'Phones', 12, 90),
('Nikon Z7 II', 3000, 4, 'nikon_z7.jpg', 'Nikon Official', 'Cameras', 3, 60),
('Asus ROG Strix', 1800, 7, 'rog_strix.jpg', 'Asus Store', 'Laptops', 6, 80),
('OnePlus 11', 950, 14, 'oneplus_11.jpg', 'OnePlus Official', 'Phones', 8, 130),
('Fujifilm X-T4', 1700, 6, 'fujifilm_xt4.jpg', 'Fujifilm Store', 'Cameras', 4, 55);
DELETE FROM Items;
-- Tạo bảng PurchasedItems (Lưu sản phẩm đã mua của người dùng)
CREATE TABLE PurchasedItems (
id INT PRIMARY KEY IDENTITY(1,1),
userId INT NOT NULL,
itemId INT NOT NULL,
quantity INT NOT NULL DEFAULT 1,
purchaseDate DATETIME DEFAULT GETDATE(),
FOREIGN KEY (userId) REFERENCES Users(id) ON DELETE CASCADE,
FOREIGN KEY (itemId) REFERENCES Items(id) ON DELETE CASCADE
);