Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практика(1).doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
21.04 Mб
Скачать

4.2 Разработка структуры связей

На логическом уровне можно установить идентифицирующую связь один-ко-многим, связь многие-ко-многим и неидентифицирующую связь один-ко-многим.

Различают зависимые и независимые сущности. Тип сущности определяется ее связью с другими сущностями. Идентифицирующая связь устанавливается между независимой (родительский конец связи) и зависимой (дочерний конец связи) сущностями. Зависимая сущность изображается прямоугольником со скругленными углами.

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

Сущности «Контрагенты» и «Виды деятельности» связаны отношением «многие – ко – многим», так как один и тот же контрагент может заниматься различными видами деятельности и одним видом деятельности может записаться несколько контрагентов. Поэтому вводится дополнительная сущность «Контрагенты_ВидыДеятельности», которая является дочерней сущностью по отношению к сущностям «Контрагенты» и «Виды деятельности». В сущность мигрируют внешние ключи «Контрагент_Ссылка» и «Вид деятельности_Ссылка». Данные внешние ключи образуют составной первичный ключ, который однозначно определяет каждый экземпляр сущности.

Сущности «Контрагенты» и «Менеджеры» связаны отношением «многие – ко – многим», так как одним и тем же контрагентом могут заниматься несколько менеджеров и у за каждым менеджером может быть закреплено несколько контрагентов. Поэтому вводится дополнительная сущность «Контрагенты_Менеджеры», которая является дочерней сущностью по отношению к сущностям «Контрагенты» и «Менеджеры». В сущность мигрируют внешние ключи «Контрагент_Ссылка» и «Менеджер_Ссылка». Данные внешние ключи образуют составной первичный ключ, который однозначно определяет каждый экземпляр сущности.

Сущность «Номенклатура» связана с сущностью «Контрагент» отношением «один – ко – многим», то есть у каждой позиции номенклатуры может быть указан только один основной поставщик, но у каждого поставщика может быть несколько позиций номенклатуры, которую он продает предприятию. Данная связь неидентифицирующая, она осуществляется через внешний ключ «Основной поставщик», который мигрирует в сущность «Номенклатура».

Сущность «Номенклатура» связана с сущностью «Менеджеры» отношением «один – ко – многим», то есть у каждой позиции номенклатуры может быть указан только один основной менеджер, ответственный за закупки, но у каждого менеджера может быть несколько позиций номенклатуры, которую он закупает. Данная связь неидентифицирующая, она осуществляется через внешний ключ «Ответственный менеджер за закупки», который мигрирует в сущность «Номенклатура».

Сущность «Номенклатура» связана с сущностью «Цены номенклатуры» отношением «один – ко – многим», то есть для одной позиции номенклатуры может быть указано несколько значений цены в различных периодах, но для одной позиции номенклатуры может быть зарегистрировано единственное значение цены в каждом периоде. Данная связь идентифицирующая, она осуществляется через внешний ключ «Номенклатура_Ссылка», который мигрирует в сущность «Цены номенклатуры», для сущности определен составной ключ «Номенклатура_Ссылка», «Период», который однозначно идентифицирует ее.

Сущности «Номенклатура» и «Свойства объектов» связаны отношением «многие – ко – многим», так как одним и тем же свойством могут обладать многие позиции номенклатуры и каждый элемент номенклатуры может иметь несколько свойств. Поэтому вводится дополнительная сущность «Значения свойств объектов», которая является дочерней сущностью по отношению к сущностям «Номенклатура» и «Свойства объектов». В сущность мигрируют внешние ключи «Объект_Ссылка» и «Свойство_Ссылка». Данные внешние ключи образуют составной первичный ключ, который однозначно определяет каждый экземпляр сущности.

Сущность «Номенклатура» связана с сущностью «Комплектующие номенклатуры» отношением «многие – ко – многим», то есть для одной позиции номенклатуры может быть указано несколько комплектующих, и каждая комплектующая может входить в несколько видов продукции. Так как комплектующая и продукция являются объектами одной сущности «Номенклатура», то выделив составной первичный ключ «Номенклатура_Ссылка», «Комплектующая_Ссылка» в сущности «Комплектующие номенклатуры», можно однозначно идентифицировать ее каждый экземпляр. Ключевые атрибуты являются внешними ключами, которые мигрируют из сущности «Номенклатура».

