Лабораторная работа №1 Создание таблиц в СУБД Oracle Цель работы. Ознакомление с основами работы в ORACLE и приобретение навыков создания связанных таблиц баз данных в среде Oracle. Краткая теория В текущей версии Oracle XE Web-интерфейс содержит четыре группы инструментов: Administration, Object Browser, SQL и Utilities. Administration Этот набор средств предназначен для администрирования и мониторинга базы: Storage — просмотр информации о файлах базы данных и табличных пространствах; Memory — просмотр распределения памяти с возможностью настройки размера областей SGA (System Global Area) и PGA (Process Global Area); Database Users — инструмент для просмотра списка пользователей базы данных с возможностью простейшего администрирования (создание, удаление, блокировка учетной записи, смена пароля, основные привилегии); Monitor — мониторинг экземпляра. В частности, можно просматривать список сессий, блокировок и открытых курсоров. Из списка сессий можно вызвать страницу с детализированной информацией по каждой сессии. На странице с детализированной информацией имеется кнопка для принудительного закрытия сессии. Кроме того, предусмотрены дополнительные виды анализа, в том числе поиск наиболее ресурсоемких запросов и операций, выполняемых длительное время; About Database — просмотр настроек экземпляра. Object Browser Данный инструмент является браузером объектов базы данных, позволяющим просматривать существующие объекты в базе и манипулировать ими. Возможности этого средства достаточно широки, причем большинство операций выполняются визуально, а от пользователя не требуется знание языка SQL. Этот инструмент очень удобен для начинающих, так как позволяет визуально создавать объекты всех основных типов. SQL Сюда входят средства для выполнения SQL-команд: SQL Commands — для выполнения произвольных SQL-операторов. По умолчанию у этого инструмента установлен переключатель Autocommit, что приводит к автоматическому выполнению COMMIT после каждой операции. Пользователь может сохранить любую введенную команду, причем при сохранении задается имя и краткое описание. Сохраненные операторы могут быть впоследствии загружены в редактор из закладки «Saved SQL». В случае выполнения запроса отображаются возвращаемые им данные и план выполнения запроса; SQL Scripts — средство для работы с SQL-скриптами, позволяющее создавать и редактировать SQL-скрипты, сохранять их под заданными именами и выполнять. Результаты выполнения скриптов сохраняются и могут впоследствии быть просмотрены и проанализированы; Query Builder — визуальный построитель запросов, принцип работы которого является стандартным для утилит подобного типа и напоминает построитель запросов в Microsoft Access. Визуальный построитель позволяет задавать простейшие условия фильтрации и правила сортировки по каждому из полей. После завершения визуального построения запроса можно просмотреть и скопировать полученный текст SQL-запроса или выполнить запрос и просмотреть результирующие данные. Такое визуальное средство может представлять интерес не столько для разработчиков, сколько для постановщиков задач и для специалистов, отвечающих за тестирование и техническую поддержку продукта. Utilities Utilities содержит различные утилиты для работы с базой данных: страница Data Load/Unload — инструменты для выгрузки и загрузки данных. Поддерживается работа с текстовыми данными (размещенными в текстовом файле или копируемыми через буфер обмена) и XML-файлами; страница Generate DDL — инструмент генерации DDL-скриптов для указанных объектов схемы; страница Object Reports — инструменты для генерации ряда отчетов, необходимых при администрировании и анализе базы данных. Подготовка к работе Следующим шагом является создание пользователей. В принципе, можно работать от имени пользователя SYS или SYSTEM, но рекомендуется использовать данные учетные записи лишь для администрирования базы. По этой причине для дальнейших опытов создадим пользователей TESTER. Учетные записи SYS и SYSTEM Каждая база Oracle с момента своего создания содержит две схемы (следует отметить, что термины «учетная запись», «схема» и «пользователь» обозначают в Oracle одно и то же) — SYS и SYSTEM. Схема SYS содержит все системные объекты — внутренние таблицы базы данных, пакеты, процедуры. Кроме того, пользователь SYS является владельцем словаря данных. Словарь данных Oracle — это совокупность таблиц и представлений, позволяющих получить любую информацию о структуре базы данных, о ее настройках и состоянии при помощи стандартных SQL-запросов. Учетная запись SYS является также учетной записью администратора базы данных с неограниченными полномочиями. Учетная запись SYSTEM предоставляет доступ ко всем объектам базы и наделена ролью DBA. При работе с учетными записями SYS и SYSTEM необходимо соблюдать ряд правил: разработка в базе данных не должна вестись от имени пользователей SYS и SYSTEM; нельзя удалять или изменять системные объекты, размещенные в этих схемах, — подобные действия могут привести к непредсказуемым последствиям; у учетных записей SYS и SYSTEM должны быть заданы сложные устойчивые к подбору пароли длиной не менее 6-8 символов. В случае необходимости можно вообще запретить регистрацию пользователей под учетными записями SYS и SYSTEM. Стандартные роли Роли в Oracle — это именованные группы привилегий. После создания базы данных в ней создается несколько стандартных ролей: роль CONNECT — содержит только одну привилегию CREATE SESSION, позволяющую создавать соединение с базой; роль DBA — полный набор привилегий, необходимых администратору базы; роль RESOURCE — базовый набор привилегий, необходимых разработчику; роль DELETE_CATALOG_ROLE — привилегии для удаления информации из таблицы аудита; роль SELECT_CATALOG_ROLE — привилегии для чтения информации из таблиц аудита; роль EXP_FULL_DATABASE — необходима пользователю, из-под учетной записи которого будет производиться полный экспорт базы; роль IMP_FULL_DATABASE — необходима пользователю, из-под учетной записи которого будет производиться полный импорт базы. ЗАДАНИЕ 1. В среде ORACLE создать нового пользователя TESTER№1 с паролем 123 и предоставлением ему привилегий. Разработать и создать базу данных, состоящую из двух связанных таблиц: a. GRUPPA (ID_GR, FAC, COURCE, CHISLO_ST) b. STUDENT (ID_ST, FIO, POL, ID_GR, DATA_R, SR_BALL, STIP)2 2. Задать первичные и внешние ключи таблиц. 3. Заполнить таблицы данными. Порядок выполнения: Создание нового пользователя 1. Идем в C:\oraclexe\app\oracle\product\11.2.0\server\Get_Started.url (Ярлык на р.с с именем Get Started With Oracle Database 11g Express Edition ) 2. Заходим в Application Express. 3. Открывается окно авторизации 4. 5. 6. 7. 1 2 В поле Username пишем SYSTEM В поле Password введем 12345 Жмем <Enter> Создаем Create Workspace. №– номер студента по списку Таблицу STUDENT создайте в среде MS Excel. 8. Выбираем Database Users->Create New 9. Заполняем поля:Database Username(имя_пользователя с правами админа),Application Express Username(Имя вашего приложения), Password 12345 10.Жмем в панели Getting Started на кнопку Login Here. 11.Вводим ранее зарегистрированные данные 12.Нажимаем Login 13.Входим в систему под зарегистрированным пользователем. Создание таблицы в среде Oracle 14.В SQL Workshop жмем кнопку Object Browser ->Create->table 15.Пишем Название таблицы, например, GROUPS 16.Вводим имена полей таблицы (пример на рисунке 1) и выбираем тип данных для каждого поля. Рисунок 2 – Пример создание структуры таблицы 17.Жмем Next. Делаем в окне похоже на картинку 3. Создаем первичный ключ (в примере поле GROUP_ID). Рисунок 3 – Пример создание ключа таблицы 18.Жмем Next 19.Жмем Next (не че не заполняя) 20.Жмем Finish 21.Смотрим код SQL (для ознакомления) 22.Нажимаем на Create 23.Нажимаем на вкладке Data->Insert Row 24.Заполняем 15 записей без русского языка Создаем таблицу STUDENT в среде MS Excel и сохраняем ее с расширением .CSV 25.Добавим таблицу из Excel, сохраненную в формате .csv 26.В Utilities выбираем Data Load/Unload -> Load 27.Жмем Load Srpeadsheet Data 28.Выбираем New table и Upload file 29.Жмем Next 30.Выбираем файл с таблицей 31.Ставим Separator–>; 32.Жмем Next 33.Вводим название новой таблицы 34.Жмем Next 35.Выбираем ключ и жмем Load Date 36.Заполняем таблицу данными на английском 37.Завершаем работу с СУБД Oracle.