Создание баз данных. Основы Transact SQL. Обработка ошибок. Управление транзакциями. Триггеры

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

Создание баз данных. Основы Transact SQL. Обработка ошибок. Управление транзакциями. Триггеры

Контрольная работа

Компьютеры, программирование

Другие контрольные работы по предмету

Компьютеры, программирование

Сдать работу со 100% гаранией
ленный тип информации, например, фамилию, адрес, телефонный номер. Запись (или строка таблицы) - группа связанных полей, содержащих информацию об отдельном экземпляре сущности.

Любое поле таблицы характеризуется как минимум тремя обязательными свойствами:

Имя столбца. Реализует способ обращения к конкретному полю в таблице. Рекомендуется всегда присваивать полям смысловые имена.

Тип данных. Определяет, информация какого типа может храниться в данном поле.

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

Типы данных

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

Целочисленные данные(1 байт). Может хранить только значения 0, 1 или null (пустое значение, сообщающее об отсутствии данных). Его удобно использовать в качестве индикатора состояния - включено/выключено, да/нет, истина/ложь.(1 байт).Целые значения от 0 до 255.(2 байта). Диапазон значений от -215 (-32768) до 215 (3767).(4 байта). Может содержать целочисленные данные от -231 (-2147483648) до 231 (21474833647).(8 байт). Включает в себя данные от -263 (9223372036854775808) до 263 (9223372036854775807). Удобен для хранения очень больших чисел, не помещающихся в типе данных int.

Текстовые данные. Содержит символьные не Unicode-данные фиксированной длины до 8000 знаков.. Содержит символьные не Unicode-данные переменной длины до 8000 знаков.. Содержит данные Unicode фиксированной длины до 4000 символов. Подобно всем типам данных Unicode его удобно использовать для хранения небольших фрагментов текста, которые будут считываться разноязычными клиентами.. Содержит данные Unicode переменной длины до 4000 символов.

Десятичные данные. Содержит числа с фиксированной точностью от -1038-1 до 1038-1. Он использует два параметра: точность и степень. Точностью называется общее количество знаков, хранящееся в поле, а степень - это количество знаков справа от десятичной запятой.. Это синоним типа данных decimal - они идентичны.

Денежные типы данных(8 байт). Содержит денежные значения от -263 до 263 с десятичной точностью от денежной единицы. Удобен для хранения денежных сумм, превышающих 214768,3647.(4 байта). Содержит значения от -214748,3648 до 214748,3647 с десятичной точностью.

Данные с плавающей точкой. Содержит числа с плавающей запятой от -1,79Е+38 до 1,79Е+38.. Содержит числа с плавающей запятой от -3,40Е+38 до 3,40Е+38.

Типы данных даты и времени(8 байт). Содержит дату и время в диапазоне от 1 января 1753 года до 31 декабря 9999 года с точностью 3,33 мс.(4 байта). Содержит дату и время, начиная от 1 января 1900 года и заканчивая 6 июнем 2079, с точностью до 1 минуты.

Двоичные типы данных. Содержит двоичные данные фиксированной длины до 8000 байт.. Содержит двоичные данные переменной длины до 8000 байт.

Специализированные типы данных_variant. Используется для хранения значения с различными типами данных.. Используется для установки временных меток записей при вставке, которые соответствующим образом обновляются. Удобен для отслеживания изменений в данных.. Глобальный уникальный идентификатор.. Используется для хранения целых документов или фрагментов XML.

Создание пользовательских типов данныхServer позволяет на основе системных типов данных создавать пользовательские типы со всеми предварительно заданными параметрами, включая все ограничения и умолчания. В качестве примера создадим тип данных phone, который будет использоваться в таблице Customer для хранения телефонного номера клиента. Для его создания воспользуемся графическим интерфейсом утилиты Management Studio.

В дереве обозревателя объектов раскройте папки «Базы данных - Sales - Программирование - Типы». В контекстном меню узла «Определяемые пользователем типы данных» выберите команду «Создать определяемый пользователем тип данных».

В появившемся окне в текстовом поле «Имя» введите phone. В раскрывающемся списке «Тип данных» выберите nchar. В качестве длины введите 10. Отметьте параметр «Разрешить значения null», чтобы иметь возможность не указывать телефонный номер при добавлении нового клиента.

В секции «Привязки» оставьте пустые значения и щелкните на кнопке Ok. Созданный пользовательский тип данных должен появиться в дереве обозревателя объектов.

Рис. 2.1

 

