Работа с Oracle-SQL
Определение состава реляционных таблиц и логических связей между ними. Создание схемы (пользователя) базы данных. Особенность получения таблиц и ограничения целостности. Выполнение загрузки, модификации и удаления. Поддержка транзакций в Oracle.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | лабораторная работа |
Язык | русский |
Дата добавления | 25.10.2021 |
Размер файла | 4,8 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Федеральное бюджетное образовательное учреждение высшего образования
«Омский государственный технический университет»
Факультет информационных технологий и компьютерных систем
Кафедра «Автоматизированные системы обработки информации и управления»
Отчёт по работе с Oracle-SQL
дисциплина «Системы управления базами данных»
Выполнила студентка гр. ИВТ-191
Гайдабура М.С.
Проверила ст. преподаватель
Маркова М.П.
Омск - 2021
Введение
В отчете представлена информация о результатах выполнения лабораторного практикума по теме «Работа с Oracle-SQL». Решение практических задач направлено на развитие умений и навыков и их применение в дальнейшем при создании приложений баз данных для автоматизированных информационных систем, разрабатываемых для различных областей производства.
Лабораторные работы выполнялись на языке Oracle-SQL, который в свою очередь является структурированным языком запросов, являющийся стандартом языка работы с реляционными базами данных.
Разрабатывалась реляционная база данных в интегрированной среде разработке Oraсle SQL Developer.
Описание предметной области
Вариант 5. Разработать прикладное программное обеспечение деятельности малого научно-внедренческого предприятия «Квадро». Это предприятие занимается прокладкой компьютерных сетей и разработкой программных комплексов для организаций нашего города. Численность работников в «Квадро» - примерно 80 человек. Одновременно находится в разработке до 30 проектов. Один разработчик может участвовать в нескольких проектах одновременно, но зарплата его от этого не зависит. Одна организация может заказать в «Квадро» несколько разработок. Стоимость каждого проекта оговаривается отдельно. При досрочном выполнении работы заказчик перечисляет научно-внедренческому предприятию определенный, заранее оговоренный процент премии.
Лабораторная работа №1
Проектирование базы данных
Проектирование реляционной базы данных предполагает определение состава реляционных таблиц и логических связей между ними. Для каждого атрибута должны быть определены тип и размер данных, а также ограничения целостности. Для таблиц следует задавать первичные и внешние ключи.
Спроектированная по нашей предметной области модель данных предметной области в стандарте IE для целевой СУБД Oraсle Database XE представлена на рисунке 1.
Рисунок 1 - ER-диаграмма
Лабораторная работа №2
Создание схемы (пользователя) базы данных
Любое приложение базы данных Oraсle строится на множестве связанных между собой объектов (схемы, таблицы, ограничения целостности данных, представления, последовательности, синонимы, индексы).
Oraсle логически организует связанные объекты в схему базы данных. Схема включает все таблицы, представления, последовательности и другие объекты, необходимые для работы приложения. Схемы не касаются физического хранения базы данных. Для физической организации хранения объектов Oraсle использует физические структуры хранения.
Учётная запись пользователя Oraсle содержит имя и атрибуты пользователя, которые включают: метод аутентификации, статус (закрыт или открыт), привилегии и роли, установки использования пространства БД, управляющие ресурсами, к которым обращается пользователь.
Табличное пространство - логический раздел БД, который организует физическое хранение данных. Для каждого пользователя устанавливается стандартное табличное пространство.
Создание схемы базы данных показано на рисунках 2 - 10.
Рисунок 2 - Подключение к контейнерной базе данных
Рисунок 3 - Переход в PDB для создания нового локального пользователя
Рисунок 4 - Создание пользователя kvadro_base с паролем kvadro_base
Представление пользователю неограниченной квоты в этом табличном пространстве также показано на рисунке 4.
Рисунок 5 - Проверка назначения стандартного табличного и временного табличного пространств для пользователя kvadro_base
Рисунок 6 - Проверка квоты, предоставленной пользователю kvadro_base в стандартном табличном пространстве
Рисунок 7 - Задание пользователю kvadro_base необходимых системных привилегий
Рисунок 8 - Проверка назначения системных привилегий пользователя kvadro_base
Рисунок 9 - Получение списка всех общих и локальных пользователей, относящихся к данной PDB
Рисунок 10 - Создание нового подключения для пользователя kvadro_base
Лабораторная работа №3
Создание таблиц и ограничение целостности
Таблицы базы даннх являются базовой структурой реляционной базы данных. При создании таблицы необходим учитывать главные её составляющие:
- поля, описывающие структуру таблицы;
- ограничения целостности, задающие приемлемые для таблицы данные.
Для создания таблицы необходимо сформировать её структуру, указав поля (столбцы). Каждый столбец таблицы имеет определённый тип данных, допустимых для этого столбцы.
В нашей базе данных мы используем такие ограничения целостности как: PRYMARY KEY и FOREIGN KEY. Создание таблиц представлено на рисунках 11 - 18.
Рисунок 11 - Создание таблицы «Project» с указанием PRYMARY KEY
Рисунок 12 - Создание таблицы «Customer» с указанием PRYMARY KEY
Рисунок 13 - Создание первичного и внешних ключей для таблицы «Customer»
Рисунок 14 - Создание таблицы «Employees»
Рисунок 15 - Создание первичного и внешнего ключа для таблицы «Employees»
Рисунок 16- Создание таблицы «Accounting»
Рисунок 17 - Создание первичного и внешних ключей для таблицы «Accounting»
Рисунок 18 - Диаграмма схемы «kvadro_base»
Лабораторная работа №4
Загрузка, модификация и удаление
Есть несколько вариантов загрузки данных в таблицы схемы:
- ввод данных вручную с помощью приложения SQL Developer;
- ввод данных с помощью инструкции INSERT;
- загрузка данных из текстовых файлов;
- загрузка данных из файлов XML.
В данной работе будет использоваться ввод данных вручную с помощью приложения SQL Developer. Это происходит через открытие таблицы в приложении SQL Developer и последовательное заполнение ячеек этой таблицы.
Выполнение заполнения таблиц представлено на рисунках 19-22.
Рисунок 19 -Ввод данных в таблицу «Project»
Рисунок 20 - Ввод данных в таблицу «Customer»
Рисунок 21 - Ввод данных в таблицу «Employees»
Рисунок 22 - Ввод данных в таблицу «Accounting»
Лабораторная работа №5
Поддержка транзакций в Oracle
Транзакция - последовательность действий, выполняемая одной или несколькими связанными инструкциями SQL. Фиксация транзакции обеспечивает запись на диск изменений, сделанных в процессе выполнения транзакции. Откат транзакции обеспечивает аннулирование всех изменений, сделанных операторами в теле транзакции.
Транзакции позволяют:
- восстанавливать данных при аварийном прекращении сеанса связи приложения с СУБД;
- гарантировать целостность представление данных приложению при одновременной работе с данными нескольких приложений;
- гарантировать целостное хранение данных в базе данных при одновременной работе с ними нескольких приложений.
Проделанная с транзакциями работа показана на рисунках 23 - 26.
На рисунке 23 в таблицу «Project» добавляем две новые строки и фиксируем их, а затем производим откат транзакции.
Рисунок 23 - Фиксация и откат транзакции
Рисунок 24 - Удаление добавленных в прошлой транзакции строк
Рисунок 25 - Добавление новых строк с помощью режима автофиксации
Рисунок 26 - Создание транзакции «только для чтения»
Лабораторная работа №6
Последовательности и синонимы
Последовательность - объект схемы, генерирующий ряд уникальных целых чисел. Используется для таблиц с ключами в виде простых числовых полей. Приложение, добавляющее строку в таблицу, запрашивает для первичного ключа очередное значение в последовательности. Приложение может использовать сгенерированный номер для координации значений внешних ключей.
Генерация последовательностей незначительно увеличивает нагрузку, поэтому она эффективна даже для требовательных к ресурсам OLTP-приложений.
Выполнение лабораторной работы представлено на рисунках 27 - 33
Рисунок 27 - Создание последовательностей для всех таблиц базы данных
Рисунок 28 - Создание нового проекта с использованием представления для таблицы «Project»
Рисунок 29 - Вставка только что созданного проекта в новую запись о сотруднике с использованием двух представлений для таблиц «Project» и «Employees»
Рисунок 30 - Создание частного синонима «EMP»
Рисунок 31 - Запрос, использующий созданный ранее синоним «EMP»
Рисунок 32 - Создание частного синонима «PR»
Рисунок 33 - Запрос, использующий синоним «PR»
Лабораторная работа №7
Работа с индексами
Применение индексов также позволяет сделать работу со схемой более эффективной. Производительность приложений баз данных зависит от того, насколько быстро они получают доступ к данным. Определяющий факто - количество операция дискового ввода-вывода. Сократить дисковый ввод-вывод позволяет индексирование таблиц.
Индекс - физическая структура базы данных, занимающая пространство на диске и используемая СУБД для повышения производительности запросов. реляционный таблица база данный
Пользователи, имеющие привилегии, могут создавать и удалять индексы, при этом обычные инструкции SQL никогда явно к индексам не обращаются. Oraсle автоматически синхронизирует индекс с таблицей.
Выполнение лабораторной работы представлено на рисунках 34 - 40.
Рисунок 34 - Создание нормального индекса
Рисунок 35 - Информация о созданном индексе в панели сведения
Рисунок 36 - Создание битового индекса, для поля «BASE» в таблице «EMPLOYEES»
Рисунок 37 - Использование созданного ранее битового индекса
Рисунок 38 - Создание индекса среднего значения заработной платы среди всех сотрудников на основе функции по столбцу «Salary» из таблицы «Accounting» «MIDDLE_SALARY_IDX»
Рисунок 39 - Использование в запросе созданного ранее на основе функции индекса «MIDDLE_SALARY_IDX»
Рисунок 40 - Подтверждение выполнения вышеприведённого запроса с использованием индекса «MIDDLE_SALARY_IDX»
Лабораторная работа №8
Работа с представлениями
Представление - объект базы данных, представляющий данные таблиц в удобном виде, точнее, это виртуальная таблица с результатом сохранённого запроса, который выводится при доступе к представлению.
Представление можно рассматривать как таблицу. Представления имеют столбцы, поэтому к ним можно выполнять запросы. С другой стороны, представление - виртуальная таблица. Представления не имеют строк. Каждый раз при доступе к «содержимому» представления Oraсle извлекает запрос представления из словаря и использует его для создания виртуальной таблицы.
СУБД преобразует инструкции SQL для представления в действия с базовыми таблица, поэтому представления зависят от изменений в структуре базовых таблиц.
Выполнение лабораторной работы представлено на рисунках 41 - 50.
Рисунок 41 - Создание представления «только для чтения»
Создание представления «только для чтения», содержащего записи о всех проектах, бюджет которых лежит в промежутке от 100000 до 150000 рублей.
Рисунок 42 - Представление созданного только для чтения запроса
Рисунок 43 - Создание обновляемого представления с ограничениями
Рисунок 44 - Обновление сделки с project_id = 3
Рисунок 45 - Удаление всех сделок из таблицы
Рисунок 46 - Добавление неправильной записи
Ошибка при попытке вставить в представление проект, с бюджетом 200000, что не входит в заданный промежуток.
Рисунок 47 - Создание обновляемого представления с соединением без ограничений
Рисунок 48 - Добавление новых записей в ранее созданное представление без ограничений
Рисунок 49 - Создание простого материализованного представления «Aсccounting_info»
Рисунок 50 - Результат, созданного ранее представления «Aсcounting_info»
Вывод
В ходе выполнения лабораторных работ была разработана база данных по предметной области «Деятельность малого научно-внедренческого предприятия «Квадро»». Были получены необходимые базовые навыки по работе в Oraсle SQL Developer и с языком Oracle-SQL, которые в дальнейшем пригодятся для выполнения расчётно-графической работы в курсе этой же дисциплины, а также в практической профессиональной деятельности.
Список литературы
1. Малков, О. Б. Oracle SQL. Базовая часть : учеб. пособие / О. Б. Малков; Минобрнауки России, ОмГТУ. - Электрон. текстовые дан. (2,97 Мб). - Омск : Изд-во ОмГТУ, 2019. - 132 с.
Размещено на Allbest.ru
Подобные документы
Инфологическая модель предметной области. Схемы простых объектов и их свойства. Построение реляционных отношений на основе инфологической модели базы данных. Сетевая и иерархическая даталогическая модели БД. Структура таблиц, реализованных в СУБД Oracle.
курсовая работа [1,0 M], добавлен 10.06.2014Язык описания данных Oracle. Предназначение базы данных для хранения информации. Создание и изменение таблиц с помощью операторов Create и Alter table. Правила именования таблицы. Операторы Rename и Truncate. Метод создания и удаления представления.
презентация [82,7 K], добавлен 14.02.2014Создание базы данных и таблиц. Определение таблиц и информации, которую они будут содержать. Определение индексированных полей и организации связи между ними. Создание формы в окне базы данных. Создание отчета "Список улиц". Выбор внешнего вида макета.
контрольная работа [1,4 M], добавлен 11.04.2012Виды и практические примеры теоретико-множественных операций в Oracle: соединение, объединение, пересечение. Соединение трех и более таблиц. Синтаксис соединения ANSI SQL/92 и ограничения ANSI SQL/86. Типы внешних соединений: левое, правое, полное.
презентация [379,6 K], добавлен 14.02.2014Компоненты реляционной базы данных Microsoft Access. Создание структуры таблиц и определение связей между ними. Проектирование форм для сводных таблиц и запросов с помощью конструктора окон. Разработка и создание автоотчетов и запросов на выборку данных.
реферат [3,3 M], добавлен 29.01.2011Создание таблиц базы данных с помощью MS Access "Страны Азии". Форма базы данных и запросы к выборкам данных. Модификация структуры таблиц, создания связей между главными таблицами, редактирование данных и проектирование форм для реальной базы данных.
контрольная работа [723,9 K], добавлен 25.11.2012Создание таблиц базы данных в режиме конструктора. Схема связей между таблицами и содержание таблиц. Установление связи с поддержанием целостности. Структуры двух запросов (в режиме конструктора) и описание процесса их создания. Результаты вывода отчетов.
курсовая работа [3,0 M], добавлен 28.06.2015Разработка базы данных фирмы, представляющей в прокат автомобили; спецификация требований. Создание инфологической модели предметной области. Определение сущности, ее атрибутов и связей между ними; структура таблиц. Реализация базы данных в MS SQL Server.
курсовая работа [1021,2 K], добавлен 10.04.2015Особенности модификации таблиц базы данных средствами СУБД Access. Описание свойств полей, задания ограничений, масок ввода данных. Создание и модификации таблиц, установка их свойств. Схема связи таблиц. Представление результатов задания в виде таблицы.
лабораторная работа [243,5 K], добавлен 13.06.2014Краткая история развития СУБД ORACLE, основные понятия и определения, архитектура. Принципы работы с СУБД ORACLE. Разработка баз данных, средства и технологии их реализации; возможности процедурного языка PL/SQL. Приемы администрирования СУБД ORACLE.
презентация [609,2 K], добавлен 14.02.2014