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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.04.2017, 22:56   #1
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию Диаграмма таблиц Базы ДАнных, правильность построения связей

Ребят, всем привет! Выполняю проектирование Базы данных, создал сущности и связал их между собой в ms sql server.

База Данных по ремонту сотовых телефонов.

Содержит 13 сущностей, две из них не связаны с основной базой данных (forms и predstavlenie), на них можно внимание не заострять.

Другие сущности содержат информацию об аппаратуре: тип аппаратуры, марку, модель,

сущность заказ на ремонт содержит имя клиента, сведения об аппаратуре, а так же о мастере, который выполняет ремонт, База данных так же содержит в себе таблицу, в которой указывается итоговые сведенья о выполнении заказа: дату выполнения, дату выдачи, сведенья о мастере, а так же о клиенте и об аппарате, в ней же указывается то, какая работа была произведена и какие запчасти какого поставщика были использованы.

меня смущает то, что у сущности ITOG_VIPOLN_ZAKAZA отсутствует первичный ключ, но т.к. эта таблица результатов, то, в принципе, может и не содержать ключ? Как исправить все? ЧТоб особо не переделывать базу данных
Изображения
Тип файла: jpg mGx6q-5sR_Y.jpg (68.2 Кб, 119 просмотров)
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Старый 28.04.2017, 22:21   #2
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

ну что, ребят, подскажите что-нибудь?
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Старый 28.04.2017, 22:48   #3
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

У тебя с помощью этой таблицы реализовано отношение многие к многим между заказами и запчастями и у нее есть составной уникальный ключ - код заказа и код запчасти. Этого вполне достаточно. В суть в целом не вникал, это соображения по поводу этих трех таблиц ))

PS насчет вид выполнения работ не понял, то ли справочник, тогда нет проблем, то ли посложнее, тогда слишком лихо - многие к многим между тремя таблицами
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 28.04.2017 в 22:54.
Аватар вне форума Ответить с цитированием
Старый 28.04.2017, 23:40   #4
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

ну по определению, как я понял, справочник не может быть связан с БД, а так да, там просто хранится цена на работу, например замена сенсора - 1200 рублей.

затем итог считается по формуле:

стоимость работы = стоимость запчастей - скидка производителя + стоимость работы из таблицы виды работ
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Старый 29.04.2017, 05:01   #5
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

Ребят, а в две взаимосвязанные таблицы, к примеру, нужно добавлять номер ключа вручную или как-то в автоматическом варианте все может происходить? (возможно вопрос глупый).

insert into table1(nom,nazv) value(0,"..."); (пк)
insert into table2(nom,znach1,znach2) value(0,123,100500);(вк)

т.е. nom - ключ, связь table1.nom-table2.nom
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Старый 29.04.2017, 11:50   #6
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

первичный ключ ОБЫЧНО отдается на откуп системе. (генерируется "автоматически" при добавлении записей).
поле типа счетчик (автоинкремент.identity???).
Код:
insert into table1( nom, nazv) values ( "новое наименование")
а внешний ключ это ссылка на нужную запись(ЗНАЧЕНИЕ первичного ключа из нужной таблицы)
Код:
insert into table2 (nom, z1, z2)
select nom, "val1 for z1", "val2 for z2" 
from table1
where nazv ="новое наименование"
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Импорт таблиц базы данных Sanscrit ASP.NET 5 25.10.2016 13:43
Проверьте правильность построения решения. Net1ka Помощь студентам 1 19.10.2012 20:10
Организация БД, таблиц и связей. Serg72 Microsoft Office Access 2 05.10.2011 22:34
Базы данных, связывание таблиц Defa4ka Помощь студентам 0 02.11.2010 14:15
Создание базы данных на основе таблиц Excel DIMONRUS Помощь студентам 0 27.06.2010 15:21