Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 23 24 25 26 27 [28] 29 30 31 32 .. 83   вперед  Ctrl
 Re: Сравнение объектно-ориентированных, реляционных и объектно-реляционных СУБД .  [new]
Мимо пробегал...
Guest
И потом... А Вам не приходило в голову, что OID - это тоже некое значение, для хранения которого необходима некая переменная?
20 сен 04, 18:54    [973647]     Ответить | Цитировать Сообщить модератору
 Re: Сравнение объектно-ориентированных, реляционных и объектно-реляционных СУБД .  [new]
ASCRUS
Member

Откуда: МО Электросталь
Сообщений: 5994
Андрей Леонидович
ASCRUS !

Я с Вами согласен. Но хотелось бы уточнить один момент. Считается, что сказав "ваши приложения уступают нашим", я "ляпнул глупость". Конечно, это была провокация с моей стороны. Тем не менее, правильно ли я Вас понял, что Вы никогда не сказали бы, что приложения, созданные в среде ОСУБД уступают приложениям, созданным в среде РСУБД (для определенности - приложения в одной предметной области; приложения с одинаковой функциональностью) ? Или я не правильно Вас понял ?

Я действительно не смог бы так сказать как минимум по 3 причинам:

1. Я не имею практического опыта проектирования баз данных на ОСУБД и я всегда придерживаюсь мнение, что специалист, отлично знающий какую то технологию всегда качественно реализует задачу, вне зависимости от возможностей технологии.

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

3. Всегда действующий закон программирования - это закон палки о 2-х концах. Я ни разу в жизни не видел технологию, которая на 100% удовлетворяла бы всем необходимым нам условиям. То же самое касается и РСУБД и ОСУБД.

Вы абсолютно правильно заметили, что РСУБД не способны создать такую структуру базы данных, которая соответствовала материальному представлению задачи. Грубо говоря на РСУБД описываются формализованные структуры, задача которых хранить информацию и подчас структура эта может проектироваться по разному, причем главным правилом при проектировке будет учитывание особенностей возможностей и ньюансов той РСУБД, на которой ведется разработка проекта. Так же я согласен и со вторым недостатком РСУБД - это визуальное представление (интерфейс), который реализуется обычно на обьектно-ориентированных инструментах и любой, даже начинающий программист сразу же спотыкается на том, что мягко говоря SQL и ООП между собой очень мало имеют общего. Как итог - или клиент тесно привязывается к структуре БД и при малейшем ее изменении теряет работоспособность или же народ пытается изобрести универсальный велосипед и с головой закапывается в написание собственных мета-структур, генераторов классов, IDE и т.д., что в основном приводит только к очень странным и багообразным проектам. Это все досадные недостатки РСУБД, которых еще можно еще много привести. Однако все они уравновешиваются одним существенным достоинством - множества и работа с ними посредством SQL. В этом плане РСУБД получают существенный выигрыш в том, что пользователю нужно только знать, где лежат данные (кстати как они связанны знать обязательно не для всех СУБД - например для Sybase ASA реализован вид соединения KEY JOIN, который сам производит соединения в запросе по нужным полям ключей таблиц). Дальше все РСУБД делает само - определяет лучшие алгоритмы получения и обработки данных, эффективно распределяет нагрузку и балансировку сервера, распараллеливает запросы по процессорам, кэширует наиболее часто повторяющиеся данные и т.д. и т.п. Технологии здесь постоянно развиваются и РСУБД постоянно движутся в сторону развития более эффективных алгоритмов обработки данных, самоадминистрирующихся серверов (автоматы) и даже уже вводяться понятия самообучающихся элементов (опять же в Sybase ASA присутствует эвристический анализатор запросов, производящий обучение, анализ и корректировку деятельности оптимизатора запросов). В итоге маленькие по обьему скрипты SQL могут творить большие дела, реализация и оптимизация которых на обычных языках могла бы занять много времени, сил и кода. Так же сюда на плюсовую чашу весов ложим поддержку в БД хранимых процедур и триггеров, что позволяет нам не только сконцетрировать всю бизнес-логику в БД, но и обеспечить этой логикой 100% достоверность данных, где любой пользователь или приложение не смогут нарушить определенные программистом правила. Итак резюмируем РСУБД: тяжело проектировать, но зато можно эффективно обрабатывать и получать данные.

