
- •Глава I «Общие вопросы» Вопросы 1-6
- •История развития бд. Сравнить между собой этапы(файлы и файловые системы, бд на больших эвм, эпоха персональных компьютеров, распределенные базы данных)
- •История развития бд.
- •Файлы и файловые системы.
- •Базы данных на больших эвм.
- •Эпоха персональных компьютеров.
- •Распределенные базы данных.
- •Архитектура базы данных. Физическая и логическая независимость (трехуровневая модель ansi).
- •Описать процесс прохождения пользовательского запроса
- •Пользователи баз данных. Основные функции группы администратора бд
- •Пользователи баз данных.
- •Основные функции группы администратора базы данных.
- •Перечислить классы субд. Какие возможности обеспечивает использование профессиональных субд.
- •Этапы разработки аис.
- •Глава II «Архитектура бд, режимы работы» Вопросы 7-12
- •Режимы работы с базой данных.
- •Архитектура клиент-сервер: структура типового интерактивного приложения.
- •Модель fs.
- •Модель rda
- •Модель сервера баз данных
- •Модель сервера приложений
- •Глава III «Модели данных, язык описания данных, реляционная алгебра» Вопросы 13-19
- •Иерархическая модель данных. Язык описания данных иерархической модели. Внешние модели.
- •Иерархическая модель данных.
- •Язык описания данных иерархической модели.
- •Внешние модели.
- •Пример иерархической базы данных.
- •Язык манипулирования данными в иерархических базах данных. Операторы поиска данных. Операторы поиска данных с возможностью модификации. Операторы модификации данных.
- •Операторы поиска данных.
- •Операторы поиска данных с возможностью модификации.
- •Операторы модификации данных.
- •Обновить
- •Ввести новый экземпляр сегмента.
- •Сетевая модель данных. Язык описания данных в сетевой модели.
- •Сетевая модель данных.
- •15.2. Язык описания данных в сетевой модели.
- •Язык манипулирования данными в сетевой модели.
- •Реляционная алгебра. Теоретико-множественные операции реляционной алгебры. Основные операции (объединение, пересечение, разность, конкатенация кортежей, произведение)
- •18.1. Теоретико-множественные операции реляционной алгебры.
- •Реляционная алгебра. Теоретико-множественные операции реляционной алгебры. Специальные операции (выборка, проекция, соединение, деление).
- •Глава IV
- •Вопросы 20-27
- •Язык sql. История развития sql. Структура sql. Типы данных.
- •Язык sql. История развития sql.
- •Структура sql.
- •Типы данных.
- •Операторы описания данных (ddl).
- •Операторы манипулирования данными (dml)
- •Язык запросов dql. Оператор выбора select.
- •Предикаты раздела where
- •Null-значения. Трехзначная логика
- •Агрегатные функции в операторе выбора
- •Вложенные запросы.
- •Глава V «Проектирование бд» Вопросы 28-33
- •Проектирование реляционных бд на основе принципов нормализации:
- •Этапы жизненного цикла бд. Этапы проектирования бд
- •Системный анализ предметной области (два подхода к выбору состава и структуры предметной области)
- •Инфологическое моделирование. Er - модель (базовые понятия сущность, связь, типы связей: 1:1, 1:n, n:n, обязательная/необязательная).
- •Инфологическое моделирование.
- •Переход к реляционной модели данных (правила преобразования er-модели в реляционную).
- •Даталогическое проектирование. Перечень результирующих документов, корректная схема бд. Два пути проектирование схемы бд.
- •Глава VI «Нормальные формы» Вопросы 34-37
- •Последовательность нормальных форм. Их свойства. Первая нормальная форма (1нф), вторая нормальная форма (2нф),
- •Третья нормальная форма (3нф), нормальная форма Бойса-Кодда (бк нф),
- •Нф Бойса-Кодда.
- •Четвертая нормальная форма (4нф), пятая нормальная форма (5нф)
- •Глава VII «oracle (Теория)» Вопросы 38-42
- •Сурбд Oracle. Конфигурации Oracle. Типы пользователей. Основные обязанности dba.
- •Субд Oracle.
- •Конфигурации Oracle.
- •Типы пользователей.
- •Основные обязанности dba.
- •Архитектура Oracle (физический и логический уровень)
- •Субд Oracle. Табличные пространства. Сегменты, экстенты и блоки данных.
- •Онлайновые и офлайновые табличные пространства
- •Файлы данных
- •Сегменты, экстенты и блоки данных.
- •Сегменты.
- •Экстенты.
- •Блоки данных.
- •Экземпляр Oracle. Sga, pga
- •Процессы. 7 основных фоновых процессов Oracle
- •Пользовательские процессы
- •Процессы Oracle
- •Глава VIII «oracle (Практика)» Вопросы 43-49
- •Объекты бд Oracle. Создание таблиц. Типы данных
- •Объекты Oracle.
- •Создание таблиц.
- •Типы данных.
- •Субд Oracle. Создание индексов.
- •Субд Oracle. Создание представлений
- •Субд Oracle. Создание последовательностей
- •Субд Oracle. Определенные пользователем типы данных. Создание синонимов
- •Субд Oracle. Создание ограничений
- •Субд Oracle. Создание табличных пространств
- •Глава IX
- •Вопросы 50-58
- •Основные понятия и конструкции pl/sql. Архитектура pl/sql
- •Поддерживаемый набор символов pl/sql. Арифметические операторы и операторы отношения
- •Структура программы и переменные pl/sql
- •Pl/sql. Условные операторы if
- •Pl/sql. Циклы
- •Pl/sql. Курсоры. Курсорный цикл for.
- •Курсорный цикл for.
- •Pl/sql. Хранимые процедуры
- •Пример хранимой процедуры.
- •Pl/sql. Функции
- •Pl/sql. Триггеры
- •Пример триггера.
Субд Oracle. Определенные пользователем типы данных. Создание синонимов
Определенные пользователем типы данных – это типы полей, которые отличаются, от предусмотренных в Oracle.
CREATE TYPE name_info AS OBJECT (
ename VARCHAR2 (10),
address VARCHAR2 (10),
city VARCHAR2 (10));
CREATE TABLE tmp (TmpID NUMBER (4), tmp_info name_info);
INSERT INTO tmp VALUES(100,name_info(“Ivanov”,NULL,”Moskow”));
Синоним (Synonym) – это альтернативное имя (псевдоним) для объекта схемы. Если для какого либо объекта базы данных Oracle существует синоним, то к объекту из SQL запроса можно обращаться либо по его настоящему имени, либо по синониму. Так же они обеспечивают некоторый уровень безопасности, поскольку скрывают имя объекта и его владельца, а так же делают прозрачным местоположение удаленных объектов распределенных баз данных.
Различают два типа синонимов:
Частный (PRIVATE)- синонимы содержаться в схеме конкретного пользователя и доступны только самому пользователю, и тем, кому он предоставил соответствующие права доступа.
Общий (PUBLIC)- этими синонимами владеет специальная группа пользователей – PUBLIC, в результате чего эти синонимы доступны всем пользователям базы данных.
Для создания синонимов используется конструкция CREATE SYNONYM или CREATE PUBLIC SYNONYM, в зависимости от типа создаваемого синонима. При создании наличие реального объекта и привилегий доступа к нему не требуется.
В общем случае:
CREATE SYNONYM [имя_синонима] FOR[имя_объекта]
CREATE PUBLIC SYNONYM [имя_синонима] FOR[имя_объекта]
Удаление синонима:
DROP SYNONYM A;
DROP PUBLIC SYNONYM B;
Пример:
CREATE SYNONYM zakd FOR student.Zakupkad;
Субд Oracle. Создание ограничений
Ограничения (Constraints) — правила для данных, которые гарантирует их непротиворечивость (в рамках одной таблицы или по отношению к данным из других таблиц). Могут применяться на уровне столбца или таблицы. Могут налагаться после создания таблицы.
Существует 2 основных типа ограничений:
Целостности данных (Data Integrity Constraints)
Ограничения целостности ссылок (Referential Constraints) — относятся к связям между таблицами (например, на основе первичного и внешнего ключей).
Для облегчения вставки данных в связанные таблицы можно использовать команды DISABLE/ENABLE CONSTRAINT, которые позволяют временно игнорировать ограничения.
ALTER TABLE имя_таблицы DISABLE CONSTRAINT имя_ограчения [CASCADE];
позволяет удалить ограничение и все связанные с ним при использовании параметра CASCADE.
ALTER TABLE имя_таблицы ENABLE CONSTRAINT имя_ограничения;
позволяет снова наложить ограничение.
Пример:
Следующие два оператора устанавливают пределы значений столбцов BirthDate и DeceasedDate:
ALTER TABLE ARTIST ADD CONSTRAINT BDLimit CHECK (BirthDate BETWEEN 1400 AND 2100):
ALTER TABLE ARTIST ADD CONSTRAINT DDLimit CHECK (DeceasedDate BETWEEN 1400 AND 2100).
Субд Oracle. Создание табличных пространств
Файл данных БД, представляет собой реальный файл, операционной системы. Он доступен для просмотра, но выполнять с ним какие либо действия рекомендуется только с помощью средств БД! Файлы данных хранят "табличные пространства", один файл данных хранит только одно "табличное пространство"! Создаются файлы данных с помощью, команд CREATE TABLESPACE и ALTER TABLESPACE. Размер, этих файлов определяется при создании и может быть изменен в процессе работы, как в сторону увеличения, так и в сторону уменьшения, но не меньше чем объем данных, которые в нем находятся! Так же, если вы создали файл данных (объявив новое табличное пространство), скажем 20Мгб, то файл и будет размером 20Мгб, не смотря на то, что будет в нем, таблица с одной строкой или с миллионом строк! Просмотреть все файлы данных ("табличные пространства") можно заглянув в каталог, C:\Oracle\ORADATA\proba, все файлы с расширением dbf и есть файлы данных или "табличные пространства". Либо можно дать, такой запрос в SQL*Plus, естественно войдя пользователем SYSTEM с паролем MANAGER:
SQL> SELECT tablespace_name, file_name, bytes
2 FROM dba_data_files
3 ORDER BY tablespace_name, file_name
4 /
TABLESPACE_NAME FILE_NAME BYTES
------------------------------ ------------------------------------------------------------ ----------
INDX C:\ORACLE\ORADATA\PROBA\INDX01.DBF 2097152
OEM_REPOSITORY C:\ORACLE\ORADATA\PROBA\OEMREP01.DBF 5242880
RBS C:\ORACLE\ORADATA\PROBA\RBS01.DBF 26214400
SYSTEM C:\ORACLE\ORADATA\PROBA\SYSTEM01.DBF 146800640
TEMP C:\ORACLE\ORADATA\PROBA\TEMP01.DBF 2097152
USERS C:\ORACLE\ORADATA\PROBA\USERS01.DBF 3145728
Отсюда хорошо видно, что мы имеем 6-ть файлов данных, или - "табличные пространства".
Итак, что это такое? Это собственно и есть те самые файлы данных, основные табличные пространства, которые создаются при автоматической установке БД, хорошо видно из предыдущего запроса, а именно:
SYSTEM - хранит все словари данных и системные объекты.
USERS - для хранения пользовательских объектов.
INDX - табличное пространство для организации индексов БД.
RBS - табличное пространство сегментов отката.
Вспомогательные:
OEM_REPOSITORY - специальное пространство, которое использует администратор БД (чуть позже).
TEMP - для нужд, остальных пространств.
Данная классификация весьма не полная. Табличные пространства, это еще одна сущность сервера БД Oracle. То есть вся система собственно и базируется на табличных пространствах. Их основное отличие от файлов данных, это то, что табличное пространство может содержать несколько файлов данных. Табличное пространство, следуя строгим определениям, не что иное, как логическая структура, используемая для группировки данных с однотипными методами доступа. Надеюсь это понятно. Так же табличные пространства, это основные объекты операций резервного копирования и восстановления.
Для создания, удаления и изменения табличных пространств, пользователь должен иметь следующие привилегии - CREATE TABLESPACE, DROP TABLESPACE, ALTER TABLESPACE. Рассмотрим первую из них:
CREATE TABLESPACE -- (табличное_пространство) -- DATAFILE -- (спецификация_файла) - (авторасширение)-*
--* -- MINIMUM -> EXTENT - (целое число) - К(килобайт)/М(мегабайт) --
-- LOGGING --
-- NOLGGING --
-- DEFAULT STORAGE -
-- ONLINE --
-- OFFLINE --
-- PERMANENT --
-- TEMPORARY --
-- (конструкция_управления_экстентами) -- (;)
--*
*-- конструкция_максимального_размера --
-- MAXISIZE -- UNLIMITED --------------------------------
-- (целое число) - К(килобайт)/М(мегабайт) --
"конструкция_авторасширения"
-- AUTOEXTEND -- OFF
-- NEXT -- (целое число) - К(килобайт)/М(мегабайт) --
-- ON ----------------------------------- (конструкция_максимального_размера)
"конструкция_управления_экстентами"
------------------ DICTIONARY -----------------------------
---- AUTOALLOCATE -----------------
-- EXTEND -- MANAGEMENT -- LOCAL ---- UNIFORM -- SIZE -- (целое число) - К(килобайт)/М(мегабайт) --
Рассмотрим основные конструкции. С первого взгляда их здесь много, но это не столь важно, просто я привел полную конструкцию команды из руководства администратора, по этому не пугайтесь все будет понятно. Значок -* и *- в данном случае указывает, что строка продолжается как бы в одну строку. Начнем помаленьку:
"конструкция_авторасширения" - разрешает или запрещает авто расширение файла данных. ON разрешает и OFF запрещает соответственно.
"конструкция_максимального_размера" - указывает максимальное дисковое пространство, которое может быть выделено файлу данных. UNLIMITED - снимает ограничения на выделение дискового пространства файлу данных.
LOGGING/NOLGGING - указывает атрибуты протоколирования, по умолчанию LOGGING.
DEFAULT STORAGE - определяет для всех объектов создаваемых в табличном пространстве, значения параметров хранения по умолчанию.
ONLINE/OFFLINE - определяет сразу после создания доступность табличного пространства.
PERMANENT/TEMPORARY - постоянное или временное пространство для хранения объектов БД, по умолчанию PERMANENT.
"конструкция_управления_экстентами" - определяет способ управления экстентами табличного пространства.
DICTIONARY - установка по умолчанию, определяет управление по таблицам словаря данных.
LOCAL - указывает на локальное управление экстентами.
AUTOALLOCATE - управляется системой и пользователь не может влиять на размер экстента БД.
UNIFORM - указывает, что экстенты имеют фиксированный размер в SIZE байт.
Пример:
CREATE TABLESPACE TBLSPCMYONE DATAFILE 'C:\ORACLE\ORADATA\PROBA\TEMP\ONE.DAT'
SIZE 100M REUSE AUTOEXTEND ON NEXT 2M MAXSIZE 200M
/