Oracle DBA Forum  

Вернуться   Oracle DBA Forum > Oracle University Official Study Notes (RUS) > База данных Oracle 10g Администрирование > База данных Oracle 10g Администрирование I

Ответ
 
Опции темы Опции просмотра
  #1  
Старый 24.09.2009, 12:32
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,385
По умолчанию 07 Сопровождение объектов схем

__________________
Чат форума (требуется аккаунт на github или twitter)
Ответить с цитированием
  #2  
Старый 24.09.2009, 12:33
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,385
По умолчанию Рассматриваемые вопросы

__________________
Чат форума (требуется аккаунт на github или twitter)
Ответить с цитированием
  #3  
Старый 24.09.2009, 12:34
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,385
По умолчанию Что такое схема?



Что такое схема?

Схема - это совокупность объектов базы данных, принадлежащих конкретному пользователю. Обычно в промышленной базе данных такой пользователь представляет приложение, а не конкретного человека. Схема имеет то же самое имя, что и пользователь, владеющий этой схемой. Объекты схемы (schema objects) - это логические структуры, которые прямо ссылаются на данные БД. Объектами схем могут быть, например, таблицы, представления и индексы.

Объекты схем можно создавать и изменять с помощью SQL или Enterprise Manager.
При использовании Enterprise Manager можно также сгенерировать соответствующие команды SQL.


Примечание: Не существует прямой связи между табличным пространством и схемой. Можно определить такую конфигурацию, в которой объекты одной и той же схемы располагаются в различных табличных пространствах, а табличное пространство хранит объекты различных схем.

В процессе создания базы данных создается несколько схем. Две из них особенно важны:

Схема SYS; хранит словарь данных (об этом было сказано в уроке "Администрирование параметров безопасности пользователей").

Схема SYSTEM; содержит дополнительные таблицы и представления для хранения административной информации (см. также урок "Администрирование параметров безопасности пользователей").

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

HR. Простая схема "Персонал " (Human Resources), позволяющая продемонстрировать основные возможности Oracle. Расширение этой схемы используется для демонстрации Oracle Internet Directory.

ОЕ. Схема ведения заказов (Order Entry) предназначена для обсуждения вопросов среднего уровня сложности. В схеме представлено большое число типов данных. Подсхема ОС (Online Catalog - оперативный катачог) представляет собой совокупность объектно-реляционных объектов БД внутри схемы ОЕ.

РМ. Схема с данными о продукции (Product Media) использует типы данных для хранения мультимедийной информации.

QS. Пример ведение очередей поставки (Queued Shipping) содержит набор схем, используемый для демонстрации входящей в Oracle опции обработки очередей (Advanced Queuing).

SH. Схема с данными о о продажах (Sales History) создана для демонстрации работы с большими объемами данных. Схема с некоторыми дополнениями используется для демонстрации расширенной аналитической обработки.
__________________
Чат форума (требуется аккаунт на github или twitter)

Последний раз редактировалось Marley; 24.09.2009 в 12:36.
Ответить с цитированием
  #4  
Старый 24.09.2009, 12:37
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,385
По умолчанию Доступ к объектам схемы



Доступ к объектам схемы

Объекты многих типов доступны по ссылкам в секции Schema на странице Administration.

После щелчка на одной из этих ссылок выводится страница соответствующих объектов. Чтобы найти конкретный объект, введите в секции Search имя схемы и имя этого объекта. Кроме того, здесь же можно задать вид объекта поиска, которого нет в секции Schema на странице Administration. Другие виды объектов содержатся в выпадающем меню поля Object Туре.
__________________
Чат форума (требуется аккаунт на github или twitter)
Ответить с цитированием
  #5  
Старый 24.09.2009, 12:39
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,385
По умолчанию Правила присвоения имен объектам БД



Правила присвоения имен объектам БД

При присвоении имени объекту базы данных имеется возможность заключить его в двойные кавычки (""). Однако в этом случае перестают действовать некоторые правила именования, приведенные на слайде. Это не рекомендуется делать еще и потому, что всегда придется указывать имя в двойных кавычках. Например, если вы присвоите таблице имя "Local Temp", вам придется писать так:



В случае ошибки в регистре символа вы получите сообщение:



Имена, не заключенные в кавычки, хранятся в символах верхнего регистра и поэтому не зависят от регистра символов. При обработке команды SQL имена, не заключенные в кавычки, преобразуются в имена с символами в верхнем регистре.

Имена, не заключенные в кавычки, могут содержать только алфавитно-цифровые символы, имеющиеся в кодировке вашей базы данных, символ подчеркивания (_), знак доллара (S) и символ решетки (#). В именах связей баз данных могут также быть точки (.) и знак "at" (@). Настоятельно не рекомендуется использование $ и # в именах, не заключенных в кавычки.

Имена, заключенные в кавычки, могут содержать любые символы и знаки пунктуации, а также пробелы.

В любых именах не могут присутствовать знаки двойных кавычек.
__________________
Чат форума (требуется аккаунт на github или twitter)
Ответить с цитированием
  #6  
Старый 24.09.2009, 12:42
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,385
По умолчанию Типы данных столбцов таблиц



Типы данных столбцов таблиц

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

Сервер базы данных Oracle имеет следующие встроенные типы данных:

CHAR; символьные данные постоянной длины, задаваемой в байтах или символах. Максиматьный размер - 2000 байтов или символов. Размер по умолчанию и минимальный размер - 1 байт.
- BYTE указывает на то, что размер задается в байтах.
- CHAR указывает на то, что размер задается в символах.

VARCHAR2; символьные строковые данные переменной длины , ограниченной размером в байтах или символах. Максимальны размер - 4000 байтов. Размер должен всегда указываться при описании этого типа.

DATE; дата в диапазоне от 1 января 1 4712 г. до нашей эры до 31 декабря 9999 г. нашей эры; в дате хранится время с точностью до секунды.

NUMBER; число с точностью р и масштабом s. Точность может варьироваться от 1 до 38, масштаб - от -84 до 127.

BINARY_FLOAT; 32-битное число с плавающей точкой. Для хранения значения такого типа требуется 5 байтов, включая байт для длины.

BINARY_DOUBLE; 64-битное число с плавающей точкой. Для хранения значения такого типа требуется 9 байтов.

FLOAT (р); тип данных, удовлетворяющий стандарту ANSI. Тип данных FLOAT описывает число с плавающей точкой с заданной двоичной точностью р. По умолчанию точность этого типа данных - 126 двоичных цифр или 38 десятичных.

INTEGER; эквивалентен типу данных NUMBER (р, 0).

NCHAR (длина); тип данных, хранящий символьную информация в кодировке Unicode. При создании таблицы длина столбцов типа NCHAR указывается в символах. Национальная кодировка символов определяется при создании базы данных. Максимальная длина столбца зависит от национальной кодировки. Длина задается числом символов. Максимальный размер столбца - 2000 байтов. Если вставляемое значение короче длины столбца, Oracle добавляет к нему справа пробелы, пока значение в столбце не будет иметь заданный размер. Нельзя вставить данные типа CHAR в столбец типа NCHAR, а также нельзя вставить данные типа NCHAR в столбец типа CHAR.

NVARCHAR2 (размер [BYTE | CHAR]); тип данных NVARCHAR2 может хранить данные только в кодировке Unicode. Он схож с типом NCHAR, за исключением того, что максимальная длина NVARCHAR2 - 4000 байтов и к значению в этом столбце не добавляются пробелы.

LONG; символьные данные переменной длины, размером до 2 гигабайтов (до 2 31 -1 байтов). Тип данных LONG больше не рекомендуется использовать; используйте вместо него тип данных LOB.

LONG RAW; необработанные ("сырые") двоичные данные длиной до 2 гигабайтов .

RAW (размер); необработанные двоичные данные с длиной, заданной параметром размер. Максимальный размер - 2000 байтов (он должен быть задан).

ROWID; уникальный адрес строки в таблице, представленный в 64-х символьной системе кодирования; этот тип данных специально предназначен для возврата значения псевдостолбца ROWID.

UROWID; строка в 64-х символьной системе кодирования, представляющая логический адрес строки в индексно-организованной таблице. В описании типа может быть указан размер. Максимальный размер и размер по умолчанию -4000 байтов.

BLOB; двоичный большой объект.

CLOB; символьный большой объект, содержащий однобайтовые и многобайтовые символы. Поддерживаются кодировки символов постоянной и переменной длины. В обоих случаях используется кодировка базы данных, применяемая для хранения данных типа CHAR.

NCLOB: символьный большой объект; символы в кодировке Unicode.
Поддерживаются кодировки символов постоянной и переменной длины. В обоих случая используется национальная кодировка базы данных, применяемая для хранения данных типа NCHAR.

Примечание: максимальный размер всех типов данных LOB (BLOB, CLOB и NCLOB) составляет (4 гигабайта - 1) * (величина параметра CHUNK). CHUNK - необязательный атрибут, который можно установить в описании LOB. CHUNK задает количество байтов, выделяемое для манипуляций с данными LOB. Если величина CHUNK не кратна размеру блока данных БД, тогда производится округление до следующего кратного. Например, если размер блока БД равен 2048, а величина CHUNK - 2050, тогда база данных выделит 4096 байтов (2 блока). Максимальное значение - 32768 (32К), представляющее собой максимально допустимый размер блока базы данных Oracle. По умолчанию величина CHUNK совпадает с размером одного блока БД Oracle

BFILE; содержит указатель (locator) на двоичный файл, хранимый вне базы данных. Предоставляется возможность потокового побайтового ввода-вывода для доступа к внешним LOB-объектам, хранимым на сервере базы данных. Максимальный размер - 4 гигабайта.

TIMESTAMP (точность_в_долях_секунды); хранит значение года, месяца, дня, а также время в часах, минутах и секундах с
точностью_в_долях_секунды. Значение точности_в_долях_секунды определяет число цифр в дробной части поля секунд (доли секунды). Точность_в_долях_секунды может быть задана в диапазоне от 0 до 9. Значение по умолчанию 6.

Полный перечень типов данных и пользовательских типов см. в документе Oracle Database SQL Reference.
__________________
Чат форума (требуется аккаунт на github или twitter)

Последний раз редактировалось Marley; 24.09.2009 в 12:47.
Ответить с цитированием
  #7  
Старый 24.09.2009, 12:49
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,385
По умолчанию Создание и изменение таблиц



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

Таблицы - основные единицы хранения информации в базе данных Oracle. В них хранятся данные, доступные пользователю. Каждая таблица состоит из столбцов и строк.


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

Можно создать таблицу с помощью Enterprise Manager. Для этого выполните следующее:

1. Щелкните на ссылке Tables в секции Schema на странице Administration. Будет выведена страница Tables.
2. Если вы знаете имя схемы, введите его полностью или частично в поле Schema в секции Search. Если вы не знаете имя схемы, щелкните на пиктограмме "фонарик" справа от поля Schema. Появится окно Search and Select: Schema, в котором можно выбрать имя схемы.
3. Щелкните на кнопке Create. Появится страница Create Table: Table Organization.
4. Подтвердите значения по умолчанию: Standard, Heap Organized, щелкнув на кнопке Continue. Появится страница Create Table.
5. Введите наименование таблицы в поле Name.
6. Введите имя схемы в поле Schema или щелкните на пиктограмме "фонарик", чтобы найти нужную схему.
7. Введите имя табличного пространства в поле Tablespace или щелкните на пиктограмме "фонарик", чтобы найти нужное табличное пространство.
8. В секции Columns введите имена столбцов и их типы.
9. Щелкните на кнопке ОК. Появится сообщение об успешном завершении создания таблицы.


Изменение таблицы

С помощью Enterprise Manager можно изменить описание таблицы. Например, для того, чтобы добавить столбец, выполните следующее:

1. На странице Tables выберите таблицу в выдаваемом списке и щелкните на кнопке Edit.
2. На странице Edit Table щелкните на кнопке Add 5 Table Columns. Появится перечень столбцов, который можно отредактировать.
3. Введите имя нового столбца, тип данных и размер.
4. Щелкните на кнопке Apply. Появится сообщение об успешном завершении изменения таблицы.
__________________
Чат форума (требуется аккаунт на github или twitter)
Ответить с цитированием
  #8  
Старый 24.09.2009, 12:53
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,385
По умолчанию Целостность данных



Целостность данных

Для установки ограничений на значения, вводимые в столбцы, можно использовать ограничения целостности.


Ограничение NOT NULL. По умолчанию во всех столбцах таблицы разрешены неопределенные (null) значения. Это означает возможность отсутствия значения в столбце. Ограничение NOT NULL требует, чтобы в столбце таблицы были определенные значение. Например, если установлено ограничение NOT NULL для столбца LAST_NAME таблицы EMPLOYEES, в каждой строке хранится фамилия сотрудника.


Ограничение UNIQUE. Ограничение целостности "уникальный ключ" означает, что каждое значение в столбце или наборе столбцов должно быть уникально, т.е. никакие две строки таблицы не должны содержать одинаковые значения в этом столбце или наборе столбцов. Например, ограничение UNIQUE, определенное для столбца DEPARTMENT_NAME таблицы DEPARTMENTS запрещает строки с повторяющимися наименованиями отделов. В большинстве случаев для поддержки ограничения используется уникальный индекс.


Ограничение PRIMARY KEY. Главный ключ (PRIMARY KEY) у каждой таблицы может быть только один. Это ограничение обеспечивает уникальность значения столбца или комбинации столбцов и поэтому значение первичного ключа уникально идентифицирует каждую строку таблицы.

Oracle, реализуя ограничение PRIMARY KEY гарантирует, что оба, приведенные ниже условия, верны:

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

Oracle обычно поддерживает ограничение PRIMARY KEY с помощью индекса. Например, главный ключ таблицы DEPARTMENTS, включающий столбец DEPARTMENT_ID, поддерживается путем неявного создания:

- уникального индекса для этого столбца;
- ограничения NOT NULL для этого столбца.


Ограничение ссылочной целостности. Различные таблицы в реляционной БД могут связываться на основе общих столбцов. База данных поддерживает правила ссылочной целостности, гарантируя связи между таблицами. Ограничение ссылочной целости требует, чтобы значение внешнего ключа (foreign key) в каждой строке таблицы соответствовало значению главного ключа.

Например, внешний ключ в таблице EMPLOYEES - это столбец DEPARTMENT_ID. Он гарантирует, что каждое значение в этом столбце соответствует значению главного ключа (primary key) таблицы DEPARTMENTS (также столбец DEPARTMENT_ID). Поэтому в таблице EMPLOYEES не может быть отделов с неверными номерами в столбце DEPARTMENT_ID. Ограничение ссылочной целостности, в котором используется рефлексивный внешний ключ, ссылающийся на главный ключ той же самой таблицы, называется рефлексивным (self-referential integrity constraint).


Ограничение CHECK задает условие, которое должно быть верно (true) или неопределенно (null) для каждой строки. Когда в результате команды DML нарушается условие в ограничении CHECK (false), команда откатывается.
__________________
Чат форума (требуется аккаунт на github или twitter)
Ответить с цитированием
  #9  
Старый 24.09.2009, 12:55
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,385
По умолчанию Определение ограничений



Определение ограничений

Добавить ограничение для таблицы можно следующим образом:

1. Выберите таблицу на странице Tables и щелкните на кнопке Edit.
2. Щелкните на ссылке Constraints. Выводится страница Constraints, на которой показываются все ограничения таблицы.
3. В выпадающем списке выберите тип ограничения и щелкните на кнопке Add.
4. Введите соответствующую информацию об ограничении определенного типа. Щелкните на кнопке ОК.
__________________
Чат форума (требуется аккаунт на github или twitter)
Ответить с цитированием
  #10  
Старый 24.09.2009, 12:56
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,385
По умолчанию Нарушение ограничений целостности



Нарушение ограничений целостности

Ограничение нарушается, когда выполняется команда DML, не удовлетворяющая правилам этого ограничения. Существует множество видов нарушения ограничений целостности. Ниже приведены некоторые примеры.

Уникальность. Ограничение срабатывает при попытке внесения дублирующего значения в столбец, который является главным ключом. Ограничение также срабатывает, если для значений столбца создан уникальный индекс.
Ссылочная целостность. Ограничения такого типа нарушаются, когда для каждой дочерней строки отсутствует соответствующая родительская строка.
Ограничение Check срабатывает при попытке сохранения в столбце значения, не удовлетворяющего правилам, определенным для этого столбца. Например, для столбца AGE (возраст) может быть задано ограничения, в соответствие с которым значения должны быть только положительными числами.
__________________
Чат форума (требуется аккаунт на github или twitter)
Ответить с цитированием
Ответ
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 16:54. Часовой пояс GMT +3.


Powered by vBulletin®