Установка и запуск СУБД Oracle Database 10g Express Edition 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Установка и запуск СУБД Oracle Database 10g Express Edition



Содержание

 

 

Введение. 4

Лабораторная работа №1

Установка и запуск СУБД Oracle Database 10g Express Edition. 6

Лабораторная работа №2

Проектирование структуры базы данных СУБД Oracle Database 10g Express Edition 21

Лабораторная работа №3

Заполнение и модификация данных в Oracle. 41

Лабораторная работа №4

Выборка информации из базы данных. 49

Лабораторная работа №5

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

Лабораторная работа №6

Представления в Oracle. 92

Лабораторная работа №7

Ограничения в Oracle. 102

Лабораторная работа №8

Транзакции, пакеты и блокировки. 119

Лабораторная работа №9

Процедурный язык PL/SQL. 132

Список рекомендованной литературы.. 147

 


Введение

 

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

Целью преподавания дисциплины «Разработка приложений СУБД на языке высокого уровня» является обучение магистров навыкам программирования на языках СУБД и организации интерфейса языков программирования высокого уровня с СУБД, а также применении магистрами полученных теоретических знаний и практических навыков в проектировании и реализации реляционных баз данных в конкретной выбранной СУБД.

Основными задачами дисциплины являются:

- изучение магистрантами принципов проектирования и функционирования систем управления базами данных (СУБД);

- изучение основных возможностей современных СУБД;

- изучение архитектур баз данных, систем управления базами данных и информационными хранилищами;

- изучение принципов построения моделей предметной области;

- изучение методов проектирования БД, организации среды хранения данных в БД, создания и заполнения баз данных; выборки информации из базы данных, сортировки и группировки данных;

- изучение методов проектирования прикладного программного обеспечения на базе современных СУБД, организации интерфейсов обмена данными с СУБД;

- обучение магистров практическим навыкам построения баз данных на примерах современных СУБД – Oracle Eхpres Edition.

Обучение осуществляется на основе программирования баз данных Oracle Eхpres Edition и реализации интерфейса обмена данными между проектируемой СУБД и средой визуального проектирования C #.

При выполнении лабораторных работ должен соблюдаться следующий порядок выполнения работы:

- вначале следует ознакомиться с описанием лабораторной работы;

- получить задание у преподавателя;

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

- выполнить задание в СУБД Oracle Eхpres Edition и среде программирования Visual Studio;

- подготовиться к ответам на теоретические вопросы по теме лабораторной работы;

- оформить отчет.

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

Отчет должен содержать следующие пункты:

1) Титульный лист.

2) Наименование и цель работы.

3) Задание на лабораторную работу, включающее четкую формулировку задачи.

4) Результаты выполнения работы.

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

 

 


Лабораторная работа №1

Установка и запуск СУБД Oracle Database 10g Express Edition

 

Цель и порядок работы

Цель работы

Получение навыков установки и запуска СУБД Oracle Database 10g Express Edition.

 

Порядок выполнения работы

- Ознакомиться с описанием работы;

- Выполнить установку СУБД Oracle Database 10g Express Edition;

- Представить результаты работы преподавателю.

 

2. Общие сведения.

 

Требования к аппаратному обеспечению

Основные системные требования, которым должен удовлетворять компьютер для успешной инсталляции на нем сервера БД Oracle XE для Microsoft Windows, приведены в таблице 1.

 

 

Таблица 1 – Требования к аппаратному обеспечению

Компонент аппаратного обеспечения Требования
Процессор Intel x86
Объем дисковой памяти Минимальный 1,6 Гбайт Рекомендуется 5 Гбайт
Объем оперативно памяти Минимальный 256 Мбайт Рекомендуется 512 Мбайт

 

Следует отметить, что для более эффективной работы с Oracle XE нужно по возможности использовать рекомендуемые значения параметров системы.

 

Требования к программному обеспечению

Требования к программному обеспечению компьютера для установки СУБД Oracle XE приведены в таблице 2.

Отметим, что Web-браузер не является обязательным для установки СУБД Oracle XE. Однако он будет необходим для использования многих ее функций после инсталляции. Web-браузер должен поддерживать JavaScript, HTML 4.0 и CSS 1.0 с поддержкой установленных cookie-файлов.

 

