Главная страница

РБД_Лаб_2021. Распределенные базы данных


Скачать 1.79 Mb.
НазваниеРаспределенные базы данных
Анкор13235
Дата04.12.2022
Размер1.79 Mb.
Формат файлаdoc
Имя файлаРБД_Лаб_2021.doc
ТипДокументы
#827617
страница1 из 6
  1   2   3   4   5   6




МИНОБРНАУКИ РОССИИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ

ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

«САМАРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»

Кафедра «Вычислительная техника»


С.Ю. ЛЕДНЕВА

Д.В. ЕФРЕМОВ

РАСПРЕДЕЛЕННЫЕ БАЗЫ ДАННЫХ

Лабораторный практикум


Самара

Самарский государственный технический университет

2 013

Печатается по решению редакционно-издательского совета СамГТУ



УДК 004.658
Ефремов Д.В.

Проектирование распределенных баз данных в среде СУБД ORACLE 10g: Лабораторный практикум / Сост. Д.В. Ефремов, С.Ю. Леднева. – Самара: Самар. гос. техн. ун-т, 2011. – 75 с.: ил.
В лабораторном практикуме изложен теоретический и практический материал по созданию распределенной базы данных и работоспособных прикладных программ в среде СУБД Oracle 10g. Рассмотрены вопросы создания таблиц и других объектов базы данных (пакетов, процедур, функций, обзоров, триггеров, последовательностей), организации распределенных запросов и транзакций, а также разработки клиентского программного обеспечения, ориентированного на использование распределенной базы данных.

Лабораторный практикум предназначен для дисциплины “Распределенные базы данных”, входящей в состав дисциплин учебного процесса студентов специальности 230101 "Вычислительные машины, комплексы, системы и сети" дневной, заочной и вечерней форм обучения.


Рецензент канд. техн. наук, доцент В.П. Свиридов

УДК 004.658

 Д.В. Ефремов, С.Ю. Леднева,

составление, 2011

 Самарский государственный

т ехнический университет, 2011

Лабораторная работа №1
СОЗДАНИЕ ОСНОВНЫХ ОБЪЕКТОВ БАЗЫ ДАННЫХ


Цель работы - овладеть навыками работы в ORACLE SQL Developer, научиться создавать пользователя (User), таблицы базы данных (Table) и обзоры, или представления (View).
1.1 КРАТКАЯ ТЕОРИЯ

Oracle SQL Developer является программным средством (IDE) для разработки объектов баз данных СУБД Oracle. Данное средство позволяет осуществлять полноценную разработку и сопровождение базы данных, а так же администрирование СУБД.

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

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

Расшифровка назначения параметров раздела Storage приведена в таблице 1.1.

Расшифровка назначения параметров раздела Extents приведена в таблице 1.2.

Таблица 1.1.

Параметры Storage

Наименование параметра

Описание

Pct Free

Задает долю (в процентах) свободного пространства, выделяемого в каждом блоке данных таблицы для будущих обновлений строк. Если значение PCTFREE будет равно 0, то новые вставляемые строки будут заполнять блоки данных целиком. По умолчанию стоит значение 10. Это значит, что 10% каждого блока будет выделятся под обновление существующих строк, а вставляемые строки будут занимать в блоке максимум 90%.

Pct Used

Указывает минимальный процент использования пространства каждого блока данных. Каждый блок становится кандидатом на вставку следующей новой строки, если процент использованного в нем пространства меньше указанного значения PCTUSED. Сумма значений PCTFREE и PCTUSED должна быть меньше 100!

Ini Trans

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


Max Trans

Задает максимальное количество параллельных транзакций, обновляющих блок данных, выделенных для таблицы. Это ограничение не относится к запросам. Если количество транзакций, параллельно обрабатывающих данные блока, превышает значение параметра Ini Trans, СУБД начинает динамически размещать входы транзакций в блоке, пока их количество не превысит Max Trans или в блоке не останется свободного пространства.


Таблица 1.2.

Параметры экстентов (Extents)

Наименование параметра

Описание

Initial

Указывает размер в байтах первого экстента объекта (таблицы). СУБД выделяет пространство для этого экстента, когда этот объект создается. Размер по умолчанию – размер 5-ти блоков данных.

