powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / не знаю как реализовать лучше...
11 сообщений из 11, страница 1 из 1
не знаю как реализовать лучше...
    #36647518
ROOTT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет...)
У меня возник вопрос. Скорее теоретический... Есть БД и в ней таблицы с полями varchar,int... и т.д.
Хочу проверять на корректность ввода в них данных. Например, хочу проверять, что бы пользователь не смог ввести в поле например ФИО цифры или слова с цифрами... Хочу проверять не ввел ли пользователь неправильную информацию в поле (бизнес правила). Так вот мне это где лучше реализовать в СУБД или в клиентском приложении? И еще лучше в хранимой процедуре проверки эти устраивать или в триггерах... а может в правилах??? подскажите мне в этом вопросе...
заранее спасибо.
...
Рейтинг: 0 / 0
не знаю как реализовать лучше...
    #36647774
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ROOTT , каким боком тут "проектирование БД"?
...
Рейтинг: 0 / 0
не знаю как реализовать лучше...
    #36647779
nosov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот статья из книги BOL -- купи книгу и изучай !

Ограничения CHECK

Столбец может содержать любое количество ограничений CHECK, а условие может включать несколько логических выражений, соединенных операторами AND и OR. При указании нескольких ограничений CHECK для столбца их проверка производится в порядке создания.
Условие поиска должно возвращать логическое выражение и не может ссылаться на другую таблицу.
Ограничение CHECK уровня столбца может ссылаться только на ограничиваемый столбец, а ограничение CHECK уровня таблицы — только на столбцы этой таблицы.
Правила и ограничения CHECK выполняют одну и ту же функцию проверки данных при выполнении инструкций INSERT и UPDATE.
Если для столбца или столбцов задано правило либо одно или несколько ограничений CHECK, применяются все ограничения.
Ограничения CHECK нельзя определять для столбцов типов text, ntext или image.
...
Рейтинг: 0 / 0
не знаю как реализовать лучше...
    #36647833
baracs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ROOTT,

Ответ зависит от используемой СУБД, точнее от того, на сколько ней развиты механизмы проверки бизнес-правил...
...
Рейтинг: 0 / 0
не знаю как реализовать лучше...
    #36647857
Фотография Программист-Любитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ответ зависит от архитектуры системы.
...
Рейтинг: 0 / 0
не знаю как реализовать лучше...
    #36647916
Фотография arni
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ROOTTНапример, хочу проверять, что бы пользователь не смог ввести в поле например ФИО цифры или слова с цифрами...Вероятно вы не следите за новостями: там периодически появляется информация, что очередной ЗАГС отказал в регистрации имени новорожденного "R2D2" или тому подобных из Звездных Войн. Полагаю, что где-то могли и разрешить.
...
Рейтинг: 0 / 0
не знаю как реализовать лучше...
    #36648006
nosov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
автор -- лови еще из книги BOL по SQL Server 2005

Правила — это средства обеспечения обратной совместимости, которые по функциональности напоминают ограничения CHECK. Применение ограничений CHECK является предпочтительным стандартным способом ограничения диапазона значений столбца. Кроме того, ограничения CHECK более лаконичны, чем правила. Со столбцом может быть связано только одно правило, а ограничений CHECK несколько. Ограничения CHECK указываются в инструкции CREATE TABLE, а правила создаются как отдельные объекты, которые потом связываются со столбцами
...
Рейтинг: 0 / 0
не знаю как реализовать лучше...
    #36648103
ROOTT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Программист-ЛюбительОтвет зависит от архитектуры системы.

Архитектура-Клиент-Сервер... Скорее всего тонкий клиент... (но тогда получается. что почти все надо делать на сервере... так?
...
Рейтинг: 0 / 0
не знаю как реализовать лучше...
    #36648109
ROOTT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
baracsROOTT,

Ответ зависит от используемой СУБД, точнее от того, на сколько ней развиты механизмы проверки бизнес-правил...

Я использую субд sql server 2005 express)
...
Рейтинг: 0 / 0
не знаю как реализовать лучше...
    #36648313
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ROOTTТак вот мне это где лучше реализовать в СУБД или в клиентском приложении? И еще лучше в хранимой процедуре проверки эти устраивать или в триггерах... а может в правилах??? В СУБД и в клиентском приложении.

В СУБД обеспечивается целостность данных, чтоб разные программы, которые программисты будут писать, не испортили эти данные. Где делать проверки - зависит от конкретной СУБД и от конкретных проверок - ведь, например, триггеры и хранимые процедуры есть не везде...

В приложении проверки и подсказки делаются для удобства пользователя и повышения производительности его труда 9и для дополнительной страховки). Как в приложении делать проверки - зависит от конкретной платформы, языка.
...
Рейтинг: 0 / 0
не знаю как реализовать лучше...
    #36652296
baracs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvg
+1

ROOTTЯ использую субд sql server 2005 express) Ну так и начните с теории
Навскидку, можно посоветовать аккуратно использовать триггеры, т.е. делать в них только те проверки, которые нельзя реализовать в constraint-х и хранимых процедурах.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / не знаю как реализовать лучше...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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