
- •История развития бд. Сравнить между собой этапы(файлы и файловые системы, бд на больших эвм, эпоха персональных компьютеров, распределенные базы данных)
- •Файлы и файловые системы
- •I Этап — бд на больших эвм.
- •II этап —эпоха пк.
- •III этап: распределённые базы данных.
- •IV этап. Перспектива развития субд.
- •Архитектура базы данных. Физическая и логическая независимость (трехуровневая модель ansi).
- •Архитектура бд
- •Описать процесс прохождения пользовательского запроса
- •Пользователи баз данных. Основные функции группы администратора бд
- •Перечислить классы субд. Какие возможности обеспечивает использование профессиональных субд. Модели данных в субд
- •Этапы разработки аис.
- •Режимы работы с базой данных.
- •Архитектура клиент-сервер: структура типового интерактивного приложения
- •Модель fs;
- •Модель rda(удалённого доступа к данным)
- •Модель сервера баз данных
- •Модель сервера приложений
- •Классификация моделей данных (описать и прокомментировать все уровни).
- •Иерархическая модель данных. Язык описания данных иерархической модели. Внешние модели.
- •Язык манипулирования данными в иерархических базах данных. Операторы поиска данных. Операторы поиска данных с возможностью модификации. Операторы модификации данных. Операторы поиска данных.
- •Операторы поиска данных с возможностью модификации.
- •Сетевая модель данных. Язык описания данных в сетевой модели.
- •Разделы яод
- •Язык манипулирования данными в сетевой модели.
- •Реляционная алгебра. Теоретико-множественные операции реляционной алгебры. Основные операции (объединение, пересечение, разность, конкатенация кортежей, произведение)
- •Реляционная алгебра. Теоретико-множественные операции реляционной алгебры. Специальные операции (выборка, проекция, соединение, деление).
- •Язык sql. История развития sql. Структура sql. Типы данных.
- •Структура sql
- •Операторы описания данных (ddl).
- •Операторы манипулирования данными (dml)
- •Язык запросов dql. Оператор выбора select.
- •Выборка из одной таблицы
- •Предикаты раздела where
- •Null-значения. Трехзначная логика
- •Агрегатные функции в операторе выбора
- •Вложенные запросы.
- •Проектирование реляционных бд на основе принципов нормализации
- •Этапы жизненного цикла бд. Этапы проектирования бд
- •Системный анализ предметной области (два подхода к выбору состава и структуры предметной области)
- •Инфологическое моделирование. Er - модель (базовые понятия сущность, связь, типы связей: 1:1, 1:n, n:n, обязательная/необязательная).
- •Переход к реляционной модели данных (правила преобразования er-модели в реляционную).
- •Даталогическое проектирование. Перечень результирующих документов, корректная схема бд. Два пути проектирование схемы бд.
- •Последовательность нормальных форм. Их свойства. Первая нормальная форма (1нф), вторая нормальная форма (2нф),
- •Первая нормальная форма
- •Вторая нормальная форма
- •Третья нормальная форма (3нф), нормальная форма Бойса-Кодда (бк нф), Третья нормальная форма
- •Нормальная форма Бойса-Кодда
- •Четвертая нормальная форма (4нф), пятая нормальная форма (5нф) Четвертая нормальная форма
- •Пятая нормальная форма
- •Сурбд Oracle. Конфигурации Oracle. Типы пользователей. Основные обязанности dba.
- •Типы пользователей
- •Архитектура Oracle (физический и логический уровень)
- •Субд Oracle. Табличные пространства. Сегменты, экстенты и блоки данных.
- •Экземпляр Oracle. Sga, pga
- •Процессы. 7 основных фоновых процессов Oracle
- •Объекты бд Oracle. Создание таблиц. Типы данных
- •Субд Oracle. Создание индексов.
- •Субд Oracle. Создание представлений
- •Субд Oracle. Создание последовательностей
- •Техническая часть
- •Субд Oracle. Определенные пользователем типы данных. Создание синонимов
- •Субд Oracle. Создание ограничений
- •Субд Oracle. Создание табличных пространств
- •Основные понятия и конструкции pl/sql. Архитектура pl/sql
- •Поддерживаемый набор символов pl/sql. Арифметические операторы и операторы отношения Набор символов pl/sql
- •Структура программы и переменные pl/sql
- •[Править] Типы данных
- •Операторы управления
- •Pl/sql. Условные операторы if
- •Pl/sql. Циклы
- •Pl/sql. Курсоры
- •Pl/sql. Хранимые процедуры
- •Pl/sql. Функции
- •Pl/sql. Триггеры
-
Субд Oracle. Создание ограничений
Ограничения (Constraints) — правила для данных, которые гарантирует их непротиворечивость (в рамках одной таблицы или по отношению к данным из других таблиц). Могут применяться на уровне столбца или таблицы. Могут налагаться после создания таблицы.
Существует 2 основных типа ограничений:
-
Целостности данных (Data Integrity Constraints)
-
Ограничения целостности ссылок (Referential Constraints) — относятся к связям между таблицами (например на основе первичного и внешнего ключей).
Для облегчения вставки данных в связанные таблицы можно использовать команды DISABLE/ENABLE CONSTRAINT, которые позволяют временно игнорировать ограничения.
ALTER TABLE имя_таблицы DISABLE CONSTRAINT имя_огра [CASCADE]; — позволяет удалить ограничение и все связанные с ним при использовании параметра CASCADE.
ALTER TABLE имя_таблицы ENABLE CONSTRAINT имя_огра; — позволяет снова наложить ограничение.
Родительская таблица (Parent Table) или родительская строка (parent row) — таблица с первичным ключом или строка в такой таблице.
Дочерняя таблица (child table) или дочерняя строка (children record) — таблица со внешним ключом или строка данных в такой таблице.
-
Субд Oracle. Создание табличных пространств
Табличное пространство (tablespace) — …
CREATE TABLESPACE имя_пространства DATAFILE 'полный_путь_к_файлу' SIZEn DEFAULT STORAGE (INITIAL nK, NEXT nK, MINEXTENTS n, MAXEXTENTS n) ONLINE;
Давайте после множества примеров PL/SQL - обратимся, к такому понятию БД Oracle, как табличное пространство. В шаге-23, мы немного рассмотрели этот вопрос, но только в начальной стадии. Теперь давайте познакомимся с этим понятием более детально. Помните наш запрос:
В данном случае мы видим, что наша с вами система, имеет шесть табличных пространств, каждое из которых содержится в своем файле данных, который в свою очередь расположен в системном каталоге Oracle Server - C:\Oracle\ORADATA\proba. Иначе, это можно описать как C:\ORAHOME\ORADATA\SID. По умолчанию при создании экземпляра БД используется именно такой путь к файлам данных табличных пространств. Если говорить прямо, то табличное пространство, это конкретный файл данных, расположенный в системном каталоге Oracle. А, в строгой формулировке - табличное пространство это логическая структура, которая используется для группировки данных с однотипными методами доступа. В табличное пространство может входить, один или несколько файлов данных. Но, как правило, один или несколько файлов данных не могут хранить два табличных пространства, а только одно!
Помните когда мы создавали пользователя (схему), мы с вами указывали где он будет хранить свои данные. Это и есть то самое табличное пространство. И вот здесь мы с вами подходим к очень интересному моменту. При создании любой БД, как правило, оговаривается ее тип, исходя из этого и создается сам экземпляр! Так вот в нашей учебной БД, вы этого не видели. Но, если бы мы пошли по более конструктивному пути, (мы еще это проделаем!) а, именно установили сам сервер Oracle, затем создали бы экземпляр и провели его настройку, то вы бы это все увидели. Итак, к чему я это все болтаю, а вот к чему!
БД Oracle содержит и поддерживает несколько типов при создании экземпляра. Но основные из них это OLTP (On-Line Transaction Processing) и DSS (Decision Support System). Я понимаю, что это немного утомляет когда много теории, но знать это необходимо. Рассмотрим подробнее.
Рассмотрим систему OLTP. Данная система характеризуется высоким параллелизмом (большим количеством интерактивных пользователей) и как следствие высокой интенсивностью обновлений (то есть большое количество одновременно открытых транзакций). В таких системах, объем данных может значительно изменяться во времени как бы, то пусто, то густо! По этому, при создании табличных пространств (вот к чему я и вел!) и экстентов в них для систем OLTP необходимо задавать максимально возможный размер. Так как табличные пространства с включенной опцией динамического расширения может привести к тому, что производительность системы может значительно упасть! Вследствие этого возникает парадокс, что для достижения высокой производительности табличные пространства должны быть фиксированной длинны и при этом превосходить по объему максимальный размер данных, обрабатываемых в нем. Так же для управления транзакциями необходимо иметь принципиальную возможность выполнения достаточного количества отмен и откатов. Для коротких транзакций небольшие сегменты отката, для длительной и объемной транзакции большие сегменты отката. Так же большее количество журналов регистрации транзакций и более продуманной системы построения экземпляра в целом с применением методов диагностики и настройки. Вообще по большому счету при работе с любой БД, администрирование и настройка БД, это каждодневный и нелегкий труд админа! Такая у него доля! Кстати ярким примером системы OLTP, может служить система, применяемая сегодня в супермаркетах, коих у нас великое множество (Эльдорадо (Москва) НК - Сити (Хабаровск) и т.д.). В единицу времени может списываться сотня наименований товаров, со склада с подсчетом общего баланса и в то же время сотни наименований могут быть приняты на учет, так как пришел груз и получатель его оприходует в тот же момент! Собственно это и есть кратко система OLTP.
Далее продолжим рассмотрение второго типа экземпляров БД, для более ясного усвоения изложенного! :)