Теперь смотрим на ОСУБД. Тут я уже буду рассуждать больше теоретически, чем практически из за моего вышеперечисленного первого пункта. Итак, здесь действительно легко проектировать, причем именно реальную модель, а не какие то физические структуры. Я видел систему, реализующую базу знаний, сделанную на основе Cache, на которой можно моментально описать общего предка, наследовать его и дописать аттрибуты, сделать в нем коллекцию других обьектов, связать обьекты ссылкой, у которой тоже могут быть свои аттрибуты и т.д. и т.п. В этом плане меня все впечатляет, я этого и не отрицаю. Так бы быстро и эффективно спроектировать довольно сложную структуру, да еще и по сложно формализуемой постановке на РСУБД у меня точно не получилось бы. Однако как только дело дошло до обработки данных, особенно сложной, а не примитивному поиску ключ-значение, тут то и оказался главный минус Cache. Достаточно сказать, что если с проектировкой на том проекте ребята не испытывают никаких неудобств, то в плане скорости и обьему написания и поддержки кода на сложную обработку данных они испытывали постоянную головную боль. Можно даже сказать, что это был их основной фронт работ. Сделали они много - фактически от COS мало чего осталось, на Си были дописаны поддержка собственных индексов, аггрегатных функций, разработан аналог языка запросов, сделана своя модель репликации и еще много чего еще, что достойно уважения к профессионализму этой команды. Однако проблемы со скоростью и неформализуемыми запросами на получение информации остались, сейчас насколько я знаю они решают это путем увода системы от Cache на собственный, разработанный на Си движок ОСУБД, более специализированный под их задачи, благо уже большая часть можно сказать была реализована.

Ну и что же у меня получилось в итоге:
РСУБД
+ Жесткая формализуемая структура
- Неформализуемые запросы

ОСУБД
+ Неформализуемая структура с поддержкой наследования
- Формализованные запросы

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

IMHO исходя из сказанного - спорить, что круче - проектирование правильной структуры БД или же легкая и быстрая обработка множества данных бестолку, так как это уже из разных опер :)

P.S. Прошу прощения, если где то слишком невнятно выразился, с терминологией у меня честно говоря по жизни было плохо.
21 сен 04, 01:21    [973973]     Ответить | Цитировать Сообщить модератору
 Re: Сравнение объектно-ориентированных, реляционных и объектно-реляционных СУБД .  [new]
c127
Guest
2 Андрей Леонидович

>Я изложил концепции ОМД. Что Вам не понятно. Спросите, я отвечу.

Спрашиваю: где?

Ткните пальцем в изложение.
21 сен 04, 02:05    [973981]     Ответить | Цитировать Сообщить модератору
 Re: Сравнение объектно-ориентированных, реляционных и объектно-реляционных СУБД .  [new]
c127
Guest
Прошу прощения. Прдедыдущий мой пост это ошибка, посмотрел не на ту страницу. Но вопрос о замкнутом изложении остается актуальным.

2 Андрей Леонидович

>Формального изложения РМД, как мы убедились на многочисленных примерах, не существует.

Пардон, но убедиться НА ПРИМЕРАХ в отсутсвии формального изложения невозможно. Можно показать противоречивость теории, но ведь Вы этого не сделали. А если вдруг это было сделано, то ткните пальцем и впредь называйте вещи своими именами.

>В частности роль ключей и кортежей никем формально не объяснена. И это только начало...

А что значит "роль"? Это в марксистко-ленинкой теории обсасывается роль пролетариата в социалистической революции. А формальная теория не обязана заботиться о смысле и роли вводимых понятий. Есть понятие и этого достаточно. Поэтому Ваш аргумент, даже если он справедлив, аргументом не является.

По определению первичный ключ это множество полей однозначно идентифицирущее запись в таблице. Кортеж это элемент отношения (таблицы). Что еще нужно? Используйте их как хотите или не используйте вообще, право выбора за Вами. Вот это и будет роль.

