Помощь в написании студенческих работ
Антистрессовый сервис

Схема. 
Организация баз данных

РефератПомощь в написанииУзнать стоимостьмоей работы

Oracle распределяет пространство памяти внутри блока данных для обеспечения одновременного выполнения нескольких транзакций. По мере обработки транзакций RDBMS, исходя из этих значений, динамически распределяет для транзакций буфера, вплоть до максимального числа, определенного параметром MAXTRANS. Если для таблицы выполняется значительное число операций, по сопровождению данных, должно быть… Читать ещё >

Схема. Организация баз данных (реферат, курсовая, диплом, контрольная)

После создания табличных пространств, можно добавлять объекты к базе данных. Владельцем каждого объекта является схема, в которой создан этот объект. Понятие схемы — это небольшая поправка к RDBMS Oracle, введенная в версии 7. Ранее все объекты принадлежали создавшему их пользователю.

По умолчанию схема аналогична подключенному в настоящее время пользователю, что обеспечивает совместимость с предыдущими версиями Oracle. Для создания схемы базы данных используйте следующую команду:

CREATE SCHEMA AUTHORIZATION schemajiame [CREATE TABLE commands]

[CREATE VIEW commands]

[GRANT commands] ;

Команда create schema может создать несколько объектов базы данных в одной транзакции. Не ставя точку с запятой в конце каждой команды CREATE OBJECT, введите ее только в конце для всей транзакции.

Таблицы

Первичным хранилищем данных в базе данных Oracle является таблица. Таблица содержит однородные данные, организованные в виде одного или нескольких полей или столбцов.

Создание таблиц

Для создания таблицы выдайте следующую команду: CREATE TABLE [schema_ name.]table_name (column_specifications)

[table_ constraints]

[PCTFREE integer]

[PCTUSED integer]

[INITRANS integer]

[MAXTRANS integer].

[TABLESPACE tablespace_name].

[STORAGE storage_c!ause].

[RECOVERABLE | UNRECOVERABLE].

[CLUSTER cluster, name (cluster, columns) ].

[PARALLEL parallel_clause].

[ENABLE enable_clause | DISABLE disable_clause].

[AS subquery].

[CACHE|NOCACHE].

Именем таблицы может быть любое допустимое имя объекта Oracle (длиной до 30 символов), которое еще не использовалось внутри схемы. Если никакая схема не определена, будет использоваться схема, заданная по умолчанию (название будет совпадать с регистрационным идентификатором пользователя базы данных или USERNAME). Таблица будет содержать столбцы, которые описаны в соответствующих спецификациях. Если столбцы не определены, команда CREATE TABLE должна использовать подзапрос для их определения с помощью фразы AS. Фраза для определения столбцов имеет следующий синтаксис.

column, name data, type [DEFAULT expression] [column, constraint].

где параметр column_name представляет собой допустимое имя Oracle, которое должно быть уникальным для таблицы. Тип данных и размер каждого столбца должен быть задан с учетом допустимых типов данных, приведенных в таблице 12.2.Тип данных LONG следует использовать для хранения больших блоков символьных данных, если манипулирование этими данными не требуется. Столбцы LONG могут использоваться только в списках select столбца, в фразах SET операторов update или фразах values операторов insert. Другими ограничениями является то, что отдельная таблица может иметь только один столбец LONG, и эти столбцы long не могут индексироваться или появляться в ограничениях целостности.

Кроме того, столбцы LONG не могут использоваться:

  • • В качестве выбранного столбца в команде create snapshot.
  • • Как часть фразы WHERE, GROUP BY, ORDER BY или CON NECT BY или фразы DISTINCT либо UNIQUE оператора SE LECT.

Таблица 12.2. Типы данных Oracle.

Тип данных.

Описание.

CHAR (n).

Символьная строка фиксированной длины, длиной п байт. Если длина не определена, она будет равна 1 байту. Столбцы CHAR могут иметь длину до 255 символов.

VAR;

CHAR2(n).