Таблица 2 – Требования к программному обеспечению

Компонент программного обеспечения Требования
Операционная система Microsoft Windows 2000 (32 bit) Service Pack 4 или более поздняя   Microsoft Windows Server 2003 (32 bit)   Microsoft Windows XP Professional (32 bit) Service Pack 1 или более поздняя
Сетевой протокол TCP/IP
Microsoft Windows Installer (MSI) MSI версия 2.0 или более поздняя
Web-браузер Microsoft Internet Explorer 6.0 или более поздняя   Netscape Navigator 7.2 или более поздняя   Mozilla 1.7 или более поздняя   Firefox 1.0 или более поздняя

Проверка выполнения системных требований

Для проверки того, что компьютер удовлетворяет системным требованиям для инсталляции СУБД Oracle XE под ОС Microsoft Windows, следует выполнить действия, перечисленные ниже.

-На рабочем столе выбрать: Кнопка Пуск | Программы | Стандартные | Служебные | Сведения о системе.

-В открывшемся окне «Сведения о системе» щелкнуть мышкой на опции Сведения о системе для отображения информации о процессоре компьютера, об объеме физической памяти и о версии ОС Microsoft Windows.

-В окне «Сведения о системе» выбрать опции Компоненты, Сеть, а затем выбрать опцию Протокол и выяснить, доступен ли протокол TCP/IP (есть ли его описание).

-На рабочем столе щелкнуть по ярлыку Мой компьютер. В поле открывшегося окна щелкнуть правой кнопкой мышки и в появившемся контекстном меню выбрать опции Вид | Таблица чтобы определить свободное место на жестких дисках компьютера.

-В окне «Сведения о системе» выбрать опцию Программная среда, а затем выбрать опцию Загруженные модули. В появившемся списке загруженных модулей требуется найти модуль msi и выяснить его версию.

-В окне «Сведения о системе» выбрать опции Параметры обозревателя, Internet Explorer, а затем выбрать опцию Итоги для определения версии Internet Explorer. Если на компьютере используется другой Web-браузер (не Internet Explorer), то его версию в большинстве случаев можно узнать с помощью опции About (о программе) в меню Help (Справка).

-После работы с приложением «Сведения о системе» следует выбрать опции Файл и Выход.

Инсталляция

Выполнение инсталляции Oracle XE выполняется в сеансе администратора Microsoft Windows. Для этого можно использовать собственную учетную запись, если она входит в группу администраторов, или использовать стандартную учетную запись администратора. Чтобы определить, входит ли ваша учетная запись в группу администраторов нужно последовательно выбрать: Кнопка Пуск | Настройка | Учетные записи пользователей. В открывшемся окне «Учетные записи пользователей» отображается список всех учетных записей. Если ваша запись принадлежит к группе администраторов, то для нее в колонке «Группа» будет соответствующая отметка.

Корпорация Oracle разработала два различных установочных пакета Oracle XE, предназначенных для поддержки различных кодировок символов.

1. OracleXEUniv.exe. Этот пакет следует выбрать для установки, если предполагается создавать базы данных и приложения, поддерживающие кроме английского и другие языки (бразильский, французский, русский и др.). В нашем курсе требуется использовать именно этот пакет.

2. OracleXE.exe. Используется для создания баз данных и приложений, поддерживающих только английский язык.

 

Установка Oracle XE

Инсталляцию Oracle XE для Microsoft Windows следует начать со следующих действий:

1. Выбрать – Кнопка Пуск | Выполнить…

2. Использовать опцию Обзор… для поиска файла OracleXEUniv.exe (файл может находиться на компакт-диске или может быть предварительно скопирован на жесткий диск).

Сразу после начала работы идет подготовка к установке (рисунок №1), а затем отображается начальная страница Welcome (рисунок №2). На этой странице следует щелкнуть по кнопке Next для перехода к странице лицензионного соглашения (рисунок №3). После ознакомления с текстом лицензионного соглашения щелкните по кнопке Next для продолжения процесса установки.

 

Рисунок №1 – Начало процесса инсталляции

 

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

- Oracle XE использует ресурсы только одного центрального процессора даже в том случае, если ваш компьютер имеет несколько процессоров (включая двухядерные процессоры).

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

