
- •Работа с таблицами в системе управления базами данных oracle
- •Типы данных Oracle
- •Строки символов
- •Числовые типы
- •Двоичные данные
- •Дата и время
- •Преобразование типов данных
- •Правила сравнения типов данных
- •Значения Null
- •Псевдостолбцы
- •Объекты базы данных
- •Создание таблиц
- •Ограничения для таблиц и столбцов
- •Alter table
- •Удаление таблицы
- •Ввод данных в таблицы
- •Удаление таблицы
- •Представление
- •Индексы
- •Create sequence
- •Create synonym
- •Индексы
- •Работа с индексами
- •Явные и неявные индексы
- •Изменение индекса
- •Удаление индексов
- •Битовые индексы
- •Кластеры
- •Создание кластеров
- •Удаление кластеров
Псевдостолбцы
Псевдостолбцы ведут себя аналогично столбцам таблицы, но реально в таблице не хранятся. В то время как запросы могут обращаться к псевдостолбцам, последние не могут быть добавлены, удалены или изменены.
В следующей таблице приводится описание псевдостолбцов:
Псевдостолбец |
Возвращаемое значение |
SequenceCURRVAL |
Возвращает текущее значение указанной последовательности. Должно быть специфицировано sequence_name. |
sequenceNEXTVAL |
Возвращает следующее значение указанной последовательности. Должно быть специфицировано sequence_name. |
ROWID |
Возвращает ROWID для строки. |
ROWNUM |
Возвращает последовательный номер выдаваемой строки из таблицы или объединения строк. Первая выбранная строка имеет ROWNUM =1, вторая 2 и т.д. |
Фраза WHERE ROWNUM > любого положительного числа - никогда не вернет строк. Это получается, потому что ROWNUM назначается для порядкового номера выдаваемой строки.
Например, первой выдаваемой строке назначается ROWNUM = 1, условие WHERE ROWNUM > 1 дает FALSE и строка не высвечивается.
Тогда вторая выбранная строка получит также ROWNUM = 1 и тоже не выдастся и, следовательно, не выдастся ни одной строки.
ROWNUM полезен главным образом для ограничения числа строк, возвращаемых запросом (например WHERE ROWNUM < 10). Он может быть также использован для назначения уникального значения каждой строке таблицы (UPDATE table SET column =ROWNUM) ROWNUM назначается, когда строка возвращается и не влияет на порядок, назначаемый фразой ORDER BY(т.е. он назначает до упорядочения)
Объекты базы данных
Объекты базы данных - это элементы, поддерживаемые ORACLE RDBMS. Большинство объектов занимает память в базе данных; некоторые объекты (например - табличные пространства) используются для хранения других объектов базы данных. Таблицы - это единственный объект, который хранит данные пользователя и к которому он может обращаться непосредственно.
Именование объектов базы данных подчиняется следующим правилам:
1. Имя объекта базы данных должно быть длиной от 1 до 30 символов (кроме имен объектов, ограниченных восемью символами).
2. Имя не должно содержать кавычек.
3. Имя не является регистрочувствительным
4. Имя должно начинаться с буквы.
5. Имя может содержать только символы A-Z, 0-9, _,$ и # (использование $ и # специально оговаривается).
6. Имя не должно дублировать зарезервированные слова ORACLE.
7. Имя не должно дублировать имя какого-либо иного объекта базы данных, владельцем которого является тот же пользователь.
8. Некоторые объекты базы данных могут в дальнейшем определяться вместе с именем пользователя - владельца данного объекта.
9. Имя может содержать любую комбинацию символов и в случае заключения в кавычки правила 3-6 не действуют. (в этом случае имя может также содержать и пробел).
Псевдонимы (алиасы) таблиц и столбцов, хотя и не являются объектами базы, должны следовать указанным правилам.
Таблица
Таблица является базовой структурой реляционной модели. Как известно, вся основная информация базы данных хранится в таблицах. Таблицы состоят из множества поименованных столбцов. Множество значений столбца определено с помощью ограничений целостности, то есть поддерживается ограниченная концепция домена. Полное имя таблицы в базе данных состоит из имени схемы, в данной реализации совпадающем с именем пользователя, создавшего таблицу, и собственно имени таблицы.