Всего 190 статей  1 2 3  »

В любой таблице может быть создан только один столбец с идентификатором или глобально уникальным идентификатором. Свойство IDENTITY

Столбцы с идентификатором можно реализовать с помощью свойства IDENTITY, которое позволяет разработчику приложений задать номер идентификатора первой строки, добавленной в таблицу (свойство Identity Seed, исходное течение идентификатора) и инкремент (свойств© Identity Increment), который будет прибавляться к исходному значению для определения последовательных значений идентификатора. SQL Server автоматически генерирует следующее значение идентификатора, прибавляя инкремент к исходному значению.

Хотя свойство IDENTITY автоматизирует нумерацию строк таблицы, значения идентификатора в различных габлшш. содержащих столбцы с идентификаторами, могут совпадать. Свойство IDENTITY гарантированно уникально в пределах той таблицы, в которой оно используется. Если приложение должно генерировать столбец с идентификатором, уникальным в пределах всей базы данных (или всех баз данных на всех компьютерах в мире, объединенных в сеть), следует использовать свойство ROWGUIDCOL. тип данных uniqueidentifer и функцию NEWID.

SQL Server предоставляем несколько методов создания таблиц: оператор языка Transact-CREATE TABLE, консоль SQL Server Enterprise Manager и Database Designer (доступный через SQL Server Enterprise Manager). Оператор CREATE TABLE

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

Таблицы можно создавать непосредственно в SQL Server Enterprise Manager. Чтобы создать таблицу в существующей базе данных, раскройте консоль ло базы данных, далее раскройте базу данных и щелкните правой кнопкой узел Tables, а затем щелкните New Table. В появившемся окне New Table введите всю необходимую для определения таблицы информацию, как показано на рис. 4-3.

В SQL Server Enterprise Manager средства Database Designer позволяют добавить таблицу к диаграмме базы данных, отредактировать структуру таблицы или связать ее с другими таблицами, показанными на диаграмме. К диаграмме можно добавлять как существующие, так и новые таблицы, еще не определенные в базе данных. В качестве альтернативы разрешается строить новые таблицы и модифицировать существующие с помощью Table Designer. Этот визуальный инструмент позволяет конструировать и визуализировать таблицу в базе данных, к которой вы подключены.

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

После создания таблиц в базе данных вы можете просмотреть сведения о ее свойствах (например, имя или тип данных какого-либо столбца, тип индексов и т. д.) или вывести зависимости таблицы, чтобы определить зависимые от таблицы объекты (например, представления, хранимые процедуры и триггеры). Вносимые в таблицу изменения ВЛИЯЮТ на зависящие от нее объекты.

После создания таблицы многие параметры, определенные во время ее создания, разрешается изменять. Например, добавлять, модифицировать и удалять столбцы, в том числе изменять имя, длину, тип данных, точность (точность дробной части), возможность ввода пустых значений — последнее с некоторыми ограничениями. Более подробно об этом рассказано в SQL Server Books Online, а сейчас мы просто перечислим все возможные операции:

В этом упражнении вы с помощью оператора Transact-SQL CREATE TABLE создадите таблицы в базе данных, сконструированной при выполнении упражнения 1. Вы создадите все таблицы, определенные в структуре базы данных, разработанной в главе 3. При этом вы определите их имена, столбцы, типы данных, длину (где нужно) и возможность ввода пустых значений, а также свойства IDENTITY и значения по умолчанию для соответствующих столбцов таблицы. Все эти процедуры выполняются с учетом ограничений данных, определенных в главе 3. Чтобы выполнить это упражнение, нужно зарегистрироваться в качестве администратора на компьютере под управлением Windows 2000 Server.

1. Откройте SQL Query Analyzer и подключитесь к локальному серверу.

2. На панели Editor окна Query введите следующий код на языке Transact-SQL:

Этот оператор создает таблицу Authors, состоящую из шести столбцов, каждый из которых определен как NOT NULL. Значения NOT NULL использованы для запрета ввода пустых значений, поскольку для столбцов, не требующих ввода значения, определены значения по умолчанию. Кроме того, для столбца AuthorlD определено свойство IDENTITY Первой добавленной в таблицу строке будет присвоено значение AuthorlD, равное 101 (исходное значение). Значения в этом столбце будут генерироваться автоматически с инкрементом I.

1. На панели Editor окна Query введите и исполните операторы Transact-SQL, необходимые для создания остальных таблиц базы данных BookShopDB.

При необходимости обращайтесь к справочнику по языку Transact-SQL в SQL Server Books Online. Также используйте структуру базы данных BookShopDB, созданную в главе 3 и определенные в этой главе ограничения.

Приведенные ниже вопросы помогут вам лучше усвоить основные темы данной главы. Если вы не сумеете ответить на вопрос, повторите материал соответствующего занятия и попытайтесь еще раз. Ответы для самопроверки вы найдете в приложении «Вопросы и ответы».

1. Назовите первый этап реализации физической базы данных.

В таблицах SQL Server может быть определен ря I свойств различного ! ИП .. обеспечивающих целостность данных. К ним относятся типы данных, определения NOT NULL и DEFAULT, свойства IDENTITY, ограничения, правила, триггеры и индексы. На этом занятии вы познакомитесь со всеми этими методами обеспечения целостности данных и типами целостности данных, которые поддерживает SQL Server. А также узнаете о различных типах целостности данных, в том числе целостности сущностей, доменной целостности, ссылочной целостности и целостности, определяемой пользователем.

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

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

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

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

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

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

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

Всего 190 статей  1 2 3  »