powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Путешествия в прошлое
21 сообщений из 121, страница 5 из 5
Путешествия в прошлое
    #38753736
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кот МатроскинАнатоЛойПросто. На каждый "обычный" внешний ключ нужно иметь ещё один внешний ключ, ссылающийся на исторически правильную запись.

Какой в этом смысл? у Вас есть внешний ключ (определяющий множество "версий" обьекта) и дата ретроспективы (глобальная). Этого достаточно, чтобы выбрать исторически правильную версию - зачем нужен дополнительный внешний ключ?
Странно, я думал что это очевидно: уменьшить затраты "исторического" SELECT на одну из самых частых операций - JOIN... Там и так тормозов будет хватать... Готовим "удобные данные" сразу при загрузке....
...
Рейтинг: 0 / 0
Путешествия в прошлое
    #38753767
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АнатоЛойСтранно, я думал что это очевидно: уменьшить затраты "исторического" SELECT на одну из самых частых операций - JOIN...
1. Далеко не факт, что таким образом будут уменьшены какие-то затраты

2. Более существенно - крайне не факт, что "исторически правильная запись" существует и только в единственном экземпляре

3. Ещё более не факт - что никто и никогда не будет редактировать однажды введённые даты.
...
Рейтинг: 0 / 0
Путешествия в прошлое
    #38753771
anvano
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAХм, я в замешательстве. Вы не знаете, что такое ООП? Паттерны и прочая муть?

И как перечисленное связано с поддержкой бизнес-логики в 5 клиентах под 4 различных платформы, написанных на 4 различных языках программирования? Реализация даже детально проработанного алгоритма на другом ЯП неизбежно сопряжена с вероятностью появления ошибок. Так зачем реализовывать одно и то же на 4-х языках, если достаточно реализовать в одном месте - в БД ?
...
Рейтинг: 0 / 0
Путешествия в прошлое
    #38753785
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АнатоЛойКот Матроскинпропущено...


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

Эффективность подобного "уменьшения затрат" зависит от конкретного распределения данных, очевидно - может статься что сработает в минус, а не в плюс. В решении хранения исторических данных "вообще", без привязки к конкретным данным - мне кажется, такие неоднозначные оптимизации малооосмыслены. Не стоит чинить то, что не сломалось (с)
...
Рейтинг: 0 / 0
Путешествия в прошлое
    #38753788
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
anvano в 5 клиентах под 4 различных платформы, написанных на 4 различных языках программирования?
Слушьте, а как вы так ухитрились? Хотя я понимаю, раз у вас для пользователей и для саппорта два разных клиента, можно и не такое...
...
Рейтинг: 0 / 0
Путешествия в прошлое
    #38754015
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
anvanoВидимо у вас такой проект, в котором не требуется
1) Десктопный клиент
2) WEB клиент с точно такой же функциональностью
3) Android клиент, который реализует основные функции приложения
4) iOS клиент, который полностью аналогичен андроидному
5) Вторая версия десктопного клиента специально для техсаппорта, реализующая фичи, недоступные ни в одном из вышеперечисленных, но при этом сохраняющие общий с ними функционал

Я в полнейшем замешательстве. Это что за такая СУБД, которая работает на всех указанных платофрмах, при этом позволяет содержать одинаковую программную логику (уровня T-SQL/PL SQL)?

anvanoВот когда вам потребуется при изменении логики какого-то функционала переписывать ПЯТЬ клиентов, вместо того, чтобы поправить один пакет в базе - тогда и посмотрим, моветон логика в БД или не моветон.

Бред. При чём тут вообще клиент?

anvanoТак что у нас наоборот, за логику в клиенте руки отрывают :)

Интересно, а чем программный код у вас пишут, ногами? Задницей? Трудновато наверное без рук-то.

anvanoПлюс запрещая держать логику в БД для, например, Oracle - вы автоматом выбрасываете на помойку половину функционала БД.

Вы бы почитали для начала, какие задачи должна решать СУБД. Кроме того, наши продукты в основном, не зависят от СУБД (или зависимость крайне слабая). Если бы мы изначально завязывались только на одном вендорном СУБД, мы бы теряли больше половины клиентов. Держать по команде программеров на каждую СУБД по отдельности и писать отдельный код под каждую, это очень накладно. Да и попросту глупо.

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

