Здравствуйте, Eugene Shark, Вы писали:
ES>Есть таблица
ES>МАТЕРИАЛЫ(код, наименование)
ES>есть шапка документа
ES>ШАПКА(номер, дата, сумма)
ES>нужно сделать таблицу
ES>ТАБЛИЧНАЯ_ЧАСТЬ_ДОКУМЕНТА
ES>так, чтобы в ней по строкам перечислялись материалы (много) ES>и связать ее с ШАПКОЙ (одной)
ES>как сие реализовать? ES>Как будет выглядеть схема данных?
ES>Зарнее сэнкс.
Если ШАПКА.номер является первичным ключем, то струткуа таюличной части может иметь вид:
КодМатериала (FK на МАТЕРИАЛЫ)
НомерИзШапки (FK на ШАПКА)
--остальные атрибуты сущности.
Если же поле ШАПКА.номер не может выступать в качестве PK, то создайте сурогатный ключ (identity или guid) в ШАПКА и по не му устанавливайте связь с табличной частью.
Здравствуйте, kallisto, Вы писали:
K>Здравствуйте, Eugene Shark, Вы писали:
у меня не работает, когда я заполняю вторую строку в ТабличнойЧасти, с тем же Шапка_ID, что и в первой строке, то возникает нарушение условия уникальности. Но мне и надо, чтобы у меня для одной шапки был набор строк с материалами. Или я чего-то не понял?
Здравствуйте, Eugene Shark, Вы писали:
ES>у меня не работает, когда я заполняю вторую строку в ТабличнойЧасти, с тем же Шапка_ID, что и в первой строке, то возникает нарушение условия уникальности. Но мне и надо, чтобы у меня для одной шапки был набор строк с материалами. Или я чего-то не понял?
ES>ЗЫ: пробовал все это дело в Аксесе
Т.е. Вы хотите чтобы в таблице Табл_Часть могли лежать вот такие данные
?
Если да, тогда можете сделать констреинт на уникальность, который будет содержать все три поля или вообще убрать поле T_ID и не вешать никаких констреинтов.
Или всё-таки необходима уникальность в сочетаниях foreign keys?
Здравствуйте, Eugene Shark, Вы писали:
ES>Здравствуйте, kallisto, Вы писали:
K>>Или всё-таки необходима уникальность в сочетаниях foreign keys?
ES>ага
Тогда Вам просто нужен уникальный констреинт на два вторых поля этой таблицы (он Вам обеспечит сохранение уникальности ключей, т.е. дубликатов не будет). Наличие первой колонки Tабл_Часть_ID не обязательно, решать Вам.
Здравствуйте, Eugene Shark, Вы писали: ES>у меня не работает, когда я заполняю вторую строку в ТабличнойЧасти, с тем же Шапка_ID, что и в первой строке, то возникает нарушение условия уникальности. Но мне и надо, чтобы у меня для одной шапки был набор строк с материалами. Или я чего-то не понял?
Да. Ты, похоже, сделал два независимых уникальных индекса по полям Шапка_ID и Материал_ID. А надо было один индекс:
... << RSDN@Home 1.1.4 beta 4 rev. 347>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.