powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Структура БД на триггерах
29 сообщений из 29, показаны все 2 страниц
Структура БД на триггерах
    #38445902
Фотография Torre
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Коллеги, нужен совет.
Руководитель проекта планирует создать структуру таблиц (более 1 тыс.) для БД к проекту целиком без Primary Key и Identity Specification, целостность же данных поддерживать полностью на триггерах, которые будут на Insert создавать uniqueidentifier, на основе которого будет построен глобальный индекс БД.

Запросы к БД предполагается зашить в программу (толстый клиент). Программа почти не использует поиск в БД в своем функционале и является обыкновенной учеткой.

Коллеги, выскажите свое мнение, насколько оправдан такой подход для внешней программы и широкого взаимодействия из нее через веб-сервисы?

Модератор: Тема перенесена из форума "Microsoft SQL Server".
...
Рейтинг: 0 / 0
Структура БД на триггерах
    #38445915
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TorreПрограмма почти не использует поиск в БД в своем функционале и является обыкновенной учеткой.Фильтрация и поиск данных - один из основных кейсов в учётных системах
...
Рейтинг: 0 / 0
Структура БД на триггерах
    #38445927
rockclimber
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хочу купить порше кайен, демонтировать переднее пассажиское сиденье, на его место поставить печку-буржуйку и топить дровами, а встроенную печку не использовать. Она же ведь сломаться может в процессе эксплуатации! Машина нужна просто зимой на работу ездить, возить пассажиров или в жару кататься не планирую.
Коллеги, выскажите свое мнение, насколько оправдан такой тюнинг в Москве?
...
Рейтинг: 0 / 0
Структура БД на триггерах
    #38445933
Фотография Torre
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
egorychФильтрация и поиск данных - один из основных кейсов в учётных системахОсвещу немного этот момент, поиск в программе вообще не предусмотрен функционалом, в административной части есть поиск пользователей, и это все.

Сторонникам динамического генерирования identity поясню, что операции SELECT – 80%, INSERT - 15%, UPDATE – 2%, DELETE – 3%
...
Рейтинг: 0 / 0
Структура БД на триггерах
    #38445940
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну а от форума-то ты чего хочешь? Утверждений, что идея бесперспективна? Так это ясно
любому с первого взгляда. Заверений, что она будет работать? Так она и будет, хоть и
хреново. Переубеждения начальника? Так это в принципе бесполезно.

Так что давай, строй эту хрень, мотай на ус бесценный опыт как делать не надо.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Структура БД на триггерах
    #38445941
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Torreпоиск в программе вообще не предусмотрен функционалом
...
операции SELECT – 80%SELECT без поиска - предполагается полностью таблицы в память загружать?
Тогда зачем вам вообще СУБД? делали бы уж для экономии на dbf-ах
...
Рейтинг: 0 / 0
Структура БД на триггерах
    #38446099
П-Л
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Более 1 тысячи таблиц - это что ? 1000 уникальных сущностей или по 100 таблиц типа Данные1мес13года, Данные2мес13года ? Учетка без поиска - это как ? Информация вводится с зажмуренными глазами невзирая на то, что там уже есть ? Просматривать данные потом никогда не придется, пользователям вменяется в обязанность помнить все айди всех сущностей ?

Было бы крайне интересно услышать хотя бы общее описание предметной области и конкретики проекта.
...
Рейтинг: 0 / 0
Структура БД на триггерах
    #38446142
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
П-ЛБолее 1 тысячи таблиц - это что ? 1000 уникальных сущностей или по 100 таблиц типа Данные1мес13года, Данные2мес13года ? Учетка без поиска - это как ? Информация вводится с зажмуренными глазами невзирая на то, что там уже есть ? Просматривать данные потом никогда не придется, пользователям вменяется в обязанность помнить все айди всех сущностей ?

Было бы крайне интересно услышать хотя бы общее описание предметной области и конкретики проекта.+1 ))
...
Рейтинг: 0 / 0
Структура БД на триггерах
    #38446245
Гость333
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Torreuniqueidentifier, на основе которого будет построен глобальный индекс БД
Здесь поподробнее, пожалуйста.
Что за "глобальный индекс", и для каких целей он нужен?
...
Рейтинг: 0 / 0
Структура БД на триггерах
    #38446296
Гость333,

Видимо это что то типа мн-ва уникальных OID, которые должны различаться по всем таблицам.
...
Рейтинг: 0 / 0
Структура БД на триггерах
    #38446335
Злой Бобр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Torre,

