-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscript.sql
More file actions
205 lines (202 loc) · 21.5 KB
/
script.sql
File metadata and controls
205 lines (202 loc) · 21.5 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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
USE [shopgiay]
GO
/****** Object: Table [dbo].[Brands] Script Date: 8/6/2025 3:57:19 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Brands](
[BrandID] [int] IDENTITY(1,1) NOT NULL,
[Name] [nvarchar](100) NOT NULL,
[Logo] [nvarchar](255) NULL,
[Description] [nvarchar](255) NULL,
PRIMARY KEY CLUSTERED
(
[BrandID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[Categories] Script Date: 8/6/2025 3:57:19 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Categories](
[CategoryID] [int] IDENTITY(1,1) NOT NULL,
[Name] [nvarchar](100) NOT NULL,
[Description] [nvarchar](255) NULL,
[Image] [nvarchar](255) NULL,
PRIMARY KEY CLUSTERED
(
[CategoryID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[ProductColors] Script Date: 8/6/2025 3:57:19 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[ProductColors](
[ColorID] [int] IDENTITY(1,1) NOT NULL,
[ProductID] [int] NULL,
[Name] [nvarchar](50) NOT NULL,
[Code] [nvarchar](10) NULL,
PRIMARY KEY CLUSTERED
(
[ColorID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[ProductFeatures] Script Date: 8/6/2025 3:57:19 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[ProductFeatures](
[FeatureID] [int] IDENTITY(1,1) NOT NULL,
[ProductID] [int] NULL,
[FeatureName] [nvarchar](255) NOT NULL,
PRIMARY KEY CLUSTERED
(
[FeatureID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[ProductImages] Script Date: 8/6/2025 3:57:19 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[ProductImages](
[ImageID] [int] IDENTITY(1,1) NOT NULL,
[ColorID] [int] NULL,
[ImageUrl] [nvarchar](255) NOT NULL,
PRIMARY KEY CLUSTERED
(
[ImageID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[Products] Script Date: 8/6/2025 3:57:19 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Products](
[ProductID] [int] IDENTITY(1,1) NOT NULL,
[Name] [nvarchar](255) NOT NULL,
[BrandID] [int] NULL,
[CategoryID] [int] NULL,
[Price] [int] NOT NULL,
[OriginalPrice] [int] NULL,
[Discount] [int] NULL,
[Description] [nvarchar](max) NULL,
[MainImage] [nvarchar](255) NULL,
[Rating] [float] NULL,
[Reviews] [int] NULL,
[InStock] [bit] NULL,
[StockQuantity] [int] NULL,
[CreatedAt] [datetime] NULL,
[UpdatedAt] [datetime] NULL,
PRIMARY KEY CLUSTERED
(
[ProductID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
/****** Object: Table [dbo].[ProductSizes] Script Date: 8/6/2025 3:57:19 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[ProductSizes](
[SizeID] [int] IDENTITY(1,1) NOT NULL,
[ProductID] [int] NULL,
[Size] [int] NOT NULL,
PRIMARY KEY CLUSTERED
(
[SizeID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[ProductTags] Script Date: 8/6/2025 3:57:19 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[ProductTags](
[TagID] [int] IDENTITY(1,1) NOT NULL,
[ProductID] [int] NULL,
[TagName] [nvarchar](100) NOT NULL,
PRIMARY KEY CLUSTERED
(
[TagID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
SET IDENTITY_INSERT [dbo].[Brands] ON
INSERT [dbo].[Brands] ([BrandID], [Name], [Logo], [Description]) VALUES (1, N'Nike', N'/images/brands/nike-logo.png', N'Just Do It')
INSERT [dbo].[Brands] ([BrandID], [Name], [Logo], [Description]) VALUES (2, N'Adidas', N'/images/brands/adidas-logo.png', N'Impossible is Nothing')
INSERT [dbo].[Brands] ([BrandID], [Name], [Logo], [Description]) VALUES (3, N'Converse', N'/images/brands/converse-logo.png', N'Made by you')
INSERT [dbo].[Brands] ([BrandID], [Name], [Logo], [Description]) VALUES (4, N'Vans', N'/images/brands/vans-logo.png', N'Off The Wall')
INSERT [dbo].[Brands] ([BrandID], [Name], [Logo], [Description]) VALUES (5, N'New Balance', N'/images/brands/newbalance-logo.png', N'Fearlessly Independent')
SET IDENTITY_INSERT [dbo].[Brands] OFF
GO
SET IDENTITY_INSERT [dbo].[Categories] ON
INSERT [dbo].[Categories] ([CategoryID], [Name], [Description], [Image]) VALUES (1, N'Running', N'Giày chạy bộ và thể thao', N'/images/categories/running.jpg')
INSERT [dbo].[Categories] ([CategoryID], [Name], [Description], [Image]) VALUES (2, N'Casual', N'Giày thường ngày', N'/images/categories/casual.jpg')
INSERT [dbo].[Categories] ([CategoryID], [Name], [Description], [Image]) VALUES (3, N'Basketball', N'Giày bóng rổ', N'/images/categories/basketball.jpg')
INSERT [dbo].[Categories] ([CategoryID], [Name], [Description], [Image]) VALUES (4, N'Skateboarding', N'Giày trượt ván', N'/images/categories/skateboarding.jpg')
INSERT [dbo].[Categories] ([CategoryID], [Name], [Description], [Image]) VALUES (5, N'Lifestyle', N'Giày thời trang', N'/images/categories/lifestyle.jpg')
SET IDENTITY_INSERT [dbo].[Categories] OFF
GO
SET IDENTITY_INSERT [dbo].[Products] ON
INSERT [dbo].[Products] ([ProductID], [Name], [BrandID], [CategoryID], [Price], [OriginalPrice], [Discount], [Description], [MainImage], [Rating], [Reviews], [InStock], [StockQuantity], [CreatedAt], [UpdatedAt]) VALUES (1, N'Nike Air Max 270', 1, 1, 1500000, 1800000, 17, N'Giày thể thao Nike Air Max 270 với công nghệ Air Max đỉnh cao, phù hợp cho chạy bộ và thể thao hàng ngày.', N'/images/nike-airmax-270-black-1.jpg', 4.5, 128, 1, 45, CAST(N'2025-08-06T15:38:41.770' AS DateTime), CAST(N'2025-08-06T15:38:41.770' AS DateTime))
INSERT [dbo].[Products] ([ProductID], [Name], [BrandID], [CategoryID], [Price], [OriginalPrice], [Discount], [Description], [MainImage], [Rating], [Reviews], [InStock], [StockQuantity], [CreatedAt], [UpdatedAt]) VALUES (2, N'Adidas Ultraboost 22', 2, 1, 2800000, 3200000, 12, N'Giày chạy bộ Adidas Ultraboost 22 với công nghệ Boost và Primeknit, mang lại cảm giác êm ái tối đa.', N'/images/adidas-ultraboost-blue-1.jpg', 4.8, 95, 1, 32, CAST(N'2025-08-06T15:38:41.770' AS DateTime), CAST(N'2025-08-06T15:38:41.770' AS DateTime))
INSERT [dbo].[Products] ([ProductID], [Name], [BrandID], [CategoryID], [Price], [OriginalPrice], [Discount], [Description], [MainImage], [Rating], [Reviews], [InStock], [StockQuantity], [CreatedAt], [UpdatedAt]) VALUES (3, N'Converse Chuck Taylor All Star', 3, 2, 850000, 950000, 11, N'Giày canvas cổ điển Converse Chuck Taylor All Star, phù hợp cho mọi dịp và phong cách thời trang.', N'/images/converse-chuck-white-1.jpg', 4.3, 256, 1, 78, CAST(N'2025-08-06T15:38:41.770' AS DateTime), CAST(N'2025-08-06T15:38:41.770' AS DateTime))
INSERT [dbo].[Products] ([ProductID], [Name], [BrandID], [CategoryID], [Price], [OriginalPrice], [Discount], [Description], [MainImage], [Rating], [Reviews], [InStock], [StockQuantity], [CreatedAt], [UpdatedAt]) VALUES (4, N'Vans Old Skool', 4, 4, 1200000, 1400000, 14, N'Giày skateboard Vans Old Skool với thiết kế đặc trưng và độ bền cao, phù hợp cho trượt ván và thời trang đường phố.', N'/images/vans-oldskool-black-1.jpg', 4.6, 189, 1, 56, CAST(N'2025-08-06T15:38:41.770' AS DateTime), CAST(N'2025-08-06T15:38:41.770' AS DateTime))
INSERT [dbo].[Products] ([ProductID], [Name], [BrandID], [CategoryID], [Price], [OriginalPrice], [Discount], [Description], [MainImage], [Rating], [Reviews], [InStock], [StockQuantity], [CreatedAt], [UpdatedAt]) VALUES (5, N'New Balance 574', 5, 5, 1600000, 1800000, 11, N'Giày lifestyle New Balance 574 với thiết kế retro và công nghệ ENCAP, mang lại sự thoải mái tối đa.', N'/images/newbalance-574-grey-1.jpg', 4.4, 203, 1, 67, CAST(N'2025-08-06T15:38:41.770' AS DateTime), CAST(N'2025-08-06T15:38:41.770' AS DateTime))
INSERT [dbo].[Products] ([ProductID], [Name], [BrandID], [CategoryID], [Price], [OriginalPrice], [Discount], [Description], [MainImage], [Rating], [Reviews], [InStock], [StockQuantity], [CreatedAt], [UpdatedAt]) VALUES (6, N'Jordan Air 1 Retro High', 1, 3, 3500000, 4000000, 12, N'Giày bóng rổ Jordan Air 1 Retro High với thiết kế huyền thoại và công nghệ Air-Sole, biểu tượng của văn hóa sneaker.', N'/images/jordan-air1-black-red-1.jpg', 4.9, 342, 1, 28, CAST(N'2025-08-06T15:38:41.770' AS DateTime), CAST(N'2025-08-06T15:38:41.770' AS DateTime))
SET IDENTITY_INSERT [dbo].[Products] OFF
GO
ALTER TABLE [dbo].[Products] ADD DEFAULT ((0)) FOR [Discount]
GO
ALTER TABLE [dbo].[Products] ADD DEFAULT ((0)) FOR [Rating]
GO
ALTER TABLE [dbo].[Products] ADD DEFAULT ((0)) FOR [Reviews]
GO
ALTER TABLE [dbo].[Products] ADD DEFAULT ((1)) FOR [InStock]
GO
ALTER TABLE [dbo].[Products] ADD DEFAULT ((0)) FOR [StockQuantity]
GO
ALTER TABLE [dbo].[Products] ADD DEFAULT (getdate()) FOR [CreatedAt]
GO
ALTER TABLE [dbo].[Products] ADD DEFAULT (getdate()) FOR [UpdatedAt]
GO
ALTER TABLE [dbo].[ProductColors] WITH CHECK ADD FOREIGN KEY([ProductID])
REFERENCES [dbo].[Products] ([ProductID])
ON DELETE CASCADE
GO
ALTER TABLE [dbo].[ProductFeatures] WITH CHECK ADD FOREIGN KEY([ProductID])
REFERENCES [dbo].[Products] ([ProductID])
ON DELETE CASCADE
GO
ALTER TABLE [dbo].[ProductImages] WITH CHECK ADD FOREIGN KEY([ColorID])
REFERENCES [dbo].[ProductColors] ([ColorID])
ON DELETE CASCADE
GO
ALTER TABLE [dbo].[Products] WITH CHECK ADD FOREIGN KEY([BrandID])
REFERENCES [dbo].[Brands] ([BrandID])
GO
ALTER TABLE [dbo].[Products] WITH CHECK ADD FOREIGN KEY([CategoryID])
REFERENCES [dbo].[Categories] ([CategoryID])
GO
ALTER TABLE [dbo].[ProductSizes] WITH CHECK ADD FOREIGN KEY([ProductID])
REFERENCES [dbo].[Products] ([ProductID])
ON DELETE CASCADE
GO
ALTER TABLE [dbo].[ProductTags] WITH CHECK ADD FOREIGN KEY([ProductID])
REFERENCES [dbo].[Products] ([ProductID])
ON DELETE CASCADE
GO