>И в чем конкретно Вы видите бред в следующих один за другим 6-ти пунктах и двух ограничениях (ведь это сжатое изложение части моего выступления на семинаре в 1999г., которое Вы называете бредом) ?

Я полагаю, что мы говорим о статье, находящейся по ссылке внизу страныцы: http://www.informx.ru/seminar1.htm

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

Как пример:

ОБЪЕКТ - все, что противостоит субъекту в его предметно-практической и познавательной деятельности.

А что такое субъект? Нет определения, но можно догадаться что это наверное то, что противостоит объекту.

ПРЕДМЕТ - все то, что может находиться в отношении или обладать каким-либо свойством.

Свойство же определено через отношение как:

СВОЙСТВО - 1) философская категория, выражающая такую сторону предмета, которая обусловливает его различие или общность с другими предметами и обнаруживается в его отношении к ним;

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

А вот вообще перл:

ПРОСТРАНСТВО и ВРЕМЯ - всеобщие формы существования материи и сознания.

Не восьмидесятый же год на дворе. Но даже тогда Вашу статью с такими определениями в серьезный журнал (например "Кибернетика" ин-та Глушкова) не приняли бы. Разве что в какой-нибудь "Марксист-Ленинец Туркменистана".
21 сен 04, 04:07    [974008]     Ответить | Цитировать Сообщить модератору
 Re: Сравнение объектно-ориентированных, реляционных и объектно-реляционных СУБД .  [new]
Андрей Леонидович
Guest
с127 !

Пошли по кругу. С Вами просто беда, как и с ключами.

1. Кортежи итак однозначно идентифицированы. Без первичного ключа. Зачем нужен первичный ключ ?

2. В ЧЕМ КОНКРЕТНО Вы видите бред в следующих один за другим 6-ти пунктах и двух ограничениях (ведь это сжатое изложение части моего выступления на семинаре в 1999г., которое Вы называете бредом) ?
21 сен 04, 12:32    [975035]     Ответить | Цитировать Сообщить модератору
 Re: Сравнение объектно-ориентированных, реляционных и объектно-реляционных СУБД .  [new]
Андрей Леонидович
Guest
Мимо пробегал... !

Плохо понимаете. Кортежи итак уникальны, по определению. Без всяких ключей.
21 сен 04, 12:34    [975041]     Ответить | Цитировать Сообщить модератору
 Re: Сравнение объектно-ориентированных, реляционных и объектно-реляционных СУБД .  [new]
Андрей Леонидович
Guest
ASCRUS !

Я Вас хорошо понял, все у Вас нормально с терминологией. Но должен немного поправить.

1. Как я сказал в своем первом сообщении, MUMPS - это среда для разработки СУБД. Упомянутая Вами команда этого не поняла, и мучилась, в результате, совершенно напрасно.

2. Хранимые процедуры и триггеры, конечно же есть в ОСУБД, и их не следует класть на чашу весов.

3. Конечно же, в ОСУБД пользователи делают нерегламентированные запросы (отчеты). Такого минуса у ОСУБД нет.
21 сен 04, 12:39    [975060]     Ответить | Цитировать Сообщить модератору
 Re: Сравнение объектно-ориентированных, реляционных и объектно-реляционных СУБД .  [new]
Андрей Леонидович
Guest
U-gene !

Прочитал Вашу статью. Три раза. Конечно, этого недостаточно для ясного понимания. Законспектировал. Теперь читаю по дороге на работу и домой. Наверное некорректно с моей стороны задавать Вам какие-то вопросы. Но Вы странно поступили: "ушли", сказав, что у Вас есть определенные соображения, и Вы их изложите, а оказывается все уже было изложено.

Надеюсь когда-нибудь мы доберемся до "глобальных" вопросов типа: какова цель отображения объектов концептуального уровня в отношения РМД. Но пока нужно преодолеть "простые" технические вопросы. Сейчас мы обсуждаем роль ключей в РМД и идентификаторов в ОМД. Мне кажется эта тема должна быть Вам интересна. Ведь в своей модели Вы используете одновременно и идентификаторы, и первичные ключи, и ссылки, и внешние ключи.
21 сен 04, 12:47    [975091]     Ответить | Цитировать Сообщить модератору
 Re: Сравнение объектно-ориентированных, реляционных и объектно-реляционных СУБД .  [new]