Собственно вести дискуссию на эту тему считаю бессмысленным. Не вижу ничего плохого в наличии T-SQL/PL SQL и прочих скриптовых плюшек в крупных СУБД, часто они могут быть довольно полезными и нужными, но со стороны качественной разработки серьёзных программных продуктов, бабки несущих, программная логики на стороне БД должна быть выпилена, а за попытки туда сунуться, отстрел на месте без суда и следствия.

anvanoДля хранения обычных табличек можно взять гораздо более дешевую в лицензировании базу.

Глупый и наивный бред, уж извините. Ниче тупее в жизни не слыхал.
...
Рейтинг: 0 / 0
Путешествия в прошлое
    #38754016
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
anvanoВидимо у вас такой проект, в котором не требуется
1) Десктопный клиент
2) WEB клиент с точно такой же функциональностью
3) Android клиент, который реализует основные функции приложения
4) iOS клиент, который полностью аналогичен андроидному
5) Вторая версия десктопного клиента специально для техсаппорта, реализующая фичи, недоступные ни в одном из вышеперечисленных, но при этом сохраняющие общий с ними функционал

И да, забыл сказать, у нас на сегодняшний день таких продуктов даже не одна штука, успешно проданных за очень не смешные деньги. В последнее время успешно осваивается рынок продуктов на WebGL. При чём тут логика в БД -- в упор не пойму.
...
Рейтинг: 0 / 0
Путешествия в прошлое
    #38754021
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
anvanoИ как перечисленное связано с поддержкой бизнес-логики в 5 клиентах под 4 различных платформы, написанных на 4 различных языках программирования? Реализация даже детально проработанного алгоритма на другом ЯП неизбежно сопряжена с вероятностью появления ошибок. Так зачем реализовывать одно и то же на 4-х языках, если достаточно реализовать в одном месте - в БД ?

У вас что, все клиенты напрямую с базой данных общаются?
...
Рейтинг: 0 / 0
Путешествия в прошлое
    #38754022
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt бабки несущихПрямо в точку.
С технической точки зрения код должен быть ближе к данным, чтобы никто не смог вклинится и накосячить. (аналог - методы у классов ООП, без них можно, но с ними лучше)
Но с финансовой точки зрения сразу возникают проблемы
1 Требуется дополнительный программист на процедурном расширение SQL
2 Лишний процессор у СУБД стоит гораздо дороже (по лицензии) чем у аппсервера
3 Лишняя завязка на СУБД мешает продажам коробочного продукта.
В общем: бабло побеждает зло
...
Рейтинг: 0 / 0
Путешествия в прошлое
    #38754037
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerАнатоЛойСтранно, я думал что это очевидно: уменьшить затраты "исторического" SELECT на одну из самых частых операций - JOIN...
1. Далеко не факт, что таким образом будут уменьшены какие-то затраты
!!! При запросах ВМЕСТО функции "дай запись с таким-то кодом актуальную на такую-то дату" можем сделать этот поиск при сохранении записи в истории. И при работе с историей доя ссылок сразу пользоваться "дай ид записи истории по первичному ключу". Примеры для большего понимания приводить? Да, это не всегда однозначно эффективнее, но я и не догму тут проталкиваю :)

2. Более существенно - крайне не факт, что "исторически правильная запись" существует и только в единственном экземпляре
!!! Вы не вчитывались. В идею. Я предлагал менять значения в полях для вторичных ключей. Какая в них может быть не уникальность? ! Ну если не существует, ок, в неё и так нулл запихнуто будет...

3. Ещё более не факт - что никто и никогда не будет редактировать однажды введённые даты.
!!! Поменяют даты, поменяются ссылки. Делов-то триггер сгегерировать...
...
Рейтинг: 0 / 0
Путешествия в прошлое
    #38754089
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АнатоЛой!!! При запросах ВМЕСТО функции "дай запись с таким-то кодом актуальную на такую-то дату" можем сделать этот поиск при сохранении записи в истории
Можем. И получим 1. Далеко не факт, что таким образом будут уменьшены какие-то затраты

