
- •Введение
- •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.4. Введение в Transact-sql (t-sql)
Наряду с типами данных основополагающими понятиями при работе с языком SQL в среде MS SQL Server являются выражения, операторы, переменные, управляющие конструкции языка Transact-SQL.
Идентификаторы языка Transact-SQL предназначены для обозначения объектов в базе данных и могут являться именами таблиц, представлений, столбцов и других объектов базы данных. Символы, которые могут использоваться в создаваемых пользователем идентификаторах языка SQL, должны быть определены как набор символов. Стандарт SQL задает набор символов, который используется по умолчанию, – он включает строчные и прописные буквы латинского алфавита (A-Z, a-z), цифры (0-9) и символ подчеркивания (_). На формат идентификатора накладываются следующие ограничения:
идентификатор может иметь длину до 128 символов;
идентификатор должен начинаться с буквы;
идентификатор не может содержать пробелы.
Идентификатор в нотации БНФ имеет следующий формат:
<идентификатор>::=<буква> {<буква>|<цифра>}[...n]
Большинство компонентов языка не чувствительны к регистру. Поскольку у языка SQL свободный формат, отдельные SQL-операторы и их последовательности будут иметь более читаемый вид при использовании отступов и выравнивания.
2.4.1. Выражения
Выражения представляют собой комбинацию идентификаторов, функций, знаков логических и арифметических операций, констант и других объектов [6,7,13]. Выражение может быть использовано в качестве аргумента в командах, хранимых процедурах или запросах.
Выражение состоит из операндов (собственно данных) и операторов (знаков операций, производимых над операндами). В качестве операндов могут выступать константы, переменные, имена столбцов, функции, подзапросы.
Операторы – это знаки операций над одним или несколькими выражениями для создания нового выражения. Среди операторов можно выделить унарные операторы, операторы присваивания, арифметические операторы, строковые операторы, операторы сравнения, логические операторы, битовые операторы.
2.4.2. Переменные
В среде SQL Server существует несколько способов передачи данных между командами. Один из них – передача данных через локальные переменные. Прежде чем использовать какую-либо переменную, ее следует объявить. Объявление переменной выполняется командой DECLARE, имеющей следующий формат:
DECLARE @имя_переменной тип_данных [,...n]
Имена локальных переменных должны начинаться с символа @. Значения переменной можно присвоить посредством команд SET и SELECT. С помощью команды SELECT переменной можно присвоить не только конкретное значение, но и результат вычисления выражения.
Пример 2.1. Использование SET для присваивания значения локальной переменной.
DECLARE @a INT
SET @a=10
Пример 2.2. Использование SELECT для присваивания локальной переменной результата вычислений.
DECLARE @k INT
SELECT @k=SUM(количество) FROM Товар
2.4.3. Преобразование типов
Нередко требуется конвертировать (преобразовать) значения одного типа в значения другого. Наиболее часто выполняется конвертирование чисел в символьные данные и наоборот [6,7]. В первом случае, используется специализированная функция STR, которая имеют следующий формат:
STR(выражение [,длина][,кол]])
Первый аргумент определяет само (исходное) число, второй – длину символьной строки, третий – количество знаков после десятичной запятой.
Для выполнения других преобразований SQL Server предлагает универсальные функции CONVERT и CAST, с помощью которых значения одного типа преобразовываются в значения другого типа, если такие изменения вообще возможны. CONVERT и CAST могут быть взаимозаменяемыми и имеют следующий формат:
CAST(выражение AS тип_данных)
CONVERT(тип_данных[(длина)], выражение [,стиль])
Аргумент «выражение» определяет исходное (преобразуемое) значение, аргумент «тип_данных» – тип, в который необходимо преобразовать данные.
С помощью аргумента «стиль» можно управлять стилем представления значений следующих типов данных: дата/время, денежный или нецелочисленный. Некоторые допустимые значения этого аргумента приведены в таблицах 3,4.
Таблица 3. Значение аргумента «стиль» для типов данных DATETIME и SMALLDATETIME
Стиль |
Формат символьного значения |
101 |
mm/dd/yy |
102 |
yy.mm.dd |
103 |
dd/mm/yy |
104 |
dd.mm/yy |
105 |
dd-mm-yy |
108 |
hh:mm:ss |
110 |
mm-dd-yy |
111 |
yy/mm/dd |
Таблица 4. Значение аргумента «стиль» для типов данных FLOAT и REAL
Стиль |
Поведение |
0 |
Максимум 6 цифр |
1 |
Всегда 8 цифр |
2 |
Всегда 16 цифр |
Пример 2.3. Преобразование данных символьного типа к данным типа дата/время.
DECLARE @d DATETIME
DECLARE @s CHAR(8)
SET @s=’29.10.2001’
SET @d=CAST(@s AS DATETIME)
SET @s=’2001.10.29’
SET @d=CONVERT(DATETIME, @s, 102)