Андрей Леонидович
Guest
Всем наблюдателям рекомендую почитать статью U-gene о его модели "объект-качество", так как она имеет самое непосредственное отношение к теме дискуссии.
21 сен 04, 12:50    [975101]     Ответить | Цитировать Сообщить модератору
 Re: Сравнение объектно-ориентированных, реляционных и объектно-реляционных СУБД .  [new]
Андрей Леонидович
Guest
vadiminfo !

Почему "необходимость ключей не отменяется уникальностью кортежей" ? Зачем нужен первичный ключ ? Например, было такое мнение: для отделения сущности от описания сущности...
21 сен 04, 13:08    [975174]     Ответить | Цитировать Сообщить модератору
 Re: Сравнение объектно-ориентированных, реляционных и объектно-реляционных СУБД .  [new]
vadiminfo
Member

Откуда: Обнинск
Сообщений: 4802
2 c127
Андрей Леонидович не утруждает себя ответом на вопрос как он добьется с помощью униукальности кортежей, чтобы нельзя было внести двух одинаковых табельных номеров. От того и не может понять зачем нужны ключи. Возможно, он не в курсе что такое ключ. Потому и задает наивные вопросы. Похоже БД, которые он создавал, еще те системы. Там наверное и запросы писать бесполезно - полно дубликатов, но с разными OID. Ответ все равно не правильный будет. К тому же ключи не только в РМД, но и в модели ER, так что это не адресная критика РМД, а целой группы моделей. Да и уникальность кортежей в РМД - это устаревшие сведения у него. А может он просто дурачится? И намеренно задает глупые вопросы, тем более повторяет их, а мы в серьез отвечаем. А ему весело от этого.
21 сен 04, 13:40    [975311]     Ответить | Цитировать Сообщить модератору
 Re: Сравнение объектно-ориентированных, реляционных и объектно-реляционных СУБД .  [new]
sparrow
Member

Откуда: Россия, Красноярск.
Сообщений: 21761
Мастера демагогии не побемы. Однако этот спор может быть и полезен наблюдателям. Хотя врятли...
21 сен 04, 14:13    [975465]     Ответить | Цитировать Сообщить модератору
 Re: Сравнение объектно-ориентированных, реляционных и объектно-реляционных СУБД .  [new]
sparrow
Member

Откуда: Россия, Красноярск.
Сообщений: 21761
Мастера демагогии не побемы. Однако этот спор может быть и полезен наблюдателям. Хотя врятли...
21 сен 04, 14:15    [975472]     Ответить | Цитировать Сообщить модератору
 Re: Сравнение объектно-ориентированных, реляционных и объектно-реляционных СУБД .  [new]
Павел Воронцов
Member

Откуда: Новосибирск
Сообщений: 2402
Блог
To Андрей Леонидович

Андрей Леонидович, дорогой, в РМД НЕТ понятия "первичный ключ". Есть понятие "потенциальный ключ" или просто "ключ".

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

В том числе по определению отношения всё множество атрибутов является потенциальным ключом (как Вы совершенно правильно замечаете).

Однако для удобства один из потенциальных ключей объявляется первичным. Только и всего.

Всё же хочется услышать определение ОБЪЕКТА. Математически точное, а не философское.
21 сен 04, 14:19    [975489]     Ответить | Цитировать Сообщить модератору
 Re: Сравнение объектно-ориентированных, реляционных и объектно-реляционных СУБД .  [new]
sparrow
Member

Откуда: Россия, Красноярск.
Сообщений: 21761
Мастера демагогии не побемы. Однако этот спор может быть и полезен наблюдателям. Хотя врятли...
21 сен 04, 14:28    [975519]     Ответить | Цитировать Сообщить модератору
 Re: Сравнение объектно-ориентированных, реляционных и объектно-реляционных СУБД .  [new]