Действительно, непонятно чего вы от нас хотите?.. Тут уже сказали - идея бредовая, реализация кривая, руководитель проекта пилить (судя по всему) умеет. Так что от тебя ничего независит. Делай как говорят. В конце концов кто платит тот и заказывает музыку.
Можешь по ходу подыскивать другую работу, т.к. руководитель на завершающем этапе сложит ласты и все шишки пойдут на исполнителей.
...
Рейтинг: 0 / 0
Структура БД на триггерах
    #38446415
Гость333
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимо пробегал...уникальных OID, которые должны различаться по всем таблицам
Дык, а нахрена это надо-то?
...
Рейтинг: 0 / 0
Структура БД на триггерах
    #38446521
Cane Cat Fisher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гость333Мимо пробегал...уникальных OID, которые должны различаться по всем таблицам
Дык, а нахрена это надо-то?

Чтобы, имея OID, сразу определить, из какой он таблицы.
...
Рейтинг: 0 / 0
Структура БД на триггерах
    #38446570
Фотография Infernal V. Raven
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cane Cat FisherЧтобы, имея OID, сразу определить, из какой он таблицы.Ну не то чтобы сразу... Допустим, если в качестве OID будет использоваться GUID, то придется перебрать идентификаторы всех таблиц.
...
Рейтинг: 0 / 0
Структура БД на триггерах
    #38446611
Гость333
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Infernal V. Raven,

А может, "глобальный индекс" — это отдельная таблица, содержащая OID'ы и указатели на таблицы, где эти OID'ы содержатся?
...
Рейтинг: 0 / 0
Структура БД на триггерах
    #38446652
Фотография Infernal V. Raven
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гость333А может, "глобальный индекс" — это отдельная таблица, содержащая OID'ы и указатели на таблицы, где эти OID'ы содержатся? Может. Но тогда и insert выполняется сразу в два места - в таблицу и индексную таблицу. Т.к. задачу автор не озвучил, трудно сказать требуется это или нет.
...
Рейтинг: 0 / 0
Структура БД на триггерах
    #38446676
Мелкософт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Torre,

дааа, мсье знает толк ....

Ну а вы сами-то как? Разделяете энтузиазм руководителя ?
...
Рейтинг: 0 / 0
Структура БД на триггерах
    #38446695
Фотография Павел Воронцов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Torre,

А какой-нибудь, прости Господи, noSQL под это дело прикрутить не судьба? Если обращение только по идентификаторам и основной функционал "засунуть-высунуть", то будет самое оно.
...
Рейтинг: 0 / 0
Структура БД на триггерах
    #38446700
Автоваз
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TorreКоллеги, выскажите свое мнение, насколько оправдан такой подход для внешней программы и широкого взаимодействия из нее через веб-сервисы?


Подход полностью оправдан, если вашей целью является победа на конкурсе "Знатный *******".

P.S. Не серчайте, звёздочки я не буду озвучивать, ибо обсценная лексика не приветствуется на форуме.
Ваш руководитель может быть спокоен - приз конкурса от него никуда не убежит.
...
Рейтинг: 0 / 0
Структура БД на триггерах
    #38446895
Гость333
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Infernal V. RavenГость333А может, "глобальный индекс" — это отдельная таблица, содержащая OID'ы и указатели на таблицы, где эти OID'ы содержатся? Может. Но тогда и insert выполняется сразу в два места - в таблицу и индексную таблицу.
Во! Тут-то триггеры и выходят на сцену и автоматически делают вставку в "глобальный индекс" :)

...что-то ТС куда-то запропастился...
...
Рейтинг: 0 / 0
Структура БД на триггерах
    #38446909
Вроде можно в before insert триггере таблицы данных вставить запись в эту глобальную таблицу, а потом полученное значение uniqueidentifier использовать для инициализации поля обрабатываемой таблице данных.

Только здесь и Identity в глобальной таблице , и Primary ключ в обеих таблицах и Foreign из таблицы данных на глобальную таблицу можно пользовать. Разве что совсем особые требования к быстродействию, но здесь тогда и с NoSQL можно поиграться.
...
Рейтинг: 0 / 0
Структура БД на триггерах
    #38451192
