
- •Типы сущностей, типы связей. Модальность связей, кардинальное число связи.
- •Принципы выделения сущностей в предметной области. Выделение связей, рефлексивные связи (отношение сущности к самой себе), бинарные и n-арные связи.
- •Правила формирования диаграммы сущностей и связей с использованием различных нотаций.
- •Преобразование er диаграммы в схему реляционной базы данных.
- •Архитектура базы данных oracle. Табличные пространства. Системная область, область отката.
- •Запуск и останов системы управления базой данных ( startup, shutdown). Состояния базы данных (shutdown, nomount, mount, open). Перевод базы из одного состояния в другой.
- •Основные элементы базы данных. Таблицы, обзоры, последовательности, индексы, синонимы.
- •Создание, изменение и удаление элементов базы данных.
- •Тип данных date, особенности выполнения операций с данными типа дата.
- •Тип данных rowind.
- •Определение табличного пространства
- •Определение ограничений целостности unique, primary key, not null, foreign key, check.
- •Изменение таблиц, ограничение операций изменения таблицы. Добавление и изменение атрибутов таблицы.
- •Выделение привилегий при работе пользователя (grant). Использование ролей.
-
Изменение таблиц, ограничение операций изменения таблицы. Добавление и изменение атрибутов таблицы.
Структуру созданной таблицы можно изменить с помощью команды ALTER TABLE. Эта команда позволяет добавлять столбцы, менять размеры столбцов, добавлять и удалять ограничения, а также разрешать и запрещать их действие.
Переименование таблицы:
RENAME old_name TO new_name;
Добавление столбца:
ALTER TABLE таблица
ADD (столбец тип_данных [DEFAULT выражение] [NOT NULL]
[, столбец тип_данных] …);
Изменение столбца:
ALTER TABLE таблица
MODIFY (столбец тип_данных [DEFAULT выражение] [NOT NULL]
[, столбец тип_данных] …);
Добавление ограничений
ALTER TABLE таблица
ADD [CONSTRAINT ограничение] тип (столбец);
Удаление ограничений:
ALTER TABLE таблица
DROP PRIMARY KEY | UNIQUE (столбец)|
CONSTRAINT ограничение [CASCADE];
С помощью команды ALTER TABLE с предложениями ENABLE и DISABLE можно разрешать и запрещать действия ограничений, не удаляя их.
ALTER TABLE таблица
DISABLE | ENABLE CONSTRAINT ограничение [CASCADE];
Переименование таблицы:
RENAME old_name TO new_name;
-
Удаление таблицы и удаление данных из таблицы, каскадное удаление таблиц.
Удаление таблицы:
DROP TABLE таблица [CASCADE CONSTRAINTS];
Если используется параметр CASCADE CONSTRAINTS, то удаляются и все зависимые ссылочные ограничения.
Усечение таблицы:
TRUNCATE TABLE таблица;
Это команда для удаления всех строк таблицы и освобождения памяти, отведенной под таблицу. Командой DELETE также можно удалить все строки таблицы, но она не освобождает память, отведенную под таблицу.
Удаление строк:
DELETE FROM таблица
[WHERE условие]
-
Создание обзоров, особенности использования обзоров в базе данных.
CREATE VIEW Name_View AS Query;
Основные ключевые слова и параметры CREATE VIEW Oracle:
OR REPLACE, FORCE, NOFORCE, Sсhema, View, Alias, AS subquery, WITH CHECK OPTION, Constraint
OR REPLACE — пересоздает представление, если оно уже существует. Можно использовать эту опцию для изменения определения представления без того, чтобы удалять его, создавать заново и вновь назначать все объектные привилегии, которые были назначены по данному представлению;
FORCE — создает представление независимо от того, существуют ли базовые таблицы этого представления, и от того, имеет ли владелец схемы, содержащей представление, привилегии по этим таблицам. Необходимо чтобы оба названных условия были удовлетворены, прежде чем по данному представлению можно будет выдавать любые предложения SELECT, INSERT, UPDATE или DELETE. По умолчанию применяется параметр NOFORCE;
NOFORCE — создает представление только в том случае, если существуют базовые таблицы этого представления, а владелец схемы, содержащей представление, имеет привилегии по этим таблицам;
Sсhema — схема, в которой создается представление. Если СХЕМА опущена, то ORACLE создает представление в схеме пользователя;
-
Удаление обзоров. Возникновение недействительных обзоров.
Обзор удаляется командой DROP VIEW view_name;
При удалении обзора его синонимы, а также обзоры, которые ссылаются на этот обзор, не удаляются, а становятся неверными (недействительными).
-
Создание запросов, объединение результатов от нескольких запросов (UNION).
Запросы создаются с помощью SQL и подчиняются общим правилам.
Select polya from table [where uslovie] [order by][group by], etc
UNION позволяет объединить результаты двух запросов из таблиц, схожих по структуре, исключив при этом повторяющиеся результаты.
Select t1, t2 from table1
Union
Select t1, t2 from table2
-
Выделение неповторяющихся кортежей.
Выделить неповторяющиеся кортежи можно с помощью следующего запроса:
select * from table where ID in (SELECT ID FROM table1
GROUP BY ID
HAVING count(ID)<2)
где ID – поле, значение которого не должно повторяться. Таких полей может быть несколько, а для записей со всеми уникальными полями – все.
-
Группирование и сортировка кортежей в запросе (GROUP HAVING ORDER).
Group – группировка строк по определённому признаку. Например, GROUP BY ID сгруппирует все строки с одинаковыми ID. При этом в результате выборки может находиться только группируемое поле и/или его агрегатные функции. HAVING – это аналог WHERE, то есть условие отбора, но действует оно только для агрегатных функций. Order – сортировка. Параметры: asc – по умолчанию, по возрастанию, desc – по убыванию. Может быть указано несколько сортировок с разными параметрами. Они будут выполняться в порядке следования. (Примеры)
-
Задание условий выделения кортежей (WHERE).
Where – удаляет все строки, не удовлетворяющие указанным условиям. (Пример, Like, in).
-
Операция вставки данных, вставка данных с подзапросом (INSERT).
INSERT INTO table1(pole1 [, pole]) values (value1 [, value])
Можно выполнять вставку данных, используя подзапрос. В этом случае подзапрос должен возвращать строки, столбцы которых будут соответствовать типам и количеству добавляемых значений.
INSERT INTO table1 [(pole1 [,pole])] select [(pole1 [,pole])] from table
-
Операция удаления кортежей. Ограничения на удаление (ограничение целостности данных).
Выполняется с помощью команды DELETE FROM TABLE [where condition]
Что будет со связанными данными – зависит от ограничений, заданных при создании таблицы. Если параметр on delete указан cascade – удалятся все взаимосвязанные компоненты. SET NULL – в связанных компонентах (ключах) будет установлен NULL, SET DEFAULT – значение по умолчанию, NO ACTION – при наличии связанных компонентов производится откат удаления и выводится сообщение об ошибке.
-
Операция замены данных в таблицах (UPDATE).
Update table1 set column1=v1 [, column=value] [where condition]
Если параметр on update указан cascade – при изменении одного из ключей обновятся все взаимосвязанные компоненты (ключи). SET NULL – в связанных компонентах (ключах) будет установлен NULL, SET DEFAULT – значение по умолчанию, NO ACTION – при наличии связанных компонентов производится откат обновления и выводится сообщение об ошибке.
-
Создание пользователей базы данных. Задание пароля и табличного пространства пользователя. Ограничение работы пользователя. Системные пароли и имена.
Для успешной регистрации пользователя необходимо иметь привилегию CREATE USER.
Для добавления пользователя и выделения прав работы пользователя требуется выполнить команду CREATE USER.
Синтаксис команды имеет вид:
CREATE USER ХХХ IDENTIFIED BY YYYYY {EXTERNALLY }
{DEFAULT TABLESPACE имя_табличной_области1}
{TEMPORARY TABLESPACE имя_табличной_области2}
{QUOTA {
число_единиц [{ К | M }]
| UNLIMITED
}
ON имя _табл. области }
{PROFILE имя_профиля} ;
где ХХХ – имя пользователя YYYYY – пароль пользователя. Для пароля воз-можно использование только символов из множества однобайтно кодируемых, (цифры и латинские буквы).
Если указан параметр EXTERNALLY, то сервер проверяет соответствие зарегистрированного операционной системой пользователя и пользователя СУБД Oracle. Если имена совпадают, то Oracle не проводит собственную аутентификацию. Использование режима внешней аутентификации в защищенных системах не рекомендуется.
Ключевое слово DEFAULT TABLESPACE указывает имя табличной области, задаваемое параметром "имя_табличной_области1", которая используется для объектов создаваемого пользователя по умолчанию. Если ключевое слово DEFAULT TABLESPACE не указано, то для объектов создаваемого пользователя будет использоваться табличная область SYSTEM. Учитывая, что в табличной области SYSTEM размешен словарь данных, использовать её для пользовательских объектов нецелесообразно.
Ключевое слово TEMPORARY TABLESPACE указывает имя табличной области, которая используется для временных сегментов по умолчанию. Временные сегменты используются для хранения промежуточных данных сложных запросов. Если ключевое слово TEMPORARY TABLESPACE не указано, то для временных сегментов создаваемого пользователя будет использоваться табличная область SYSTEM.
Для многопользовательской системы, к которой предъявляются повы-шенные требования по производительности табличные области для временных сегментов и для объектов пользователя желательно разнести по различным физическим носителям.
Ключевое слово QUOTA задает ограничения на используемое пользователем пространство в конкретной табличной области. Максимально допустимое пространство задается параметром "число_единиц" в мегабайтах или килобайтах, если указано ключевое слово М или К (если не указано ни М, ни К — в байтах). Указание ключевого слова UNLIMITED разрешает пользователю использовать табличное пространство без ограничений.
Ключевое слово PROFILE назначает регистрируемому пользователю профиль, задаваемый параметром "имя_профиля". Профиль пользователя — это поименованный набор ограничений на ресурсы системы. Если ключевое слово PROFILE не указано, пользователю приписывается профиль DEFAULT.
Выделить права пользователя для создания ресурсов СУБД – таблиц, обзоров, процедур и т.п. и права для доступа к СУБД.
GRANT RESOURCE TO ХХХ;
GRANT CREATE SESSION TO ХХХ;
где ХХХ – имя пользователя.
-
Создание табличных пространств. Принципы выделения табличных пространств.
Создание пространства:
Create tablespace namespace
Datafile “a.dbf” SIZE size
online|offline
alter tablespace namespace
online|offline
-
Удаление пользователей и табличных пространств.
Drop tablespace namespace
Оператор исключения пользователя Oracle использует следующий синтаксис:
DROP USER имя пользователя {CASCADE }
Параметр "имя_полъзователя" задает имя пользователя в системе. Если указано ключевое слово CASCADE, то автоматически удаляются все объекты исключаемого пользователя. Если ключевое слово CASCADE не указано, а в схеме пользователя содержатся объекты, возвращается сообщение об ошибке.
Внешние элементы базы данных, ссылающиеся на объекты исключаемого пользователя, помечаются как неисполнимые (попытка выполнить опе¬рации с этими объектами приводит к сообщению об ошибке).