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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

Только здесь и Identity в глобальной таблице , и Primary ключ в обеих таблицах и Foreign из таблицы данных на глобальную таблицу можно пользовать. Разве что совсем особые требования к быстродействию, но здесь тогда и с NoSQL можно поиграться.
...
Рейтинг: 0 / 0
03.11.2013, 10:02
    #38451192
Torre
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Структура БД на триггерах
Всем привет! Вижу, что не один я смеюсь, но шутки шутками, а уже пара сотен таблиц появилась. Для обслуживания их создали отдельную таблицу ID_Values, куда записывается Identity Specification каждой таблицы после каждого INSERT. На каждую таблицу повесили триггеры на все операции CRUD.
Теперь в таблицы нельзя вставить или удалить данные напрямую, надо обращаться к специальной хранимой процедуре, иначе триггер ON INSERT/DELETE удаляет данные.
В каждой таблице добавили поле с UniqueIdentifier, там для каждой строки генерится Guid, это для индекса.
БД отрабатывает запросы конечно медленней, но не это раздражает, теперь появились проблемы с сущностями в самом приложении. Структура классов предполагалась классическая, но так как теперь нет поля ClassId очень сложно опираться на межклассовые связи, от этого код стал «макаронным», а для возросшей необходимости валидации данных приходится часто обращаться в Data Access Layer, который тоже значительно усложнился и постоянно выдает ошибки. Ошибки не обрабатываем, а просто «давим» (supress) и делаем запрос заново.
Пишем для госструктуры, представили им эскиз, заказчик остался доволен, но меня уже подташнивает.
...
Рейтинг: 0 / 0
04.11.2013, 11:18
    #38451635
LSV
LSV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Структура БД на триггерах
TorreВсем привет! Вижу, что не один я смеюсь, но шутки шутками, а уже пара сотен таблиц появилась. Для обслуживания их создали отдельную таблицу ID_Values, куда записывается Identity Specification каждой таблицы после каждого INSERT. На каждую таблицу повесили триггеры на все операции CRUD.
Теперь в таблицы нельзя вставить или удалить данные напрямую, надо обращаться к специальной хранимой процедуре, иначе триггер ON INSERT/DELETE удаляет данные.
В каждой таблице добавили поле с UniqueIdentifier, там для каждой строки генерится Guid, это для индекса.
БД отрабатывает запросы конечно медленней, но не это раздражает, теперь появились проблемы с сущностями в самом приложении. Структура классов предполагалась классическая, но так как теперь нет поля ClassId очень сложно опираться на межклассовые связи, от этого код стал «макаронным», а для возросшей необходимости валидации данных приходится часто обращаться в Data Access Layer, который тоже значительно усложнился и постоянно выдает ошибки. Ошибки не обрабатываем, а просто «давим» (supress) и делаем запрос заново.
Пишем для госструктуры, представили им эскиз, заказчик остался доволен, но меня уже подташнивает.Примерно через год-полтора всё это придется приготовить для выброса на помойку. :)
...
Рейтинг: 0 / 0
04.11.2013, 14:32
    #38451845
Структура БД на триггерах
LSVПримерно через год-полтора всё это придется приготовить для выброса на помойку. :)
Чё там готовить - взял и выбросил.
А ты лучше иди умничай на свой Просто Треп.
Ненавижу, когда трепачи из ПТ заходят на ай-ти-шные разделы и троллят тут.
Иди и тамошних балаболов тролли.
...
Рейтинг: 0 / 0
04.11.2013, 17:01
    #38452034
Злой Бобр
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Структура БД на триггерах
LSVTorre Пишем для госструктуры , представили им эскиз, заказчик остался доволен, но меня уже подташнивает.Примерно через год-полтора всё это придется приготовить для выброса на помойку.
Никто ничего невыбросит. Снова денюжку попилят и будут ваять следующую версию. Ибо госструктура, и этим все сказано.
Жаль автора. Но кто платит тот нас и танцует.
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Структура БД на триггерах / 25 сообщений из 29, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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