Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
BDlab / 5__oracle.docx
Скачиваний:
47
Добавлен:
18.03.2015
Размер:
65.11 Кб
Скачать

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

Изучение возможностей субд Oracle

по созданию и ведению баз данных

1. Цель работы

Целью работы является изучение возможностей СУБД Oracle по созданию и ведению баз данных.

2. Задачи

Задачами лабораторной работы являются овладение навыками создания и заполнения таблиц баз данных, создания представлений, триггеров, хранимых процедур для СУБД Oracle, освоение программных технологий доступа к базам данных Oracle из веб-приложений ASP.NET на основе C#.

3. Теоретическая часть

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

Oracle Database 10g Express EditionOracle10g XE (eXpress Edition) — бесплатная версия СУБД Oracle в составе программного продукта.

В состав Oracle Database XE также включено средство создания web-приложений Oracle Application Express (APEX).

Oracle Database XE предоставляет те же интерфейсы SQL и PL/SQL, что и во всех остальных версиях Oracle Database 10g, а также широкий спектр программных интерфейсов. Например, предоставляется полная поддержка разработки и развертывания приложений для разработчиков, работающих на платформах Java, .NET, PHP и Windows.

Версия ХЕ содержит ряд ограничений:

– поддерживается база данных размером до 4 Гбайт;

– на одном компьютере может быть запущен только один экземпляр базы Oracle XE;

– при наличии на сервере нескольких процессоров Oracle XE использует только один из них;

– Oracle XE использует не более 1 Гбайт независимо от объема доступной оперативной памяти.

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

В настоящее время существуют версии Oracle XE для платформ Linux (Debian, Mandriva, Novell, Red Hat и Ubuntu) и Windows.

Oracle Database XE имеет следующие преимущества:

– абсолютно свободная СУБД;

– можно тестировать, разрабатывать и распространять с нулевыми инвестициями в ПО и без риска;

– легко мигрировать на промышленные редакции;

– не требуется переписывание приложений при переходе на промышленные редакции.

Табличное пространство – логическое объединение элементов базы данных. Отображается в физические файлы данных. Экземпляр Oracle Database XE (который состоит из фоновых процессов Oracle Database XE и выделенной оперативной памяти) работает только с одной базой данных. Вместо создания нескольких баз данных для разных приложений Oracle Database XE использует одну базу данных, а разделение данных для различных приложений осуществляется посредством использования отдельных схем. 

"База данных Oracle" – синоним "экземпляра SQL Server" и "табличное пространство Oracle" – то же самое, что и "база данных SQL Server ". Это означает, что конечные пользователи используют различные табличные пространства так же, как если бы использовали разные базы данных.

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

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

PL/SQL –процедурное расширение языка SQL, разработанное корпорацией Oracle. PL/SQL дает возможность использовать переменные, операторы, массивы, курсоры и исключения. Начиная с версии 8 посредством использования Oracle RDBMS стала доступна и объектно-ориентированная модель.

Стандартный SQL является специализированным декларативным языком программирования. На язык наложены определённые ограничения, такие как, например, отсутствие прямой поддержки циклов. PL/SQL же, как полный по Тьюрингу язык, позволяет разработчикам обрабатывать реляционную базу данных Oracle, используя (более привычный) императивный стиль программирования. Операторы SQL могут быть легко вызваны непосредственно из PL/SQL-процедуры, функции или из триггера (иногда с некоторыми ограничениями).

Представления в Oracleобъект, поддерживающий подмножество строк и столбцов из базовой таблицы. Один из видов представлений носит название материализованного представления. Это «мгновенный» снимок таблицы в конкретный момент времени. Используется для ускорения выполнения запросов при наличии объединений. Копии данных находятся во временном хранилище, поэтому система должна выполнить обновление только один раз при обновлении информации.

SQL-представление (SQL view) — это виртуальная таблица, составленная из других таблиц или представлений. Представление не имеет своих собственных данных, а объединяет данные из таблиц или пердставлений, которые в него входят. Представления создаются с помощью операторов SELECT. Согласно стандарту SQL-92 представления не могут включать в себя конструкцию ORDER BY, но Oracle такой вариант допускает.

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

