Создание базы данных Представления Средства определения схемы базы данных • В СУБД ORACLE база данных создается в ходе установки программного обеспечения собственно СУБД. Все таблицы пользователей помещаются в единую базу данных. • Однако они могут быть разделены на группы, объединенные в подсхемы. • Понятие подсхемы не стандартизировано в SQL и не используется в других СУБД. INGRES • В состав СУБД INGRES входит специальная системная утилита, имеющая имя CREATEDB, которая позволяет создавать новые базы данных. • Права на использование этой утилиты имеет администратор сервера. • Для удаления базы данных существует соответствующая утилита DESTROYDB. MS SQL Server • В СУБД MS SQL Server существует специальный оператор CREATE DATABASE, который является частью языка определения данных • для удаления базы данных в языке определен оператор DROP DATABASE. Пример для MS SQL Server Служебные слова • Database_name — имя базы данных, идентификатор в системе; • ON — ключевое слово, которое означает, что далее будут заданы спецификации файлов, которые будут использованы для размещения базы данных; • PRIMARY — ключевое слово, которое определяет первичное файловое пространство, в котором будет размещена собственно база данных; • LOG ON — ключевое слово, которое задает спецификацию файлов, которые будут использованы для хранения журналов транзакций; • FOR LOAD — ключевое слово, которое определяет, что после создания базы данных будет произведена загрузка базы данных данными; • FOR ATTACH — предложение, которое определяет, что база данных для управления будет подсоединена к другому серверу. • Пример для библиотеки • CREATE DATABASE Library • Удаление базы данных • DROP DATABASE database_name Средства изменения описания таблиц и средства удаления таблиц • Для модификации таблиц используется оператор ALTER TABLE, который позволяет выполнить следующие операции изменения для схемы таблицы: • добавить новый столбец в уже существующую и заполненную таблицу; • изменить значение по умолчанию для какого-либо столбца; • удалить столбец из существующей таблицы; • добавить или удалить первичный ключ таблицы; • добавить или удалить новый внешний ключ таблицы; • добавить или удалить условие уникальности; • добавить или удалить условие проверки для любого столбца пли для таблицы в целом. Синтаксис оператора ALTER TABLE Пример • Добавим столбец к таблице Изменение первичного ключа таблицы операция удаления таблиц • Оператор удаления • Последовательность удаления таблиц • в БД Библиотека операции создания представлений • Представление (View) - это SQL-запрос на выборку, который пользователь воспринимает как некоторое виртуальное отношение. • В отличие от реальной таблицы представление в том виде, как оно сконструировано, не существует в базе данных, это действительно только виртуальное отношение, хотя все данные, которые представлены в нем, действительно существуют в базе данных, но в разных отношениях. Оператор определения представления • Если список имей столбцов в представлении не задай, то каждый столбец представления получает имя соответствующего столбца запроса. Горизонтальное представление • Например, у нас есть таблица «Сотрудник» (EMPLOYEE) с полями «Табельный номер» (Т_NUM), «ФИО» (NAME), должность»(Р0SITION), «оклад»(SALARY), «надбавка» (PREMIUM), «отдел» (DEPARTMENT). • Для приложения, с которым работает начальник отдела продаж, будет создано • представление Пример Вертикальное представление • Этот вид представления практически соответствует выполнению операции проектирования некоторого отношения на ряд столбцов. • Он используется в основном для скрытия информации, которая не должна быть доступна в конкретной внешней модели. Пример Сгруппированные представления • Создадим представление, которое определяет суммарный фон заработной платы и надбавок по каждому подразделению с указанием количества сотрудников,минимальной, максимальной и средней зарплаты и надбавки по подразделению. Пример Объединенные представления • создадим представление, которое содержит список читателей-должников с указанием книг, которые у них па руках, и указанных в базе сроков сдачи этих книг. Пример Обновление представлений • В запросе должен отсутствовать предикат DISTINCT, то есть повторяющиеся строки не должны исключаться из таблицы результатов запроса. • В предложении FROM должна быть задана только одна таблица, которую можно обновлять (это горизонтальное или вертикальное представление), а пользователь должен иметь соответствующие права доступа к ней. • Каждое имя в списке возвращаемых столбцов должно быть ссылкой на простой столбец: в списке не должны содержаться выражения, вычисляемые столбцы или агрегатные функции. • В предложении WHERE не должен стоять вложенный запрос; в нем могут присутствовать только простые условия поиска. • В запросе не должно присутствовать выражение группировки GROUP BY или HAVING.