
- •Введение
- •1. Основные понятия архитектуры клиент-сервер
- •1.1. Преимущества архитектуры клиент-сервер
- •1.2. Основные понятия и компоненты архитектуры
- •1.3. Звенья
- •1.4. Серверы баз данных
- •2. Основные понятия, объекты и язык т-sql субд ms sql Server 2005
- •2.1. Состав и назначение баз данных в ms sql Server
- •2.2. Основные этапы работы с sql Server
- •2.3. Используемые типы данных в sql Server
- •2.4. Введение в Transact-sql (t-sql)
- •2.4.1. Выражения
- •2.4.2. Переменные
- •2.4.3. Преобразование типов
- •2.4.4. Управляющие конструкции т-sql
- •2.4.5. Описание примера базы данных
- •2.4.6. Управление данными (язык sql)
- •2.4.6.1. Типы команд sql
- •2.4.6.2. Извлечение данных
- •2.5. Представления
- •2.5.1. Создание и удаление представлений
- •2.5.2. Обновление данных в представлениях
- •2.5.3. Преимущества и недостатки представлений.
- •Независимость от данных
- •2.6. Хранимые процедуры
- •2.6.1. Понятие хранимой процедуры
- •2.6.2. Типы хранимых процедур
- •2.6.3. Создание, изменение и удаление хранимых процедур
- •2.6.4. Выполнение хранимой процедуры
- •3. Использование ms sql Server Management Studio для работы с объектами базы данных
- •3.1. Описание учебной базы данных «Realizations of goods» (Реализация товаров)
- •3.2. Создание и сохранение базы данных
- •3.3. Создание и работа с представлениями (запросы)
- •3.4. Создание и работа с хранимыми процедурами
- •4. Создание клиент-серверного приложения в Visual Basic
- •4.1. Элемент управления ms ado data Control
- •4.2. Элемент управления ms dataGrid Control
- •4.3. Клиент-серверное приложение «Реализация товаров»
- •4.3.1. Постановка задачи
- •4.3.2. Состав пользовательского интерфейса и программная реализация
- •4.3.3. Графическое формирование значений свойств элементов Adodc и DataGrid
- •5. Практические задания для самостоятельной работы
- •Вариант 1. «Жильё»
- •Вариант 2. «Жители»
- •Вариант 3. «Население»
- •Вариант 4. «Вакансии»
- •Вариант 5. «Поставщики-детали»
- •Литература
2.2. Основные этапы работы с sql Server
Работа с SQL Server состоит из непосредственной работы на сервере и написании программного обеспечения так называемой клиентской части, которая будет создавать запросы (обычно посредством пользовательского интерфейса) для сервера, принимать и представлять полученную информацию.
Основные этапы работы непосредственно с сервером можно выполнить при помощи утилиты SQL Server Enterprise Management Studio или языка T-SQL. Они состоят из:
cоздания одной или нескольких баз данных — набор таблиц;
написания представлений и хранимых процедур для обработки данных на сервере;
установления прав доступа для каждого элемента базы данных.
Основная работа, связанная с построением клиентской части, состоит из создания интерфейса, написания программ для взаимодействия с серверной частью с использованием одного из процедурных языков программирования, например Visual Basic.
2.3. Используемые типы данных в sql Server
Один из основных моментов процесса создания таблицы и использования языка T-SQL – определение типов данных для ее полей. Тип данных поля таблицы определяет тип информации, которая будет размещаться в этом поле. Понятие типа данных в SQL Server полностью адекватно понятию типа данных в современных языках программирования. SQL Server поддерживает большое число различных типов данных: текстовые, числовые, двоичные и т.д. (см. таблицу 2).
Таблица 2. Типы данных SQL Server
Название типа |
Описание |
binary |
Двоичные (бинарные) значения фиксированной длины. Максимальная длина — 8000 байтов. |
varbinary |
Двоичные данные переменной длины с максимальной длиной 8000 байтов. |
bit |
Один бит, который принимает значения 0 или 1 (или NULL). |
char |
Символьные данные фиксированной длины (не в Unicode-кодировке). Максимальная длина — 8000 символов. |
varchar |
Символьные данные переменной длины (не в Unicode-кодировке), максимальная длина 8000 символов. |
nchar |
Символьные Unicode-данные фиксированной длины. Максимальная длина — 4000 символов. Если значение короче длины поля, то оно дополняется пробелами. |
nvarchar |
Символьные Unicode-данные переменной длины. Максимальная длина — 4000 символов. |
text |
Данные переменной длины (не в Unicode-кодировке), максимальная длина 231 — 1 (2 147 483 647) символов. |
datetime |
Значения дат и времени в диапазоне от 1 января 1753 г. до 31 декабря 9999 г. (точность 3.33 мс.) |
Smalldatetime |
Значения дат и времени в диапазоне от 1 января 1900 г. до 6 июня 2079 г. (точность 1 мин.) |
decimal/numeric |
Десятичные числа с фиксированным количеством знаков до и после запятой (точки) в диапазоне от —1038+1 до 1038—1. В обычном режиме сервер позволяет вводить не более 28 цифр (от 2 до 17 байт). |
float |
Числа с плавающей запятой в диапазоне от — 1.79*10+ 308 до 1.79*10 + 308-1 (точность до 15 цифр, 8 байт) |
real |
Числа с плавающей запятой в диапазоне от -3.40*10+ 38 до 3.40*10 + 38-1 (точность до 7 цифр, 4 байта). |
Tinyint |
Целые числа от 0 до 255. Размер (в байтах) — 1. |
int |
Целые числа в диапазоне от —231 (—2 147 483 648) до 231 — 1 (2 147 483 647). В стандарте SQL-92 синонимом для int является linteger. Размер (в байтах) — 4. |
smallint |
Целые числа 215 (-32 768) до 215 - 1 (32 767). Размер (в байтах) -2 (может включать не более 5 десятичных цифр). |
bigint |
Целые числа в диапазоне от -263 (-9 223 372 036 854 775 808) до 263-1 (9 223 372 036 854 775 807). Размер (в байтах) – 8 |
image |
Двоичные данные переменной длины. Максимальная длина — 231 — 1 (2 147 483 647) байтов. |
money |
Числа в денежном формате в диапазоне —263 (—922 337 203 685 477.5808) до 263 -1 (+922 337 203 685 477.5807) с точностью 0,0001 от денежной единицы. Размер 8 байт. |
smallmoney |
Денежные величины от —214 748.3648 до +214 748.3647. Размер 4 байта. |
Sql_variant |
Тип данных, позволяющий хранить любые типы данных, кроме text, ntext, timestamp и IMAGE. |
Timestamp |
Специальное уникальное для данной базы данных значение, устанавливаемое автоматически при добавлении/обновлении записи. Размер (в байтах) — 8. |
uniqueidentifier |
Специальный глобально уникальный идентификатор. |
Приведем краткий обзор типов данных SQL Server [6,7,10,13].
Для хранения символьной информации используются символьные типы данных, к которым относятся CHAR (длина), VARCHAR (длина), NCHAR (длина), NVARCHAR (длина), где параметр «длина» определяет размер поля. Последние два предназначены для хранения символов Unicode. Максимальное значение длины ограничено 8000 знаками (4000 – для символов Unicode).
Хранение символьных данных большого объема (до 2 Гб) осуществляется при помощи текстовых типов данных TEXT и NTEXT.
К целочисленным типам данных относятся INT (INTEGER), SMALLINT, TINYINT, BIGINT. Для хранения данных целочисленного типа используется, соответственно, 4 байта (диапазон от -231 до 231-1), 2 байта (диапазон от -215 до 215-1), 1 байт (диапазон от 0 до 255) или 8 байт (диапазон от -263 до 263-1). Объекты и выражения целочисленного типа могут применяться в любых математических операциях.
Числа, в составе которых есть десятичная точка, называются нецелочисленными (или вещественными). Нецелочисленные данные разделяются на два типа – десятичные и приблизительные.
К десятичным типам данных относятся типы DECIMAL [(точность[,масштаб])] или DEC и NUMERIC [(точность[,масштаб])]. Типы данных DECIMAL и NUMERIC позволяют самостоятельно определить формат точности числа с плавающей запятой. Параметр точность указывает максимальное количество цифр вводимых данных этого типа (до и после десятичной точки в сумме), а параметр масштаб – максимальное количество цифр, расположенных после десятичной точки. В обычном режиме сервер позволяет вводить не более 28 цифр, используемых в типах DECIMAL и NUMERIC (от 2 до 17 байт).
К приблизительным типам данных относятся FLOAT (точность до 15 цифр, 8 байт) и REAL (точность до 7 цифр, 4 байта). Эти типы представляют данные в формате с плавающей запятой, т.е. для представления чисел используется мантисса и порядок, что обеспечивает одинаковую точность вычислений независимо от того, насколько мало или велико значение.
Для хранения информации о дате и времени предназначены такие типы данных, как DATETIME и SMALLDATETIME, использующие для представления даты и времени 8 и 4 байта соответственно.
Типы данных MONEY и SMALLMONEY делают возможным хранение информации денежного типа; они обеспечивают точность значений до 4 знаков после запятой и используют 8 и 4 байта соответственно.
Тип данных BIT позволяет хранить один бит, который принимает значения 0 или 1.
В среде SQL Server реализован ряд специальных типов данных.
Тип данных TIMESTAMP применяется в качестве индикатора изменения версии строки в пределах базы данных.
Тип данных UNIQUEIDENTIFIER используется для хранения глобальных уникальных идентификационных номеров.
Тип данных SYSNAME предназначен для идентификаторов объектов.
Тип данных SQL_VARIANT позволяет хранить значения любого из поддерживаемых SQL Server типов данных за исключением TEXT, NTEXT, IMAGE и TIMESTAMP.