Символьная строка переменной длины, длиной до п символов. Столбец VARCHAR2 может иметь длину до 2000 символов.

LONG (n).

Элемент данных переменной длины (до 2 Гб). Столбцы LONG обладают большинством характеристик столбцов VARCHAR2, за исключением того, что их использование в SQL имеет некоторые.

DATE.

ограничения.

Столбцы DATE содержат дату и время (время входит в состав значения столбца, если же оно не.

NUM.

BER (p, s).

определено, то по умолчанию устанавливается равным нулю часов).

Столбцы NUMBER хранят числовые данные с общим количеством цифр, равным р и количеством цифр после десятичной точки, равным 5. Число s может быть меньше нуля, и в этом случае значение будет округлено к ближайшему числу, кратному 10 в степени s по модулю. Например, при s, равном -2, хранимое значение будет округлено к ближайшему кратному 100.

RAW и LONG RAW MLSLABEL.

Эти типы данных хранят двоичные данные LONG, и другие символьные типы данных удаляют несимвольные данные перед обработкой столбца. Этот тип данных используется с опцией Trusted. Oracle для внедрения метки защиты ОС.

  • • В любых функциях или выражениях SQL
  • • В качестве выбранного столбца в подзапросе

Oracle также обеспечивает поддержку типов данных столбцов, не встроенных в Oracle, для обеспечения совместимости со стандартом ANSI и другими базами данных SQL. Эти типы данных приведены в таблице 12.3.

Следующие типы данных SQL/DS и DB2 использовать не следует, они не имеют эквивалентов в Oracle.

  • GRAPHIC
  • VARGRAPHIC
  • LONG VARGRAPHIC •TIME
  • TIMESTAMP

Таблица 12.3. Другие типы данных.

Тип данных.

Эквивалент Oracle.

VARCHAR (n)

VARCHAR2(n) (Совместимость этих типов данных в более поздних выпусках может измениться.).

CHARACTER

VARYING (n)

CHAR (n)

NUMERIC (p^)

NUMBER (p, s)

CHAR VARYING (n)

VARCHAR2(n)

DECIMALS, s)

NUMBER (38)

INTEGER

NUMBER (p, s)

INT

NUMBER (38)

SMALLINT

NUMBER (38)

FLOAT

NUMBER (p, s)

DOUDLE PRECISION

NUMBERS)

REAL

NUMBER (p, s)

В случае необходимости можно определить для столбца значение по умолчанию с использованием любого допустимого выражения Oracle.

ПРИМЕЧАНИЕ.

Хотя и можно определить ограничения с помощь команды определения таблицы, все же для этого следует использовать, команду ALTER TABLE, после того как будут созданы все таблицы и представления. Для большинства ограничений (отличных от NULL или NOT NULL) учитываются связи между отдельными таблицами. Если таблица, указанная при задании ограничения, еще не существует, создание таблицы закончится неудачей. Каждый раз, когда пользователь создает базу данных, он вводит ее объекты в следующем порядке: таблицы, ограничения, индексы, представления, последовательности, процедуры и триггеры. Другие объекты можно создать в любое время.

Далее параметр PCTFREE определяет процент объема блока данных, резервируемый для роста отдельных строк. По мере добавления строк к таблице, RDBMS ведет внутри нее так называемый список свободных блоков, где указаны доступные блоки, которые могут заполняться данными. Если такой блок будет найден, то будет выполнена проверка для определения того, останутся ли в результате добавления новой строки неиспользуемыми, по меньшей мере, PCTFREE процентов от блока. Если место для обновления строки остается, она будет вставлена в блок. В противном случае блок будет удален из списка свободных блоков и будет проверен следующий доступный блок, и так до тех пор, пока не будет найдена допустимая позиция. Если допустимые блоки не будут найдены, Oracle распределит для таблицы дополнительный экстент. По мере выполнения обновлений свободная область внутри блока будет использоваться для хранения прироста строки. Если расширенная строка не будет помещаться в блоке данных, то вся строка по возможности будет перемещена в новый блок. Таким образом, если таблица будет редко обновляться или вообще не будет обновляться (как, например, таблицы контрольного журнала), параметр PCTFREE должен иметь относительно низкое значение (от 0 до 5 процентов). И наоборот, таблица, которая постоянно изменяется, может иметь 50 процентов (или более) свободного пространства.