АнатоЛой!!! Вы не вчитывались. В идею.
Вчитывался, к сожалению, куда больше чем она заслуживает. Если пытаться буквально выполнить то, что там написано, то "идея" падает уже на попытке сегодня вставить записи о, например, президентстве Бориса Ельцина - она добросовестно подвяжет "вторичные ключи" на записи, актуальные на 14-й год. Если же предвосхитить громкий крик "да я имел в виду логическую дату инсёрта, ту, что в самой записи", то представьте себе, что в оперативных данных от "президент РФ" протянут внешний ключ к "президент США" и попробуйте использовать свою конструкцию для ответа на вопрос "с кем Ельцин обнимался 10 сентября 98-го года".

АнатоЛой!!! Поменяют даты, поменяются ссылки. Делов-то триггер сгегерировать...
Ну да, конечно. Итак, 1.09.2014 я вставил запись с date_from = 1.09.2012, date_to = 31.05.2013. 5.09.2014 я отредактировал эту запись, поменяв на date_from = 1.09.2013, date_to = 31.05.2014. Давайте, генерируйте триггер
...
Рейтинг: 0 / 0
Путешествия в прошлое
    #38754331
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
anvanoskyANAХм, я в замешательстве. Вы не знаете, что такое ООП? Паттерны и прочая муть?

И как перечисленное связано с поддержкой бизнес-логики в 5 клиентах под 4 различных платформы, написанных на 4 различных языках программирования? Реализация даже детально проработанного алгоритма на другом ЯП неизбежно сопряжена с вероятностью появления ошибок. Так зачем реализовывать одно и то же на 4-х языках, если достаточно реализовать в одном месте - в БД ?И где Вы выше писали про 4 разных языках программирования? Лично мы пишем все 5 клиентов на одном языке.

И я так понимаю, что мобильные клиенты у вас в оффлайн режиме не работают, так?
...
Рейтинг: 0 / 0
Путешествия в прошлое
    #38754709
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttИнтересует, доводилось ли кому-нибудь проектировать базу данных таким образом, чтобы в программе можно было выбрать дату и посмотреть полное состояние всей системы на это время без артефактов , естественно без возможностей изменения данных? Как будто был произведён откат, но без использования отката, т.е. на уровне данных.

При чём в режиме "исторического просмотра" должны полноценно работать все функции системы (просмотр, фильтрация, сортировки и т.д.), кроме создания/изменения данных.
hVostt, о каких таких артефактах речь?
...
Рейтинг: 0 / 0
Путешествия в прошлое
    #38754712
17-77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
anvanoВот когда вам потребуется при изменении логики какого-то функционала переписывать ПЯТЬ клиентов, вместо того, чтобы поправить один пакет в базе - тогда и посмотрим, моветон логика в БД или не моветон.
зачем переписывать пять клиентов? в таком случае есть сервер приложений, и все клиенты стучатся к одному интерфейсу, и вот за ним стоит бизнес-логика, правишь в одном месте и все работает

anvanoПлюс запрещая держать логику в БД для, например, Oracle - вы автоматом выбрасываете на помойку половину функционала БД.
Для хранения обычных табличек можно взять гораздо более дешевую в лицензировании базу.
зависит от..., например переход с Oracle на MS SQL в вашем случае будет стоить ОЧЕНЬ МНОГО денег и времени, в случае с логикой на сервере приложений - достаточно поменять строку подключения для ORM и при необходимости дописать расширения для преобразования типов данных, в зависимости от типа СУБД
...
Рейтинг: 0 / 0
Путешествия в прошлое
    #38754767
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerАнатоЛой Вы не вчитывались. В идею.
Вчитывался, к сожалению, куда больше чем она заслуживает.

Э, думаю, моей вины в этом нет, но могу извиниться :).

softwarerАнатоЛой!!! Поменяют даты, поменяются ссылки. Делов-то триггер сгегерировать...
Ну да, конечно. Итак, 1.09.2014 я вставил запись с date_from = 1.09.2012, date_to = 31.05.2013. 5.09.2014 я отредактировал эту запись, поменяв на date_from = 1.09.2013, date_to = 31.05.2014. Давайте, генерируйте триггер

По-моему, я достаточно однозначно определил метод хранения : [b]с одной датой изменения .
SERG1257Решения которые надо принять -
1 хранить версии в той же таблице myTable ... или в другой myTable_hist...
2 использовать две даты d_from default(до начала времен), d_to default(конец времен)
или одну дату d_change (надежнее, но медленнее выборки)