- Oracle XE не позволяет управлять более чем 4 Гбайт данных пользователя, даже если есть возможность выделить на жестком диске для Oracle большее пространство.

- Oracle XE не может использовать более 1 Гбайт оперативной памяти, даже когда компьютер обладает большим объемом памяти.

 

Рисунок №2 – Представление начальной страницы

 

Рисунок №3 – Подтверждение ознакомления с лицензионным соглашением для Oracle 10g Express Edition

 

Страница выбора каталога для инсталляции (Choose Destination Location, рисунок №4) дает пользователю возможность выбирать место установки программного обеспечения Oracle XE. Этот каталог будет также использован программой установки для стандартной стартовой базы данных.

Для изменения места установки (если вам не подходит то, что предлагает мастер установки) следует воспользоваться кнопкой Browse. Для продолжения процесса щелкните по кнопке Next.

На следующей странице (рисунок №5) запрашивается первоначальный пароль для использования его с административными учетными записями стандартных баз данных SYS и SYSTEM. Перед вводом запишите пароль (и не теряйте эту запись), введите и подтвердите пароль, а затем кнопкой Next продолжите установку.

 

Рисунок №4 – Каталог для установки Oracle 10g XE

 

 

Рисунок №5 - Ввод первоначального пароля для учетных записей базы данных SYS и SYSTEM

 

На следующей странице (рисунок №6) нужно проверить правильность введенных данных. Следует обратить особое внимание на порты, которые будут использоваться программой установки для конфигурирования служб Oracle XE. Если на компьютере работает брандмауэр Microsoft Windows XP, то нужно открыть эти порты перед продолжением установки, чтобы программа Oracle XE корректно заработала после установки. После этого проверки данных, представленных на странице, надо щелкнуть на кнопке Next для начала установки Oracle Database 10g XE. Обычно полная установка выполняется за несколько минут, хотя это время зависит от ресурсов системы. Ход процесса установки показывает индикатор (рисунок №7).

 

Рисунок №6 –Параметры установки, требуемые Oracle

 

 

Рисунок №7 - Установка Oracle Database 10g Express Edition

 

Сразу после завершения инсталляции следует установить переключатель запуска домашней страницы (Launch the Database Home Page), а затем щелкнуть мышкой на кнопке Finish (рисунок №8).

 

Рисунок №8 – Завершение успешной инсталляции и установка переключателя запуска домашней страницы

 

 

Рисунок №9 - Экран регистрации

 

После выхода из программы установки запустится Web-браузер и загрузится экран регистрации для приложения Oracle Application Express. Если экран входа в сеть для Oracle Application Express выглядит, как показано на рисунке №9, то это означает, что инсталляция прошла успешно. В противном случае следует обратиться к разделу «Советы по разрешению возникших проблем».

 

Запуск и отключение Oracle

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

При инсталляции Oracle XE в ОС Microsoft Windows создается специальная служба, которая и используется для запуска и отключения сервера базы данных. По умолчанию этой службе присваивается имя OracleServiceXE. Служба OracleServiceXE может работать в одном из двух режимов – автоматическом и ручном. В первом случае служба автоматически запускает сервер базы данных при включении компьютера и отключает сервер при выключении компьютера.

При ручном режиме работы пользователь сам должен запускать службу, когда ему необходимо работать с базой данных Oracle XE. При выключении компьютера служба отключает СУБД автоматически, если ранее этого не сделано вручную.

Доступ к службе OracleServiceXE осуществляется в окне «Службы», которое можно открыть, выполняя следующие действия: Кнопка Пуск | Настройка | Панель управления | Администрирование | Службы. В окне «Службы» (рисунок №10) отображается список всех служб, установленных на компьютере, а также их текущее состояние (например, «Работает») и режим запуска (например, Авто или Вручную).

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

 

Рисунок №10 – Окно служб Microsoft Windows

 

Запуск Oracle XE вручную

Когда служба OracleServiceXE не работает, то для ее запуска и получения доступа к базе данных следует выполнить следующие действия в окне «Службы» (рисунок №10):

1. Выбрать службу OracleServiceXE

2. Щелкнуть мышкой на кнопке Запуск