Фотография Torre
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет! Вижу, что не один я смеюсь, но шутки шутками, а уже пара сотен таблиц появилась. Для обслуживания их создали отдельную таблицу ID_Values, куда записывается Identity Specification каждой таблицы после каждого INSERT. На каждую таблицу повесили триггеры на все операции CRUD.
Теперь в таблицы нельзя вставить или удалить данные напрямую, надо обращаться к специальной хранимой процедуре, иначе триггер ON INSERT/DELETE удаляет данные.
В каждой таблице добавили поле с UniqueIdentifier, там для каждой строки генерится Guid, это для индекса.
БД отрабатывает запросы конечно медленней, но не это раздражает, теперь появились проблемы с сущностями в самом приложении. Структура классов предполагалась классическая, но так как теперь нет поля ClassId очень сложно опираться на межклассовые связи, от этого код стал «макаронным», а для возросшей необходимости валидации данных приходится часто обращаться в Data Access Layer, который тоже значительно усложнился и постоянно выдает ошибки. Ошибки не обрабатываем, а просто «давим» (supress) и делаем запрос заново.
Пишем для госструктуры, представили им эскиз, заказчик остался доволен, но меня уже подташнивает.
...
Рейтинг: 0 / 0
Структура БД на триггерах
    #38451635
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TorreВсем привет! Вижу, что не один я смеюсь, но шутки шутками, а уже пара сотен таблиц появилась. Для обслуживания их создали отдельную таблицу ID_Values, куда записывается Identity Specification каждой таблицы после каждого INSERT. На каждую таблицу повесили триггеры на все операции CRUD.
Теперь в таблицы нельзя вставить или удалить данные напрямую, надо обращаться к специальной хранимой процедуре, иначе триггер ON INSERT/DELETE удаляет данные.
В каждой таблице добавили поле с UniqueIdentifier, там для каждой строки генерится Guid, это для индекса.
БД отрабатывает запросы конечно медленней, но не это раздражает, теперь появились проблемы с сущностями в самом приложении. Структура классов предполагалась классическая, но так как теперь нет поля ClassId очень сложно опираться на межклассовые связи, от этого код стал «макаронным», а для возросшей необходимости валидации данных приходится часто обращаться в Data Access Layer, который тоже значительно усложнился и постоянно выдает ошибки. Ошибки не обрабатываем, а просто «давим» (supress) и делаем запрос заново.
Пишем для госструктуры, представили им эскиз, заказчик остался доволен, но меня уже подташнивает.Примерно через год-полтора всё это придется приготовить для выброса на помойку. :)
...
Рейтинг: 0 / 0
Структура БД на триггерах
    #38451845
LSVПримерно через год-полтора всё это придется приготовить для выброса на помойку. :)
Чё там готовить - взял и выбросил.
А ты лучше иди умничай на свой Просто Треп.
Ненавижу, когда трепачи из ПТ заходят на ай-ти-шные разделы и троллят тут.
Иди и тамошних балаболов тролли.
...
Рейтинг: 0 / 0
Структура БД на триггерах
    #38452034
Злой Бобр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LSVTorre Пишем для госструктуры , представили им эскиз, заказчик остался доволен, но меня уже подташнивает.Примерно через год-полтора всё это придется приготовить для выброса на помойку.
Никто ничего невыбросит. Снова денюжку попилят и будут ваять следующую версию. Ибо госструктура, и этим все сказано.
Жаль автора. Но кто платит тот нас и танцует.
...
Рейтинг: 0 / 0
Структура БД на триггерах
    #38452079
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Злой БобрНикто ничего невыбросит. Снова денюжку попилят и будут ваять следующую версию. Ибо госструктура, и этим все сказано.
Жаль автора. Но кто платит тот нас и танцует.Ну как не выбросит ? Новая версия это сначала частичная замена команды, затем выброс старой версии и написание очередной новой. :)
Каждый новый гениальный ПМ придумает кучу "аргументов" для переписки.
Например "ПХП загибается", поэтому сейчас модно писать на Жаба/Руби/Питон. Потом придёт 1Сник и всё заверте..... :)
...
Рейтинг: 0 / 0
Структура БД на триггерах
    #38452378
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что, очень умно :-) Оставим за бортом размышления об оптимальности и т.п., код ведь рабочий. Идея какая: присосаться к госпроекту и стать там незаменимыми и быть обеспеченным работой. Оная с точки зрения руководства исполняется. Вы же не шуршите, когда код подвергаете обфускации.
...
Рейтинг: 0 / 0
Структура БД на триггерах
    #38454389
Cane Cat Fisher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arm79Оставим за бортом размышления об оптимальности и т.п., код ведь рабочий. Идея какая: присосаться к госпроекту и стать там незаменимыми и быть обеспеченным работой.

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

И начинается новый виток распила - с новой командой, или даже с той же, в зависимости от изворотливости руководителя проекта. Был весь код в триггерах? Теперь давайте все на клиента...
...
Рейтинг: 0 / 0
Структура БД на триггерах
    #38454406
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cane Cat FisherArm79Оставим за бортом размышления об оптимальности и т.п., код ведь рабочий. Идея какая: присосаться к госпроекту и стать там незаменимыми и быть обеспеченным работой.

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

И начинается новый виток распила - с новой командой, или даже с той же, в зависимости от изворотливости руководителя проекта. Был весь код в триггерах? Теперь давайте все на клиента...

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


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