powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Сравнительная характеристика моделей данных
24 сообщений из 549, страница 22 из 22
Сравнительная характеристика моделей данных
    #33434814
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
прохожий 317Вы немного преувеличиваете, ModelR, про "утрату декларативного задания" (особенно про значение утраты) и про "объявлю пару атрибутов".
Во-первых, не пару, а тройку: Человек,Дата занятия,Пара.Да, опечатка конечно. прохожий 317
Во-вторых, нужно объявить еще одну тройку уникальной: Группа,Дата занятия,Пара.
В-третьих, это так же делается и в случае использования ссылок в ОМДТак в Вашей версии ОМД сущности могут иметь характеристики-ссылки? Тогда о чем мы так долго спорили... прохожий 317, а из этого почти автоматически следует, как Вы правильно подметили, что можно поправить (в случае использования явных связей вместо ссылок).Или не могут? прохожий 317

В-четвертых. Повторю, что определенные накладные расходы есть. Но я к ним (к написанию триггеров, например) отношусь совершенно спокойно. И вот почему (даже если говорить только об ОДНОМ дне):
1) Человек не может проводить за день больше определенного количества Пар;
2) Группа не может заниматься за день больше (своего) определенного количества Пар;
3) не могут соседствовать аудитории (для соседних пар), расстояние между которыми Человек не сможет преодолеть за время перерыва между парами;
4) аналогично п.3 для Группы;
5) и т.д.
И многие из этих условий нельзя будет выполнить, просто объявив "уникальность". Придется (на сегодняшний день) писать код. И нет никаких гарантий, что в этот же код не следует интегрировать и те ограничения, которые Вы сделали "декларативными". Вот это существенный момент. Согласен, что даже сильно накрученная декларативная целостность покрывает лишь малую часть бизнес-правил. Но возможность декларировать наиболее фундаментальные правила сильно упрощает прикладную часть, а также снижает риски при модификациях и переделках. Поэтому для меня это более высокий приоритет. прохожий 317
И еще раз о ссылках и связях. Это, с концептуальной точки зрения, одно и то же (то есть они нужны для одного и того же). Записав идентификатор экземпляра idB объекта B в значение некоторой характеристики hA экземпляра idA объекта A, мы установили связь между экземплярами idA и idB В данном случае я называю характеристику hA ссылкой, проекцию А [IDA ,hA] - связью (бинарной). В данном случае связь встроена в В. Можно ее вынести в отдельную таблицу путем очевидной декомпозиции. Поэтому никак не пойму, что значит "использование явных связей вместо ссылок" . Может это как раз упомянутая декомпозиция?
...
Рейтинг: 0 / 0
Сравнительная характеристика моделей данных
    #33434819
мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
прохожий 317И многие из этих условий нельзя будет выполнить, просто объявив "уникальность". Придется (на сегодняшний день) писать код.
Почему круг, нарисованный циркулем, круглый ? По построению.
Почему расписание правильное - потому что программа его построения правильная. И не надо путать целостность БД и ее непротиворечивость. Первое обеспечивается СУБД, второе - приложением.

прохожий 317И еще раз о ссылках и связях. Это, с концептуальной точки зрения, одно и то же (то есть они нужны для одного и того же). Записав идентификатор экземпляра idB объекта B в значение некоторой характеристики hA экземпляра idA объекта A, мы установили связь между экземплярами idA и idB. Причем:
Не буду повторяться о недостатках ссылок. Надеюсь, что удастся избавиться от них полностью.
Все ровно наоборот. Связь - только между РАЗНЫМИ объектами. Ссылка - это синоним одного и то же объекта. Связь - это отношение(в РМД) или набор в сетевых схемах. Ссылка - это адрес в сетевых БД или FK в РМД.
В вашем примере:
объект В - это атрибут (т.е. часть) объекта A (никакой связи здесь нет)
характеристики hA экземпляра idA объекта A содержит идентификатор экземпляра idB объекта B - это ссылка объекта A на реальный объект В
Для того что бы появилась связь нужен объект С, содержащий ссылки на А и В (как в примере с расписанием).
Вот тогда можно говорить и о хар-ках этой связи.
...
Рейтинг: 0 / 0
Сравнительная характеристика моделей данных
    #33434849
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mir[quot прохожий 317]Это понимание воплотилось в документах комитета ANSI/SPARC еще задолго до господства реляционных систем , а прошедшие десятки лет его только подтвердили. Кстати, упоминаемая архитектура ANSI/SPARC насколько мне известно, никогда не существовала в виде официального стандарта, хотя по тексту очень многих книг можно понять обратное. Это был всего лишь промежуточный отчет об исследовательской работе, выполненный по заказу ANSI/SPARC, кажется даже студентами. Хорошая идея не нуждается в регалиях :).
...
Рейтинг: 0 / 0
Сравнительная характеристика моделей данных
    #33435285
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сорри, следует читать:

В данном случае я называю характеристику hA ссылкой, проекцию А [IDA ,hA] - связью (бинарной). В данном случае связь встроена в А .
...
Рейтинг: 0 / 0
Сравнительная характеристика моделей данных
    #33436782
Если уж быть точным, ModelR, то "уникальность" не проходит вообще в "нашем примере", так как Занятия в неутвержденном Расписании могут содержать неизвестные значения (или не иметь связей). Но это мелочи.

Мы не спорили, а разбирались, мне кажется. В "моей версии" ссылок не должно быть. Это принципиально.

Про "приоритет" - это слишком сильно (см. выше, и можем рассмотреть сколько угодно подобных примеров). Я не против декларативной поддержки уникальности чего бы то ни было. Однако нужно помнить вот о чем. Например, уникальность идентификаторов в ОМД поддерживается "органически", а не путем (декларативного) объявления. Так что для меня приоритетно все органическое (например, идентификация, навигация и семантика в ОМД). То есть я думаю, что следует стремиться к тому, чтобы любая "проблема" решалась "органически", а не "алгебраически".

В данном случае связь встроена в A, а не в B. И связь "можно вынести в отдельную таблицу" в РМД (точнее - нужно - см. высказывание Дейта об этом). В ОМД связи представляются как связи, а не как "третьи объекты".
...
Рейтинг: 0 / 0
Сравнительная характеристика моделей данных
    #33436817
Чудесно, мод ! Оказывается возможность находиться одновременно в двух местах - это не "противоречивость", а "нарушение целосьности". В данном случае Вы имеете в виду целостность человека, насколько я понимаю.
[Попутно, уже без иронии, уточню, что "целостность группы", в отличие от "целостности человека", может быть нарушена !]. Думаю, что нам не стоит углубляться в различие между "целостностью" и "непротиворечивостью".

Вы уж, пожалуйста, не разобравшись в теории БД, не эксплуатируйте "мой пример". Ссылка в классической объектной модели - это связь, интегрированная в объект, а не объект, интегрированный в объект. А для того, чтобы "появилась связь" (явная, а не в виде ссылки), нужно просто объявить эту связь, а вовсе не еще один объект. Ну это же очень простые вещи, мод.
...
Рейтинг: 0 / 0
Сравнительная характеристика моделей данных
    #33436820
Да - в A (добрался до 2170230).
...
Рейтинг: 0 / 0
Сравнительная характеристика моделей данных
    #33436875
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
прохожий 317
Например, уникальность идентификаторов в ОМД поддерживается "органически", а не путем (декларативного) объявления.

Надо читать автоматически генерятся системой.
Такие есть в иерахических, сетевых МД. И в ООМД. Тем более там навигация представлена реально, а не объектными навигаторами. Они в отличии от ОМД ЧАЛа широко известны, но это не повлияло на положение дел. А поскоку ОМД ЧАЛа по сравнению с ними выглядит как заведомо недоразвитая - это "ограническое" ей врядли поможет.

прохожий 317
То есть я думаю, что следует стремиться к тому, чтобы любая "проблема" решалась "органически", а не "алгебраически".

Новый перл. Ораганический метод решения задач. И например, впендюрьте это в системы линейных уравнений. А то там галимая алгебра. Порешайте эти задачи органически. Этот приемчик одурачивания наверное тоже опробован на балабановских. Еще можно порешать неорганически или вообще химически. Это наверное хорошо подходит к Чаловской ОМД - химичить.

прохожий 317
В ОМД связи представляются как связи, а не как "третьи объекты".

