Учитель дал нам командное задание, и я и мой товарищ по команде с этим очень боремся (тем более, что нам нужно использовать такие вещи, как TRIGGERS и PROCEDURES , то, что мы не делали 'пока не вижу в классе ...).
Нам нужно реализовать дуговое отношение , и мы не понимаем, как ... Но прежде чем я скажу вам, ребята, что мне нужно сделать, я сделаюдать вам часть описания задачи, чтобы вы, ребята, могли немного лучше понять ситуацию…
Нам нужно сделать ERD для VLSI CAD-системы , и нам нужнореализовать это.Теперь у нас есть сущность CELL
, атрибуты которой на самом деле не имеют отношения ... Единственное, что вам, ребята, нужно знать, чтобы помочь нам, это то, что у нее есть первичный ключ , CELL_CODE
VARCHAR .
Каждый CELL
имеет много (я думаю, по крайней мере, четыре, я не думаю, что вы можете иметь треугольный CELLS
, но в любом случае это не имеет значения) SIDES
.SIDE
может быть логически идентифицирован по CELL
, и, чтобы нелепо усложнить задачу, каждый SIDE
должен быть пронумерован по CELL
, например:
CELLS:
CELL_CODE
1
2
СТОРОНЫ:
SEQUENCE_NUMBER CELL_CODE
1 1
2 1
3 1
1 2
2 2
3 2
Теперь у каждого SIDE
есть CONNECTION_PINS
.CONNECTION_PINS
также уникально идентифицируется как SIDES
, которые в основном нумеруются аналогичным образом:
ЯЧЕЙКИ:
CELL_CODE
1
2
СТОРОНЫ:
SEQUENCE_NUMBER CELL_CODE
1 1
2 1
3 1
1 2
2 2
3 2
CONNECTION_PINS:
SEQUENCE_NUMBER SIE_SEQUENCE_NUMBER CELL_CODE
1 1 1
2 1 1
1 2 1
2 2 1
1 3 1
2 3 1
1 1 2
2 1 2
1 2 2
2 2 2
1 3 2
2 3 2
Я попытался объяснить возникшую здесь проблему нумерации: Модель данных - проблема нумерации ПЕРВИЧНОГО КЛЮЧА , но да, я действительно не объяснил это так, как это должно быть объяснено ...
Теперь у нас есть одна последняя сущность, в которую входит Arc :CONNECTIONS
.CONNECTIONS
имеет 2 CONNECTION_PINS
: один для START_FROM
и один для END_OF
.Теперь логически видно, что стартовый контакт не может быть и конечным контактом для данного соединения.И это наша борьба.По сути, это не должно быть разрешено:
ЯЧЕЙКИ:
CELL_CODE
1
2
СТОРОНЫ:
SEQUENCE_NUMBER CELL_CODE
1 1
2 1
3 1
1 2
2 2
3 2
CONNECTION_PINS:
SEQUENCE_NUMBER SIE_SEQUENCE_NUMBER CELL_CODE
1 1 1
2 1 1
1 2 1
2 2 1
1 3 1
2 3 1
1 1 2
2 1 2
1 2 2
2 2 2
1 3 2
2 3 2
СОЕДИНЕНИЯ: (Вы не должны быть в состоянии поместить это в…)
CPI_SEQNUM_START SIE_SEQNUM_START CELL_CODE_START CPI_SEQNUM_END SIE_SEQNUM_END CELL_CODE_END
1 1 1 1 1 1
Теперь, это в основном ERD для этой части:
ERD с запрещенными отношениями и дугой.Отношения в вопросе
и это физическая модель:
Физическая модель
Я в основном думал, что простой ПРОВЕРКА может сделать (ПРОВЕРИТЬ (CPI_SEQNUM_START
<> CPI_SEQNUM_END
И CELL_CODE_START
<> CELL_CODE_END
И SIE_SEQNUM_START
<> SIE_SEQNUM_END
)), но это не позволило нам каким-либо образом вставить что-нибудь ... Любой совет?