После запуска статус службы должен измениться на «Работает». Это означает, что сервер работает, подсоединен к базе данных, а сама база доступна для пользователя.

Если известно, что сервер не работает, то можно обойтись без окна «Службы» и запустить службу быстрее, выбрав последовательно Кнопка Пуск | Программы | Oracle Database 10g Express Edition | Start Database.

 

Лабораторная работа №2

Цель и порядок работы

Цель работы

Получение навыков проектирования и обработки баз данных и таблиц с использованием СУБД Oracle Database 10g Express Edition.

 

Порядок выполнения работы

- Ознакомиться с описанием работы;

- Выполнить задание согласно варианту;

- Ответить на контрольные вопросы;

- Представить результаты работы преподавателю.

 

2. Общие сведения

Oracle, как и любая реляционная СУБД, позволяет хранить в таблицах баз данных алфа­витно-цифровую и двоичную информацию. Кроме хранения данных скалярных типов, в Oracle появилась возможность создавать свои типы данных (классы, массивы и коллекции) и сохранять объекты этих типов в таблицах БД. В настоящем пособии эти новые возможно­сти не рассматриваются.

Скалярные типы данных

Oracle поддерживает следующие типы данных:

- char — строки фиксированной длины;

- varchar2 — строки переменной длины;

- nchar — строки, содержащие национальные символы, фиксированной длины;

- nvarchar2 — строки, содержащие национальные символы, переменной длины;

- number — числа;

- date — дата и время;

- raw — двоичная информация фиксированной длины;

- long — текстовая информация большого (до 4 Г) объема;

- long raw — двоичная информация большого (до 4 Г) объема;

- bfile — внешний файл;

- blob — двоичная информация, хранимая отдельно от таблицы;

- clob — символьная информация, хранимая отдельно от таблицы;

- nclob — символьная информация с национальными символами, хранимая отдельно от таблицы;

- rowid — физический адрес строки в таблице.

Столбцы типа char и varchar2 позволяют хранить символьные строки длиной до 2000 и 4000 символов соответственно. Данные типа varchar2 занимают на диске ровно столько места, сколько необходимо для их хранения. Использование varchar2 вместо char может зна­чительно ускорить работу приложения и сэкономить дисковое пространство.

При указании отрицательной точности числа округляются до соответствующего количе­ства знаков до запятой. При выводе чисел Oracle по умолчанию использует в качестве разде­лителя целой и дробной части точку. Изменить этот символ можно при помощи изменения параметра NLS_NUMERIC_CHARACTERS — в реестре Windows для экземпляра или для всех сессий на клиентской машине, либо командой alter session для конкретной сессии.

Поля типа date хранят информацию о дате и времени с точностью до секунды. Oracle поддерживает арифметику дат. К дате можно добавлять числа — число интерпретируется как количество дней. Так, например, выражение sysdate+1 означает «завтра в то же время», sysdate-0.5 — 12 часов назад. Складывать даты нельзя, но можно вычитать их друг из дру­га — в результате получается число, не обязательно целое, показывающее, сколько дней (су­ток) прошло между двумя датами. Если по каким-либо причинам надо хранить время отдель­но от даты, лучше представлять время числом — это упростит вычисления.

Поля типа raw используются для хранения двоичной информации. Максимальная длина поля типа raw составляет 2000 байт1. В отличие от char и varchar2, при передаче от сервера клиенту поля типа raw не подвергаются никаким преобразованиям.

Поля типа long и long raw используются для хранения больших (до 4 Г) объемов соответ­ственно текстовой и двоичной информации. При передаче данных типа long SQL*Net авто­матически выполняет преобразование кодовых страниц (как для char и varchar2); при пере­даче данных типа long raw преобразование не выполняется (как для raw). На столбцы типа long и long raw накладывается ряд ограничений: в таблице может быть только один столбец типа long или long raw; столбцы типа long или long raw нельзя индексировать, нельзя ис­пользовать в функциях и выражениях; нельзя использовать во фразах where, group by, order by, connect by и distinct; нельзя использовать в правилах целостности; нельзя ис­пользовать в списках выборки в операторе select, если он объединен с другим оператором посредством union, intersect или minus или является частью оператора create table... as select. Допускается выборка полей типа long и long raw при объединении результатов запросов посредством union all.

