- •Введение
- •Глава 1 информационные системы
- •1.1 Информация как ресурс
- •1.2 Файловые системы
- •1.3 Информационные системы, использующие базы данных
- •1.3.1 Иерархические и сетевые модели данных
- •1.3.2 Реляционные системы управления базами данных
- •1.4 Компоненты информационных систем
- •1.4.1 Технические средства
- •1.4.2 Программное обеспечение
- •1.4.3 Данные
- •1.4.4 Пользователи
- •1.4.5 Организационное обеспечение
- •1.4.6 Отношения между компонентами системы
- •1.5 Основы проектирования информационных систем
- •1.5.1 Жизненный цикл программного обеспечения
- •1.5.2 Модели жизненного цикла по
- •1.5.3 Подходы к проектированию ис
- •1.6 Задания и вопросы для повторения
- •2.2 Подходы к проектированию баз данных
- •2.3 Создание базы данных
- •2.4 Основы концептуального проектирования баз данных
- •Объекты и отношения
- •2.3.2. Атрибуты
- •2.3.3 Ключи
- •2.3.4 Наследование
- •2.3.5 Составные объекты
- •2.3.6 Моделирование концептуальных и физических объектов
- •2.4 Реляционная модель данных
- •2.4.1 Поддержка целостности данных
- •Процесс нормализации таблиц
- •2.4.3 Пример построения нормализованной базы данных
- •2.4.4 Преобразование концептуальной модели в реляционную
- •2.5 Элементы er-моделирования
- •2.5.1 Основные понятия модели «сущность-связь»
- •2.5.2 Основные графические обозначения элементов модели
- •2.6 Заключительный этап проектирования
- •2.7 Сравнение концептуального и реляционного моделирования
- •2.8 Вопросы и задания для повторения
- •2.9 Упражнения и задачи
- •2.10 Проекты и профессиональные вопросы
- •Глава 3 реляционная алгебра и реляционное исчисление
- •3.1 Реляционная алгебра
- •3.1.1 Обзор реляционной алгебры
- •3.1.2 Теоретико-множественные операторы
- •3.1.3 Специальные реляционные операторы
- •3.1.4 Зависимые реляционные операторы
- •3.1.5 Примитивные реляционные операторы
- •3.2 Реляционное исчисление
- •3.2.1 Целевой список и определяющее выражение
- •3.2.2 Квантор существования
- •3.2.3 Квантор всеобщности
- •3.3 Заключение
- •3.4 Вопросы на повторение
- •3.5 Упражнения и задачи
- •Глава 4 управление реляционной базой данных с помощью sql
- •4.1 Элементы Transact-sql
- •Комментарии
- •4.1.2 Алфавит
- •4.1.3 Идентификаторы
- •Выражения
- •4.1.5 Ключевые слова
- •Операторы
- •4.1.7 Логические операторы
- •Типы данных
- •- Функции Transact-sql
- •4.2 Выборка данных из таблиц
- •4.2.1 Структура команды select
- •Результаты выборки
- •Отбор столбцов
- •Select Фамилия, Город from Гостиница.Dbo.Клиент
- •4.2.4 Определение заголовков столбцов
- •Выражения в выборках
- •Отбор записей
- •Порядок вывода данных
- •Котов Кузьма Кузьмич
- •Группировка данных
- •Отбор данных для групп
- •4.2.10 Директива compute
- •Выборка данных из нескольких таблиц
- •Объединение с помощью предложения where
- •Внутреннее объединение
- •4.2.14 Объединение и опция join
- •Оператор union
- •Подзапросы и структурированные запросы
- •Создание таблицы на основе выборки
- •Предложение for browse
- •4.3 Модификация данных
- •Добавление данных
- •Изменение данных
- •Удаление строк
- •Управляющие конструкции
- •Создание таблиц базы данных
- •4.6 Транзакции и блокировки
- •4.6.1 Понятие транзакций и блокировок
- •Управление транзакциями
- •Явные транзакции
- •Автоматические транзакции
- •Неявные транзакции
- •Управление блокировками
- •4.7 Хранимые процедуры
- •4.7.1 Типы хранимых процедур
- •Создание хранимых процедур
- •4.8 Триггеры
- •Создание триггера
- •Ограничения при создании триггеров
- •Использование триггеров
- •Вопросы на повторение
- •4.10 Упражнения и задачи
- •4.11 Проекты и профессиональные вопросы
- •Заключение
- •Приложение а sql скрпит, для создания таблиц согласно модели бд "Университет"
- •Литература
- Функции Transact-sql
Базовые (агрегатные) функции позволяют производить вычисления на основе данных, хранящихся в некотором столбце таблицы. Параметром агрегатной функции может быть имя столбца таблицы или звездочка (*).
Таблица 4.5 - Агрегатные функции
Функция |
Действие |
AVG |
Возвращает среднее арифметическое значение указанного столбца таблицы |
COUNT |
Возвращает число строк таблицы, в которых значение заданного столбца не равно значению NULL. Если параметром функции является звездочка, то подсчет ведется по всем строкам таблицы. |
MAX |
Возвращает максимальное значение в столбце |
MIN |
Возвращает минимальное значение в столбце |
SUM |
Возвращает сумму значений заданного столбца |
Следует отметить, что все эти функции обрабатывают только те строки, которые удовлетворяют заданному критерию отбора.
Строковые функции обычно используются с данными типа char, varchar, binary и text.
Таблица 4.6 - Строковые функции
Функция |
Результат |
ASCII(строка) |
Возвращает ASCII-код первого символа строки. |
CHAR(целое число) |
Преобразует целое число в символ. |
CHARINDEX(символьное выражение, строка) |
Возвращает номер позиции, с которой начинается символьное выражение в строке. Если заданное символьное выражение в строке отсутствует, то возвращается 0. |
DIFFERENCE(строка, строка) |
Выясняет степень схожести строк, возвращая значение от 0 до 4. Число 4 означает полное совпадение строк. |
LOWER(строка) |
Переводит символы строки в нижний регистр. |
LTRIM(строка) |
Удаляет пробелы в начале строки. |
RATINDEX(шаблон, строка) |
Возвращает номер позиции первого вхождения шаблона в строку. Шаблон должен быть заключен в знаки % и в нем допустимы другие символы маски. |
REPLICATE(строка, целое число) |
Повторяет строку указанное число раз. |
REVERSE(строка) |
Возвращает строку «задом наперед». |
RIGHT(строка, целое число) |
Возвращает часть строки, начиная с указанной позиции. |
RTRIM(строка) |
Удаляет пробелы в конце строки. |
SOUNDEX(строка, строка) |
Возвращает код из четырех цифр, который в дальнейшем используется при сравнении двух строк с помощью функции DIFFERENCE. |
SPACE(целое число) |
Возвращает строку из указанного числа пробелов. Если указано отрицательное число, то возвращается пустая строка. |
STR(число, число символов, количество десятичных знаков) |
Преобразует число в строку символов. |
STUFF(строка_1, начальная позиция, длина, строка_2) |
Удаляет из первой строки подстроку, которая определяется начальной позицией и длиной, и вставляет на это место вторую строку. |
SUBSTRING(строка, начальная позиция, длина) |
Возвращает часть строки, указанной длины, от начальной позиции. |
UPPER(строка) |
Переводит символы из нижнего регистра в верхний. |
Математические функции работают с числовыми типами данных. Значения, возвращаемые этими функциями, имеют шесть десятичных разрядов.
Таблица 4.7 - Математические функции
Функция |
Типы аргументов |
Результат |
ABS |
Число |
Абсолютное значение. |
ACOS, ASIN, ATAN |
Число с плавающей запятой |
Обратные косинус, синус и тангенс. Возвращает угол в радианах. |
ATAN2 |
Число_1, число_2 |
Возвращает угол в радианах, обратный тангенс которого равен частному от деления числа_1 на число_2. |
COS, SIN, COT, TAN |
Число с плавающей запятой, задающее угол в радианах |
Косинус, синус, котангенс и тангенс угла. |
CEILING |
Число |
Наименьшее целое, которое больше или равно указанному аргументу. |
DEGREES |
Число |
Преобразует угол из радиан в градусы. |
EXP |
Число с плавающей запятой |
Экспонента от аргумента. |
FLOOR |
Число |
Наибольшее целое, которое меньше или равно указанному аргументу. |
LOG |
Число с плавающей запятой |
Натуральный логарифм аргумента. |
LOG10 |
Число с плавающей запятой |
Десятичный логарифм аргумента. |
PI |
- |
Возвращает константу 3.141592653 (число ) |
POWER |
Число, y (число) |
Возвращает аргумент в степени y. |
RADIANS |
Число |
Преобразует угол из градусов в радианы. |
RAND |
Целое число. Аргумент необязателен. |
Возвращает случайное число с плавающей запятой в диапазоне от 0 до 1. Аргумент может использоваться в качестве начального значения. |
ROUND |
Число, количество цифр |
Число округляется до указанного количества цифр после запятой. |
SIGN |
Число |
Возвращает знак числа. |
SQRT |
Число с плавающей запятой |
Квадратный корень от числа. |
Следует отметить, что в качестве аргумента функций, приведенных в таблице 4.7, можно использовать все допустимые выражения, результатом вычисления которых будет число указанного выше типа.
Функции для работы с датами. Ниже приведены функции для работы со столбцами типа datetime.
Таблица 4.8 - Функции для работы с датами
Функция |
Тип аргумента |
Результат |
YEAR |
Дата |
Возвращает год в виде целого числа |
MONTH |
Дата |
Возвращает номер месяца |
DAY |
Дата |
Возвращает номер дня |
GETDATE |
|
Возвращает текущее время и дату. |