vadiminfo
Member

Откуда: Обнинск
Сообщений: 4802
2 Андрей Леонидович
Ну вот и скажите как Вы добьетесь, чтобы нельзя было внести двух одинаковых табельных номеров, хотя и с разными зарплатами в одну таблицу.
Если Вы спрашиваете зачем мне это, то это вопрос уже не о ключах, а о требованиях пользователя. Почему бывают такие требования. Я тоже писал. Но Вы не читаете или не отвечаете. Что касается сущностей, то это термины ER. Там тоже есть ключи. Причем даже не обязательно один ключ на один тип сущностей. Т.е. имеет значение по каким атрибутам сущности уникальны, а не вообще сам факт уникальности сам по себе по всем атрибутам. Я вам говорил, что ключи имеют значения для навязывания функциональных зависимостей между атрибутами схеме БД. Поэтому их может быть несколько на одно отношение. Не могу догадаться почему Вам это не понятно, и почему Вы считаете уникальность кортежа сильней уникальности отдельных атрибутов кортежа, тогда как из математики известно обратное. Да и Ваш пример с Петровым это показывает.
21 сен 04, 14:30    [975526]     Ответить | Цитировать Сообщить модератору
 Re: Сравнение объектно-ориентированных, реляционных и объектно-реляционных СУБД .  [new]
Андрей Леонидович
Guest
Павел Воронцов !

А где (в чем) есть понятие первичный ключ ? Для какого удобства, для удобства ЧЕГО объявляется первичный ключ ?
21 сен 04, 14:56    [975644]     Ответить | Цитировать Сообщить модератору
 Re: Сравнение объектно-ориентированных, реляционных и объектно-реляционных СУБД .  [new]
Андрей Леонидович
Guest
vadiminfo !

Есть, например, мнение, что первичный ключ нужен для отделения сущности от описания. Или для удобства (пока, правда, никто не хочет признаваться для удобства ЧЕГО). Для исключения дубликатов первичные ключи, конечно, не нужны. Кортежи итак уникальны, по определению.
21 сен 04, 14:59    [975662]     Ответить | Цитировать Сообщить модератору
 Re: Сравнение объектно-ориентированных, реляционных и объектно-реляционных СУБД .  [new]
x
Guest
Андрей Леонидович
Есть, например, мнение, что первичный ключ нужен для отделения сущности от описания. Или для удобства (пока, правда, никто не хочет признаваться для удобства ЧЕГО)

Любой потенциальный ключ позволяет однозначно идентифицировать кортеж.
Первичный ключ - тот который по мнению разработчика наиболее для этого удобен.

Такое признание устроит ?
21 сен 04, 16:31    [976154]     Ответить | Цитировать Сообщить модератору
 Re: Сравнение объектно-ориентированных, реляционных и объектно-реляционных СУБД .  [new]
Андрей Леонидович
Guest
x !

Нет, не устроит.

1. Кортеж итак однозначно идентифицирован. Без всяких ключей.
2. ДЛЯ ЧЕГО будет удобен первичный ключ ?
21 сен 04, 17:15    [976311]     Ответить | Цитировать Сообщить модератору
 Re: Сравнение объектно-ориентированных, реляционных и объектно-реляционных СУБД .  [new]
osse
Member

Откуда: Н-ск
Сообщений: 162
В.М. Шукшин "Штрихи к портрету" ч.2. «О смысле жизни»