Next

Указывает размер в байтах следующего экстента, который будет выделен для объекта.

Pct Increase

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

Min

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

Max

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


Обзоры или представления (View) являются хранимыми запросами. Служат для обеспечения удобства при работе с сложными выборками из базы данных, так как обращаться к обзору и к его полям можно тем же способом, как и обычным таблицам в SQL запросах. Результатом выполнения обзора является таблица. Таким образом, можно сказать, что обзор — это виртуальная таблица данных.
1.2 ЗАДАНИЯ К РАБОТЕ И ПОРЯДОК ВЫПОЛНЕНИЯ
Задание 1. Создать пользователя с предоставлением ролей и привилегий.

Порядок выполнения задания 1.

1. На рабочем столе найти и запустить ярлык под названием Oracle SQL Developer. В появившемся рабочем окне на закладке Connections (соединения) создать новое соединение с сервером Oracle (рис. 1.1). Необходимо указать название соединения (ORACLE_XE), ввести имя пользователя system с паролем manager. Указать IP адрес компьютера, где установлена БД Oracle.

2. Далее нажать кнопку Test для проверки соединения. Затем, если соединение прошло успешно, нажать кнопку Connect.

    1. Пользователь с именем system обладает привилегией DBA (Database Administrator). Эта привилегия дает пользователю право создавать других пользователей, табличные пространства и прочие системные объекты в СУБД Oracle. В схеме system нельзя создавать таблицы и другие объекты конкретных пользователей. Поэтому для

каждого пользователя необходимо создавать отдельную схему.



Рис. 1.1 - Создание подключения


4. После успешного соединения с сервером Oracle и появления главного рабочего окна необходимо в навигаторе (в левой части окна) выбрать пункт Other Users и правой клавишей мыши вызвать для него контекстное меню. В контекстном меню выбрать элемент Create User (рис. 1.2).



Рис. 1.2 - Первый этап создания пользователя

    1. В появившемся диалоговом окне (рис. 1.3) следует ввести имя пользователя в следующем формате: AITnИмя (без пробелов), где n – номер группы, а Имя – произвольное имя. Пароль должен полностью повторять имя пользователя.




Рис. 1.3 - Настройка пользователя
6. Далее необходимо указать табличные пространства для данных и временных объектов (USER и TEMP). Табличные пространства – это логические области, где хранятся различные объекты базы данных. Под табличным пространством Default понимается пространство, где будут храниться объекты, принадлежащие конкретному пользователю, если их размещение не будет заранее задано. Физически табличное пространство представляет собой бинарный файл.

7. Далее, щелкнув на закладке Roles, предоставить (Granted) две роли: Сonnect и Resource. В закладке System Privileges предоставить системные привилегии Create View и Unlimited tablespace.

8. После всех действий нажать клавишу Apply. Пользователь создан. Теперь, нажав на закладку SQL, можно посмотреть SQL-скрипт, который был сгенерирован программой и выполнен для создания пользователя. Нажать клавишу Close. Закрыть соединение ORACLE_XE (выбрав в его контекстном меню Disconnect).

9. Изменить соединение ORACLE_XE. Для этого выбрать в его контекстном меню пункт Properties…. Вписать вместо имени пользователя system имя нового пользователя и указать его пароль. Осуществить соединение с базой данных под новым пользователем.
Задание 2. Создание таблиц базы данных. Необходимо создать те же таблицы, которые были спроектированы в курсовом проекте по дисциплине “Базы данных”.

Порядок выполнения задания 2.

1. Для создания таблицы необходимо в навигаторе выбрать элемент Tables и правой клавишей мыши вызвать для него контекстное меню. В меню выбрать пункт New Table…. В открывшемся диалоговом окне (рис. 1.4) установить галочку Advanced.

2. В параметре Schema указывается схема, в которой будет создана данная таблица. Необходимо убедиться, что в качестве схемы выбрана схема вашего пользователя.

3. Далее следует указать имя таблицы, перейти на закладку Columns и создать поля будущей таблицы с комментариями! Особое внимание уделить галочке Cannot be NULL, отвечающей за обязательность полей.

