Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.02.2021, 17:38   #1
wwrd
 
Регистрация: 16.11.2020
Сообщений: 5
По умолчанию SQL Сервер, проверка БД

В прикреплённом файле находится описание предметной области, по которой нужно создать базу данных. БД.docx

Моя БД получилась сильно большой, и скорее всего не правильно составленной... Можно пожалуйста указать на мои ошибки? Вот сам код:

Код:
create database Мебель_под_заказ
go

use Мебель_под_заказ
go

create table Лица
(
ЛицоID int identity (1,1) primary key,
Вид_лица varchar (25) not null
)
go

create table Заказчики
(
ЗаказчикID int identity (1,1) primary key,
Наименование_заказчика varchar (30) not null,
Город varchar (30) not null,
Адрес varchar (30) not null,
Телефон varchar (10) not null,
ЛицоID int foreign key references Лица (ЛицоID)
)
go

create table Заказы
(
ЗаказID int identity (1,1) primary key,
Наименование varchar (30) not null,
Количество int not null,
Стоимость money not null,
Способ_доставки varchar (30) not null,
ЗаказчикID int foreign key references Заказчики (ЗаказчикID)
)
go

create table Должности
(
ДолжностьID int identity(1,1) primary key,
Наименование varchar (25) not null
)
go

create table Сотрудники
(
СотрудникID int identity (1,1) primary key,
Фамилия varchar (25) not null,
Имя varchar(25) not null,
Отчество varchar(25) not null,
Зарплата money not null,
ДолжностьID int foreign key references Должности(ДолжностьID)
)
go

create table Поставщики
(
ПоставщикID int identity (1,1) primary key,
Наименование varchar (30) not null,
)
go

create table Поставки
(
ПоставкаID int identity (1,1) primary key,
Наименование_товара varchar (30) not null,
Количество_товара varchar (20) not null,
Стоимость_поставки money not null,
ПоставщикID int foreign key references Поставщики(ПоставщикID)
)
go

create table Сырьё
(
СырьёID int identity (1,1) primary key,
Класс_сырья varchar (30) not null,
ПоставкаID int foreign key references Поставки(ПоставкаID)
)
go

create table Склады
(
СкладID int identity (1,1) primary key,
Адрес varchar (30) not null,
Наличие bit not null,
СырьёID int foreign key references Сырьё(СырьёID)
)
go

create table  Чертежи
(ЧертёжID int identity (1,1) primary key,
Размеры varchar (20) not null,
ЗаказID int foreign key references Заказы(ЗаказID),
СотрудникID int foreign key references Сотрудники(СотрудникID)
)
go

create table Участок_обрабоки_сырья
(
ОбработкаID int identity (1,1) primary key,
Обработка bit not null,
СырьёID int foreign key references Сырьё(СырьёID),
СотрудникID int foreign key references Сотрудники(СотрудникID)
)
go

create table Дизайнерский_участок
(
ID int identity (1,1) primary key,
Пожелания_клиента varchar (max) not null,
Рекомендации varchar (max) not null,
ЧертежиID int foreign key references Чертежи(ЧертёжID),
СотрудникID int foreign key references Сотрудники(СотрудникID)
)
go

create table Участок_изготовления_деталей
(
Изготовление_деталейID int identity (1,1) primary key,
Изготовление_деталей bit not null,
ЗаказID int foreign key references Заказы(ЗаказID),
СотрудникID int foreign key references Сотрудники(СотрудникID)
)
go

create table Участок_покрытия_изделий
(
Покрытие_изделийID int identity (1,1) primary key,
Покрытие_изделий bit not null,
Количество_слоёв int not null,
Сорт_лака varchar (20) not null,
ЗаказID int foreign key references Заказы(ЗаказID),
СотрудникID int foreign key references Сотрудники(СотрудникID)
)
go

create table Участок_сушки
(
СушкаID int identity (1,1) primary key,
Просушивание_изделий bit not null,
ЗаказID int foreign key references Заказы(ЗаказID),
СотрудникID int foreign key references Сотрудники(СотрудникID)
)
go

create table Участок_сборки
(
СборкаID int identity (1,1) primary key,
Сборка bit not null,
ЗаказID int foreign key references Заказы(ЗаказID),
СотрудникID int foreign key references Сотрудники(СотрудникID)
)
go

create table Участок_проверки_качества
(
ПроверкаID int identity (1,1) primary key,
Осмотр bit not null,
Испытание_на_стенде bit not null,
Отчёт varchar (max) not null,
Рекомендации varchar (max) not null
)
go

alter table Участок_проверки_качества
add ЗаказID int foreign key references Заказы(ЗаказID),
СотрудникID int foreign key references Сотрудники(СотрудникID)
go
wwrd вне форума Ответить с цитированием
Старый 26.02.2021, 12:25   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

база данных это не только здесь и сейчас.
но и история (заказа поставок обработки ... )

проверьте вашу БД на получение разных "исторических" данных.
например:
-- объем поставок определенного сырья от определенного поставщика за конкретный интервал времени(месяц/год/...)
-- состояние(уровень исполнения) одного выбранного заказа
-- число заказов в работе(исполненных) на каждом участке в выбранный день.

придумайте варианты таких вопросов сами и попробуйте их реализовать (написать запросы ) на ваших таблицах.
если они плохо реализуются, то исправьте таблицы так чтобы это стало возможным.
если все хорошо, то значит БД спроектирована достаточно хорошо.
практика критерий истины.
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
резервный сервер sql Kreastone SQL, базы данных 12 11.11.2015 12:28
Доступ к БД SQL-сервер veter48 Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate) 0 03.11.2011 23:38
Проверка наличия интернета через прокси сервер. Crunkordie Общие вопросы Delphi 0 20.07.2011 11:35
SQL Сервер (СЕть) akellaukr SQL, базы данных 0 06.06.2011 21:47
sql-сервер не существует rubi БД в Delphi 8 15.07.2008 12:10