Создание таблиц

Создадим в базе данных Sales пять таблицы. Первая таблица, Customer, будет хранить информацию о клиентах, вторая таблица City - справочник городов, третья, Product, - информацию о товарах, четвертая, Order, будет содержать подробную информацию о заказах и пятая, OrdItem, - о составе заказа (перечне товаров входящих в заказ). Ниже представлены все поля этих таблиц и их основные свойства.

 

Имя столбцаТип данныхРазрешить nullОписаниеCustomerIdCustint, identityнетУникальный идентификационный номер клиента, на который можно ссылаться в других таблицахFNamenvarchar(20)нетИмя клиентаLNamenvarchar(20)нетФамилия клиентаIdCityintнетСсылка на номер городаAddressnvarchar(50)нетАдрес клиентаZipnchar(5)нетПочтовый индекс клиентаPhonephoneдаТелефонный номер клиентаCityIdCityint, identityнетУникальный идентификационный номер городаCityNamenvarchar(20)нетНазвание городаProductIdProdint, identityнетУникальный идентификационный номер для каждого товараDescriptionnvarchar(100)нетКороткое текстовое описание товараInStockintнетКоличество единиц продукта на складеOrderIdOrdint, identityнетУникальный идентификационный номер заказаIdCustintнетСсылка на номер клиентаOrdDatesmalldatetimeнетДата и время размещения заказаOrdItemIdOrdintнетСсылка на номер заказаIdProdintнетСсылка на номер товараQtyintнетКоличество единиц товара в заказеPricemoneyнетЦена товара

Таблицы можно создавать как в графическом интерфейсе (в утилите Management Studio), так и с помощью кода T-SQL. Воспользуемся самым простым, графическим способом. Сначала создадим таблицу Customer:

В дереве обозревателя объектов в базе данных Sales в контекстном меню узла «Таблицы» выберите команду «Создать таблицу…». В рабочей области должна появиться вкладка с конструктором таблиц.

В первую строку в столбце «Имя столбца» введите IdCust, в столбце «Тип данных» выберите int. Убедитесь что параметр «Разрешить значения null» отключен.

В нижней половине экрана в разделе «Свойства столбцов» введите описание поля и измените значение параметра «Спецификация идентификатора / (Идентификатор)» на «Да» для того чтобы значения номера клиента формировались автоматически. Свойство «Идентифицирующий столбец» (Identity), обычно используемое совместно с типом данных int, предназначено для автоматического приращения значения на единицу при добавлении каждой новой записи. К примеру, клиент, добавленный в таблицу первым, будет иметь значение идентификатора 1, вторым - 2, третьим - 3, и т.д.

Аналогичным образом введите описания всех остальных полей и закройте окно конструктора таблиц. Введите в качестве имени таблицы Customer. Вновь созданная таблица должна появиться в дереве обозревателя объектов в папке «Таблицы».

 

Рис. 2.2

 

Задание для самостоятельной работы: В соответствие с вышеприведенным описанием создайте оставшиеся четыре таблицы: City, Product, Order и OrdItem.

Создание ограничений

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

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

Использование проверочных ограничений

Ограничения на проверку используются для ограничения данных, принимаемых полем, даже если они имеют корректный тип. Например, поле Zip (почтовый индекс) имеет тип nchar(5), т.е. чисто теоретически оно может принимать буквы. Это может стать проблемой, поскольку не существует почтовых индексов с буквами. Рассмотрим, как создать ограничение на проверку, запрещающее вводить в это поле буквы.

В контекстном меню папки «Ограничения» таблицы Customer выберите команду «Создать ограничение».

В открывшемся окне «Проверочные ограничения» заполните следующие поля:

Имя: CK_Zip

Выражение: ([zip] like '[0-9][0-9][0-9][0-9][0-9]'). Данное выражение описывает ограничение, принимающее пять символов, которыми могут быть только цифры от 0 до 9.

Описание: Ограничение на значения почтового индекса

Щелкните на кнопке «Закрыть» и закройте конструктор таблиц (он был открыт, когда вы начали создавать ограничение) с сохранением изменений.

 

Рис. 2.3

 

Задание для самостоятельной работы: Создайте ограничения для полей InStock таблицы Product и Qty, Price таблицы OrdItem, запрещающие ввод в них отрицательных значений. В данном случае выражение проверки будет иметь вид (Имя поля > 0) для полей Qty, Price и (Instock>=

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

< 1 2 3 4 5 6 > >>