Кроме того, сущность «Номенклатура» связана с сущностью «Единицы измерения» отношением «один – ко – многим», то есть у одной позиции номенклатуры может быть указана одна единица измерения, в то время как одна единица измерения может быть у нескольких позиций номенклатуры. Данная связь неидентифицирующая, она осуществляется через внешние ключи «Единица хранения остатков», «Единица измерения мест», «Базовая единица измерения», Единица для отчетов», которые мигрируют в сущность «Номенклатура».

Сущность «Контрагенты» связана с сущностью «Заказ покупателя» отношением «один – ко – многим», то есть каждый контрагент может оформить несколько заказов, но в заказе может быть указан только один покупатель. Данная связь идентифицирующая, она осуществляется через внешний ключ «Контрагент_Ссылка», который мигрирует в сущность «Заказ покупателя».

Сущности «Заказ покупателя» и «Номенклатура» связаны отношением «многие – ко – многим», так как в одном заказе может быть указано несколько позиций номенклатуры, в то время как одна и та же позиция номенклатуры может быть в нескольких заказах. Поэтому вводится дополнительная сущность «Заказ покупателя_Товары», которая является дочерней сущностью по отношению к сущностям «Заказ покупателя» и «Номенклатура». В сущность мигрируют внешние ключи «Заказ_Ссылка» и «Номенклатура_Ссылка». Данные внешние ключи образуют составной первичный ключ, который однозначно определяет каждый экземпляр сущности.

Кроме того, сущность «Заказ покупателя_Товары» связана с сущностью «Единицы измерения» отношением «один – ко – многим», то есть у одной позиции номенклатуры из заказа может быть указана одна единица измерения, в то время как одна единица измерения может быть у нескольких позиций номенклатуры заказа. Данная связь неидентифицирующая, она осуществляется через внешние ключи «Единица измерения_Ссылка», «Единица измерения мест_Ссылка», которые мигрируют в сущность «Заказ покупателя_Товары».

Сущности «Выпуск готовой продукции» и «Номенклатура» связаны отношением «многие – ко – многим», так как в одном документе по отражению выпуска может быть указано несколько позиций готовой продукции, в то время как одна и та же позиция номенклатуры может быть в нескольких документах выпуска. Поэтому вводится дополнительная сущность «ВыпускГП_Готовая продукция», которая является дочерней сущностью по отношению к сущностям «Выпуск готовой продукции» и «Номенклатура». В сущность мигрируют внешние ключи «ВыпускГП_Ссылка» и «Номенклатура_Ссылка». Данные внешние ключи образуют составной первичный ключ, который однозначно определяет каждый экземпляр сущности.

Сущности «Выпуск готовой продукции» и «Номенклатура» связаны отношением «многие – ко – многим», так как в одном документе по отражению выпуска может быть указано несколько позиций номенклатуры в части расхода сырья, в то время как одна и та же позиция номенклатуры может быть в нескольких документах выпуска. Поэтому вводится дополнительная сущность «ВыпускГП_Расход сырья», которая является дочерней сущностью по отношению к сущностям «Выпуск готовой продукции» и «Номенклатура». В сущность мигрируют внешние ключи «ВыпускГП_Ссылка» и «Номенклатура_Ссылка». Данные внешние ключи образуют составной первичный ключ, который однозначно определяет каждый экземпляр сущности.

Кроме того, сущность «ВыпускГП_Готовая продукция» связана с сущностью «Единицы измерения» отношением «один – ко – многим», то есть у одной позиции номенклатуры из перечня выпущенной продукции может быть указана одна единица измерения, в то время как одна единица измерения может быть у нескольких позиций номенклатуры выпуска. Данная связь неидентифицирующая, она осуществляется через внешний ключ «Единица измерения_Ссылка», который мигрирует в сущность «ВыпускГП_Готовая продукция».

Сущности «Выпуск полуфабриката» и «Номенклатура» связаны отношением «многие – ко – многим», так как в одном документе по отражению выпуска может быть указано несколько позиций полуфабриката, в то время как одна и та же позиция номенклатуры может быть в нескольких документах выпуска полуфабриката. Поэтому вводится дополнительная сущность «ВыпускПФ_Полуфабрикаты», которая является дочерней сущностью по отношению к сущностям «Выпуск полуфабриката» и «Номенклатура». В сущность мигрируют внешние ключи «ВыпускПФ_Ссылка» и «Номенклатура_Ссылка». Данные внешние ключи образуют составной первичный ключ, который однозначно определяет каждый экземпляр сущности.