4. На закладке Primary Key создать первичный ключ с именем в формате: PK_Имя таблицы. Для таблиц связи также необходимо создавать первичный ключ.



Рис. 1.4 - Создание таблицы
5. На закладке Foreign Keys создать (если это необходимо для данной таблицы) внешние ключи с именами в формате FK_Имя дочерней таблицы_Имя мастер-таблицы. Мастер-таблица при этом должна быть уже создана. Если она еще не создана, то данный пункт пропускается, и внешние ключи создаются путем редактирования таблицы. Для этого необходимо вызвать контекстное меню, щелкнув по названию таблицы в навигаторе, и выбрать первый пункт Edit.

6. Необходимо следить за тем, чтобы имена внешних ключей не повторялись в пределах всей схемы. В параметре Referenced table указать таблицу, на которую ссылается внешний ключ (мастер-таблица). В колонке Local Column указать поле, которое будет внешним ключом. В колонке Referenced Column указать поле мастер-таблицы, на которое ссылается внешний ключ. Если необходимо, в параметре On Delete можно задать значение CASCADE для указания СУБД удалять связанные записи.

7. Перейти на закладку DDL и просмотреть скрипт, который автоматически был сгенерирован программой для создания таблицы. Нажать кнопку OK. Таблица создана.

8. После создания таблицы рекомендуется открыть ее заново, вызвав меню правой клавишей мыши и выбрав пункт Edit, и просмотреть параметры хранения. Для этого перейти на закладку Table Properties и нажать кнопку Storage Options… .

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

Порядок выполнения задания 3.

1. Следует в навигаторе выбрать элемент Views и правой клавишей мыши вызвать для него контекстное меню. В меню выбрать пункт New View…. В появившемся диалоговом окне задать имя обзора в следующем формате: V_имя таблицы.

2. В скрипте обзора (область SQL Query) написать запрос на выборку всех полей (с поименным указанием) из таблицы, для которой создается обзор. Если в таблице есть внешние ключи, то запрос должен быть сложным (по двум или более таблицам). Вместо значений внешнего ключа должны отображаться смысловые значения из связанной мастер-таблицы. Для полей типа DATE применять маску: ‘dd.mm.yyyy’. Для наложения маски использовать оператор TO_CHAR(D1,mask) где D1 – переменная типа DATE, mask – строковая маска.

3. Можно протестировать правильность синтаксиса запроса нажатием клавиши Test Syntax. После успешной проверки зайти на закладку DDL и просмотреть автоматически сгенерированный скрипт создания обзора. Нажатием клавиши OK создать обзор в базе данных.

    1. Также для создания обзора можно воспользоваться интерактивным мастером построения, в который можно переключиться, включив галочку Advanced (в правом верхнем углу окна).


1.3 СОДЕРЖАНИЕ ОТЧЁТА
Готовится один отчёт на бригаду в печатном виде. Он должен содержать следующие разделы:

- задание;

- описание процесса создания пользовательской схемы (сопровождается копией экрана с настройками пользовательской схемы);

- описание созданных таблиц (сопровождается схемами логической и физической моделями данных);

- описание созданных обзоров (обязательно привести DDL скрипт для каждого обзора).

Приём отчёта осуществляется в индивидуальном порядке. Ответы на контрольные вопросы даются устно.
1.4 КОНТРОЛЬНЫЕ ВОПРОСЫ


  1. Для чего предназначены табличные пространства USER (default tablespace) и TEMP (temporary tablespace)?

  2. В чем заключается назначение оператора GRANT?

  3. Почему сумма значений Pct Free и Pct Used не должна быть меньше 100%?

  4. Что произойдет, если количество параллельных транзакций превысит значение Ini Trans?

  5. Объяснить назначение в скрипте по созданию таблицы параметров структуры Storage Options.

  6. Объяснить, какие действия выполняет оператор alter table в скрипте по созданию таблицы.

  7. Какая таблица называется мастер-таблицей? Что такое каскадное удаление? Описать действия, которые могут выполняться при удалении записи из мастер-таблицы в СУБД Oracle.


  1   2   3   4   5   6


написать администратору сайта