Как ссылки - указатели. Не тока в ЧАЛовской ОМД. Опять шитая белыми нитками подмена компьютерной структуры ее интепретацией (типа ссылка и есть связь самая что ни на есть связь, а что еще может быть связью?)


прохожий 317
В данном случае Вы имеете в виду целостность человека, насколько я понимаю.

Много хохотал. У ЧАЛа нет понятия ОЦ. Есть хорошо спроектированные приложения. А Целостность он понимает в этическом плане. Хотя это отрицает клонов. Но все равно.

прохожий 317
А для того, чтобы "появилась связь" (явная, а не в виде ссылки), нужно просто объявить эту связь, а вовсе не еще один объект.

ЧАЛ пытается расти. Теперь он не просто повторяет одно и то же якобы не превзойденное достоинство, а каждый раз немного по разному. Пусть и по детски получается, но зато по разному. Все таки он год их пытается мусолить. Других то все равно выдумать не может. Надо как-то повторять одно и тоже.

прохожий 317

Ну это же очень простые вещи, мод.

Ну ясно дело, ведь это все относится к ранниму периоду инфотехнологий. Тада еще все было примитивно по нынешним меркам.
...
Рейтинг: 0 / 0
Сравнительная характеристика моделей данных
    #33437044
muk07
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
прохожий 317И я уверен, что на "Р"СУБД такую систему построить не удастся.
Приходите посмотреть. Работает 5-й год. Весь комплекс из 13 клиентов.
...
Рейтинг: 0 / 0
Сравнительная характеристика моделей данных
    #33437381
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
прохожий 317Если уж быть точным, ModelR, то "уникальность" не проходит вообще в "нашем примере", так как Занятия в неутвержденном Расписании могут содержать неизвестные значения (или не иметь связей). Но это мелочи.Да, и более того, в этом случае в "чистой" РМД, без NULL, занятия с известными и неизвестными данными - это будут вообще разные отношения. Либо опять таки декомпозиция - выделение связей. прохожий 317
Мы не спорили, а разбирались, мне кажется. В "моей версии" ссылок не должно быть. Это принципиально. Вопрос был не о ссылках вообще - пнятно, что в Ваших связях участвуют ссылки на объекты, а не их копии, я надеюсь:). Вопрос был о допустимости ссылок в сущностях (объектах по Вашему) типа Занятие. Я видел ответ НЕТ и много раз, но затем следовали пассажи типа
авторсимметричная (двусторонняя) семантика поддерживается в ОМД для ссылок ("неявных связей") "так же" как и для явных связей. из которых следует ДА.
...
Рейтинг: 0 / 0
Сравнительная характеристика моделей данных
    #33437446
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
muk07
Приходите посмотреть. Работает 5-й год. Весь комплекс из 13 клиентов.

И придет. Он давно искал кого-нибудь, чтобы провести семинар, на котором он докажет крах РМД и беду с ключами. Тада у него был ник ЧАЛ. Но типа ЧАЛ обиделся и ушел. А пришел якобы прохожий 317 на его место. Но в виду полного совпадение мысли, стиля изложения, вплоть до любимых ЧАЛом словечек, уровня подготовки, вырожденного до нескольких фиксированных точек зрения кругозора, культурных ограничений и этических вольностей, а так же ярко выраженного ретроградского мироощущения и склада ума - установлено, что это одно лицо (многими кто знает ЧАЛа). Стал быть Вам поступит предложение о проведении семинара.
...
Рейтинг: 0 / 0
Сравнительная характеристика моделей данных
    #33437674
мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
прохожий 317 Думаю, что нам не стоит углубляться в различие между "целостностью" и "непротиворечивостью".

why not ?
целостность БД - это отсутствие "битых" ссылок (или FK) - обеспечивается СУБД
непротиворечивость БД - выполнение множества логических условий - обеспечивается как СУБД так и приложением
Так что для обеспечения целостности надо иметь ссылки или FK (а у вас что ?)
прохожий 317
Вы уж, пожалуйста, не разобравшись в теории БД, не эксплуатируйте "мой пример". Ссылка в классической объектной модели - это связь, интегрированная в объект, а не объект, интегрированный в объект. А для того, чтобы "появилась связь" (явная, а не в виде ссылки), нужно просто объявить эту связь, а вовсе не еще один объект. Ну это же очень простые вещи, мод.
Про "классическую объектную модель" сказать ничего не могу - в глаза ее не видел (да и никто не видел в виду ее отсутствия)
А вот про сетевую или РМД - можно. И "ваш пример" легко и без потерь изображается и в сетевой и в РМД.
...
Рейтинг: 0 / 0
Сравнительная характеристика моделей данных
    #33437787
mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
модцелостность БД - это отсутствие "битых" ссылок (или FK) - обеспечивается СУБД
непротиворечивость БД - выполнение множества логических условий - обеспечивается как СУБД так и приложениемЦелостность БД (database integriry) --- это не только ссылочная целостность, а как раз выполнение всех заданных в БД ограничений целостности. То есть термин этот строгий и используемый в строгой литературе. А термин "непротиворечивость" нестрогий и каждый может его трактовать как хочет. Например, как синоним целостности.
Есть еще понятие "достоверность БД", которое, пожалуй, является самым сильным. Это соответствие данных в БД реальному миру.
То есть для проверки целостности нужны правила (ограничения целостности) и сама БД. Поэтому их может формально проверить СУБД.
А для проверки достоверности нужна полная и правильная информация как о содержимом БД (что просто), так и о реальном мире (что нереально сложно). Таковыми данными, к сожалению, может вообще никто не обладать. Поэтому СУБД установить достоверность не может в принципе. Как и зачастую человек.
Таким образом, целостность -- это наибольшее приближение к достоверности, которого вообще можно достичь "изнутри" системы.
...
Рейтинг: 0 / 0
Сравнительная характеристика моделей данных
    #33438481
мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 mir
Это все верно, но здесь есть один тонкий момент:
отключим триггера и ФК разрушим базу и включим опять:
целостность нарушена а СУБД промолчит
в сетевых БД этого сделать нельзя поэтому там целостность железная
(хотелось бы распространить это и на ФК в РБД)
Про внешний мир ничего не знаю, поэтому непротиворечивость только на уровне предикатов которые могут быть в триггерах или в приложениях
...
Рейтинг: 0 / 0
Сравнительная характеристика моделей данных
    #33438699
mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
модотключим триггера и ФК разрушим базу и включим опять:
целостность нарушена а СУБД промолчитРаз FK не декларированы, формально всё правильно. А целостность и описывается в терминах формальных правил.
Перечитайте еще раз предыдущий мой пост. Вы поймете. что в данном примере будет нарушена достоверность, но не целостность.
модв сетевых БД этого сделать нельзя поэтому там целостность железнаяИ еще раз: не стоит термином "целостность" называть ссылочную целостность. Поаккуратнее.

Кстати, если вы искусственно порушили ссылочную целостность в РБД, то почему вы не допускаете, что можно искусственно порушить и ссылки в сетевой БД? Давайте отсоединим БД от СУБД, залезем в файл и подправим там значения ссылок на неверные. Короче, концептуально никакой разницы.
...
Рейтинг: 0 / 0
Сравнительная характеристика моделей данных
    #33439317
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мод
отключим триггера и ФК разрушим базу и включим опять:
целостность нарушена а СУБД промолчит

ФК не включатся в общем случае. Т.е. декларативные ОЦ как правило проверяются при включении. Триггера другое дело.

мод
в сетевых БД этого сделать нельзя поэтому там целостность железная

ОЦ, которые нельзя включить декларативно, а тока триггерами как обеспечиваются в сетевой? Впрочем, и то что генерится триггерами может быть, скорее всего, проверено.
А если у сетевой нельзя отключать, то это врядли достоинство. А если можно, то в чем разница?

Так что пока не понятно
мод
хотелось бы распространить это и на ФК в РБД


Настоящая разница между ссылкой и значением была раньше в производительности. Но как минимум с 1986 года это преодалено.
В логике - не нужно явно писать соединение? Но ить соединение то можно писать по любым полям, для которых допустимо участвовать в условии на соединение, и не тока на равенство. Не равно, больше, меньше... Это гибче, мне кажется. Не говоря уже что связь по значеню - это связь по содержанию, а ссылка это физический адрес: зависит от среды реализации и мало о чем говорит пользователю.
...
Рейтинг: 0 / 0
Сравнительная характеристика моделей данных
    #33439752
мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
про ссылки и ФК:
в сетевых БД разрушить ссылки средствами СУБД нельзя
в РМД разрушить ФК средствами СУБД можно (то что потом они не включаться - уже будет поздно)
вот в этом и есть принц. разница сетевых и РБД. (все остальное одинаково)
Производительность прямых адресов всегда выше доступа по индексам, но в РБД это плата за гибкость (оправданная имхо)
про терминологию: для меня
целостность - только ссылочная целостность, т.е с БД можно работать (в.т.ч. можно восстановить непротиворечивость)
если нарушена целостность - БД в помойку
непротиворечивость - удовлетворение предикатам, т.е. БД можно использовать
имхо все четко
...
Рейтинг: 0 / 0
Сравнительная характеристика моделей данных
    #33440780
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мод
в сетевых БД разрушить ссылки средствами СУБД нельзя


Что значит разрушить? Отключить? Ну так это гибкость - преимущество. Иногда надо отключать. Ну могли сделать неотключаемыми средствами СУБД.
Чего хорошего в этом?


мод

целостность - только ссылочная целостность, т.е с БД можно работать (в.т.ч. можно восстановить непротиворечивость)
если нарушена целостность - БД в помойку

Не совсем ясно. В ОЦ кроме ссылочной входят, ограничения на значения, ограничение отношения или уникальности, общего вида всякие там. Первые в РМД реализуются часто декларативн, последние в РСУБД триггерно.
Если нарушена ссылочная целостность, то тоже может быть восстановлено в общем случае или потери инфы могут быть не критичными.
Не понятно что Вы имели в виду.

мод
непротиворечивость - удовлетворение предикатам, т.е. БД можно использовать

Что это за удовлетворение предикатам? И в каком смысле можно пользоваться или не пользоваться? Если из БД следует что место в купе продано и не продано одновременно - т.е. два предиката истинных, но противоречат друг другу, то можно пользоваться или нельзя?
...
Рейтинг: 0 / 0
Сравнительная характеристика моделей данных
    #33441231
мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 vadiminfo
сетевые СУБД жесткие - из за этого и вымерли

про целостность - согласен (вопрос терминологии)
важно только что потерянные ссылки могут не восстановиться вообще
а нарушения в логике - можно восстановить по смыслу
...
Рейтинг: 0 / 0
Сравнительная характеристика моделей данных
    #33442023
Что работает 5-ый год, muk07 ? Чтобы зря не приходить.
Хотя в любом случае интересно посмотреть на корпоративную систему. Адрес скажите, пожалуйста. Как только буду в Челябинске, обязательно приду.
...
Рейтинг: 0 / 0
Сравнительная характеристика моделей данных
    #33442030
Удивительный вопрос, ModelR. Какие пассажи ??? Лично я против ссылок. Но они объективно есть во многих реализациях ОМД. Следовательно, они допустимы (ну если они есть !). Я бы хотел, чтобы их не было. Причем объяснил - почему.
...
Рейтинг: 0 / 0
Сравнительная характеристика моделей данных
    #33442033
Вы немного заблуждаетесь, мод. Прочтите повнимательнее п. 9.7. "Сравнение понятий правильности и непротиворечивости" в 8-м издании книги Дейта (впрочем, можно ограничиться разъяснениями mir).
Ну а "мой пример" (напоминаю, что это не мой пример) не может "изобразиться" в РМД. Никак.
...
Рейтинг: 0 / 0
Сравнительная характеристика моделей данных
    #33442036
Связи, мод, тем более нельзя "разрушить" средствами ОСУБД. А если в "Р"СУБД приходится использовать такую "гибкость" как "отключение FK", то это лишний раз подчеркивает ущербность понятия "ключей" (хотя эта ущербность итак очевидна), а значит и "функциональных зависимостей", а значит и "реляционной теории".
...
Рейтинг: 0 / 0
Сравнительная характеристика моделей данных
    #33442588
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
прохожий 317
то это лишний раз подчеркивает ущербность понятия "ключей" (хотя эта ущербность итак очевидна), а значит и "функциональных зависимостей", а значит и "реляционной теории".

А чью ущербеность подчеркивает эта якобы логическая цепочка? (хотя эта ущербность итак очевидна).
...
Рейтинг: 0 / 0
24 сообщений из 549, страница 22 из 22
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Сравнительная характеристика моделей данных
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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