...
– Хорошо, – взял себя в руки Сильченко. И даже присел на дедов верстак. – Ну-ка, ясно, просто, точно – что вы хотите сказать? Нормальным русским языком. Так?
– Вы где живете? – спросил Князев.
– В Томске.
– Нет, шире… В целом, – Князев широко показал руками.
– Не понимаю. Ну, не понимаю! – стал опять нервничать Сильченко. – В каком «в целом»? В чем это? Где?
– В государстве живете, – продолжал Князев. – В чем лежат ваши главные интересы? С чем они совпадают?
– Не знаю.
– С государственными интересами. Ваши интересы совпадают с государственными интересами. Сейчас я понятно говорю?
– Ну, ну, ну?
– В чем же тогда ваш смысл жизни?
– Ну, ну, ну?
– Да не «ну», а уже нужна черта: в чем смысл жизни каждого гражданина?
– Ну, в чем?.. Чтобы работать, быть честным, – стал перечислять Сильченко, – защищать Родину, когда потребуется…
Князев согласно кивал головой. Но ждал чего-то еще, а чего, Сильченко никак не мог опять уловить.
– Это все правильно, – сказал Князев. – Но это все – ответвления. В чем главный смысл? Где главный, так сказать, ствол?
– В чем?
– Я вас спрашиваю.
– А я не знаю. Ну, не знаю, что хошь делай! Ты просто дурак! Долбо… – и Сильченко матерно выругался. И вскочил с верстака. – Чего тебе от меня надо?! – закричал он. – Чего?! Ты можешь прямо сказать? Или я тебя попру отсюда поленом!.. Дурак ты! Дубина!..
...

Что-то, похоже, вся дискуссия к этому сводится. А жаль, тема интересная...
Прошу прощения за offtop.
21 сен 04, 17:48    [976505]     Ответить | Цитировать Сообщить модератору
 Re: Сравнение объектно-ориентированных, реляционных и объектно-реляционных СУБД .  [new]
x
Guest
Андрей Леонидович
Кортеж итак однозначно идентифицирован. Без всяких ключей.
Да можно идентифицировать кортеж по всем его полям.
Ну и что ?
А можно по одному из потенциальных ключей.
Удобней ? По мне - да.
21 сен 04, 19:32    [976803]     Ответить | Цитировать Сообщить модератору
 Re: Сравнение объектно-ориентированных, реляционных и объектно-реляционных СУБД .  [new]
Андрей Леонидович
Guest
Дейт К.Дж. Введение в системы баз данных, 7-е издание.: Пер. с англ. - М.: Издательский дом "Вильямс", 2001 (стр. 314,315):

Как мы уже убедились, некоторые переменные-отношения вполне могут иметь несколько потенциальных ключей. В таком случае в реляционной модели по традиции ... один из потенциальных ключей должен быть выбран в качестве первичного ключа, а все остальные потенциальные ключи будут называться альтернативными... В том случае, когда в базовой переменной-отношении существует только один потенциальный ключ, согласно реляционной модели (опять же традиционно) именно он должен быть выбран в качестве ее первичного ключа. Следовательно, каждая базовая переменная-отношение всегда должна иметь первичный ключ.
Конец цитаты.

ПО ТРАДИЦИИ (!!!) ДОЛЖЕН (!!!) БЫТЬ ВЫБРАН (!!!)

И это называется ТЕОРИЕЙ ? Такие "аргументы" (а их было немало в попытках формализовать РМД, и я их много и подробно цитировал) разрушают РМД до основания. "Р", конечно, остается (ради SQL все это и затевалось), но где вы видите "МД" ? Нет ее. Хорошо хоть традиции есть.

Господа ! Почему вы пытаетесь объяснить необъяснимое ? Ради чего ? Можно подумать, что это вы являетесь авторами реляционной "теории", и переживаете, когда ее "критикуют". Еще раз повторю: ничего я не критикую, а всего лишь пытаюсь понять. И найти какое-то здравое зерно в этой "теории". И оно есть: декларативное программирование. Но использоваться оно должно НАРЯДУ с навигацией, а не ВМЕСТО нее. И т.д., и т.п. Читайте выше...

Так зачем нужны первичные ключи ? Зачем "переменная-отношение всегда должна иметь первичный ключ" ?
21 сен 04, 22:47    [976994]     Ответить | Цитировать Сообщить модератору
 Re: Сравнение объектно-ориентированных, реляционных и объектно-реляционных СУБД .  [new]
Андрей Леонидович
Guest
x !