Типы blob (Binary Large Object), clob (Character Large Object), nclob (National Character Large Object) и bfile (Binary file) также предназначены для хранения больших объектов раз­мером до 4 Г2. Данные типов blob, clob и nclob хранятся в файлах БД в специальных LOB-сегментах, а данные типа bfile — во внешнем файле. Основное отличие LOB-типов от long и long raw в том, что при выборке поля оператором select возвращается не сам объект, а ло­катор — указатель на объект и позиция в нем. Для доступа к данным используются функции из пакета DBMS_LOB или вызовы OCI (Oracle Call Interface).Кроме перечисленных, Oracle поддерживает ряд обозначений типов, соответствующих стандарту ANSI или обозначениям, принятым в DB2. При создании таблиц эти типы преоб­разуются во внутренние типы:

 

Таблица 1 – Типы, соответствующие ANSI или DB2

ANSI/DB2 Oracle
character(n) char(n)
character varying(n), char varying(n), varchar(n) varchar2(n)
float(p), real, double precision number
integer, int, smallint number(38)
decimal(p,s), numeric(p,s) number(p,s)
long varchar long

 

Oracle использует разную семантику для сравнения значений типа char и varchar2 — с до­бавлением и без добавления пробелов в конце соответственно: в первом случае строки 'а' и 'а ' равны, во втором — вторая строка больше первой. Varchar является синонимом varchar2, однако Oracle предупреждает, что в более поздних версиях для данных типа varchar может использоваться другая семантика сравнения, поэтому в приложениях следует исполь­зовать varchar2.

Nchar и nvarchar2 предназначены для хранения символьных строк, содержащих нацио­нальные (многобайтовые) символы. Их длина не может превышать 2000 и 4000 байт соот­ветственно. Длина строк указывается в символах или в байтах, в зависимости от кодовой страницы, указанной при создании базы данных. Если размер символа постоянный, то длина указывается в символах, если переменный — в байтах. Переменные типов char и nchar (varchar2 и nvarchar2) несовместимы по присваиванию.

Численные значения хранятся в полях типа number. Максимальная точность хранения — 38 знаков. Значением поля типа number могут быть положительные числа от 10-130 до 9.99..99x10125, отрицательные числа от -9.99..99x10125 до -10-130, а также 0. При желании для поля типа number можно задавать количество цифр и точность (количество знаков после запятой). По умолчанию Oracle хранит столько знаков после запятой, сколько задано при вводе, а количество цифр максимально, т. е. составляет 38 знаков.

 

Создание БД.

БД можно создать либо с помощью графических утилит, либо с командной строки, либо скриптом в Oracle Server Manager.
Для создания БД, используя Server Manager, можно набрать команду вручную, либо использовать SQL-скрипт. В нашем случае создавать базу данных не надо, а использовать существующую, т.к. Oracle 10g Express Edition – пробная версия ПО. Но ознакомиться с синтаксисом команды нужно для работы на других версиях программы.(В oracle 10g express edition база данных по умолчанию называется - XE)

БД создается с помощью команды CREATE DATABASE. Синтаксис команды следующий:

