Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Проектирование базы данных ”Магазин стройматериалов”

Проектирование базы данных магазина «Стройматериалы» требует начать с перечисление самих таблиц, которые нам необходимы для этой базы данных.

Таблицы:

  • Работники
  • Продавцы
  • Клиенты
  • Проданные товары
  • Товары
  • Склады

Выяснив эмпирически, главной таблицей мы создаём Работников (Employees), где будут перечислены все сотрудники.

create table Employee(

EmpId int not NULL,

FirstName char(20),

MdlName char(1) ,

LastName char(30) not NULL,

MgrEmpId int

constraint EmployeePK primary key(EmpID)

constraint EmpEmpFK foreign key(MgrEmpID)

references Employee(EmpID)

)

Исходя из дальнейших соображений, подчинённая ей таблица – Продавцы (Seller).

create table Seller(

SellerID int not Null check(SellerID>0),

Name varchar(50) not Null check(Name<>''),

constraint SellerPK primary key(SellerID)

)

Подчинённая таблица Продавцов – Клиенты (Customer).

create table Customer(

CustId int not Null check(CustID>0),

Name varchar(20) Null,

City varchar(20) Null,

Discount int Null

)

Клиентам (Customer) и продавцам подчиняется таблица проданных товаров (Sale).

create table Sale(

OrderId int not Null check(OrderID>0),

CustId int not Null check(CustID>0),

SellerId int not Null check(SellerID>0),

SaleDate datetime not Null default GetDate(),

SaleTotal money Null default Null

check((SaleTotal is Null)or(SaleTotal>=0))

)

Проданным товарам подчиняется таблица Товаров(Items).

create table Items(

OrderId int not Null check(OrderID>0),

ItemName varchar(100) Null,

Quantity int not Null default 0 check(Quantity>0),

Price money not Null default 0 check(Price>=0),

Amount as Quantity * Price

)

И наконец ей подчиняется таблица Складов (Warehouse).

create table Warehouse(

WarehouseId int not Null check(WarehouseId>0),

Name char(20) not Null check(Name<>''),

PostCode char(6) Null,

City char(20) not Null check(City<>''),

Address char(30) not Null check(Address<>'')

constraint WarehousePK primary key(WarehouseId)

)