powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Связывание таблиц различных объектов с одной
25 сообщений из 74, страница 2 из 3
Связывание таблиц различных объектов с одной
    #34880545
Bely
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ModelRДля плоской системы типов и ролей еще можно применить тот же фокус с константными полями.Чем плохи варианты с такими "константными" проверками.
Если программно хочется отработать ошибку вставки, то невозможно будет "предсказать" вставится запись или нет.
Проверку на совместимость типов объектов - можно будет только жестко закодировать в программе.

Второй вариант - "проверка боем". Вставилась запись - значит типы совместимы, не вставилась - значет не совместимы.

Оба варианта - не самые лучшие с точки зрения приложения в целом.
...
Рейтинг: 0 / 0
Связывание таблиц различных объектов с одной
    #34880636
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возможный вариант схемы в прикрепленном файле
...
Рейтинг: 0 / 0
Связывание таблиц различных объектов с одной
    #34880728
Фотография LR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ModelRя бы лучше сказал "ролей"На эту тему есть очень интересные размышления вот здесь - ELIT. ООП и роли , очень жаль что нет продолжения... :( Может кто-нибудь видел (продолжение) ?

ModelRДля плоской системы типов и ролей еще можно применить тот же фокус с константными полями.Здорово :)
Однако, дополнительное(и малоинформативное) поле role<y>.role_id(=y) на "объектном" уровне - это дополнительные накладные расходы (не ничтожные?).
...
Рейтинг: 0 / 0
Связывание таблиц различных объектов с одной
    #34881248
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ребята не читайте газет во время еды и такие статьи.У вас уже Люди-это Товар,Авто-типы, а Фото-интерфейс.
...
Рейтинг: 0 / 0
Связывание таблиц различных объектов с одной
    #34881254
Фотография LR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVaВозможный вариант схемы в прикрепленном файле
?
Файл не прикрепился, возможно, предварительный просмотр "съел", со мной такое случалось:)
...
Рейтинг: 0 / 0
Связывание таблиц различных объектов с одной
    #34881865
КД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
База делается на Access, а с SQL-серверами я знаком плоховато. Почитаю про констрэйны, потом выскажусь отдельно. Но, как я понял, целостность надо проверять все-таки кодом? Значит, декларативно – никак. Жаль. Трудновато будет все эти триггеры на Access делать… Да чтобы отрабатывали без проблем… Кстати, тут частенько мелькают типы (что-то вроде _type_), так вроде бы по смыслу это практически тоже самое, что я предложил как ссылка на имя таблицы?
...
Рейтинг: 0 / 0
Связывание таблиц различных объектов с одной
    #34881898
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ссылка на имя таблицы увы не катит. Это скорее шаблон DDL.
Я в свою очередь мало знаком с ACCESS, но боюсь действительно придется ручками.
...
Рейтинг: 0 / 0
Связывание таблиц различных объектов с одной
    #34881923
Bely
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КДБаза делается на Access, а с SQL-серверами я знаком плоховато. Почитаю про констрэйны, потом выскажусь отдельно. Но, как я понял, целостность надо проверять все-таки кодом? Значит, декларативно – никак. Жаль. Трудновато будет все эти триггеры на Access делать… Да чтобы отрабатывали без проблем… Кстати, тут частенько мелькают типы (что-то вроде _type_), так вроде бы по смыслу это практически тоже самое, что я предложил как ссылка на имя таблицы?1) в Access нет триггеров, но есть констрэйнты

2) то как показывали - это были именно декларативные ограничения.
Просто под разные случаи, с разными ограничениями, достоинствами и недостатками.

3) Ссылка на имя таблицы - это текстовое поле (логическая ссылка).
А тип - это сылка по внешнему ключу на таблицу "Справочник типов".
В этом справочнике уже может храниться много полезного для работы с типом "Человек" или "Дом".
Например, в какой таблице искать доп. данные по этому типу, название типа, название формы - которой можно открыть карточку типа итп.
...
Рейтинг: 0 / 0
Связывание таблиц различных объектов с одной
    #34892513