CREATE DATABASE [[database]
[CONTROLFILE REUSE]]
LOGFILE [GROUP номер_группы] logfile
[, [GROUP номер_группы] logfile]...
[MAXLOGFILES число]
[MAXLOGMEMBERS число]
[MAXLOGHISTORY число]
[MAXDATAFILES число]
[MAXINSTANCES число]
[ARCHIVELOG или NOARCHIVELOG]
[EXCLUSIVE]
[CHARACTER SET кодировка]
[NATIONAL CHARACTER SET кодировка]
DATAFILE имя_файла [AUTOEXTEND OFF | ON
" WIDTH="14" HEIGHT="9" ALIGN="BOTTOM"
BORDER="0">;[NEXT число K | M] [MAXSIZE UNLIMITED | число K | M]
[, DATAFILE имя_файла [AUTOEXTEND OFF | ON
" WIDTH="14" HEIGHT="9" ALIGN="BOTTOM"
BORDER="0">;[NEXT число K | M] [MAXSIZE UNLIMITED | число K | M]]

 

Вот, что значат отдельные параметры и переменные:

- database - имя создаваемой БД. Длина имени не более восьми символов.

- CONTROLFILE REUSE - это необязательные параметр, указывающий, что любые существующие управляющие файлы будут перезаписаны с новыми данными. Без этого параметра попытка создания БД будет неудачной, если уже существует хотя бы один управляющий файл.

- LOGFILE - за этим параметром следует имя файла журналирования операций. Вы можете указать также номер группы (если не указать, то он будет присвоен автоматически).

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

- MAXLOGHISTORY - этот параметр используется лишь в режиме параллельного сервера и определяет максимальное количество архивных файлов журналирования для использования при восстановлении системы.

- MAXDATAFILES - определяет максимальное число файлов данных, которые могут быть добавлены к БД перед автоматическим расширением управляющего файла.

- ARCHIVELOG - указывает, что БД будет функционировать в режиме ARCHIVELOG. В этом режиме группа файлов журналирования операций в обязательном порядке архивируется перед новым использованием этих файлов (сменой). Этот режим необходим для надежного восстановления системы после сбоя.

- NOARCHIVELOG - определяет, что БД будет функционировать в этом режиме. Файлы журналирования операций не архивируются. Это режим по умолчанию.

- EXCLUSIVE - БД монтируется в режиме EXCLUSIVE после создания. В этом режиме только один экземпляр может смонтировать БД.

- CHARACTER SET - данные в БД будут храниться в соответствующей кодировочной таблице.

- NATIONAL CHARACTER SET - определяет кодировочную таблицу для хранения данных типов NCHAR, NCLOB и NVARCHAR2.

- DATAFILE - определяет файл данных, используемый в БД.

 

Файлы определяются как:

- 'имя файла' SIZE размер (К или М) - определяем имя файла данных и его первоначальный размер в К (килобайтах) или М (мегабайтах).

- [REUSE] - параметр позволяет использовать имя уже существующего файла.

 

Для параметра DATAFILE возможны следующие опции:

- AUTOEXTEND OFF - указывает, что автоувеличение размера файла не будет использоваться.

- AUTOEXTEND ON - автоувеличение размера файла использовано будет.

 

Для опции AUTOEXTEND ON возможны следующие варианты:

- NEXT - определяет число К (килобайт) или М (мегабайт), добавляемое при автоувеличении файла.

- MAXSIZE UNLIMITED - максимальный размер автоувеличивающегося файла не ограничен.

- MAXSIZE число (К или М) - определяет максимальный объем файла.

 

Команда CREATE DATABASE может показаться довольно громоздкой, но в действительности все не так уж и сложно. Нет необходимости использовать все параметры, но, по мере накопления опыта, Вы можете принять решения использовать их. Вот пример SQL-команды создания БД:

CREATE DATABASE cars
CONTROLFILE REUSE
LOGFILE
GROUP 1 (‘d:\database\log1a.dbf', ‘e:\database\log1b.dbf') SIZE 100K,
GROUP 2 (‘d:\database\log2a.dbf', ‘e:\database\log2b.dbf') SIZE 100K
DATAFILE

‘d:\database\data1.dbf' AUTOEXTEND ON,
‘d:\database\data2.dbf' AUTOEXTEND ON NEXT 10M MAXSIZE 50M;

 

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

Табличное пространство Oracle является самым нижним логическим слоем структуры данных. Оно состоит из одного или более файлов данных. В ранних версиях СУРБД Oracle размер файлов данных был фиксированным, но теперь файлы могут быть увеличены как автоматически, так и вручную.

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

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

Табличные пространства могут содержать любые из четырех видов сегментов:

- сегменты данных (Data segments) - основной тип, используется для хранения таблиц и кластеров.

- индексные сегменты (Index segments) - используются для хранения индексов.

- сегменты отката (Rollback segments) - специальные сегменты, хранящие информацию для отмены выполненных действий.

- временные сегменты (Temporary segments) - используются для хранения временных данных.

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

Создание табличного пространства командой CREATE TABLESPACE

Вы можете создать табличное пространство в Server Managerе, используя команду CREATE TABLESPACE. Команда может быть введена интерактивно или выполнена из готового скрипт-файла. По-моему, предпочтительнее пользоваться SQL-скриптом, так как он может быть выполнен повторно. Кроме того, можно создать шаблон и по надобности вносить изменения. Сохраненный SQL-скрипт может оказаться весьма кстати после катастрофы (не дай бог!). Итак, для создания табличного пространства применяется следующая команда:

CREATE TABLESPACE
DATAFILE file_specification
[AUTOEXTEND OFF]
или [AUTOEXTEND ON [NEXT число K или M]
[MAXSIZE UNLIMITED или MAXSIZE число K или M]
[NOLOGGING или LOGGING]
[, file_specification
[AUTOEXTEND OFF]
или [AUTOEXTEND ON [NEXT число K или M]
[MAXSIZE UNLIMITED или MAXSIZE число K или M]
[NOLOGGING или LOGGING]]
[MINIMUM EXTENT число K или M]
[DEFAULT STORAGE storage_clause]
[ONLINE или OFFLINE]
[PERMANENT или TEMPORARY]

 

DATAFILE file_specification - определяет имена (или имя) файлов данных, составляющих табличное пространство. File_specification - это 'имя_файла' SIZE число (K или M) [REUSE]. Спецификация файла используется для указания имени и первоначального размера в (К)илобайтах или в (М)егабайтах файла данных. Параметр [REUSE] позволяет воспользоваться уже существующим в системе файлом.

Уточнения параметра DATAFILE:

- AUTOEXTEND OFF - параметр указывает, что средство автоувеличения размера файла использоваться не будет.

- AUTOEXTEND ON - автоувеличение размера файла будет использовано. Дополнительно можно указать:

- NEXT число K или M - когда файл данных самоувеличивается, он изменяется на указанный объем.

- MAXSIZE UNLIMITED - размер файла будет ограничен лишь физическим диском и особенностями операционной системы.

- MAXSIZE число K или M - файл данных не может быть больше указанного объема.

 

Вот остальные параметры команды CREATE TABLESPACE:

- LOGGING - указывает, что в журнал выполненных операций будет заноситься информация о таблицах, индексах и разделах. Параметр по умолчанию. Журналирование может быть отменено для этих операций опцией NOLOGGING.

- NOLOGGING - журналирование не будет выполняться для операций, поддерживающих эту опцию.

- MINIMUM EXTENT число K или M - указывает минимальный размер экстентов табличного пространства.

- DEFAULT STORAGE storage_clause - указывает параметры по умолчанию хранения табличного пространства.

- ONLINE - табличное пространство становится оперативным сразу после своего создания.

- OFFLINE - табличное пространство недоступно непосредственно после своего создания (до тех пора, пока не будет переведено в оперативное состояние).

- TEMPORARY - табличное пространство будет использовано для хранения временных объектов.

- PERMANENT - указывает табличному пространству хранить перманентные объекты. (Опция по умолчанию).

 

Как видите при создании табличного пространства можно указать много различных параметров и опций. Среди них есть параметры хранения, которые мы рассмотрим чуть ниже в этом же выпуске. Параметры хранения определяют характеристики табличного пространства и общие параметры его "роста".

Таблицы так же создаются при помощи команды create table:

create table <имя> (

<описание столбца> {,<описание столбца>}

)

[as <подзапрос>]

Помимо описания столбцов, команда create table может изменять параметры выделения дисковой памяти для таблицы, разре­шать/запрещать параллельное выполнение операций при создании таблицы, управлять кэ­шированием данных, задавать параметры размещения больших объектов (blob, clob, nclob), если такие столбцы присутствуют в таблице.Описание столбца состоит из его имени, типа, значения по умолчанию и накладываемых на него правил целостности:

<имя столбца> <тип> [default <значение по умолчанию>]{<правило целостности>}

Если в команде create table указана фраза as <подзапрос>, то имя и тип столбцов можно не задавать — они будут совпадать с именами и типами столбцов, возвращенных под­запросом. Можно задать имена столбцов — в этом случае их количество должно совпадать с количеством столбцов, возвращенных подзапросом. Если выбранные данные не удовлетворяют правилам целостности, то таблица не будет создана, а Oracle вернет ошибку:

ORA-02446: CREATE TABLE... AS SELECT failed - check constraint violated

Можно указывать правила целостности и отдельно от описания столбцов.

Например:

create table “Инспектор” (

“Код”number(10) not null,

“ФИО” varchar2(64) not null,

“Дата_рождения” date not null,

“Номер_налоговой” number (10) not null,

“Телефон” number (10))

Для создания таблицы в режиме командной строки необходимо зайти в меню: SQL- SQL Commands – Enter command. Здесь будет предложено окно в котором можно вводить текст команды и запросов.

Далее подобным образом создадим еще 3 таблицы.

CREATE TABLE "ПРЕДПРИЯТИЕ"

("НАЗВАНИЕ" VARCHAR2(30) NOT NULL,

"ИНН" VARCHAR2(30) NOT NULL,

"КОД" NUMBER(10,0) NOT NULL,

"АДРЕС" VARCHAR2(30) NOT NULL,

"СОТРУДНИКОВ" NUMBER(10,0) NOT NULL,

"ОТДЕЛОВ" NUMBER(10,0) NOT NULL,

"ТЕЛЕФОН" NUMBER(10,0)

)

CREATE TABLE "СОТРУДНИКИ"

("ФИО" VARCHAR2(64) NOT NULL,

"НАЗВАНИЕ" VARCHAR2(30) NOT NULL,

"ДОЛЖНОСТЬ" VARCHAR2(30) NOT NULL,

"ОТДЕЛ" VARCHAR2(30) NOT NULL,

"ТЕЛЕФОН" VARCHAR2(10) NOT NULL,

"ПАСПОРТ" VARCHAR2(30) NOT NULL,

"ТРУДОВАЯ_КНИЖКА" VARCHAR2(30) NOT NULL

)

Просмотреть созданную таблицу можно следующим образом:

Object Browser- Browser – Table. Далее из предложенного списка таблиц выбираем нашу под названием «Инспектор» (Рисунок №11)

Рисунок №11 – Просмотр созданной таблицы

 

Индексы

Индексы — дополнительные структуры данных, связанные с таблицами. Индексы пред­назначены для ускорения поиска в таблицах, а в некоторых случаях данные могут читаться прямо из индексов, без чтения таблиц. Например, все данные индексных таблиц хранятся непосредственно в индексах, т. е. эти таблицы не имеют сегмента данных.

Индекс строится по одному или нескольким полям; в индекс может входить до 16 полей. Порядок перечисления полей в составном индексе имеет значение. Если значение всех по­лей, по которым построен индекс, в некоторой строке не определено (равно null), то такая строка в индекс не входит.

Oracle допускает создание уникальных индексов, т. е. индексов, в котором каждый набор значений индексированных полей уникален. Однако создавать такие индексы вручную не рекомендуется, т. к. уникальность значения — понятие логическое, а не физическое. Oracle автоматически создает уникальные индексы при задании правил целостности unique и primary key.

Создается индекс командой create index, синтаксис которой приведен ниже:

create [ unique | bitmap ] index <имя> on <имя таблицы> (<имя столбца> {,<имя столбца>})

Ключевое слово unique позволяет создать уникальный индекс.

Ключевое слово bitmap создает индекс, построенный на битовых картах. Такие индексы могут быть значительно эффективнее и компактнее традиционных индексов, основанных на B-деревьях. В bitmap-индексах индексируются все значения, включая null. Составной bitmap-индекс может быть использован для поиска по любому из полей, входящих в индекс, при этом порядок перечисления полей в составном индексе не имеет значения. Однако, у bitmap-индексов есть ряд недостатков, существенно ограничивающих их применение. Во-первых, они эффективны только при небольшом количестве различных значений столб­ца. Индексировать, например, даты или суммы проводок следует традиционными индекса­ми. Во-вторых, bitmap-индексы теряют эффективность при частом обновлении данных в таблице.

Индекс в любой момент может быть уничтожен — это не повлияет на работоспособность приложений, хотя может существенно их замедлить. Уничтожается индекс командой drop index: drop index <имя>



Поделиться:


Последнее изменение этой страницы: 2017-02-09; просмотров: 707; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 52.14.130.13 (0.199 с.)