Триггеры в Oracleэто специальная программа, назначаемая таблице или представлению. Триггер вызывается СУБД, когда пользователь запрашивает вставку, обновление или удаление строки из таблицы или представления, которому принадлежит данный триггер. Триггеры для Oracle можно писать на собственном языке программирования этой СУБД, носящим название PL/SQL (Programming Language for SQL – язык программирования для SQL), или на Java.

Oracle поддерживает три вида триггеров: предваряющие (BEFORE), замещающие (INSTEAD OF) и завершающие (AFTER). Как и логично было бы ожидать, предваряющие триггеры вызываются перед обработкой запроса на вставку, обновление или удаление, замещающие – вместо него, а завершающие – после обработки запроса. Всего имеется девять возможных типов триггеров: предваряющий триггер вставки, обновления и удаления, замещающий триггер вставки, обновления и удаления и завершающий триггер вставки, обновления и удаления.

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

Триггеры имеют множество применений. Основные из них: проверка допустимости вводимых данных, присваивание значений по умолчанию, обновление представлений и обеспечение ссылочной целостности.

Процедуры в Oracle – именованный блок PL/SQL, который хранится на сервере и выполняет определенные действия. это программа, которая выполняет некоторые действия с информацией в базе данных и при этом сама хранится в базе данных. В Oracle хранимые процедуры можно можно писать на языках PL/SQL и Java.

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

Хранимые процедуры используются для многих целей. Хотя администраторы баз данных используют их для выполнения рутинных задач администрирования, главной областью их применения являются все же приложения баз данных. Эти процедуры могут вызываться из прикладных программ, написанных на таких языках, как Java, С7^, Си—Ь или VB.Net, а также из веб-сценариев, написанных на VBScript или JavaScript. Кроме того, эти процедуры можно вызывать в интерактивном режиме из командной оболочки SQL*Plus.

Можно выделить следующие преимущества хранимых процедур:

– Большая безопасность.

– Меньший сетевой трафик.

– SQL можно оптимизировать.

– Совместное использование кода между разработчиками.

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

Курсоры в процедурах Oracleобласть памяти, выделенная процессором PL/SQL для хранения строк, возвращаемых в результате выполнения запросов SELECT на выборку данных. В PL/SQL поддерживаются два типа курсоров: явные и неявные. Явный курсор объявляется разработчиком, а неявный курсор не требует объявления. Курсор может возвращать одну строку, несколько строк или ни одной строки. Для запросов, возвращающих более одной строки, можно использовать только явный курсор. Курсор может быть объявлен в секциях объявлений любого блока PL/SQL, подпрограммы или пакета.

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

ASP.NET. Microsoft .NET Framework – это платформа для создания, развертывания и запуска Web-сервисов и приложений. Она предоставляет высокопроизводительную, основанную на стандартах, многоязыковую среду, которая позволяет интегрировать существующие приложения с приложениями и сервисами следующего поколения, а также решать задачи развертывания и использования Web-приложений. .NET Framework состоит из трех основных частей – общеязыковой среды выполнения (common language runtime), иерархического множества унифицированных библиотек классов и компонентной версии ASP – ASP.NET.

Web-страница ASP.NET имеет расширение .aspx и состоит из трех разделов:

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

– код – код обработки событий, генерируемых страницей или ее элементами управления. Код размещается в теге <script>.

– разметка страницы – это HTML-код страницы, включающий HTML-тег body и его содержимое. Там же размещаются клиентские и серверные элементы управления, а также простой текст.

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

Теоретически под ASP.NET можно писать программы на любом языке, для которого имеется соответствующий компилятор. Однако на практике для создания ASP.NET-приложений используются главным образом Visual Basic.NET и C#.

Одной из ключевых особенностей технологии ASP.NET является возможность использования серверных элементов управления. Для их обозначения используются теги с префиксом asp и атрибут runat со значением server.

Соседние файлы в папке BDlab