КД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Bely
А где это в Access констрэйны? Из справки:
Примечание. Ядро базы данных Microsoft Jet не поддерживает использование инструкции CONSTRAINT и всех инструкций языка определения данных (DDL) с базами данных, несовместимыми со стандартом Microsoft Jet. Используйте вместо них методы Create объектов доступа к данным (DAO).
Но, м.б., их можно как-то эмулировать?
Под словом "декларативно" я подразумевал – только с помощью ключей.

> А тип - это сылка по внешнему ключу на таблицу "Справочник типов".
> В этом справочнике уже может храниться много полезного для работы с типом "Человек" или "Дом".
> Например, в какой таблице искать доп. данные по этому типу, название типа, название формы - которой
> можно открыть карточку типа итп.
Так если из этой таблицы убрать все, кроме "в какой таблице искать доп. данные по этому типу" – останутся как раз имена таблиц "Люди", "Дома", "Города" и т.д. В таком случае получается, что это моя таблица "Объект"?
...
Рейтинг: 0 / 0
Связывание таблиц различных объектов с одной
    #34892600
Dmitriy Ivanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
К> Автор: КД
К> 2 Bely
К> А где это в Access констрэйны? Из справки:
К> Примечание. Ядро базы данных Microsoft Jet не поддерживает
К> использование инструкции CONSTRAINT и всех инструкций языка
К> определения данных (DDL) с базами данных, несовместимыми со
К> стандартом Microsoft Jet. Используйте вместо них методы Create
К> объектов доступа к данным (DAO). Но, м.б., их можно как-то
К> эмулировать? Под словом "декларативно" я подразумевал – только с
К> помощью ключей.

Написано же "несовместимыми со стандартом Microsoft Jet".

Ограничения целостности в Access есть и работают через SQL. Документированы,
например, в "Microsoft Jet SQL Reference".

Хотя то, что там прописано, в полном объеме работает только через ADO. Если
Вы используете DAO (собственно сам Access!) или ODBC, то поддерживается
ограниченный синтаксис - довольно искусственное усечение (видимо, из
ублюдочных маркетинговых соображений)!

PRIMARY KEY, NOT NULL, и FOREGN KEY поддерживается при любом интерфейсе.


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Связывание таблиц различных объектов с одной
    #34893311
Bely
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitriy Ivanov
Написано же "несовместимыми со стандартом Microsoft Jet".

Ограничения целостности в Access есть и работают через SQL. Документированы,
например, в "Microsoft Jet SQL Reference".

Хотя то, что там прописано, в полном объеме работает только через ADO. Если
Вы используете DAO (собственно сам Access!) или ODBC, то поддерживается
ограниченный синтаксис - довольно искусственное усечение (видимо, из
ублюдочных маркетинговых соображений)!

PRIMARY KEY, NOT NULL, и FOREGN KEY поддерживается при любом интерфейсе.Все правильно, только могу добавить.

Поскольку базу создаем сами и руками - незачем в Access писать скрипт создания таблиц через SQL команды.
Делаешь все через ихние визарды - и будут ограничения целостности, индексы и констрэйнты.

Вобщем и здесь нет проблем.
...
Рейтинг: 0 / 0
Связывание таблиц различных объектов с одной
    #34903407
КД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Недавно, оказывается, появились в Access (с 2002) и CONSTRAIN'ы! Повнимательнее прочитал Гетца "Разработка настольных приложений" – можно применять, причем почти также хорошо как и в SQL-серверах (основываясь на данных нескольких таблиц, несколько правил проверки на уровне таблицы, чего, кстати, не обеспечивает пользовательский интерфейс). Только вот применять их можно, кажется, только выполняя CREATE TABLE, тогда как в SQL-серверах можно и после создания и даже отложить выполнение ограничения на какое-то время.
Значит, либо переползаем на следующую версию, либо делаем ручками в коде.

> Так если из этой таблицы убрать все, кроме "в какой таблице искать доп. данные по этому типу" – останутся как раз имена таблиц "Люди", "Дома", "Города" и т.д. В таком случае получается, что это моя таблица "Объект"?
Ну, а по существу-то я прав?
...
Рейтинг: 0 / 0
Связывание таблиц различных объектов с одной
    #34913047
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И дались тебе эти констрэйнты.Зачем они нужны в твоей задаче?
CHECK "name" IN ('house','people',...) никто не делает.Покажи физическую модель,которая сейчас у тебя
...
Рейтинг: 0 / 0
Связывание таблиц различных объектов с одной
    #34913208
