- •Оглавление
- •Глава 1. Модели данных 8
- •Глава 2. Теоретические основы реляционных баз данных 31
- •Глава 8. Администрирование баз данных на примере sql Server 99
- •Введение. Понятие баз данных. Виды баз данных. Средства реализации баз данных. Основные этапы создания баз данных
- •Глава 1. Модели данных
- •1.1 Уровни представления данных. Понятия схемы и подсхемы данных
- •1.2 Модели концептуального уровня представления данных
- •1.3 Модели данных логического уровня представления данных
- •1.4 Методология idef1x построения логических моделей реляционных баз данных
- •1.5 Case-средства проектирования баз данных
- •Глава 2. Теоретические основы реляционных баз данных
- •2.1 Основные понятия. Операции обновления и реляционной алгебры
- •2.2 Реляционное исчисление кортежей и доменов
- •2.3. Языки манипулирования данными в реляционных системах
- •2.4. Понятие ключа и функциональных зависимостей
- •2.5 Нормализация отношений. 1, 2, 3, 4, 5 нормальные формы отношений
- •2.6 Описание формального алгоритма приведения отношений к третьей нормальной форме
- •2.7 Пример анализа отношений базы данных на третью нормальную форму
- •Глава 3. Физическое проектирование баз данных
- •3.1 Формат и размещение физических (хранимых) записей
- •3.2 Методы доступа к данным
- •Глава 4. Свойства баз данных
- •4.1 Целостность данных
- •4.2 Свойство безопасности и секретности баз данных
- •4.3 Восстанавливаемость, согласованность и эффективность баз данных
- •4.4 Реорганизация баз данных. Администратор баз данных. Словарь данных
- •Глава 5. Язык sql. Стандарт языка sql
- •5.1 История sql. История стандарта sql. Уровни соответствия. Классы инструкций sql
- •5.2 Идентификаторы. Константы. Операторы. Типы данных. Ограничения
- •Глава 6. Теоретические основы распределенных баз данных
- •6.1 Основные понятия систем с распределенной обработкой данных
- •6.2 Изолированность пользователей в многопользовательских системах
- •6.3 Сериализация транзакций. Методы сериализации транзакций
- •6.4 Журнализация и буферизация изменений в базах данных
- •Глава 7. Пример реализации распределённых баз данных. Ms sql Server
- •7.1. Основные характеристики ms sql Server. Системные базы данных, таблицы и хранимые процедуры. Базы данных и файлы
- •7.2 Таблицы баз данных. Создание, удаление, изменение
- •7.3 Индексы баз данных
- •7.4 Программирование на Transact sql. Комментарии. Переменные. Команды управления
- •7.5 Курсоры. Типы курсоров. Работа с курсорами
- •7.6 Правила, значения по умолчанию, представления
- •7.7 Хранимые процедуры и функции
- •7.8. Управление триггерами и транзакциями
- •7.9 Диагностика и сбор данных. Оптимизация запросов
- •7.10 Удаленный доступ к данным
- •Глава 8. Администрирование баз данных на примере sql Server
- •8.1. Система безопасности. Аутентификация. Учетные записи и роли. Планирование разрешений
- •8.2. Репликация данных. Типы репликаций
- •8.3. Перемещение данных
- •8.4. Резервное копирование и восстановление баз данных
- •8.5 Автоматизация решения административных задач. Система оповещений
- •Заключение
- •Приложение
- •Список рекомендуемой литературы
7.2 Таблицы баз данных. Создание, удаление, изменение
Команда создания таблиц соответствует стандарту языка SQL. Имена таблиц ограничиваются 128 символами. Они должны быть уникальными по отношению к владельцу. Таблица может содержать до 1024 столбцов. Имя столбца имеет длину до 128 символов и уникально в пределах таблицы (допускаются в имени служебные символы _, @, #). Типы полей также соответствуют стандарту. В качестве одного из видов полей может использоваться счетчик. Столбец счетчика (IDENTITY) – это автоматизированный столбец, генерирующий уникальные значения с некоторым приращением. Столбцы счетчика не могут содержать неопределенные значения, и должны относиться к числовым типам данных - int, smallint, tinyint, numeric(p,0),decimal(p,0). Если при объявлении столбца не указаны начальное значение и приращение, столбец действует как счетчик с начальным значением 1 и приращением 1. Недостаточный размер счетчика может вызвать проблемы. В примере тип tinyint допускает максимальное значение 255, при достижении максимума таблица будет отвергать все дальнейшие операции вставки.
При изменении созданной таблицы к числу возможных модификаций относится добавление столбцов, изменение типов данных в существующих столбцах, объявление первичных ключей и так далее. Нельзя удалить ограничение первичного ключа при наличии ограничения внешнего ключа, ссылающегося на него. Команда изменения выглядит следующим образом:
ALTER TABLE <имя таблицы> <параметры>
Добавить столбцы после определения таблицы можно с помощью команды:
ALTER TABLE <имя таблицы> ADD <имя поля> <тип поля> <ограничения>
Удаление столбцов осуществляется командой:
ALTER TABLE <имя таблицы> DROP COLUMN < имя поля>
Удаление из таблиц ограничений:
ALTER TABLE <имя таблицы> DROP CONSTRAINT <имя ограничения>
Команда удаления таблицы выглядит следующим образом:
DROP TABLE <имя таблицы>
Удаленная таблица навсегда пропадает из базы данных, то есть действие команды удаления невозможно отменить. Удаляются не только пользовательские, но и системные таблицы. Таблицу, на которую ссылаются какие-либо ограничения, удалить нельзя. Перед удалением таблицы эти ограничения необходимо отключить или удалить. Таблица может быть удалена только владельцем. Удаленную таблицу нельзя восстановить. Кроме рассмотренных пользовательских таблиц и системных таблиц, существуют временные таблицы. Имена системных таблиц начинается с префикса sys. Временные таблицы отличаются от обычных тем, что они не предназначены для постоянного хранения данных. Временные таблицы могут быть локальными и глобальными. Локальные временные таблицы доступны только одному пользователю во время сеанса, глобальные временные таблицы доступны всем пользователям сети во время сеанса. Имена временных таблиц начинаются на # (локальные временные таблицы) и на ##(глобальные временные таблицы). Имена временных таблиц ограничиваются 116 символами. Временные таблицы удалятся при отключении пользователя от базы данных. Временные таблицы используются так, как будто они входят в текущую базу данных, однако в действительности данные хранятся в TEMPDB. Временные таблицы удаляются как обычные таблицы во время сеанса работы пользователя.