АнатоЛой3.2.Для каждой таблицы из ОБД в ИБД последовательно сделано:
...
3) добавлены доп. поля:
...
в) timestamp - дата и время добавления записи в ИБД.
...


softwarerАнатоЛой!!! При запросах ВМЕСТО функции "дай запись с таким-то кодом актуальную на такую-то дату" можем сделать этот поиск при сохранении записи в истории
Можем. И получим 1. Далеко не факт, что таким образом будут уменьшены какие-то затраты


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


softwarerЕсли пытаться буквально выполнить то, что там написано, то "идея" падает уже на попытке сегодня вставить записи о, например, президентстве Бориса Ельцина - она добросовестно подвяжет "вторичные ключи" на записи, актуальные на 14-й год. Если же предвосхитить громкий крик "да я имел в виду логическую дату инсёрта, ту, что в самой записи", то представьте себе, что в оперативных данных от "президент РФ" протянут внешний ключ к "президент США" и попробуйте использовать свою конструкцию для ответа на вопрос "с кем Ельцин обнимался 10 сентября 98-го года".
:) Да, я имел в виду логическую дату инсёрта, ту, что в самой записи. Возможно, я не понял ваш пример. Рассмотрю в отдельном сообщении.
...
Рейтинг: 0 / 0
Путешествия в прошлое
    #38754795
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot АнатоЛойВы о том, что прогноз по количеству "исторических" обращений должен каким-то образом перекрыть затраты на доп. обработку данных при сохранении? [/quot]
Сам "исторический" запрос может работать медленнее (вообще вынося за скобки все сохранение) - за счет того что размер записи больше и данных больше надо поднимать с диска.
...
Рейтинг: 0 / 0
Путешествия в прошлое
    #38754812
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АнатоЛойhVostt, о каких таких артефактах речь?

О будущем. Т.е. ошмётки "будущего" не должны светиться, типа значений справочников, или чего-то ещё.
...
Рейтинг: 0 / 0
Путешествия в прошлое
    #38754829
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АнатоЛойПо-моему, я достаточно однозначно определил метод хранения : [b]с одной датой изменения
А что такое дата изменения? Скажем, сегодня, 23.09.2014 я хочу вставить в БД информацию о том, что В.В.Путин был президентом РФ с 07.05.2000 по 07.05.2008 и с 07.05.2012 по null. Расскажите, пожалуйста, как эта информация должна лечь в БД?

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

а) Интуитивное мнение, что "по точному id найти легче" вовсе не обязано соответствовать действительности. Скажем, индекс по "неточный-id, data" в ряде случаев справится ничуть не хуже

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

У нас есть таблицы "Президенты РФ", "Президенты США" и "Кризисы в России".

20.01.1989 строка в таблице ОБД."Президенты США" апдейтится на "Джордж Буш", соответствующий insert уезжает в ИБД.

10.07.1991 в таблицу ОБД."Президенты РФ" вставляется строка "Борис Ельцин", соответствующий insert уезжает в ИБД. Внешний ключ "президент США" при этом указывает на Буша.

20.01.1993 строка в таблице ОБД."Президенты США" апдейтится на "Билл Клинтон", соответствующий insert уезжает в ИБД.

17.08.1998 в таблицу ОБД."Кризисы в России" вставляется строка "Технический дефолт", соответствующий insert уезжает в БД. Внешний ключ "президент России" при этом указывает на Ельцина.

23.09.2014 я получаю задание: для каждого кризиса вывести, кто в это время был президентом РФ и кто - президентом США. Пишу простой запрос и получаю результат: Технический дефолт - Борис Ельцин - Джордж Буш.


Чтобы разрулить эту простенькую проблему, придётся дальше насиловать триггера и при вставке Клинтона вставить ещё и другую запись про Ельцина. То есть по факту при изменении любого объекта в БД делать deep copying всех записей, которые прямо или косвенно на него ссылаются. Особенно прикольно это будет в случае циклических ссылок. Размер базы при этом станет таким, что о "ускорении выборки" говорить будет уже просто смешно.
...
Рейтинг: 0 / 0
Путешествия в прошлое
    #38755247
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне тоже кажется, что только на пальцах сможем увидеть разногласия. ОК. По 1-му вопросу:
softwarerАнатоЛойПо-моему, я достаточно однозначно определил метод хранения : [b]с одной датой изменения
А что такое дата изменения? Скажем, сегодня, 23.09.2014 я хочу вставить в БД информацию о том, что В.В.Путин был президентом РФ с 07.05.2000 по 07.05.2008 и с 07.05.2012 по null. Расскажите, пожалуйста, как эта информация должна лечь в БД?