Bely
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVaИ дались тебе эти констрэйнты.Зачем они нужны в твоей задаче?foreign key, вообще-то, тоже constraint
...
Рейтинг: 0 / 0
Связывание таблиц различных объектов с одной
    #34913615
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
О чем и речь.
...
Рейтинг: 0 / 0
Связывание таблиц различных объектов с одной
    #34913907
Фотография LR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LR SeVaВозможный вариант схемы в прикрепленном файле
?
Файл не прикрепился, возможно, предварительный просмотр "съел", со мной такое случалось:)
up
...
Рейтинг: 0 / 0
Связывание таблиц различных объектов с одной
    #34913998
Bely
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVaО чем и речь.Тогда как понимать слова:
И дались тебе эти констрэйнты.Зачем они нужны в твоей задаче?

т.е. внешние ключи фтопку? ню, ню...
...
Рейтинг: 0 / 0
Связывание таблиц различных объектов с одной
    #34914148
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А, что ню, ню? FK, по большому счету, нужны только на этапе проектирования и для самодокументирования структуры БД, в остальном это только тормоза.Для его 4х таблиц это не обязательно.MS Projects, Axapta и иже с ними, обходятся полностью без FK
...
Рейтинг: 0 / 0
Связывание таблиц различных объектов с одной
    #34914170
Bely
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVaА, что ню, ню? FK, по большому счету, нужны только на этапе проектирования и для самодокументирования структуры БД, в остальном это только тормоза.Для его 4х таблиц это не обязательно.MS Projects, Axapta и иже с ними, обходятся полностью без FKЭх, молодость, молодость...
посмеялся
...
Рейтинг: 0 / 0
Связывание таблиц различных объектов с одной
    #34914210
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bely SeVaА, что ню, ню? FK, по большому счету, нужны только на этапе проектирования и для самодокументирования структуры БД, в остальном это только тормоза.Для его 4х таблиц это не обязательно.MS Projects, Axapta и иже с ними, обходятся полностью без FKЭх, молодость, молодость...
посмеялся +1 - пятница, однозначно
...
Рейтинг: 0 / 0
Связывание таблиц различных объектов с одной
    #34914924
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Bely Еще смешнее,когда администраторы берутся обсуждать структуру БД.
...
Рейтинг: 0 / 0
Связывание таблиц различных объектов с одной
    #34920622
КД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 SeVa
> Покажи физическую модель,которая сейчас у тебя
Так в посте от 14 октября привел. Незначимые для обсуждаемой задачи атрибуты опустил, а схема таблиц есть.
...
Рейтинг: 0 / 0
Связывание таблиц различных объектов с одной
    #34921479
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Такой физ.схемы не может быть.Тебе уже правильно заметили, что для FK нужен уникальный индекс.
Вопросы:
1.Связка основных сущностей нужна только для фото или есть еще варианты?
2.Зачем для фотографий нужны отношения многие ко многим?

Если есть слабые сущности (дом находится в городе, человек проживает в доме) можно обойтись и 1:N.При этом не нужно каждый раз делать привязку изображений каждый раз поновой
...
Рейтинг: 0 / 0
Связывание таблиц различных объектов с одной
    #34926754
КД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 SeVa
> Такой физ.схемы не может быть.
Почему не может? FK+Ссылка на таблицу образуют составной ключ. Можно сделать и не составным ключом, а просто запретить ввод повторяющихся значений (путем создания составного индекса), а дополнительно назначить PK, что, собственно и показано на схеме, м.б., не очень понятно.

> Связка основных сущностей нужна только для фото или есть еще варианты?
Пока вроде только для фото.

> Зачем для фотографий нужны отношения многие ко многим?
Потому что на фотографии могут быть разные объекты (например, человек на фоне дома).
...
Рейтинг: 0 / 0
Связывание таблиц различных объектов с одной
    #34928161
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не понятно, поскольку FK на несколько таблиц одновременно не бывает.
Поэтому делают наоборот, PK в основных сущностях уникальны в пределах БД и являются FК на Объект.
Если привязка нужна только для фотографий, то на мой вгляд, таб. Объект - только лишнее усложнение
...
Рейтинг: 0 / 0
25 сообщений из 74, страница 2 из 3
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Связывание таблиц различных объектов с одной
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]