Я немного озадачен диаграммой отношений сущностей для моего приложения.
Пока что я создал таблицы для продукта, клиента, категории
Должен ли я создать таблицу для UserAccounts, в которой хранятся идентификатор и пароль для Клиента, или непосредственно поместить идентификатор и пароль в таблицу Customer?
Во-вторых, у каждого покупателя будет собственная корзина. Итак, я сделал таблицу CartItem
CartItemId,
Код товара,
CategoryId,
Описание,
Цена за единицу,
TotalPrice
Но эта таблица не связывает клиента с элементом CartItem в корзине. Так должен ли я добавить здесь CustomerId?
Есть ли необходимость в описании и цене за единицу, поскольку они уже определены в таблице продуктов?
и для тележки,
CartId,
CartItemId,
CustomerId
Мне нужно кое-что прояснить, прежде чем я найду какие-либо ошибки в своем заявлении.
DDL:
CREATE DATABASE ShoppingCart
Create Table Customer(
CustomerId int PRIMARY KEY,
Firstname varchar(50),
Lastname varchar(50),
Address varchar(50),
City varchar(50),
State varchar(50),
Country varchar(50),
Mobile varchar(50),
Phone varchar(50),
Email varchar(50)
)
Create Table UserAccount(
UserName varchar(50),
PasswordHash varchar(50)
)
Create Table Category(
CategoryId int PRIMARY KEY,
CategoryName varchar(50),
CategoryDescription varchar(50),
CategoryImage varchar(50)
)
Create Table Products(
ProductId int PRIMARY KEY,
ProductName varchar(50),
Description varchar(50),
CategoryId int,
UnitPrice money,
DateAdded datetime,
thumn varchar(50),
CONSTRAINT fk_CategoryId FOREIGN KEY (CategoryId)
REFERENCES Category(CategoryId)
)
Create Table CartItem(
CartItemId int,
ProductId int,
CategoryId int,
Description varchar(50),
UnitPrice money,
TotalPrice money,
PRIMARY KEY (CartItemId),
CONSTRAINT fk_ProductId FOREIGN KEY (ProductId)
REFERENCES Products(ProductId),
CONSTRAINT fk_CartItem_CategoryId FOREIGN KEY (CategoryId)
REFERENCES Category(CategoryId)
)
Create Table Cart(
CartId int,
CartItemId int,
ProductId int,
CategoryId int,
Description varchar(50),
UnitPrice money,
TotalPrice money,
PRIMARY KEY (CartId),
CONSTRAINT fk_CartItemId FOREIGN KEY (CartItemId)
REFERENCES CartItem(CartItemId),
CONSTRAINT fk_CartItem_CategoryId FOREIGN KEY (CategoryId)
REFERENCES Category(CategoryId),
PRIMARY KEY (ProductId),
CONSTRAINT fk_CartItemId FOREIGN KEY (ProductId)
REFERENCES CProducts(productId)
)