Мой вариант под спойлером.



softwarer23.09.2014 я хочу вставить в БД информацию о том, что В.В.Путин был президентом РФ с 07.05.2000 по 07.05.2008 и с 07.05.2012 по null.

Чтобы проще было работать с примером:
1) идентификаторы записей по всем БД уникальны.
2) для каждой таблицы в первичном идентификаторе есть префикс, уникальный среди всех таблиц
2) В ИБД идентификаторы стартуют со 100.
3) Даты операций отличаются минимум 2 днями, чтобы проще потом демонстрировать запрос на дату между операциями.

ОБД:

Государства
Ид Название (рус) Последняя дата изменения в ОБДГ11 Российская федерация 01.09.2014

Персоны:
Ид ФИО Последняя дата изменения в ОБДП21 Путин В.В. 03.09.2014

Главы государств
Ид Государство Персона С По Должность Последняя дата изменения в ОБДГГ31 Г11 ГГ21 07.05.2000 07.05.2008 Президент 23.09.2014ГГ32 Г11 ГГ21 07.05.2012 null Президент 23.09.2014

ИБД:

Государства
Ид Ид (в ОБД) Название (рус) Дата вставки ОперацияИГ111 Г11 Российская федерация 01.09.2014 Insert

Персоны:
Ид Ид (в ОБД) ФИО Дата вставки ОперацияИП121 П21 Путин В.В. 03.09.2014 Insert

Главы государств
Ид Ид (в ОБД) Государство (в ОБД) Государство Персона (в ОБД) Персона С По Должность Дата вставки ОперацияИГГ131 ГГ31 Г11 ИГ111 П21 ИП121 07.05.2000 07.05.2008 23.09.2014 Президент InsertИГГ132 ГГ32 Г11 ИГ111 П21 ИП121 07.05.2012 null 23.09.2014 Президент Insert

Смело задавайте вопросы :).
По второму варианту готовлю отдельное сообщение.
...
Рейтинг: 0 / 0
Путешествия в прошлое
    #38755255
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer
Нет. В первую очередь я о том, что метод выборки "по точной ссылке на версию" вообще не факт что даст какую-то видимую экономию. Это может происходить по двум причинам:

а) Интуитивное мнение, что "по точному id найти легче" вовсе не обязано соответствовать действительности. Скажем, индекс по "неточный-id, data" в ряде случаев справится ничуть не хуже

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

softwarerСкажем, условный сценарий:

1) [i]У нас есть таблицы "Президенты РФ", "Президенты США" и "Кризисы в России".

2) 20.01.1989 строка в таблице ОБД."Президенты США" апдейтится на "Джордж Буш", соответствующий insert уезжает в ИБД.
Уточните: в ОБД строка апдейтится или инсертится?

3) 10.07.1991 в таблицу ОБД."Президенты РФ" вставляется строка "Борис Ельцин", соответствующий insert уезжает в ИБД. Внешний ключ "президент США" при этом указывает на Буша.
Речь идёт о внешнем ключе "президент США" из таблицы "Президенты РФ" на таблицу "Президенты США"?
Если да - смысл внешнего ключа "А в это время в США президентом был ..."?

4) 20.01.1993 строка в таблице ОБД."Президенты США" апдейтится на "Билл Клинтон", соответствующий insert уезжает в ИБД.
Уточните: в ОБД строка апдейтится или инсертится?

5) 17.08.1998 в таблицу ОБД."Кризисы в России" вставляется строка "Технический дефолт", соответствующий insert уезжает в БД. Внешний ключ "президент России" при этом указывает на Ельцина.
Уточните: смысл внешнего ключа "А в это время в России президентом был ..."?
...
Рейтинг: 0 / 0
21 сообщений из 121, страница 5 из 5
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Путешествия в прошлое
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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