Автоматизирование базы данных аптеки
Описание предметной области БД. Исследование таблиц и логической структуры базы данных аптеки. Определение отношений между таблицами. Изучение методов создания пользователей на Oracle Database XE и их роли. Характеристика техники разработки запросов.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 19.05.2016 |
Размер файла | 3,2 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РЕСПУБЛИКИ ТАДЖИКИСТАН
ТАДЖИКСКИЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ ИМЕНИ АКАДЕМИКА М. С. ОСИМИ
Кафедра: «АСОИ и У»
Курсовой проект
На тему: «Автоматизирование базы данных аптеки»
Выполнила: студентка 3-го курса
Группы 530102-Б2
Туйчиева Н.
Принял: Шин В.В.
Душанбе - 2015
Аннотация
Самой удобной в наше время программой для разработки базы данных является программы компании Oracle, доступная версия для изучения является oracle 10g express edition. В который можно легко разработать и создать базу данных. Имеет удобный web-интерфейс, кроме него можно работать в командной строке (подключиться к oracle можно при помощи команды sqlplus). При помощи которой в дальнейшем будет выполнена данная курсовая работы.
Содержание
Введение
1. Описание предметной области БД
1.1 Описание таблиц и логической структуры базы данных аптеки
1.2 Проектирование таблиц
1.3 Нормализация базы данных. Описание отношений между таблицами
2. Среда СУБД Oracle Database XE
2.1 Web-интерфейс Oracle Database XE
2.2 Создание пользователей на Oracle Database XE и их роли
3. Разработка Базы данных аптеки на Oracle Database XE
3.1 Создание таблиц в Oracle Database XE. Типы полей и правила
3.2 Разработка запросов
Заключение
Литература
логический запрос аптека база
Введение
Современная жизнь немыслима без эффективного управления информацией. Восприятие реального мира можно соотнести с последовательностью разных, хотя иногда и взаимосвязанных, явлений. С давних времен люди пытались описать эти явления (даже тогда, когда не могли их понять). Такое описание называют данными.
Важной категорией программ сегодня являются системы обработки информации, основанные на базах данных (БД).
От данных информационной системы во многом зависит эффективность работы любого предприятия ли учреждения. Такая система обеспечивать получение общих и детализированных отчетов по итогам работы, позволять легко определять тенденции изменения важнейших показателей, обеспечивать получение информации, критической по времени, без существенных задержек, выполнять точный и полный анализ данных.
Целью данной курсовой работы является анализ предметной области «Аптека», проектирование и реализация учебной базы данных в указанной предметной области.
1. Описание предметной области БД
1.1 Описание таблиц и логической структуры базы данных аптеки
Прежде чем заносить данные в таблицы, нужно определить структуру этих таблиц. Под этим понимается не только описание наименований и типов полей, но и ряд других характеристик.
База данных аптеки должна включать в себя 10 главных запросов, предназначенных для эффективности работы предприятия и автоматизации обработки результатов его деятельности. Основная информация, которая будет храниться в базе данных аптеки - это перечень лекарств, а также некоторая информация о сотрудниках и поставщиках (которая является немало важной информацией для своевременной поставки лекарств). Главными запросами в данной базе данных является:
Название препарата
Количество препаратов
Группа препаратов
Описание препаратов
Закупочная цена
Цена продажи
Фамилия
Имя
Должность
Дата рождения
Дата вступления на работу
Зарплата
Поставщики
Контакты поставщиков
Заказы
База данных предназначена для сотрудников. Быстрый доступ к полному списку лекарств, контроль работы аптеки в целом, контакты поставщиков, удобный поиск нужного препарата и т.д.
Название препарата - должно содержать название лекарств.
Количество препаратов - содержит общее количество лекарств имеющихся в базе. Единица измерения количества лекарств удобнее принять в штуках.
Группы препаратов - позволяет разделить лекарства на фармакологические группы к которым они относятся.
Описание препаратов - содержит дополнительную информацию о лекарствах т.е. состав, а также от какой болезни необходимо применять то или иное лекарство.
Закупочная цена - в ней введены данные о приобретаемой цене лекарства.
Цена продажи - содержит информацию цене, по которой должно продаваться лекарство.
Фамилия Имя Отчество - содержит полное ФИО сотрудника.
Должность -содержит информацию о должности сотрудников, от которой зависит зарплата сотрудников.
Дата вступления на работу - должна содержать информацию о дате найма на работу сотрудника.
Дата рождения - должна иметь информацию о днях рождения сотрудников.
Поставщики - должна содержать название компаний, с которых был приобретён препарат.
Контакты поставщиков - должно содержать контактные номера поставщиков.
Заказы - должно иметь информацию о сделанных заказах.
1.2 Проектирование таблиц
Реляционная база данных представляет собой множество взаимосвязанных таблиц, каждая из которых содержит информацию об объектах определенного типа. Каждая строка таблицы включает данные об одном объекте (например, сотрудники, препараты, поставщики), а столбцы таблицы содержат различные характеристики этих объектов -- атрибуты (например, наименования и группы лекарств, имена и должности сотрудников). Строки таблицы называются записями; все записи имеют одинаковую структуру -- они состоят из полей, в которых хранятся атрибуты объекта. Каждое поле записи содержит одну характеристику объекта и имеет строго определенный тип данных (например, текстовая строка, число, дата). Все записи имеют одни и те же поля, только в них содержатся разные значения атрибутов. Реляционная база данных удобно представлять в виде двумерной таблицы. Для начала необходимо создать одну общую таблицу, которая будет содержать перечисленные выше запросы.
Наз. лек |
Кол-во |
Группы лек |
Описание |
Закуп цена |
Цена продаж |
Фамилия |
Имя |
Должн. |
Дата.р |
Дата.н |
Зарпл. |
Поставщ |
Контакты |
Заказы (кол-во) |
|
Аевит |
15 |
A11JA |
Повышает устойчивость тканей к гипоксии, нормализует тканевое дыхание. |
10 |
15 |
Федоров |
Алексей |
провизор |
02.10.72 |
14.04.96 |
2000 |
РОСТА |
2501226 |
20 |
|
Бекламетазон |
10 |
R03BA01 |
Глюкокортикостероиды |
25 |
28 |
Тоиров |
Умед |
Заведующ. провиз |
19.07.80 |
30.03.2001 |
1200 |
РОСТА |
2501226 |
10 |
|
Мукалтин |
35 |
R05CA |
Отхаркивающие препараты |
0.50 |
1 |
Носиров |
Наим |
фармацевт |
12.05.1992 |
29.11.2006 |
800 |
ПрофитМед |
2201053 |
50 |
|
Бронхикум |
10 |
R05CA10 |
Отхаркивающие препараты в комбинации |
12 |
18 |
Хакимов |
Немонджон |
фармацевт |
28.12.1993 |
31.05.2011 |
800 |
АБРИС+ |
2360706 |
25 |
|
Анаприлин |
12 |
C07AA |
Пропронолог |
10 |
12 |
Робиева |
Матлюба |
бухгалтер |
05.04.1990 |
20.04.2014 |
900 |
ПУЛЬС |
2334585 |
15 |
|
Парацетамол |
50 |
N02BE01 |
Анальгетизирующее, жаропонижающее |
0,50 |
1 |
Чориева |
Дильбар |
уборщик |
08.09.1967 |
05.10.2002 |
720 |
АБРИС+ |
2360706 |
20 |
Общая таблица находиться в 1 нормальной форме. В реляционной модели отношение всегда находится в первой нормальной форме по определению понятия отношение. Конкретнее, рассматриваемая таблица должна удовлетворять следующим пяти условиям:
1. Нет упорядочивания строк сверху вниз (другими словами, порядок строк не несет в себе никакой информации).
2. Нет упорядочивания столбцов слева направо (другими словами, порядок столбцов не несет в себе никакой информации).
3. Нет повторяющихся строк.
4. Каждое пересечение строки и столбца содержит ровно одно значение из соответствующего домена (и больше ничего).
5. Все столбцы являются обычными.
«Обычность» всех столбцов таблицы означает, что в таблице нет «скрытых» компонентов, которые могут быть доступны только в вызове некоторого специального оператора взамен ссылок на имена регулярных столбцов, или которые приводят к побочным эффектам для строк или таблиц при вызове стандартных операторов.
1.3 Нормализация базы данных и описание отношений между таблицами
Для приведения таблиц ко второй нормальной форме (2НФ), приводимые таблицы должны быть уже в 1НФ. Нормализация должна проходить по порядку. Во второй нормальной форме, должно быть соблюдено условие -- любой столбец, который не является ключом (в том числе внешним), должен зависеть от первичного ключа. Обычно такие столбцы, имеющие значения, который не зависят от ключа, легко определить. Если данные, содержащиеся в столбце, не имеют отношения к ключу, который описывает строку, то их следует отделять в свою отдельную таблицу.
В таблице находятся данные не имеющие связи с первичным ключом, который в данном случае является «название препаратов». Такими данными является информация о сотрудниках. Поэтому стоит разделить их на отдельные таблицы: «Препараты» и «Сотрудники».
Таблица «Препараты»
Наз. препаратов |
Кол-во |
Группа препаратов |
Описание препаратов |
Закуп. цена |
Цена продаж |
Поставщик |
Контакты |
Заказы (кол-во) |
|
Аевит |
15 |
A11JA |
Витамины и витаминоподобные средства в комбинациях |
10 |
15 |
РОСТА |
2501226 |
20 |
|
Бекламетазон |
10 |
R03BA01 |
Глюкокортикостероиды |
25 |
28 |
РОСТА |
2501226 |
10 |
|
Мукалтин |
35 |
R05CA |
Отхаркивающие препараты |
0.50 |
1 |
ПрофитМед |
2201053 |
50 |
|
Бронхикум |
10 |
R05CA10 |
Отхаркивающие препараты в комбинации |
12 |
18 |
АБРИС+ |
2360706 |
25 |
|
Анаприлин |
12 |
C07AA |
Бета-адреноблокаторы |
10 |
12 |
ПУЛЬС |
2334585 |
15 |
|
Парацетамол |
50 |
N02BE01 |
Анальгетизирующее, жаропонижающее |
0,50 |
1 |
АБРИС+ |
2360706 |
20 |
Таблица «Сотрудники»
Фамилия |
Имя |
Должн. |
Дата.р |
Дата.н |
Зарпл. |
|
Федоров |
Алексей |
провизор |
02.10.72 |
14.04.96 |
2000 |
|
Тоиров |
Умед |
Заведующ. провиз |
19.07.80 |
30.03.2001 |
1200 |
|
Носиров |
Наим |
фармацевт |
12.05.1992 |
29.11.2006 |
800 |
|
Хакимов |
Немонджон |
фармацевт |
28.12.1993 |
31.05.2011 |
800 |
|
Робиева |
Матлюба |
бухгалтер |
05.04.1990 |
20.04.2014 |
900 |
|
Чориева |
Дильбар |
уборщик |
08.09.1967 |
05.10.2002 |
720 |
База данных будет находиться в третьей нормальной форме, если она приведена ко второй нормальной форме и каждый не ключевой столбец независим друг от друга. Если следовать процессу нормализации правильно до этой точки, с приведением к 3НФ может и не возникнуть вопросов. Следует знать, что 3НФ нарушается, если изменив значение в одном столбце, потребуется изменение и в другом столбце. Чтобы привести таблицу в третью нормальную форму надо выполнить следующие шаги:
Шаг 1. Определить, в каких полях каких таблиц имеется взаимозависимость. Как только что говорилось, поля, которые зависят больше друг от друга (поставщики и контакты поставщиков), чем от ряда в целом. Взглянув на таблицу препараты, увидите, что группы лекарств имеет связь с описанием лекарств, а поставщики имеет связь с заказами и контактами поставщиков.
Отношения таблицы препараты
По отношению препараты, видно, что имеются связи не зависящие от первичного ключа «Название препаратов». Для этих связей создадим отдельные отношения:
В отношении «Группа препаратов» и «Описание препаратов» ключом является «Группа препаратов».
Таким же образом выявим независящие от первичного ключа связи в таблице «Сотрудники»:
Отношения сотрудники
Первичный ключ в данном отношении является составным ключом - это «Фамилия» и «Имя». В данном случае полных тесок нет, поэтому ФИО можно использовать как составной ключ. В данном отношении «Зарплата» имеет связь с «Должностью», который является ключом. Разделим их на отдельную таблицу:
Исходя из этих отношений создадим таблицу «Препараты» и таблицы вспомогательные:
Таблица Препараты
Наз. Препар. |
Кол-во |
Группа препар. |
Закуп. цена |
Цена продаж |
поставщик |
контакты |
Заказы (кол-во) |
|
Аевит |
15 |
A11JA |
10 |
15 |
РОСТА |
2501226 |
20 |
|
Бекламетазон |
10 |
R03BA01 |
25 |
28 |
РОСТА |
2501226 |
10 |
|
Мукалтин |
35 |
R05CA |
0.50 |
1 |
ПрофитМед |
2201053 |
50 |
|
Бронхикум |
10 |
R05CA10 |
12 |
18 |
АБРИС+ |
2360706 |
25 |
|
Анаприлин |
12 |
C07AA |
10 |
12 |
ПУЛЬС |
2334585 |
15 |
|
Парацетамол |
50 |
N02BE01 |
0,50 |
1 |
АБРИС+ |
2360706 |
20 |
Для таблицы «Препаратов» внешним ключом является «Группа препаратов».
Группа препаратов |
Описание препаратов |
|
A11JA |
Повышает устойчивость тканей к гипоксии, нормализует тканевое дыхание. |
|
R03BA01 |
Глюкокортикостероиды |
|
R05CA |
Отхаркивающие препараты |
|
R05CA10 |
Отхаркивающие препараты в комбинации |
|
C07AA |
Пропронолог |
|
N02BE01 |
Анальгетизирующее, жаропонижающее |
Пока таблица «Препараты» не соответствует 3НФ, так как можно наблюдать явное дублирование. Наименование поставщиков препаратов и контактов поставщиков дублируются. Для того чтобы решить проблему надо вывести эти столбцы в отдельную таблицу. Отношение будет следующее:
Исходя из данного отношения составим таблицу «Заказы». В данной таблице имеется явное дублирование контактов поставщиков.
Таблица «Заказы»
Название препаратов |
Поставщик |
Контакты |
Заказы (кол-во) |
Закуп. цена |
|
Аевит |
РОСТА |
2501226 |
20 |
10 |
|
Бекламетазон |
РОСТА |
2501226 |
10 |
25 |
|
Мукалтин |
ПрофитМед |
2201053 |
50 |
0.50 |
|
Бронхикум |
АБРИС+ |
2360706 |
25 |
12 |
|
Анаприлин |
ПУЛЬС |
2334585 |
15 |
10 |
|
Парацетамол |
АБРИС+ |
2360706 |
20 |
0,50 |
Таблица «Поставщики»
Поставщик |
Контакты |
|
РОСТА |
2501226 |
|
ПрофитМед |
2201053 |
|
ПУЛЬС |
2334585 |
|
АБРИС+ |
2360706 |
Получим исходную таблицу «Заказы». Остается неявное дублирование.
Название препаратов |
Поставщик |
Заказы (кол-во) |
Закуп. цена |
|
Аевит |
РОСТА |
20 |
10 |
|
Бекламетазон |
РОСТА |
10 |
25 |
|
Мукалтин |
ПрофитМед |
50 |
0.50 |
|
Бронхикум |
АБРИС+ |
25 |
12 |
|
Анаприлин |
ПУЛЬС |
15 |
10 |
|
Парацетамол |
АБРИС+ |
20 |
0,50 |
Создадим исходную таблицу «Препараты», которая отвечает требованиям 3НФ:
Наз. препаратов |
Кол-во |
Группа препаратов |
Цена продаж |
|
Аевит |
15 |
A11JA |
15 |
|
Бекламетазон |
10 |
R03BA01 |
28 |
|
Мукалтин |
35 |
R05CA |
1 |
|
Бронхикум |
10 |
R05CA10 |
18 |
|
Анаприлин |
12 |
C07AA |
12 |
|
Парацетамол |
50 |
N02BE01 |
1 |
Приступим к таблице «Сотрудники»:
Фамилия |
Имя |
Должн. |
Дата рожд. |
Дата найма |
|
Федоров |
Алексей |
провизор |
02.10.72 |
14.04.96 |
|
Тоиров |
Умед |
Заведующ. провиз |
19.07.80 |
30.03.2001 |
|
Носиров |
Наим |
фармацевт |
12.05.1992 |
29.11.2006 |
|
Хакимов |
Немонджон |
фармацевт |
28.12.1993 |
31.05.2011 |
|
Робиева |
Матлюба |
бухгалтер |
05.04.1990 |
20.04.2014 |
|
Чориева |
Дильбар |
уборщик |
08.09.1967 |
05.10.2002 |
В данной таблице нет явного дублирования, исходя из этого можно сказать что таблица «Сотрудники» соответствует третей нормальной форме.
Таблица «Должность», так же находится в 3НФ.
Должн. |
Зарплата |
|
провизор |
2000 |
|
Заведующ. провиз |
1200 |
|
фармацевт |
800 |
|
бухгалтер |
900 |
|
уборщик |
720 |
2. Среда СУБД Oracle Database XE
Oracle Database XE предоставляет разработчикам, администраторам БД, независимым поставщикам ПО и студентам возможность бесплатно изучать, а также создавать и развертывать собственные разработки на базе самой передовой СУБД.
Редакция Oracle Database XE создана на основе СУБД Oracle Database 10g Release 2 и полностью совместима с семейством программных продуктов Oracle Database, включая Oracle Standard Edition One, Oracle Standard Edition и Oracle Enterprise Edition. Пользователи имеют возможность начать работу с базовой редакции, а впоследствии модернизировать ее до других редакций Oracle Database 10g в соответствии с увеличением потребностей и перевести свои приложения на работу с новыми редакциями СУБД без изменения их кода.
Редакция Oracle Database XE предоставляет те же интерфейсы SQL и PL/SQL, что и во всех остальных версиях Oracle Database 10g, а также широкий спектр программных интерфейсов, удовлетворяющих потребности различных сообществ разработчиков. Например, предоставляется полная поддержка разработки и развертывания приложений для разработчиков, работающих на платформах Java,.NET, PHP и Windows. Кроме того, Oracle Database XE предоставляет разработчикам возможность воспользоваться преимуществами Oracle HTML DB для быстрой разработки и развертывания Web-приложений.
Редакция Oracle Database XE выпускается для 32-разрядных операционных систем Linux и Windows и может быть установлена на любой поддерживаемой ими аппаратной платформе. Являясь бесплатной, базовой версией БД Oracle Database XE имеет некоторые ограничения:
· использование вычислительной мощи процессора ограничено максимум одним обычным или двухъядерным процессором
· использование памяти ограничено одним гигабайтом (ГБ)
· использование СУБД ограничено одним экземпляром СУБД в каждой вычислительной системе
· объем пользовательских данных в БД ограничен 4 ГБ
Которые достаточны для разработки небольшой БД, которая разработана в данной курсовой работе.
2.1 Web-интерфейс Oracle Database XE
Управление базой данных предельно просто и осуществляется через Web-интерфейс. Подобный подход облегчает администрирование, особенно в случае дистанционного управления через Интернет. В текущей версии 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 -- инструменты для генерации ряда отчетов, необходимых при администрировании и анализе базы данных.
После установки Oracle XE в ОС Windows появляются новые службы:
· OracleServiceXE -- экземпляр базы;
· OracleXETNSListener -- прослушивающий процесс.
Обе службы имеют тип запуска «Auto» и запускаются при старте системы. Если автозапуск Oracle XE нежелателен, то необходимо изменить режим запуска этих служб на «Запускать вручную» и запускать эти службы перед началом работы с базой при помощи командных файлов StartDB.bat и StopDB.bat (эти файлы размещены в папке oraclexe\app\oracle\product\10.2.0\server\BIN\) или при помощи диспетчера служб Windows.
2.1 Создание пользователей на Oracle Database XE и их доступа к СУБД
Одной из обязанностей СУБД является управление учетными записями пользователей. Следует различать понятия пользователь и учетная запись. Пользователь - человек, у которого есть учетная запись, посредством которой определяются его полномочия и разрешения в пределах базы данных. Для подключения к базе данных у пользователя должна быть учетная запись. Параметры учетной записи, права и привилегии определяют возможности пользователя в пределах базы данных. Для управления учетными записями используются два предложения на языке SQL, это CREATE USER - для создания учетной записи. Имя пользователя в пределах базы данных должно быть уникальным. Длина не должна превышать 30 символов. Имя может состоять из латинских букв, цифр, знака доллар ($) и знака подчеркивания (_). Имя пользователя не может быть зарезервированным словом. Так же создать пользователя может только пользователь System, который имеет права администратора, или пользователь Sys.
Необходимо подключится к СУБД через пользователя System. Для этого в cmd набираем команду sqlplus. И создать пользователя базы данных используя оператор CREATE USER:
CREATE USER TN IDENTIFIED BY lalala;
Где:
· Create user - определяет имя, назначенное пользователю базы данных.
· Identified by - определяет пароль для пользователя базы данных
Сразу после создания пользователя, можно предоставить системные привилегии:
Grant create session, alter database, alter system, create tablespace, alter tablespace, create table to TN;
После присвоения привилегий пользователь TN может подключаться к базе данных oracle. Но пока создать таблицу не получиться, так как TABLESPACE находится в табличном пространстве SYSTEM, а у пользователя TN нет привилегии или роли для создания таблицы в табличной среде SYSTEM. Поэтому попытки создать таблицу приводят к ошибке. Для того чтобы избежать этой проблемы необходимо изменить табличное пространство с SYSTEM на USERS. Так же для того чтобы изменить табличное пространство надо подключиться к базе данных через самого пользователя (в данном случае TN) и ввести следующую команду:
ALTER DATABASE DEFAULT TABLESPACE users;
И необходимо выделить пользователю память в табличном пространстве users:
Теперь пользователь может создавать таблицы, так как его табличное пространство находиться в USERS.
Эта привилегия позволит пользователю в дальнейшем менять табличное пространство.
Пользователь ADMIN:
После создания пользователя, необходимо создать роль для пользователя под названием admin_r:
CREATE USER - Создавать пользователей; назначать квоты на любое табличное пространство, назначать умалчиваемое и временное табличные пространства, и назначать профиль как часть предложения CREATE USER.
ALTER USER - Изменять других пользователей: изменять пароль или метод идентификации, назначать квоты, устанавливать умалчиваемое и временное табличные пространства, назначать профили и умалчиваемые роли через предложение ALTER USER. (Не требуется для изменения своего пароля.
DROP USER - Удалять других пользователей.
CREATE TABLESPACE - Создавать табличные пространства; добавлять файлы операционной системы через ORACLE, независимо от привилегий операционной системы.
ALTER TABLESPACE - Изменять табличные пространства; добавлять файлы операционной системы через ORACLE, независимо от привилегий операционной системы.
DROP TABLESPACE - Удалять табличные пространства.
CREATE ANY TABLE - Создавать таблицу в любой схеме. (Если пользователь с этой привилегией создает таблицу в схеме другого пользователя, то используются квоты и умалчиваемое табличное пространство владельца. Если табличное пространство специфицировано явно, то владелец должен иметь квоту на это табличное пространство. Владелец таблицы не обязан иметь привилегию CREATE [ANY] TABLE.)
ALTER ANY TABLE - Изменять любую таблицу в любой схеме и компилировать любой обзор в любой схеме.
DROP ANY TABLE - Удалять любую таблицу в любой схеме.
SELECT ANY TABLE - Опрашивать любую таблицу, обзор или снимок в любой схеме.
CREATE SESSION - Соединяться с базой данных.
ALTER SESSION - Выдавать предложения ALTER SESSION.
CREATE ROLE - Создавать роли.
ALTER ANY ROLE - Изменять любую роль в базе данных.
DROP ANY ROLE - Удалять любую роль в базе данных.
GRANT ANY ROLE - Назначать любую роль в базе данных.
ALTER DATABASE - Изменять базу данных; добавлять файлы операционной системы через ORACLE, независимо от привилегий ОС.
Роль admin-r обладает всеми перечисленными привилегиями. Осталось присвоить роль к пользователю.
При помощи учетной записи ADMIN можно создать пользователя гость:
Создать пользователя Guest не получиться из-за того что это зарезервированное слово, поэтому надо создать Guest_1. Дальше создать роль для гостя.
Присвоить роли guest_r привилегию для просмотра таблиц.
Присвоить роль гостю.
3. Разработка Базы данных аптеки на Oracle Database XE
3.1 Создание таблиц в Oracle Database XE. Типы полей и правила
Подключившись к базе данных через пользователя TN можно приступить к созданию таблиц описанных выше. Удобнее создавать первыми вспомогательные и справочные таблицы. Для таблицы сотрудники справочной является таблица должностей.
Можно проверить работают ли прописанные правила. В ячейке зарплата прописано правило, которое не позволит вводить числа меньше 0. Попытка ввести цифру меньше 0 сразу выводит ошибку:
Таблица успешно создана. Необходимо заполнить таблицу информацией. Для заполнения используют команду insert into название_таблицы value ():
В скобках записывается информация которая должна быть в одной строке, а одинарные кавычки разделяют строку на картежи. Картежей должно быть столько, сколько было задано столбцов при создании таблицы. Таким же образом необходимо добавить все остальные строки.
После создания таблицы «Должности» (post), создается таблица «Сотрудники» (employees):
Далее заполнение таблицы сотрудники, выполняется при помощи команды Insert into название _таблицы values (` ', ' ', ' ', ' ', ' ', ' '):
Выполним вывод таблицы employees, при помощи select.
Таблица «Группы препаратов»:
Med_group является первичным ключом, а description должно содержать описание препаратов.
Дальше создается таблица «Поставщики»
Которая состоит из столбцов prov_name - название поставщика, которое является ключевым и contacts - контакты, которая является уникальным для каждого поставщика.
Дальше будет создана таблица «Заказы», чьим внешним ключом является prov_name.
Связь между таблицами создана. Так же необходимо создать связь между таблицей «Заказы» (order_s) и таблицей «Препараты» (medicaments). Создание таблицы «Препараты»:
Заполнение таблицы «Препараты»:
3.2 Разработка запросов
Запросы в oracle 10g разрабатываться при помощи оператора select. Оператор SELECT используется для выборки информации из таблиц базы данных. В простейшей его форме следует указать таблицу, из которой нужно получить информацию, и список интересующих столбцов.
Первый отчет название препаратов выполнить при помощи следующих команд:
Полученный результат:
Отчет о количестве препаратов
Отчет о названиях препаратов, группах препаратов и их описания. В данном случае необходимо вытащить информацию из двух таблиц “Medicaments” и ”Med_group”:
Необходимо столбцы med_group с таблицы medicaments и med_group с таблицы med_group надо сравнить при помощи оператора равенства (=).
Результат:
Описание препаратов. Надо вывести сначала описание, а затем группу препаратов. Для этого сначала записывается описание, затем группа препаратов
Чтобы узнать цену продаж лекарства.
Фамилия и имя всех сотрудников.
Отчет о должностях сотрудников, при этом соединить столбцы имя и фамилия:
Отчет должностей и зарплаты.
Отчет по датам рождения сотрудников.
Отчет по дате приёма на работу
Получение отчета о зарплате сотрудников.
Поставщики и контакты поставщиков.
И отчет заказы:
Заключение
В данной курсовой работе была изучена проектная область базу данных аптеки. Создана таблица и приведена к третей нормальной форме. Для разработки базы данных был установлен oracle 10g и при помощи командной строки созданы три пользователя: администратор, разработчик и гость, которым были выданы привилегии. Созданы таблицы и прописаны их типы и правила, заполнены информацией, так же созданы связи между ними. Далее разработаны запросы, которые были заданы в началу курсовой работы.
Литература
1. Д.Цикритзис, Ф.Лоховски. Модели данных // Москва, “Финансы и статистика”, 1985
2. Т.Кайт Oracle для профессионалов. Архитектура, методики программирования и основные особенности версий 9i и 10g //Вильямс, 2007
3. Т.Кайт Oracle для профессионалов. Архитектура, методики программирования и основные особенности версий 9i и 10g //Вильямс, 2007
4. Алан Саймон Стратегические технологии БД. - М.: Финансы и статистика, 1999. - 484 с.
5. Ревунков Г.И., Самохвалов Э.Н., Чистов В.В. Базы и банки данных и знаний: Учебник для вузов по специальности АСУ. - М.:Высшая школа, 1992. - 367 с.
6. Бекаревич Ю.Б., Пушкина Н.В. СУБД Access для Windows 95 в примерах. - СПб.:BHV, 1997. - 400с.
Размещено на Allbest.ru
...Подобные документы
Разработка базы данных для информационной поддержки деятельности аптеки с целью автоматизированного ведения данных о лекарствах аптеки. Проектирование схемы базы данных с помощью средства разработки структуры базы данных Microsoft SQL Server 2008.
курсовая работа [3,6 M], добавлен 18.06.2012Создание таблиц базы данных с помощью MS Access "Страны Азии". Форма базы данных и запросы к выборкам данных. Модификация структуры таблиц, создания связей между главными таблицами, редактирование данных и проектирование форм для реальной базы данных.
контрольная работа [723,9 K], добавлен 25.11.2012Базы данных - важнейшая составная часть информационных систем. Проектирование базы данных на примере предметной области "Оргтехника". Сбор информации о предметной области. Построение информационно-логической модели данных. Разработка логической структуры.
курсовая работа [318,6 K], добавлен 24.12.2014Технология создания базы данных в среде MS Access. Добавление или удаление таблиц, запросов и полей. Изучение предметной области. Описание форм базы данных "Ресторан", демонстрирующих удобные профессиональные способы работы с таблицами и запросами.
курсовая работа [1,8 M], добавлен 03.07.2011Проектирование и реализация учебной базы данных предметной области "Аптека", с использованием настольной СУБД реляционного типа Microsoft Access. Установление связей между таблицами, использование запросов, предложения SQL, инструменты для создания форм.
курсовая работа [3,1 M], добавлен 14.10.2012Таблицы и логические структуры базы данных аптеки готовых лекарственных форм. Проектирование таблиц, детальное описание полей подсистем, заполнение таблиц информацией. Разработка запросов, создание форм. Формирование отчетов, инструкция пользователю.
курсовая работа [3,4 M], добавлен 29.04.2010Создание таблиц базы данных в режиме конструктора. Схема связей между таблицами и содержание таблиц. Установление связи с поддержанием целостности. Структуры двух запросов (в режиме конструктора) и описание процесса их создания. Результаты вывода отчетов.
курсовая работа [3,0 M], добавлен 28.06.2015Этапы и принципы проектирования базы данных, структура таблиц и запросов, описание информационной и логической модели. Установление логических связей между таблицами и их заполнение с помощью специальных форм. Механизм создания главной кнопочной формы.
курсовая работа [1,5 M], добавлен 07.02.2016Инфологическая модель предметной области. Схемы простых объектов и их свойства. Построение реляционных отношений на основе инфологической модели базы данных. Сетевая и иерархическая даталогическая модели БД. Структура таблиц, реализованных в СУБД Oracle.
курсовая работа [1,0 M], добавлен 10.06.2014Описание первичных и результатных документов, типа связи информационных объектов. Построение информационно-логической модели базы данных и её реализация в СУБД Access (создание таблиц, запросов, форм, отчётов). Разработка интерфейса пользователя.
курсовая работа [2,1 M], добавлен 14.11.2013Структура простейшей базы данных и свойства полей. Характеристика типов данных. Описание процесса создания базы данных, таблиц и связей между ними, простых и составных форм, запросов в Microsoft Access. Пример составления подчинённых отчетов и макросов.
курсовая работа [2,9 M], добавлен 14.11.2016Принципы работы с реляционными базами данных в среде Microsoft Access. Основные положения базы данных Access. Составление таблиц, запросов, отчетов, страниц и модулей. Основные структуры представления базы данных. Определение связей между таблицами.
контрольная работа [2,6 M], добавлен 03.04.2014Описание предметной области и соотношения между объектами. Этапы проектирования базы данных, ее инфологическая, концептуальная и физическая модели. Использование режима "Конструктор" при создании таблиц, разработка форм, запросов и отчетов в MS Access.
курсовая работа [2,5 M], добавлен 07.11.2012Описание предметной области разрабатываемой базы данных для теннисного клуба. Обоснование выбора CASE-средства Erwin 8 и MS Access для проектирования базы данных. Построение инфологической модели и логической структуры базы данных, разработка интерфейса.
курсовая работа [3,8 M], добавлен 02.02.2014Цель создания базы данных магазина. Понятие и сущность инфологического моделирования, его применение. Особенности разработки базы данных, создание таблиц, схемы данных, запросов, визуальных и печатных форм. Описание процесса работы с базами данных.
курсовая работа [1,9 M], добавлен 15.11.2013Исследование логической структуры реляционной базы данных на основе инфологической модели и её реализации в программе Microsoft SQL Server 2000. Характеристика разработки вложенных запросов на выборку записей, процедур, триггеров, создания представлений.
реферат [1,2 M], добавлен 11.05.2012Процесс создания и определение задач полнофункциональной системы управления базами данных. Разработка структуры таблиц, хранящих данные и формирование запросов. Построение форм для ввода и просмотра информации в запросах и создание необходимых отчетов.
курсовая работа [1,1 M], добавлен 11.09.2010Построение инфологической, логической и физической модели предметной области. Ограничения целостности базы данных. Организация ввода и корректировки данных. Описание информационных потребностей пользователей. Реализация запросов, построение отчетов.
курсовая работа [2,9 M], добавлен 22.01.2015Компоненты реляционной базы данных Microsoft Access. Создание структуры таблиц и определение связей между ними. Проектирование форм для сводных таблиц и запросов с помощью конструктора окон. Разработка и создание автоотчетов и запросов на выборку данных.
реферат [3,3 M], добавлен 29.01.2011Разработка базы данных с информацией о сотрудниках, товарах, со справочником типов товаров средствами системы управления базами данных MySQL с помощью SQL-запросов. Разработка инфологической модели предметной области. Структура таблиц, полей базы данных.
контрольная работа [648,7 K], добавлен 13.04.2012