- •Введение
- •Глава 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 скрпит, для создания таблиц согласно модели бд "Университет"
- •Литература
4.1.7 Логические операторы
Операторы этой группы применимы только к целочисленным типам данных: int, smallint, tinyint, bit и трактуют целые значения как последовательность двоичных значений 0 и 1.
Таблица 4.3 - Логические операторы
Оператор |
Запись оператора в командах SQL |
Описание |
& |
AND |
Конъюнкция (логическое И) |
| |
OR |
Дизъюнкция (логическое ИЛИ) |
~ |
NOT |
Логическое отрицание |
^ |
|
Исключающее ИЛИ |
Рассмотрим фрагмент программы.
--Объявление трех локальных переменных типа Integer.
declare @i integer, @j integer, @k integer
--Задание значений переменным.
select @i=2
select @j=4
--Вычисление дизъюнкции переменных @i и @j.
select @k=@i | @j
--Вывод результата на экран в виде строки символов.
print str(@k)
--Результат равен 6.
Если логическая операция ИЛИ используется в команде SELECT SQL, то использовать нужно слово OR. Например, из таблицы Table1 необходимо выбрать строки, в которых значение поля Cod равно 12 или 33. В этом случае команда SELECT должна быть записана следующим образом:
SELECT * FROM Table1 WHERE Cod = 12 OR Cod = 33
Типы данных
Тип данных – это характеристика, которая задается для столбца таблицы или переменной. При этом определяется тип хранящейся в них информации.
Таблица 4.4 - Системные типы данных
Тип |
Длина, байт |
Занимаемый объем |
Описание |
Bynary |
n |
До 8 Кб |
Любые данные в двоичном виде. Используется для хранения файлов. |
VarBinary |
n |
До 8 Кб |
Любые данные в двоичном виде. Используется для хранения файлов. Отличается тем, что размер поля ограничен только реальной длиной значения. |
Tinyint |
- |
1 байт |
Целое число от 0 до 255 |
Char |
n |
1 байт на символ |
Строка символов размером до 8 К. Если фактическая длина строки меньше n, то она дополняется справа пробелами. |
Varchar |
n |
1 байт на символ |
Отличается от типа данных Char тем, размер области хранения меняется в соответствии с фактическим количеством символов. |
Money |
- |
8 байт |
Денежное выражение для числовой величины. Выводит число с четырьмя десятичными разрядами и установленным обозначением денежной единицы. |
Smallmoney |
- |
4 байта |
Позволяет сохранять денежные значения в более узком, по сравнению с типом Money, диапазоне от -214,748.3648 до +214,748.3647. |
Datetime |
- |
8 байт |
Дата и время. Позволяет хранить дату и время начиная с 01.01.1753 нашей эры и заканчивая 31.12.9999 нашей эры с точностью 3.33 мс. |
SmallDatetime |
- |
4 байта |
Дата и время. Позволяет хранить дату и время начиная с 01.01.1900 нашей эры и заканчивая 06.06.2079 нашей эры с точностью 1 минута. |
Bit |
- |
1 байт |
Используется для хранения двоичного числа, принимающего значение 0 или 1. в одном байте можно хранить до 8 столбцов данного типа. Не допускается использования значения NULL. |
Float |
n |
От 1 до 20 байтов |
Числовой тип данных, который может содержать целые и дробные части. Допустимый интервал – от -1.79Е+308 до +1.79+308. |
Int (Integer) |
- |
4 байта |
Целое число от -2,147,483,648 до 2,147,483,647 |
Smallint |
- |
2 байта |
Целое число от -32,768 до 32,767 |
Image |
- |
16 байт |
Поле для ссылки на объект OLE |
Text |
- |
16 байт |
Поле примечаний для ссылки на блок данных. В полях типа Text хранится текстовая информация, размер которой кратен 8 Кб. Максимальный размер хранимой строки 2,147,483,647 символов. |
Decimal |
(p,s) |
От 2 до 17 байтов |
В отличие от FLOAT и REAL эти типы позволяют сохранять десятичные числа точно, без искажений. Диапазон значений - от (-10Е+38) до (+10Е+38). |
Numeric |
(p,s) |
||
Real |
- |
4 байта |
Тип данных с плавающей точкой. Положительные или отрицательные числа можно сохранять с точностью до 7 цифр. Данные типа Real принадлежат интервалу от -3.4Е+38 до +3.4Е+38. |
nChar |
|
2 байта на символ |
Новые типы данных, введенные в SQL Server 7.0, которые используются для хранения строк в специальной кодировке Unicode. |
nVarchar |
|
||
nText |
|
||
Timestamp |
- |
8 байт |
В столбце таблицы автоматически формируется уникальной значение, которое может служить идентификатором строки таблицы. При внесении изменений в строку таблицы значение поля типа Timestamp также изменяется. Данные типа Timestamp можно использовать в предложении WHERE для предотвращения одновременного обновления одной и той же строки двумя пользователями. В таблице может быть определен только один столбец данного типа. |
