Автор работы: Пользователь скрыл имя, 16 Апреля 2013 в 15:17, курсовая работа
Цель данной работы заключилась в ознакомлении и изучении основных понятий о базах данных, реляциционной модели данных, также изучение среды разработки базы данных Oracle Database.
Задачи:
Ознакомиться особенности и возможностями СУБД;
Изучить основные понятия реляционной модели данных;
Ознакомитьтся с языком запросов SQL;
Изучить среду разработки Oracle;
Рассмотреть особенности Oracle;
Разработать базу данных в Oracle.
В Oracle 8i включены и другие усовершенствования, улучшающие производительность приложений, работающих с хранилищами данных, и упрощающие управление ими. В частности, перестройку индексов можно теперь выполнять в режиме реального времени, не прерывая операций, связанных со вставкой, изменением и удалением записей, производимых в базовой таблице.Теперь можно создавать индексы, упорядоченные по убыванию значений индексируемой величины, что помогает обеспечить быстрый доступ в тех случаях, когда возвращаемые столбцы должны быть отсортированы по убыванию. Улучшены возможности мониторинга за выполнением длительных процессов, таких как формирование индексов или резервное копирование.
Параллельный сервер Oracle
Параллельный сервер Oracle позволяет разделить доступ к базе данных между разными серверными процессами (Oracle instance), причем каждый из процессов может обрабатывать конкурирующие транзакции. Различные серверные процессы, работающие с одной и той же базой данных, могут быть запущены на разных машинах, формируя тем самым отдельный кластер. Это резко повышает надежность работы системы, поскольку параллельный сервер Oracle в состоянии отловить аварийную ситуацию, произошедшую с одной из машин кластера, практически мгновенно, после чего база данных продолжает оставаться доступной через серверный процесс, запущенный на другой машине.
В версии Oracle 8i внесен ряд усовершенствований, улучшающий работу параллельного сервера в плане повышения производительности и управляемости. Появился специальный мастер настройки параллельного сервера, улучшена диагностика ошибок, ведется статистика распределения кэш-памяти между серверными процессами, введен новый механизм связи между серверными процессами, повысивший производительность операций чтения. При этом данный механизм, получивший наименование Сервер согласованного чтения, обеспечивает работу существующих приложений, реализованных в среде параллельного сервера Oracle, без какой-либо модификации.
Репликация данных
Репликация - это процесс копирования и поддержания объектов БД на множестве серверов, составляющих распределенную информационную систему. Изменения, производимые на одном сервере системы, затем передаются на удаленные серверы. Репликации позволяют пользователю получить быстрый доступ к разделяемой информации и организовать синхронизацию данных. Репликации в среде Oracle могут происходить по двум схемам: мастер-мастер и мастер-snapshot.
В первом случае два или несколько серверов БД функционируют как равные части единой системы. При такой конфигурации клиентские приложения могут изменять данные на любом из серверов - серверы БД Oracle автоматически синхронизируют данные во всех объектах репликаций, гарантируя при этом глобальную целостность данных и поддержку конкурирующих транзакций.
Схема мастер-snapshot предусматривает частичное или полное копирование объектов репликации с одного сервера БД на другой. При этом полученная копия представляет собой 'мгновенный снимок' (snapshot) данных, содержащихся в объектах БД, подлежащих реплицированию. Такие 'мгновенные снимки' могут иметь статус 'только для чтения' или быть обновляемыми. Обновляемые snapshots позволяют клиенту возвращать изменения в реплицируемые объекты на мастер-сервере.
На заре развития компьютерных технологий разработчики сами решали, как им представлять данные пользователю, в каком формате их хранить и по какому алгоритму обрабатывать. Потом задача хранения и управления данными оформилась в отдельное направление, появились первые коммерческие СУБД, и был разработан язык управления данными SQL. Это было революционное решение - поручить специализированной системе часть работы приложения. Сервера приложений в современном мире также играют важную инфраструктурную роль и становятся обязательным компонентом современных Internet и Intranet систем.
Сервер приложений, отличным примером которого является Oracle9i Application Server, решает следующие задачи:
Oracle9i Application Server дает группам разработчиков выбор в области средств создания приложений. В каждом коллективе разработчиков выработались определенные предпочтения: кто-то выбирает традиционный подход и язык программирования С, кто-то давно работает с Oracle и освоил PL/SQL, кто-то предпочитает популярный в Internet Perl. Некоторые коллективы могут сделать ставку на Java и новые программные интерфейсы, такие как Java Servlets, Java Server Pages. Идеологи распределенных приложений могут строить системы на спецификациях CORBA.
Oracle9i Application Server поддерживает многообразие подходов, и на одном сервере приложений будут работать приложения созданные разными коллективами. Среди основных средств разработки приложений для Oracle9i Application Server. программные продукты из пакета Oracle Internet Developer Suite, позволящие наиболее быстро и качественно решить поставленные задачи.
Ряд успешных проектов, базирующихся на продуктах Oracle, позволяет сказать, что сформировалась архитектура, отвечающая поставленным требованиям. В ее основе кластерный аппаратный комплекс с установленным программным обеспечением Oracle9i Real Application Clusters (бывший Oracle Parallel Server), обеспечивающий самую высокую отказоустойчивость и эффективное распределение нагрузки, плюс ряд серверов или рабочих станций, на которых установлен Oracle9i Application Server в многоузловой конфигурации.
Таким образом, то, что для пользователей представляется одним узлом Web, поддерживается мощнейшими аппаратными и программными ресурсами. Предлагаемая архитектура отлично масштабируется: если комплекс не справляется с работой, нужно просто добавить компьютер для сервера приложений, или еще один узел кластера для сервера баз данных, или дополнительный канал связи. При этом не требуется внесение изменений в код приложений или приобретение дополнительного программного обеспечения.
Oracle Database 10g - первая в мире база данных, разработанная специально для работы в сетях распределенных вычислений. Oracle Database 10g предназначена для эффективного развертывания на базе различных типов оборудования, от небольших серверов до Oracle Enterprise Grid мощных многопроцессорных серверных систем, от отдельных кластеров до корпоративных распределенных вычислительных систем.
Oracle Database 10g позволяет пользователям виртуализировать использование аппаратного обеспечения - серверов и систем хранения данных. Oracle Database 10g обладает технологиями, которые позволяют администраторам надежно хранить и быстро распределять и извлекать данные для пользователей и приложений, работающих в сетях Grid. Oracle Database 10g значительно повышает производительность обработки данных и включает в себя удобные средства администрирования.
Oracle Database 10g предоставляет возможность автоматической настройки и управления, которая делает ее использование простым и экономически выгодным. Ее уникальные возможности осуществлять управление всеми данными предприятия - от обычных операций с бизнес-информацией до динамического многомерного анализа данных (OLAP), операций с документами формата XML, управления распределенной/локальной информацией - делает ее идеальным выбором для выполнения приложений, обеспечивающих обработку оперативных транзакций, интеллектуальный анализ информации, хранение данных и управление информационным наполнением.
Некоторые ключевые возможности Oracle Database 10g:
Гостиница дает возможность клиентам забронировать номера, хранит сведения о своих клиентах и сотрудниках. Для того, чтобы клиент мог забронировать или снять номер необходимы следующие данные: фамилия, имя, отчество, дата рождения,пол, дата заселения и дата выселения, сумма к оплате за предоставленные услуги. При регистрации клиента, он должен предъявить паспортные данные или документы удостоверяющие личность, и оплатить стоимость номера. Гостиница хранит информацию о номерах в гостинице, которые заняты или забронированы клиентами. Базой данных может пользоваться клиент-менеджер, менеджер по персоналу с разными правами доступа. Клиент-менеджер просматривает базу данных по клиентам и номера, вносит изменения, а менеджер по персоналу может просматривать и изменять сведения о сотрудниках. Следовательно, база данных должна быть защищена от несанкционированных действий злоумышленников паролем на вход.
Анализ информационных требований пользователя.
База данных «Гостиничный комплекс» должна выполнять следующие основные задачи:
В базе данных должна быть должна присутствовать возможность изменения, дополнения, в том числе и удаления следующих параметров:
Поиск лучше осуществлять в виде запроса, например, выводить перечень всех номеров, удовлетворяющих введенным условиям.
Определим функциональную зависимость реквизитов информационного объекта (ИО) (табл. 3.1).
Таблица 3.1
Функциональная зависимость реквизитов
Документ |
Наименование реквизита |
Имя реквизита |
Функциональная зависимость |
Таблица регистрации заявок |
Номер Заявки |
Код_заявки |
|
Дата заселения |
Дата_заселения | ||
Дата выселения |
Дата_выселения | ||
Справочник клиентов |
Номер клиента |
Код_клиента | |
Фамилия |
Фамилия | ||
Имя |
Имя | ||
Отчество |
Отчество | ||
Пол |
Пол | ||
Дата рождения |
Дата_рождения | ||
Список номеров гостиницы |
№ номера |
Код_номера | |
Количество мест |
Количество_мест | ||
Тип номера |
Тип_номера | ||
Этаж |
Этаж | ||
Цена |
Цена | ||
Кадровая книга |
Номер сотрудника |
Код_персонала | |
Фамилия |
Фамилия | ||
Имя |
Имя | ||
Отчество |
Отчество | ||
Должность |
Должность | ||
Телефон |
Телефон | ||
Список должностей |
Номер должности |
Код_должости | |
Наименование |
Наименование | ||
Ставка |
Ставка | ||
Премия |
Премия |
Для каждого зависимого реквизита определим ключевой, а также установим между ними соотвествие (табл. 3.2).
Таблица 3.2
Соответсвие описательных (зависимых) и ключевых реквизитов
Описательные реквизиты |
Ключевые реквизиты |
ИО, включающего реквизит |
Дата_заселения |
Код_заявки |
Заявки |
Дата_выселения |
Код_заявки |
Заявки |
Код_клиента |
Код_заявки |
Заявки |
Код_номера |
Код_заявки |
Заявки |
Код_персонала |
Код_заявки |
Заявки |
Фамилия |
Код_клиента |
Клиенты |
Имя |
Код_клиента |
Клиенты |
Отчество |
Код_клиента |
Клиенты |
Пол |
Код_клиента |
Клиенты |
Дата_рождения |
Код_клиента |
Клиенты |
Количество_мест |
Код_номера |
Номера |
Тип_номера |
Код_номера |
Номера |
Этаж |
Код_номера |
Номера |
Цена |
Код_номера |
Номера |
Фамилия |
Код_персонала |
Персонал |
Имя |
Код_персонала |
Персонал |
Отчество |
Код_персонала |
Персонал |
Должность |
Код_персонала |
Персонал |
Телефон |
Код_персонала |
Персонал |
Код_должности |
Код_должности |
Должности |
Наименование |
Код_должности |
Должности |
Ставка |
Код_должности |
Должности |
Премия |
Код_должности |
Должности |
Сгруппируем реквизиты, одинаково зависящие от ключевых.
Объединим их с ключевыми в один информационный объект (табл. 3.3).
Таблица 3.3
Определение информационных объектов
Реквизиты ИО |
Имя ИО, включающего рекизит |
Семантика ИО |
Код_заявки |
Заявки |
Сведения о всех заявках |
Дата_заселения | ||
Дата_выселения | ||
Код_клинета | ||
Код_номера | ||
Код_персонала | ||
Код_клиента |
Клиенты |
Сведения о всех клиентах, проживающих или проживавших в гостинице |
Фамилия | ||
Имя | ||
Отчество | ||
Пол | ||
Дата_рождения | ||
Код_номера |
Номера |
Сведения о всех номерах гостиницы |
Количество_мест | ||
Тип_номера | ||
Этаж | ||
Цена | ||
Номер_сотрудника |
Персонал |
Сведения о всех сотрудниках, работающих в гостинице |
Фамилия | ||
Имя | ||
Отчество | ||
Должность | ||
Телефон | ||
Код_должности |
Должности |
Сведения о всех должностях |
Наименование | ||
Ставка | ||
Премия |