Программирование >>  Реализация баз данных 

1 ... 49 50 51 [ 52 ] 53 54 55 ... 162


Обеспечение целостности данных

Обеспечение целостности шны. гарантирует их качество. Предположим, что вы создали в базе данных таблицу Customers. Значение столбца Uusil i. должно уникально идентифицировать каждого локупателя. сведения о котором занесены в таблицу. Таким образом, если значение да1 ГО некоего покупателя равно 438, то ни для какого другого тюкупате-Ан это значение не может быть таким же. Далее предположим, что имеется столбец Cust Rating, в котором определяется рейтинг покупателей - в диапазоне от 1 до 8. В этом случае столбец Rating не должен допускать ввода ни числа 9, ни каких-либо иных значений, кроме цифр из интервала от 1 до S. В обоих случаях для обеспечения целостности данных следует применять один из поддерживаемых SQL Server.

Среди методов SQL Server, предназначенных для обеспечения целостности данных, - определения NOT i !... и DEFAULT, свойства IDENTITY, ограничения, правила, триггеры и индексы. В главе 4 некоторые из них уже упоминались, здесь же приводится их краткое описание. Некоторые и*ойс1ва таблицы, например определения NOT NULL и DEFAULT, иногда считают ограничениями особого типа. Однако в соответствии с задачами этого учебного курса, они рассматриваются отдельно от ограничений.

Типы данн1х

Тип данных - это атрибут, который определяет ти гольный, целочисленный, двоичный и т. д.) данных, которые могут храниться в поле, параметре или переменной. SQL Server поддерживает несколько системных типов данных, на основе которых можно создавать пользовательские типы данных. Системные типы данных определяют все типы данных, которые можно применять в SQL Server. Типы обеспечивают целостность данных, поскольку вводимые данные должны соответствовать типу, заданному для объекта. Например, нельзя хранить фамилию в столбце, для которого определен тип данных datetime, поскольку столбец с таким типом данных допускает лишь ввод дат. Подробнее о типах данных - в главе 4.

Занятие 1. Целостность данных

В таблицаЕ Serveei быть определен- свойств различного]. .. обеспечивающих целостность данных. К ним относятся типы данных, определения NOT NULL и DEFAULT, свойства огрптиа-ни/г правила, триггеры и индексы. На этом занятии вы познакомитесь со всеми этими методами обеспечения целостности данных и типами ]носиi данных, которые поддерживает SQL Server. А также узнаете о различных типах данных, в том числе целостности доменной целостности, ссылочной целостности и целостности, определяемой пользователем.

Изучив материал этого занятия, вы сможете:

D определять различные свойства таблиц, которые применяются для обеспечения

целостности данных в базах данные Server; D определять типы целостности данных, поддерживаемые SQL Server.

Продолжительность занятия - около 25 минут.



Определения NOT NULL

Задавая возможность ввода в поле пустых значений, вы определяете, могут ли в этом столбце таблицы храниться пустые значения. Пустое значение отличается от нуля, пробела или символьной строки нулевой длины, например Пустое значение означает, что информация не введена, то есть значение не известно или не определено. Возможность ввода в столбец пустых значений задается при определении этого столбца во время создания таблицы или ее модификации. Из-за сложностей, связанных с обработкой пустых значений в SQL Server, в определении столбцов как допускающих, так и не допускающих ввода пустых значений всегда следует использовать ключевые слова NULL или NOT NULL. Если столбец допускает пустые значения, используется ключевое слово NULL, если нет - NOT

NULL. Подробнее об этом рассказано в главе 4. Определения DEFAULT

Значения по умолчанию задают значения, которые будет использованы, если при добавлении строки значение поля не задано. Определения DEFAULT создают при определении таблицы (как часть этого определения) или добавляют к уже существующей таблице. В любом столбце разрешено только одно определение DEFAULT. Подробнее о значениях по умолчанию - в главе 4.

Свойства IDENTITY

В любой таблице разрешается создать единственный столбец, который содержит сгенерированные системой последовательные значения, уникально идентифицирующие каждую строку таблииы Значения столбца с идентификатором обычно уникальны в пределак той таблицы, в которой они определяются. Другими словами, не исключено, что значения

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

связаны. Подробнее о свойстве IDENTITY - в главе 4.

Ограничения

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

запросов. Ограничения подробно обсуждаются в занятии 2. Правила

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

ния значений поля. К тому же ограничения CHECK более четкие, чем правила. К столбцу разрешается применять одно правило, в то время как у одного столбца быть

определено несколько ограничений CHECK. Ограничения CHECK задаются в составе

оператора CREATE TABLE, тогда как правила создаются как отдельные объекты, которые затем привязываются к столбцу.



Сначала следует создать правило с помощью оператора CREATE RULE. После этого при помощи системной хранимой процедуры его привязывают к столбцу или

пользовательскому типу данных. Подробнее об использовании CREATE RULE или sp bindrule - в справочнике по Transact-SQL в SQL Server Books Online.

Триггеры

Триггеры - это особый класс хранимых процедур, автоматически запускаемых при выполнении операторов UPDATE, INSERT или DELETE для таблицы или представления.

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

Индексы

Индекс - это структура, которая упорядочивает значения одного или нескольких столбцов ицы в базе данных. Индекс предоставляет указатели на значения, хранящиеся в заданных столбцах таблицы, после чего упорядочивает их в соответствии с заданным рядком сортировки. Использование базой данных индекса во многом напоминает обращение читателя к предметному указателю книги: она просматривает индекс в поисках некоторого значения, а затем по указателю находит строку, в которой содержится требуемое значение. Уникальный индекс обеспечивает уникальность значений c,i..kmi.>. Подробно индексы обсуждаются в главе М.

Типы целостности данных

SQL Server поддерживает четыре типа целостности данных: целостность сущностей, доменную целостность, ссылочную целостность и целостность, определяемую пользователем.

Прим&чакИЁ В отдельных документах определено больше (или меньше) четырех типов целостности данных. Однако четыре указанных в этом курсе типа обычно считаются главными типами целостности данных.

Целостность сущностей

Целостности ост с 11 определяет строку таблицы как уникальные пляр некоторой сущности. Целостность сущностей обеспечивает целостность столбца с идентификатором или первичного ключа таблицы (посредством индексов, ограничений UNIQUE,

PRIMARY KEY или свойств IDENTITY).

Доменная целостность

Доменная целостность гарантирует наличие в некотором столбце только допустимых значений. Можно обеспечивать доменную целостность, ограничивая тип (посредством типов данных), формат (с помощью ограничений CHECK и правил) или диапазон допустимых значений (с помощью ограничений FOREIGN KEY и CHECK, определений DEFAULT,

определений NOT NULL и правил).



1 ... 49 50 51 [ 52 ] 53 54 55 ... 162

© 2006 - 2025 pmbk.ru. Генерация страницы: 0.001
При копировании материалов приветствуются ссылки.
Яндекс.Метрика