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

Ограничение - свойство, назначаемое столбцу таблицы, которое позволяет предотвратить занесение недопустимых данных в столбец. Например, ограничения UNIQUE или PRIMARY_KEY предотвращают занесение значений, дублируюших существующие.Ограничения позволяют определять, каким образом SQL Server автоматически обеспечивает целостность данных. Ограничения определяют правила, проверяющие допустимые значения столбцов, и представляют собой стандартные механизмы обеспечения целостности. Ограничения предпочтительнее триггеров, правил или умолчаний.

Ограничения позволяют определять способы, посредством которых SQL Server 2000 будет автоматически обеспечивать целостность базы данных. Ограничения определяют правила, имеющие отношение к допустимым значениям полей, и являются стандартным механизмом, обеспечивающим целостность. Предпочтительней применять ограничения, чем триггеры, правила или умолчания. Оптимизатор запросов также использует определения ограничений, чтобы создавать высокопроизводительные планы исполнения запросов.

Ограничения возможны как для столбцов, так и для таблиц:

• ограничение для столбца задается как масть определения столбца и применяется только к этому столбцу;

• ограничение для таблицы объявляется независимо от определения столбцов и применяется к нескольким столбцам таблицы.

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

 


4.1.4 Значения по умолчанию

Все поля записи должны быть заполнены (даже с использованием пустых значений). Иногда требуется загрузить в таблицу строку, но значение какого-либо поля не известно (или не существует). Если поле допускает пустые значения, можно загрузить строку с пустым значением. Поскольку поля, допускающие пустые значения, нежелательны, лучше определить для поля значение по умолчанию (определить ограничение DEFAULT). Например, в качестве значения по умолчанию, которое используется, если значение не указано, для числовых полей обычно задают ноль, а для символьных — «N/A».

При загрузке в таблицу строки с неизвестным значением поля, для которого определено значение по умолчанию, вы неявно даете SQL Server указание загрузить в это поле значение по умолчанию.

Если поле не допускает пустых значений и для него не определено значение по умолчанию, необходимо явно задать его значения. В противном случае SQL Server вернет ошибку с сообщением, что это поле не допускает пустых значений.

Есть два способа определения значения по умолчанию:

• определить его во время создания самой таблицы (как часть определения таблицы);

• добавить это определение к существующей таблице (у любого столбца таблицы оно может быть только одно).

При модификации определения значения по умолчанию с помощью Transact-SQL необходимо сначала удалить существующее определение DEFAULT а затем создать новое определение «с нуля».

Невозможно создать определения DEFAULT в следующих столбцах:

• с типом данных timestamp;

• со свойствами IDENTITY или ROWGUIDCOL;

• с существующим определением или объектом по умолчанию.

Значение по умолчанию должно быть совместимо с типом данных столбца, к которому относится определение DEFAULT. Например, необходимо, чтобы значением по умолчанию для столбца с типом данных int было целое число, а не символьная строка, Когда определение DEFAULT применяется к существующему столбцу, SQL Server применяет (по умолчанию) новое определение только к новым строкам, добавленным к таблице. Существующие данные, вставленные во время действия старого определения значения по умолчанию, не затрагиваются. Однако при добавлении к существующей таблице нового столбца можно указать SQL Server вставить в существующие строки таблицы не пустые значения, а значения по умолчанию (заданные определением умолчания для этого столбца).

В нашей работе значения по умолчания не были созданы вследствие отсутствия необходимости в них.

4.2 Описание объектов базы данных

 

4.2.1 Представления

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

Запрос, определяющий представление, может ссылаться на одну или несколько таблиц и представлений из текущей или из других баз данных. Также представления определяют средствами распределенных запросов, использующих данные из нескольких гетерогенных источников. Это полезно, в частности, для объединения данных с одинаковой структурой, но расположенных на разных серверах, каждый из которых хранит сведения о каком-либо из отделов организации.

Представление можно рассматривать как виртуальную таблицу или хранимый запрос. В случае стандартного представления в БД содержатся не данные представления, а определяющий его оператор SELECT. Представление возвращает виртуальную таблицу, которая формируется из результирующего набора оператора SELECT. В операторах Transact-SQL допустимо ссылаться на представление, как на обычную таблицу.

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

• ограничивать доступную пользователю область таблицы определенными строками и/или столбцами;

• объединять столбцы из нескольких таблиц, представляя их в виде единой таблицы;

• заменять детальные сведения агрегированными.

Представления позволяют секционировать данные и распределять их между несколькими БД или экземплярами SQL Server 2000. С помощью секционированных представлений распределяют нагрузку по обработке данных между несколькими серверами, составляющими одну группу.

SQL Server 2000 также поддерживает индексирование представлений. Это позволяет значительно повысить производительность сложных представлений, которые часто используются в хранилищах данных и других системах поддержки принятия решений. Результирующий набор стандартного представления, описанный логикой определяющего его оператора, не хранится в базе данных, а динамически создается в период выполнения.

Однако существуют (например, в системах поддержки принятия решений) сложные запросы, которые ссылаются на большое число строк базовых таблиц и агрегируют значительное количество данных, получая довольно сжатые сводные результаты (например, суммы средних значений). Для реализации подобных запросов SQL Server 2000 поддерживает создание кластерных индексов на представлениях. При исполнении оператора CREATE INDEX результирующий набор представления, определенного оператором SELECT, сохраняется в БД и становится постоянным. После этого операторы, ссылающиеся на представление, выполняются значительно быстрее. Модификации данных базовых таблиц автоматически отражаются представлением.

 


Информация о работе «База данных по учету металлопродукции на платформе SQL Server»
Раздел: Информатика, программирование
Количество знаков с пробелами: 71004
Количество таблиц: 0
Количество изображений: 20

Похожие работы

Скачать
119643
23
18

... БД). Логическая модель данных представлена в виде ER-диаграмы на рис. 2.2.  Рис 2.2 ER-диаграмма модели данных АСИС “Учет поставок” 3. Проектирование алгоритмов справочно-информационной системы учета и контроля поставок на предприятие. Алгоритмизация в самом общем виде может быть определена как процесс направленного действия проектировщика (группы ...

Скачать
157383
6
42

... ; - контроль соответствия фактических и плановых данных об объеме производства; - анализ отклонений фактических данных от установленных плановых показателей. 3. Автоматизированная система учета производственного процесса металлоцентра   3.1 Программно-технические средства общего назначения Основным программным обеспечением всех, без исключений, компьютеров ИС является операционная ...

0 комментариев


Наверх