Почему удобнее идентифицировать кортеж не по всем его полям. По скольким полям Вы обычно идентифицируете кортежи ? Почему для идентификации Вы не пользуетесь идентификаторами ? Ведь они позволяют вообще не задумываться об идентификации. Вы видели как работают приложения в среде ОСУБД ? Что Вам понравилось, и что не понравилось в такой технологии, в объектном интерфейсе ? Вы знаете что такое интегрированный язык баз данных ? Чем он Вам не понравился ? И т.д. См. выше...
22 сен 04, 00:11    [977030]     Ответить | Цитировать Сообщить модератору
 Re: Сравнение объектно-ориентированных, реляционных и объектно-реляционных СУБД .  [new]
vadiminfo
Member

Откуда: Обнинск
Сообщений: 4802
2 Андрей Леонидович
А на вопросы Вы не отвечаете почему? Вы бы ответили хоть раз для приличия.

>Для исключения дубликатов первичные ключи, конечно, не нужны. Кортежи итак уникальны, по определению.
А как на счет двух одинаковых табельных номеров, когда в таблице не допустимо иметь два одинаковых? В том примере. Если табельный номер объявлен первичным ключем, то и кортеж уникален. Но если кортеж уникален, то табельный номер не уникален в общем случае. Т.е. отношение с ключем имеет более сильные ограничения целостности, чем без оного. Мне уникальность кортежа не представляется ценной ни в каком смысле, тогда как ключи обеспечивают необходимую уникальность по любой группе атрибутов. Ваши цитаты не есть теория РМД. Это скорее упрощенные тексты для начинающих о том, почему ключи делят на первичные и потенциальные (или альтернативные) на практике. Это уже другой вопрос, а не Ваш - Зачем нужны ключи, если кортежи в базовой РМД уникальны (в расширенной они не уникальны по определению мультимножества).
Я и задаю Вам вопрос (уже в десятый раз) как начинающему про табельный номер. В
отношении
Таб № Зарплата
1 ...... 20
1 ...... 30

кортежи уникальны. Но табельный номер 1 повторяется. Это нарушает целостность данных: в отношении не должно быть двух одинаковых табельных номеров (в теории это означает, что таб № - это ключ, а пример выше - противоречивое состояние отношения). Если я объявлю Таб № ключем (выделенный ключ), то бухгалтер не сможет занести двух одинаковых табельных номеров, т.е. там будет только один раз 1.
Т.е. я навяжу отношению функциональную зависимость Таб № -> Зарплата. Эта зависимость присутствует в представлениях пользователей о ПО.
А что Вы сделаете? Кортежи то в этом отношении уникальны, а толку от этого никакого нет.
В большинстве современных РСУБД используются мультимножества. А проектировщик может управлять уникальностью с помощью ключей как ему нужно, чтобы спроектировать наиболее оптимально схему БД. А по Вашему СУБД должна проверять уникальность кортежей, которая в теории РМД ничего дает, а на практике может даже мешать. А если она понадобится можно объявить составной ключ из всех котежей. Оракл поддерживает несколько типов таблиц, в том числе и такие, в которых обеспечивается уникальность кортежей, но на практике в основном пользуются таблицами, которые допускают дубликаты, если не обявлять ключей. И это не удобней, а эффективней.

А Вы ведь уже на много вопросов не ответили. А свой повторяете просто так, как будто Вам ничего не отвечали. Ответы не комментируете по существу.
Поэтому вы и любите семинары? Там можно говорить всякий вздор, но никто не записывает. И поэтому можно потом говорить, что я им на семинаре доказал что-то, хотя ничего не было доказано на деле? Но здесь то видно, что Вы писали, и какие Вам вопросы задавали. Это все-таки из области неблаговидных приемов пропоганды. Поэтому Вы скорее всего лукавите, когда Вы говорите что хотите что-то понять про РМД. Наверное, ничего Вы в ней не хотите понять и не пытаетесь. Вы хотите так пропагандировать устаревшую Вашу ОИМД систему (или просто некую ИМД - пока не ясно), которой РМД мешает, потому что заведомо лучше. Эти подозрения напрашиваются из выбранного Вами способа вести дискуссию.
22 сен 04, 01:03    [977055]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 23 24 25 26 27 [28] 29 30 31 32 .. 83   вперед  Ctrl
Все форумы / Сравнение СУБД Ответить