|
|
|
Структура БД на триггерах
|
|||
|---|---|---|---|
|
#18+
Коллеги, нужен совет. Руководитель проекта планирует создать структуру таблиц (более 1 тыс.) для БД к проекту целиком без Primary Key и Identity Specification, целостность же данных поддерживать полностью на триггерах, которые будут на Insert создавать uniqueidentifier, на основе которого будет построен глобальный индекс БД. Запросы к БД предполагается зашить в программу (толстый клиент). Программа почти не использует поиск в БД в своем функционале и является обыкновенной учеткой. Коллеги, выскажите свое мнение, насколько оправдан такой подход для внешней программы и широкого взаимодействия из нее через веб-сервисы? Модератор: Тема перенесена из форума "Microsoft SQL Server". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2013, 22:37 |
|
||
|
Структура БД на триггерах
|
|||
|---|---|---|---|
|
#18+
TorreПрограмма почти не использует поиск в БД в своем функционале и является обыкновенной учеткой.Фильтрация и поиск данных - один из основных кейсов в учётных системах ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2013, 23:06 |
|
||
|
Структура БД на триггерах
|
|||
|---|---|---|---|
|
#18+
Хочу купить порше кайен, демонтировать переднее пассажиское сиденье, на его место поставить печку-буржуйку и топить дровами, а встроенную печку не использовать. Она же ведь сломаться может в процессе эксплуатации! Машина нужна просто зимой на работу ездить, возить пассажиров или в жару кататься не планирую. Коллеги, выскажите свое мнение, насколько оправдан такой тюнинг в Москве? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2013, 23:23 |
|
||
|
Структура БД на триггерах
|
|||
|---|---|---|---|
|
#18+
egorychФильтрация и поиск данных - один из основных кейсов в учётных системахОсвещу немного этот момент, поиск в программе вообще не предусмотрен функционалом, в административной части есть поиск пользователей, и это все. Сторонникам динамического генерирования identity поясню, что операции SELECT – 80%, INSERT - 15%, UPDATE – 2%, DELETE – 3% ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2013, 23:31 |
|
||
|
Структура БД на триггерах
|
|||
|---|---|---|---|
|
#18+
Ну а от форума-то ты чего хочешь? Утверждений, что идея бесперспективна? Так это ясно любому с первого взгляда. Заверений, что она будет работать? Так она и будет, хоть и хреново. Переубеждения начальника? Так это в принципе бесполезно. Так что давай, строй эту хрень, мотай на ус бесценный опыт как делать не надо. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2013, 23:39 |
|
||
|
Структура БД на триггерах
|
|||
|---|---|---|---|
|
#18+
Torreпоиск в программе вообще не предусмотрен функционалом ... операции SELECT – 80%SELECT без поиска - предполагается полностью таблицы в память загружать? Тогда зачем вам вообще СУБД? делали бы уж для экономии на dbf-ах ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2013, 23:43 |
|
||
|
Структура БД на триггерах
|
|||
|---|---|---|---|
|
#18+
Более 1 тысячи таблиц - это что ? 1000 уникальных сущностей или по 100 таблиц типа Данные1мес13года, Данные2мес13года ? Учетка без поиска - это как ? Информация вводится с зажмуренными глазами невзирая на то, что там уже есть ? Просматривать данные потом никогда не придется, пользователям вменяется в обязанность помнить все айди всех сущностей ? Было бы крайне интересно услышать хотя бы общее описание предметной области и конкретики проекта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2013, 08:39 |
|
||
|
Структура БД на триггерах
|
|||
|---|---|---|---|
|
#18+
П-ЛБолее 1 тысячи таблиц - это что ? 1000 уникальных сущностей или по 100 таблиц типа Данные1мес13года, Данные2мес13года ? Учетка без поиска - это как ? Информация вводится с зажмуренными глазами невзирая на то, что там уже есть ? Просматривать данные потом никогда не придется, пользователям вменяется в обязанность помнить все айди всех сущностей ? Было бы крайне интересно услышать хотя бы общее описание предметной области и конкретики проекта.+1 )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2013, 09:25 |
|
||
|
Структура БД на триггерах
|
|||
|---|---|---|---|
|
#18+
Torreuniqueidentifier, на основе которого будет построен глобальный индекс БД Здесь поподробнее, пожалуйста. Что за "глобальный индекс", и для каких целей он нужен? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2013, 10:46 |
|
||
|
Структура БД на триггерах
|
|||
|---|---|---|---|
|
#18+
Гость333, Видимо это что то типа мн-ва уникальных OID, которые должны различаться по всем таблицам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2013, 11:10 |
|
||
|
Структура БД на триггерах
|
|||
|---|---|---|---|
|
#18+
Torre, Действительно, непонятно чего вы от нас хотите?.. Тут уже сказали - идея бредовая, реализация кривая, руководитель проекта пилить (судя по всему) умеет. Так что от тебя ничего независит. Делай как говорят. В конце концов кто платит тот и заказывает музыку. Можешь по ходу подыскивать другую работу, т.к. руководитель на завершающем этапе сложит ласты и все шишки пойдут на исполнителей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2013, 11:35 |
|
||
|
Структура БД на триггерах
|
|||
|---|---|---|---|
|
#18+
Мимо пробегал...уникальных OID, которые должны различаться по всем таблицам Дык, а нахрена это надо-то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2013, 12:23 |
|
||
|
Структура БД на триггерах
|
|||
|---|---|---|---|
|
#18+
Гость333Мимо пробегал...уникальных OID, которые должны различаться по всем таблицам Дык, а нахрена это надо-то? Чтобы, имея OID, сразу определить, из какой он таблицы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2013, 13:11 |
|
||
|
Структура БД на триггерах
|
|||
|---|---|---|---|
|
#18+
Cane Cat FisherЧтобы, имея OID, сразу определить, из какой он таблицы.Ну не то чтобы сразу... Допустим, если в качестве OID будет использоваться GUID, то придется перебрать идентификаторы всех таблиц. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2013, 13:29 |
|
||
|
Структура БД на триггерах
|
|||
|---|---|---|---|
|
#18+
Infernal V. Raven, А может, "глобальный индекс" — это отдельная таблица, содержащая OID'ы и указатели на таблицы, где эти OID'ы содержатся? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2013, 13:46 |
|
||
|
Структура БД на триггерах
|
|||
|---|---|---|---|
|
#18+
Гость333А может, "глобальный индекс" — это отдельная таблица, содержащая OID'ы и указатели на таблицы, где эти OID'ы содержатся? Может. Но тогда и insert выполняется сразу в два места - в таблицу и индексную таблицу. Т.к. задачу автор не озвучил, трудно сказать требуется это или нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2013, 14:06 |
|
||
|
Структура БД на триггерах
|
|||
|---|---|---|---|
|
#18+
Torre, дааа, мсье знает толк .... Ну а вы сами-то как? Разделяете энтузиазм руководителя ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2013, 14:21 |
|
||
|
Структура БД на триггерах
|
|||
|---|---|---|---|
|
#18+
Torre, А какой-нибудь, прости Господи, noSQL под это дело прикрутить не судьба? Если обращение только по идентификаторам и основной функционал "засунуть-высунуть", то будет самое оно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2013, 14:29 |
|
||
|
Структура БД на триггерах
|
|||
|---|---|---|---|
|
#18+
TorreКоллеги, выскажите свое мнение, насколько оправдан такой подход для внешней программы и широкого взаимодействия из нее через веб-сервисы? Подход полностью оправдан, если вашей целью является победа на конкурсе "Знатный *******". P.S. Не серчайте, звёздочки я не буду озвучивать, ибо обсценная лексика не приветствуется на форуме. Ваш руководитель может быть спокоен - приз конкурса от него никуда не убежит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2013, 14:32 |
|
||
|
Структура БД на триггерах
|
|||
|---|---|---|---|
|
#18+
Infernal V. RavenГость333А может, "глобальный индекс" — это отдельная таблица, содержащая OID'ы и указатели на таблицы, где эти OID'ы содержатся? Может. Но тогда и insert выполняется сразу в два места - в таблицу и индексную таблицу. Во! Тут-то триггеры и выходят на сцену и автоматически делают вставку в "глобальный индекс" :) ...что-то ТС куда-то запропастился... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2013, 15:49 |
|
||
|
Структура БД на триггерах
|
|||
|---|---|---|---|
|
#18+
Вроде можно в before insert триггере таблицы данных вставить запись в эту глобальную таблицу, а потом полученное значение uniqueidentifier использовать для инициализации поля обрабатываемой таблице данных. Только здесь и Identity в глобальной таблице , и Primary ключ в обеих таблицах и Foreign из таблицы данных на глобальную таблицу можно пользовать. Разве что совсем особые требования к быстродействию, но здесь тогда и с NoSQL можно поиграться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2013, 15:53 |
|
||
|
Структура БД на триггерах
|
|||
|---|---|---|---|
|
#18+
Всем привет! Вижу, что не один я смеюсь, но шутки шутками, а уже пара сотен таблиц появилась. Для обслуживания их создали отдельную таблицу ID_Values, куда записывается Identity Specification каждой таблицы после каждого INSERT. На каждую таблицу повесили триггеры на все операции CRUD. Теперь в таблицы нельзя вставить или удалить данные напрямую, надо обращаться к специальной хранимой процедуре, иначе триггер ON INSERT/DELETE удаляет данные. В каждой таблице добавили поле с UniqueIdentifier, там для каждой строки генерится Guid, это для индекса. БД отрабатывает запросы конечно медленней, но не это раздражает, теперь появились проблемы с сущностями в самом приложении. Структура классов предполагалась классическая, но так как теперь нет поля ClassId очень сложно опираться на межклассовые связи, от этого код стал «макаронным», а для возросшей необходимости валидации данных приходится часто обращаться в Data Access Layer, который тоже значительно усложнился и постоянно выдает ошибки. Ошибки не обрабатываем, а просто «давим» (supress) и делаем запрос заново. Пишем для госструктуры, представили им эскиз, заказчик остался доволен, но меня уже подташнивает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2013, 10:02 |
|
||
|
Структура БД на триггерах
|
|||
|---|---|---|---|
|
#18+
TorreВсем привет! Вижу, что не один я смеюсь, но шутки шутками, а уже пара сотен таблиц появилась. Для обслуживания их создали отдельную таблицу ID_Values, куда записывается Identity Specification каждой таблицы после каждого INSERT. На каждую таблицу повесили триггеры на все операции CRUD. Теперь в таблицы нельзя вставить или удалить данные напрямую, надо обращаться к специальной хранимой процедуре, иначе триггер ON INSERT/DELETE удаляет данные. В каждой таблице добавили поле с UniqueIdentifier, там для каждой строки генерится Guid, это для индекса. БД отрабатывает запросы конечно медленней, но не это раздражает, теперь появились проблемы с сущностями в самом приложении. Структура классов предполагалась классическая, но так как теперь нет поля ClassId очень сложно опираться на межклассовые связи, от этого код стал «макаронным», а для возросшей необходимости валидации данных приходится часто обращаться в Data Access Layer, который тоже значительно усложнился и постоянно выдает ошибки. Ошибки не обрабатываем, а просто «давим» (supress) и делаем запрос заново. Пишем для госструктуры, представили им эскиз, заказчик остался доволен, но меня уже подташнивает.Примерно через год-полтора всё это придется приготовить для выброса на помойку. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2013, 11:18 |
|
||
|
Структура БД на триггерах
|
|||
|---|---|---|---|
|
#18+
LSVПримерно через год-полтора всё это придется приготовить для выброса на помойку. :) Чё там готовить - взял и выбросил. А ты лучше иди умничай на свой Просто Треп. Ненавижу, когда трепачи из ПТ заходят на ай-ти-шные разделы и троллят тут. Иди и тамошних балаболов тролли. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2013, 14:32 |
|
||
|
Структура БД на триггерах
|
|||
|---|---|---|---|
|
#18+
LSVTorre Пишем для госструктуры , представили им эскиз, заказчик остался доволен, но меня уже подташнивает.Примерно через год-полтора всё это придется приготовить для выброса на помойку. Никто ничего невыбросит. Снова денюжку попилят и будут ваять следующую версию. Ибо госструктура, и этим все сказано. Жаль автора. Но кто платит тот нас и танцует. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2013, 17:01 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=38446695&tid=1541075]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
158ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
| others: | 246ms |
| total: | 499ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...