Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / А вот так используют MSSQL в коммерческом продукте (Акцент 6) / 13 сообщений из 13, страница 1 из 1
10.02.2002, 17:24
    #32022591
Павел
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
А вот так используют MSSQL в коммерческом продукте (Акцент 6)
Я пытаюсь быть в курсе новостей современных бизнесс-систем. И в порядке ознакомления укачал демо-версию Акцент 6.0 (http://www.accent6.com). Сознательно не даю системе никаких оценок, т.к. знаком с ней всего 2 часа. В кратце скажу о основных идеях: фиксированная структура таблиц, формат данных файл-серверной версии - Access 97 (доступ через DAO), клиент-серверной - MSSQL (доступ через ADO). Встроенный язык - Ms Vb Scripting Edition. Включена собственная коллеция бинес-обьектов. В рамках этой конференции хочу поделится наблюдениями о подходе к построению серверной части этой системы. Оговорюсь, что у меня в распоряжении оказались только скрипты базы данных, т.к. демо версия клиент-серверного варианта для загрузги не предлагается (на мой взгляд совершенно напрасно).
Итак:
1. Сразу бросилось в глаза то, что все связи между таблицами (их 90) нечеткие, т.е. целостность кониролируется не на уровне DRI, а на уровне бизнесс-логики.
2. 215 индексов
3. Из 90 таблиц с триггерами 35, причем триггеры во всех только for delete, в основном реализующие каскадное удаление записей из подчиненных таблиц.
4. Представлений нет вообще.
5. 357 процедур. 12 процедур посвящены работе с группами и пользователями, что говорит о раграничении прав на уровне обьектов базы данных. Однако подавляющее число процедур, возвращающих записи, делают это через DSQL (внутри процедуры собирается строка селекта). Активно используются временные таблицы.

Вкратце все. Какие мысли?
...
Рейтинг: 0 / 0
11.02.2002, 08:29
    #32022620
А вот так используют MSSQL в коммерческом продукте (Акцент 6)
Я большого криминала не вижу. По тому, что ты привел, сильных отрицательных эмоций не возникает. Отсутствие вторичных ключей объясняется тем, что ссылочная целостность (с каскадами) реализована на триггерах. Это нормально (хотя я бы не этим путем пошел). Правда, триггеров маловато для полного покрытия ссылочной целостности. Но, видать разработчикам так было удобнее.
Наличие динамических запросов скорее всего объясняется некоей объектной моделью, реализованной поверх реляционной модели. Это тоже нормально. Попробуй объектную модель реализовать без динамических запросов, упаришься быстро.
Наличие временных таблиц - это вообще нормально. В MSSQL - это одна из ключевых особенностей.
То, что представлений нет, говорит лишь о существенном опыте специалистов в этой фирме, в свое время вдоволь нахлебавшихся проблемами с ними. Хотя я ничего не имею против представлений, но здесь я бы поставил скорее плюс, а не минус. Просто у них логика реализована в процедурах. Зачем здесь представления?

Худое надо подозревать, если в системе отсутствуют хранимые процедуры. Но здесь не тот случай.
...
Рейтинг: 0 / 0
11.02.2002, 09:29
    #32022630
eugene
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
А вот так используют MSSQL в коммерческом продукте (Акцент 6)
Если не сложно подскажите как поставить Акцент на WinNT, а то Installer ругается и ставить ничего не хочет ;(
...
Рейтинг: 0 / 0
11.02.2002, 10:33
    #32022638
Павел
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
А вот так используют MSSQL в коммерческом продукте (Акцент 6)
Приведите текст ругани.
...
Рейтинг: 0 / 0
11.02.2002, 12:20
    #32022656
tyblin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
А вот так используют MSSQL в коммерческом продукте (Акцент 6)
Стоит Акцент 6 SQL на Вин2К сервер и на Вин2К Проф. Никаких проблемм ни при инсталляции, ни при работе.
...
Рейтинг: 0 / 0
11.02.2002, 12:57
    #32022666
Павел
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
А вот так используют MSSQL в коммерческом продукте (Акцент 6)
2 tyblin

Если не затруднит намыльте ksk@mail.kemnet.ru как с Вами связаться - есть вопросы.
...
Рейтинг: 0 / 0
11.02.2002, 14:27
    #32022680
ChA
ChA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
А вот так используют MSSQL в коммерческом продукте (Акцент 6)
2Глеб Уфимцев
Сорри, но по Вашему ответу возникли неясности.

>Наличие динамических запросов скорее всего объясняется некоей объектной моделью, реализованной поверх реляционной модели

Неожиданный вывод... Обычно это признак плохо спроектированной БД.

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

Интересная мысль, был опыт ? Можно пример ? IMHO, это зависит от способа реализации
ОО-слоя над реляционной БД. Мне, как это не покажется странным, вполне удалось обойтись
без динамики, при этом с защитой как на уровне классов, так и конкретных экземпляров.

> Наличие временных таблиц - это вообще нормально. В MSSQL - это одна из ключевых особенностей.

Конечно нормально, но почему в MSSQL - это одна из ключевых, озадачило. Временные таблицы
поддерживаются практически всеми коммерческими SQL-серверами, и есть задачи, которые сложновато
решить без них.

>То, что представлений нет, говорит лишь о существенном опыте специалистов в этой фирме, в свое время вдоволь нахлебавшихся проблемами с ними.

Еще один неожиданный вывод. Мой скромный опыт работы с SQL-серверами (с 1995 г.) скорее относится к
положительному. Представления значительно облегчает построение особо сложных запросов, не говоря уж о
том, что в Informix, например, в версиях 7.xx возможность derrived table, как альтернатива представлениям,
вообще отсутствует.

С уважением

P.S. Просьба не воспринимать замечания с раздражением... Просто категоричность утверждений
настораживает.
...
Рейтинг: 0 / 0
11.02.2002, 15:13
    #32022686
А вот так используют MSSQL в коммерческом продукте (Акцент 6)
Категоричности не было. Я всего лишь высказал свое мнение, основанное на своем опыте и своих предположениях. Вы и другие с моим мнением можете не соглашаться, ваше полное право.

Однако, заметьте, ChA, я в отличие от вас не испытываю удовольствие в том, чтобы "дядю пнуть".
...
Рейтинг: 0 / 0
11.02.2002, 15:32
    #32022688
Павел
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
А вот так используют MSSQL в коммерческом продукте (Акцент 6)
А мне комментарий Глеба понравился. Что не делает менее ценными и Ваши, ChA, замечания. Что касается DSQL: на мой взгляд это скорее компромис чем стандартное решение. Хотя по скорости вполне оправданное, т.к. процедура, использующая #table тоже будет компилироваться при каждом вызове. Но использование #table, как справедливо заметил Глеб, штатное и оправданное решение. Возникает другой вопрос: если избавиться от динамически формируемого набора полей, при всех преимуществах, неизбежно придется столкнутся с проблемой обработки данных на клиенте (или где-то посередине), что нисколько не упростит систему. А закон гласит: чем проще система, тем она надежнее.
...
Рейтинг: 0 / 0
11.02.2002, 17:10
    #32022692
ChA
ChA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
А вот так используют MSSQL в коммерческом продукте (Акцент 6)
2Павел

> процедура, использующая #table тоже будет компилироваться при каждом вызове

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

>закон гласит: чем проще система, тем она надежнее

Что может быть проще камня ? Но предпочитают автомат...

С уважением
...
Рейтинг: 0 / 0
11.02.2002, 18:13
    #32022699
Павел
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
А вот так используют MSSQL в коммерческом продукте (Акцент 6)
PIV - это тоже, в некотором роде, кусок кремния.
...
Рейтинг: 0 / 0
18.02.2002, 06:44
    #32023222
Andrew Butenko
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
А вот так используют MSSQL в коммерческом продукте (Акцент 6)
Спасибо, что проявили интерес к нашему продукту!
Конечно, беглый взгляд на структуру может дать почву для некоторых выводов. Все структуры не лишены недостатков. К этой мы шли долго и это не последний вариант.Отвечу вкратце на некоторые вопросы.
-Отсутствие Cascad DRI предусмотрено для всех версий ниже MSSQL 2k
-View-хи мы использовали в ранних версиях и предусмотрели в Enterprise Edition (indexed viev и т.п.), кроме того клиенты их любят создавать сами. Так что их остутсвие в FBE версии не аргумент плохого качества.
-Тригеры присутсвуют не только на Delete, но и Insert, Update, при этом никаких нечестных обходных вариантов не используем.
-Все обращения на уровне программы только через процедуры, никаких прямых запросов.
-Динамические запросы в некоторых(не во всех!) процедурах - ососбенность строения мастера отчетов. Кроме того, они используются в некоторых уникальных для всех баз процедурах, которые мы размещаем в мастере. И не надо их боятся, начиная с MSSQL 2k они могут кешироваться и работают достаточно быстро.
-Временные таблицы мы используем, но только локальные. И также не видим в этом криминала.
-Курсоры практически исключены из процедур, кроме редчайших случаев, где (пока) нельзя без них.
-Как поставить Акцент и другие вопросы можно обсудить на нашем сайте www.accent6.com.ua на форуме.

Еще раз спасибо за проявленный интерес. Будем рады дальнейшему общению с вами.
...
Рейтинг: 0 / 0
18.02.2002, 08:13
    #32023238
Александр Гладченко
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
А вот так используют MSSQL в коммерческом продукте (Акцент 6)
Andrew Butenko <- спасибо за рекламу.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / А вот так используют MSSQL в коммерческом продукте (Акцент 6) / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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