Сущности «Выпуск полуфабриката» и «Номенклатура» связаны отношением «многие – ко – многим», так как в одном документе по отражению выпуска полуфабриката может быть указано несколько позиций номенклатуры в части расхода сырья, в то время как одна и та же позиция номенклатуры может быть в нескольких документах выпуска. Поэтому вводится дополнительная сущность «ВыпускПФ_Расход сырья», которая является дочерней сущностью по отношению к сущностям «Выпуск полуфабриката» и «Номенклатура». В сущность мигрируют внешние ключи «ВыпускПФ_Ссылка» и «Номенклатура_Ссылка». Данные внешние ключи образуют составной первичный ключ, который однозначно определяет каждый экземпляр сущности.

Сущность «Номенклатура» связана с сущностью «Расчет себестоимости» отношением «один – ко – многим», то есть для одной позиции номенклатуры может быть создано несколько документов по расчету себестоимости, в то время как каждый документ расчета себестоимости может содержать только одну позицию номенклатуры для расчета ее стоимости. Данная связь идентифицирующая, она осуществляется через внешний ключ «Номенклатура_Ссылка», который мигрирует в сущность «Расчет себестоимости».

Сущности «Расчет себестоимости» и «Комплектующие номенклатуры» связаны отношением «многие – ко – многим», так как в одном документе по отражению выпуска полуфабриката может быть указано несколько записей из сущности «Комплектующие номенклатуры», в то время как одна и та же запись по комплектации номенклатуры может быть в нескольких документах расчета себестоимости. Поэтому вводится дополнительная сущность «Расчет себестоимости_Состав», которая является дочерней сущностью по отношению к сущностям «Расчет себестоимости» и «Комплектующие номенклатуры». В сущность мигрируют внешние ключи «Расчет себестоимости_Ссылка», «Номенклатура_Ссылка», «Комплектующая_Ссылка». Данные внешние ключи образуют составной первичный ключ, который однозначно определяет каждый экземпляр сущности.

Сущность «Сотрудники» связана с сущностью «Оклады работников» отношением «один – ко – многим», то есть для сотрудника может быть указано несколько значений оклада в различных периодах периоде, но в одном периоде для сотрудника может быть зарегистрировано только одно значение оклада. Данная связь идентифицирующая, она осуществляется через внешний ключ «Сотрудник_Ссылка», который мигрирует в сущность «Оклады работников», для сущности определен составной ключ «Сотрудник_Ссылка», «Дата», который однозначно идентифицирует ее.

Сущности «Начисление зарплаты» и «Сотрудники» связаны отношением «многие – ко – многим», так как в одном документе по отражению заработной платы может быть указано несколько сотрудников, в то время как один и тот же сотрудник может быть в нескольких документах начисления заработной платы. Поэтому вводится дополнительная сущность «НачислениеЗП_Табель», которая является дочерней сущностью по отношению к сущностям «Начисление зарплаты» и «Сотрудники». В сущность мигрируют внешние ключи «НачислениеЗарплаты_Ссылка» и «Сотрудник_Ссылка». Данные внешние ключи образуют составной первичный ключ, который однозначно определяет каждый экземпляр сущности.

Сущность «Начисление зарплаты» связана с сущностью «Начисление ЗП_ЗП за день» отношением «один – ко – многим», то есть для каждого документа по начислению зарплаты может быть указано несколько дней расчетного периода, в то время как каждый день расчетного периода может отражаться только в одном документе начисления заработной платы. Данная связь идентифицирующая, она осуществляется через внешний ключ «Начисление зарплаты_Ссылка», который мигрирует в сущность «Начисление ЗП_ЗП за день», для сущности определен составной ключ «Начисление зарплаты_Ссылка», «Период», который однозначно идентифицирует ее.

Сущности «Выплата зарплаты» и «Сотрудники» связаны отношением «многие – ко – многим», так как в одном документе по отражению выплаты заработной платы может быть указано несколько сотрудников, в то время как один и тот же сотрудник может быть в нескольких документах выплаты заработной платы. Поэтому вводится дополнительная сущность «ВыплатаЗП_Начисления», которая является дочерней сущностью по отношению к сущностям «Выплата зарплаты» и «Сотрудники». В сущность мигрируют внешние ключи «Выплата зарплаты_Ссылка» и «Сотрудник_Ссылка». Данные внешние ключи образуют составной первичный ключ, который однозначно определяет каждый экземпляр сущности.