Структура базы данных в виде полного описания всех таблиц с их полями и командами их создания:
1) Таблица Клиентов:
В таблице хранится информация о клиенте: имя, фамилия, телефон, адрес, почтовый адрес, является ли он постоянным клиентом.
Команда создания:
CREATE TABLE [dbo].[customer](
[CustomerID] [int] IDENTITY(1,1) NOT NULL,
[PhoneNum] [int] NOT NULL,
[Email] [varchar](40) COLLATE Cyrillic_General_CI_AS NOT NULL,
[Name] [varchar](30) COLLATE Cyrillic_General_CI_AS NOT NULL,
[Surname] [varchar](50) COLLATE Cyrillic_General_CI_AS NOT NULL,
[Address] [varchar](50) COLLATE Cyrillic_General_CI_AS NOT NULL,
[IsFriend] [bit] NOT NULL,
CONSTRAINT [PK_customer] PRIMARY KEY CLUSTERED
(
[CustomerID] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
2) Таблица Сделок:
В таблице хранится информация о сделках: номер килента, номер магазина, дата сделки, дата доставки, начальная стоимость, стоимость со скидками.
Команда создания:
CREATE TABLE [dbo].[Purchasement](
[PurchasementID] [int] IDENTITY(1,1) NOT NULL,
[CustomerID] [int] NOT NULL,
[ShopID] [int] NOT NULL,
[PurchasementDate] [datetime] NOT NULL,
[DeliveryDate] [datetime] NOT NULL,
[BeginningCost] AS ([dbo].[BegCost]([PurchasementID])),
[FinalCost] AS ([dbo].[FinCost]([PurchasementID],[CustomerID])),
CONSTRAINT [PK__Purchasement__145C0A3F] PRIMARY KEY CLUSTERED
(
[PurchasementID] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
ALTER TABLE [dbo].[Purchasement] WITH CHECK ADD CONSTRAINT [FK__Purchasem__Custo__15502E78] FOREIGN KEY([CustomerID])
REFERENCES [dbo].[customer] ([CustomerID])
GO
ALTER TABLE [dbo].[Purchasement] WITH CHECK ADD CONSTRAINT [FK__Purchasem__ShopI__164452B1] FOREIGN KEY([ShopID])
REFERENCES [dbo].[Shop] ([ShopID])
GO
3) Таблица Промежуточной сделки:
В таблице хранится информация о промежуточной сделке: номер товара, приобретаемое количество, суммарная стоимость, номер основной сделки.