ПРИМЕЧАНИЕ.

Перемещение строки данных было введено в Oracle для предотвращения фрагментации строки, т. е. размещения одной строки в нескольких блоках. Ранее во вторичный блок данных «переходила» только та часть строки, «которая» не помещалась в первичном блоке. Фрагментация в Oracle все еще может иметь место, но она обычно ограничивается теми случаями, когда строка не может целиком поместиться в одном блоке данных.

Следующий параметр, PCTUSED, определяет нижний порог использования пространства, за которым блок данных может быть возвращен в список свободных блоков. Нераспределенное пространство не может быть повторно использовано до тех пор, пока по мере удаления строк из таблицы общий объем пространства, используемого внутри блока, не станет ниже PCTUSED. Если этот параметр слишком низок, таблица может иметь значительный объем неиспользуемого пространства. Суммарное значение PCTFREE и PCTUSED должно составлять 100 или менее. Если значения для них не определены, применяются значения по умолчанию — 40 ДЛЯ PCTUSED И 10 ДЛЯ PCTFREE.

ПРИМЕЧАНИЕ.

Общее пространство, доступное внутри блока данных, несколько меньше общего размера блока из-за непроизводительных затрат памяти на структуры сопровождения базы данных. Непроизводительные затраты обычно составляют приблизительно 10 процентов от общего размера блока данных.

Параметры INITRANS и MAXTRANS предназначены для обработки транзакций в блоке данных таблицы в тех случаях, когда.

Oracle распределяет пространство памяти внутри блока данных для обеспечения одновременного выполнения нескольких транзакций. По мере обработки транзакций RDBMS, исходя из этих значений, динамически распределяет для транзакций буфера, вплоть до максимального числа, определенного параметром MAXTRANS. Если для таблицы выполняется значительное число операций, по сопровождению данных, должно быть установлено относительно высокое значение параметра initrans. Однако если это значение слишком высоко, непроизводительные затраты для блока данных приведут к напрасному расходованию памяти. В большинстве случаев применимы значения по умолчанию, 1 и 255.

Следующим необязательным параметром для создания таблицы является tablespace. Если табличное пространство не определено, таблица будет создана со значением DEFAULT_TABLESPACE для текущего пользователя, исходя из значения, установленного DBA при создании идентификатора пользователя. Затем могут быть определены параметры памяти для таблицы, как описано ранее при обсуждении табличных пространств. Параметры recoverable или unrecoverable определяют, должна ли быть записана в файлах журнала восстановления команда восстановления базы данных. Если ни один из них не определен, для созданной таблицы будет разрешено восстановление.

Далее, таблица может быть создана как часть кластеризованной группы таблиц. (Кластеры описаны ниже в данной главе.) Фраза parallel определяет, как можно получить доступ к таблице с использованием опции PARALLEL query, если база данных ее поддерживает (см. главу 33). Фраза ENABLE и disable относятся к ограничениям таблицы.

Как упоминалось ранее, для создания таблицы на основе результатов подзапроса можно использовать фразу AS. Столбцы для новой таблицы будут соответствовать тем именам, которые указаны в подзапросе, если только не представлены спецификации столбцов. Если типы данных спецификаций столбцов не соответствуют типам данных подзапроса, возникнет ошибка и таблица не будет создана. И наконец, можно создать таблицу с параметром.

nocache или cache. При использовании параметра cache таблица будет кэшироваться в памяти каждый раз при выполнении ее полного сканирования. Этот метод может повысить производительность обработки небольших, часто просматриваемых справочных таблиц.

Показать весь текст
Заполнить форму текущей работой