Упрощение БД ER Схема / Схема - PullRequest
5 голосов
/ 15 февраля 2012

Для школьного проекта мы должны создать собственную базу данных. Я решил создать базу данных для управления запасами электронных компонентов. Как требование, нам нужно было создать диаграмму ER, а затем из этой диаграммы получить схему базы данных. К сожалению для меня, профессор считает, что созданную мной диаграмму можно упростить, а сущность «Часть» не нужна.

Это - схема, которую я придумал, а здесь - производная схема.

Если я удаляю сущность Part, то для того, чтобы сущность Circuit «использовала» любое количество любой детали и каждая деталь была связана с, возможно, какой-либо цепью, у меня должно было бы быть отдельное отношение M-to-N от каждого типа компонента к цепи. Каждое из этих отношений будет генерировать новую таблицу. Это определенно превысит строгое максимальное количество таблиц, которые мы можем использовать для проекта.

Если профессор специально упомянул часть, которая была ненужной, то должен быть какой-то способ удалить ее, что привело бы к более простой диаграмме и схеме ER - но я не вижу, что это такое.

Может быть, вы, ребята, можете увидеть, что это такое, и дать мне подсказку?

EDIT: У Дана У было отличное предложение. Я мог бы устранить Часть, дав каждому типу детали (Конденсатор, Резистор и т. Д.) Свои собственные ключи. Затем внутри части использования включите внешние ключи к этим компонентам. Я должен был бы предположить, что каждая запись таблицы будет связана только с одной частью, а остальные будут нулевыми. Вот полученная схема. Эта схема должна хорошо работать. Но теперь я должен выяснить, какие именно изменения в диаграмме ER будут соответствовать этой схеме.

EDIT2: Я пришел к выводу, что отношения, которые я ищу, n-ary. Согласно нескольким источникам, для преобразования из n-арной в схему вы включаете первичный ключ отношения каждого участвующего типа объекта в качестве внешнего ключа. Затем добавьте простые атрибуты. Это - это то, что я придумал.

1 Ответ

1 голос
/ 20 февраля 2012

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

Таблица деталей вВаша схема теперь:

PartID (PK)
Quantity
Drawer
Part Type
Value
Tolerance
Subtype
Power Rating
Voltage
Term_Style
Diam
Height
Lead_Space
Name
Case
Polarity
Use
V_CE
P_D
I_C
H_FE
Package
Pins
Description

, и вы удаляете таблицы резисторов, конденсаторов, транзисторов и общих микросхем в своей схеме.Оставьте эти объекты в диаграмме ER, потому что в ней показано, какие атрибуты в таблице деталей требуются (не должны быть нулевыми) для каждого типа детали.

...