- •Введение
- •Глава 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 содержит инструкции, которые создают логические блоки (устройства) для хранения данных и базы данных, которые находятся на этих устройствах. Это было необходимо при работе с SQL Server 6.5 и потеряло свою актуальность для версии SQL Server 7.0. Это обусловлено появлением визуальных средств проектирования баз данных. Однако на практике может возникнуть задача создания таблицы программным путем. Ниже приводится команда создания таблицы, которая имеет следующий синтаксис:
CREATE TABLE
[<Имя базы данных>.[<Имя владельца>].]<Имя таблицы>
({<Определение столбца>
| <Имя столбца> AS <Рассчитываемое выражение>
| <Условия на значения таблицы>} [, …n])
[ON {<Группа> | DEFAULT}]
[TEXTIMAGE_ON {Группа | DEFAULT}],
где столбцы определяются следующим образом:
<Имя столбца> [<Тип данных> [<Длина>]] [NULL | NOT NULL]
[IDENTITY [(<Начало>, <Приращение>)
[NOT FOR REPLICATION]]
[ROWGUICOL]
Условия на значения столбца задаются следующим образом:
[CONSTRAINT <Имя условия на значения>]
DEFAULT {<Выражение> | <Функция> | NULL}
[FOR <Имя колонки>]
Параметры команды:
<Имя базы данных> - имя базы данных, которое можно не указывать, если база данных является текущей;
<Имя владельца> - владелец создаваемой таблицы;
<Имя таблицы> - уникальное для данной базы данных имя таблицы;
<Имя столбца> - уникальное имя столбца в таблице;
<Тип данных> - один из предопределенных или созданных пользователем типов данных;
NULL | NOT NULL – ключевые слова, определяющие, разрешено или нет использование в столбце значение NULL;
IDENTITY – ключевое слово, показывающее, что за формирование значений в этой таблице отвечает SQL Server;
ROWGUIDCOL – ключевое слово, показывающее, что новый столбец определяет глобальный уникальный идентификатор (тип данных - Uniqueidentifier);
<Имя столбца> AS <Рассчитываемое значение> - позволяет определить виртуальный, физически не хранящийся в таблице столбец, который нельзя использовать в качестве ключевого при построении индекса;
DEFAULT – используется для установки значений по умолчанию.
Приведем пример создания таблицы ОПЛАТА в базе данных ГОСТИНИЦА:
CREATE TABLE Гостиница.dbo.Оплата
(Номер_оплаты Integer IDENTITY (1,1) PRIMARY KEY CLUSTERED,
Код_клиента Integer NULL,
Оплата Money DEFAULT 0,
Дата_прибытия Datetime DEFAULT GETDATE())
4.6 Транзакции и блокировки
При одновременном обращении множества пользователей к одной БД нередко возникают ситуации, когда несколько пользователей пытаются работать с одними и теми же данными. Самая простая ситуация, когда несколько пользователей пытаются прочитать одни и те же данные. Здесь вопросов не возникает. Проблемы начинаются, когда несколько пользователей пытаются одновременно изменять или удалять данные, создавая конфликт. В этом случае трудно предсказать, какие значения получат данные, хранящиеся в таблицах БД. Необходимо всеми доступными средствами избежать такой неопределенности. Например, при проведении бухгалтерских расчетов необходимо гарантировать, что данные в таблице правильны и их целостность не нарушена.
