Автор работы: Пользователь скрыл имя, 16 Апреля 2013 в 15:17, курсовая работа
Цель данной работы заключилась в ознакомлении и изучении основных понятий о базах данных, реляциционной модели данных, также изучение среды разработки базы данных Oracle Database.
Задачи:
Ознакомиться особенности и возможностями СУБД;
Изучить основные понятия реляционной модели данных;
Ознакомитьтся с языком запросов SQL;
Изучить среду разработки Oracle;
Рассмотреть особенности Oracle;
Разработать базу данных в Oracle.
Нормализацию иногда упрекают на том основании, что «это просто здравый смысл», а любой компетентный профессионал и сам «естественным образом» спроектирует полностью нормализованную БД без необходимости применять теорию зависимостей.
Первая нормальная форма (1NF) — базовая нормальная форма отношения в реляционной модели данных.
Отношение находится в первой нормальной форме тогда и только тогда, когда в любом допустимом значении отношения каждый его кортеж содержит только одно значение для каждого из атрибутов.
В реляционной модели отношение всегда находится в первой нормальной форме по определению понятия отношение.
Что же касается различных таблиц, то они могут не быть правильными представлениями отношений и, соответственно, могут не находиться в 1NF. В соответствии с определением К. Дж. Дейта для такого случая, таблица нормализована (эквивалентно — находится в первой нормальной форме) тогда и только тогда, когда она является прямым и верным представлением некоторого отношения. Конкретнее, рассматриваемая таблица должна удовлетворять следующим пяти условиям:
«Обычность» всех столбцов таблицы означает, что в таблице нет «скрытых» компонентов, которые могут быть доступны только в вызове некоторого специального оператора взамен ссылок на имена регулярных столбцов, или которые приводят к побочным эффектам для строк или таблиц при вызове стандартных операторов. Таким образом, например, строки не имеют идентификаторов кроме обычных значений потенциальных ключей (без скрытых «идентификаторов строк» или «идентификаторов объектов»). Они также не имеют скрытых временных меток.
Вторая нормальная форма (сокращённо 2NF) — одна из возможных нормальных форм таблицы реляционной базы данных.
Переменная отношения находится во второй нормальной форме тогда и только тогда, когда она находится в первой нормальной форме и каждый неключевой атрибут неприводимозависит от ее потенциального ключа.
Неприводимость означает, что в составе потенциального ключа отсутствует меньшее подмножество атрибутов, от которого можно также вывести данную функциональную зависимость.[1] Для неприводимой функциональной зависимости часто используется эквивалентое понятие «полная функциональная зависимость».
Если потенциальный ключ является простым, то есть состоит из единственного атрибута, то любая функциональная зависимость от него является неприводимой (полной). Если потенциальный ключ является составным, то согласно определению второй нормальной формы в отношении не должно быть неключевых атрибутов, зависящих от части составного потенциального ключа.
Вторая нормальная форма по определению запрещает наличие неключевых атрибутов, которые вообще не зависят от потенциального ключа. Таким образом, вторая нормальная форма запрещает создавать отношения как несвязанные (хаотические, случайные) наборы атрибутов.
Третья нормальная форма (англ. Third normal form; сокращённо 3NF) — одна из возможныхнормальных форм отношения реляционной базы данных. 3NF была изначально сформулирована Э. Ф. Коддом в 1971 году.
Согласно определению Кодда, отношение R находится в 3NF тогда и только тогда, когда выполняются следующие условия:
Пояснения к определению:
Неключевой атрибут отношения R — это атрибут, который не принадлежит ни одному из потенциальных ключей R.
Функциональная зависимость множества атрибутов Z от множества атрибутов X(записывается X → Z, произносится «икс определяет зет») является транзитивной, если существует такое множество атрибутов Y, что X → Y и Y → Z. При этом ни одно из множествX, Y и Z не является подмножеством другого, то есть функциональные зависимости X → Z, X→ Y и Y → Z не являются тривиальными.
Определение 3NF, эквивалентное определению Кодда, но по-другому сформулированное, далКарло Заниоло в 1972 году. Согласно ему, отношение находится в 3NF тогда и только тогда, когда для каждой из ее функциональных зависимостей X → A выполняется хотя бы одно из следующих условий:
Определение Заниоло четко определяет разницу между 3NF и более строгой нормальной формой Бойса-Кодда (НФБК): НФБК исключает третье условие («А — ключевой атрибут»).
Нормальная форма Бойса-Кодда (англ. Boyce-Codd normal form; сокращённо BCNF) — одна из возможных нормальных форм отношения в реляционной модели данных.
Иногда нормальную форму Бойса-Кодда называют усиленной третьей нормальной формой, поскольку она во всех отношениях сильнее (строже) по сравнению с ранее определённой ЗНФ.
Названа в честь Рэя Бойса и Эдгара Кодда, хотя Кристофер Дейт указывает, что на самом деле строгое определение «третьей» нормальной формы, эквивалентное определению нормальной формы Бойса-Кодда, впервые было дано Иэном Хитом (англ. Ian Heath) в 1971 году, поэтому данную форму следовало бы называть «нормальной формой Хита».
Отношение находится в BCNF тогда и только тогда, когда каждая его нетривиальная и неприводимая слева функциональная зависимость имеет в качестве своего детерминанта некоторый потенциальный ключ.
Менее формально, переменная отношения находится в нормальной форме Бойса-Кодда тогда и только тогда, когда детерминанты всех ее функциональных зависимостей являются потенциальными ключами.
Для определения BCNF следует понимать понятие функциональной зависимости атрибутов отношения.
Пусть R является переменной отношения, а X и Y — произвольными подмножествами множества атрибутов переменной отношения R. Y функционально зависимо от X тогда и только тогда, когда для любого допустимого значения переменной отношения R, если два кортежа переменной отношения R совпадают по значению X, они также совпадают и по значению Y. Подмножество X называют детерминантом, а Y — зависимой частью.
Функциональная зависимость тривиальна тогда и только тогда, когда ее правая (зависимая) часть является подмножеством ее левой части (детерминанта).
Ситуация, когда отношение будет находиться в 3NF, но не в BCNF, возникает, например, при условии, что отношение имеет два (или более) потенциальных ключа, которые являются составными и имеют общий атрибут. На практике такая ситуация встречается достаточно редко, для всех прочих отношений 3NF и BCNF эквивалентны.
Четвёртая нормальная форма (4NF) — одна из возможных нормальных форм отношения реляционной базы данных.
Отношение находится в 4NF, если оно находится в НФБК и не содержит нетривиальныхмногозначных зависимостей. То есть все многозначные зависимости являются, по сути, функциональными зависимостями от ключей отношения.
Пятая нормальная форма (5NF) — одна из возможных нормальных форм отношения реляционной базы данных.
Отношение находится в пятой нормальной форме (иначе — в проекционно-соединительной нормальной форме) тогда и только тогда, когда каждая нетривиальная зависимость соединения в нём определяется потенциальным ключом (ключами) этого отношения.
При этом:
Условие «каждое из подмножеств A, B,..., Z множества атрибутов является суперключом отношения» можно эквивалентно сформулировать так: «каждое из подмножеств A, B, ..., Zмножества атрибутов включает некоторый потенциальный ключ отношения».
Oracle (Oracle Corporation) —американская корпорация, крупнейший в мире разработчик программного обеспечения для организаций[3][2], крупный поставщик серверного оборудования.
Компания специализируется на выпускесистем управления базами данных,связующего программного обеспечения и бизнес-приложений. Наиболее известный продукт компании — Oracle Database, который компания выпускает с момента своего основания.
Oracle предлагает оптимизированный, полностью интегрированный комплекс программного и аппаратного обеспечения, помогающего компаниям осваивать сложные задачи и нестандартные подходы. Продукцией Oracle пользуются более чем 380 000 клиентов из различных отраслей в более чем 145 странах мира, включая все 100 компаний из списка Fortune 100.
Поэтому аппаратные и программные средства Oracle предполагают совместную работу в вычислительном облаке и в центре обработки данных — от серверов и систем хранения до баз данных и промежуточного ПО.
Системы Oracle — это:
Клиентам, которых интересуют модульные
решения, открытая архитектура Oracle и широкий
выбор настроек операционных систем предлагают
уникальные преимущества качественных
продуктов во всех частях ИТ-комплекса,
позволяя построить оптимальную инфраструктуру
для данного бизнеса.
Все продукты Oracle (СУБД, средства разработки, средства для конечного пользователя, сетевые компоненты) являются открытыми, масштабируемыми и программируемыми. Они позволяют разрабатывать приложения, как уровня небольшой рабочей группы, так и уровня огромного предприятия с тысячами пользователей, терабайтными базами, размещенными в различных зданиях и даже странах.
Средства Oracle позволяют надежно защитить эти данные, обеспечить их целостность и непротиворечивость. Продукты Oracle работают более чем на ста вычислительных платформах (компьютер + операционная система), поддерживают все основные промышленные сетевые протоколы и графические оконные среды. Это позволяет с минимальными затратами переносить готовые приложения с одной платформы на другую. Например, разработав приложение на однопроцессорном персональном компьютере с MS Windows, можно далее выполнять его на Unix-машинах, больших IBM машинах, SMP и MPP архитектурах, высоконадежных и кластерных архитектурах.
Oracle обеспечивает надежную защиту данных как от несанкционированного доступа (роли, привилегии, ограничения на использование ресурсов компьютера), так и от всевозможных сбоев. Какой бы сбой не произошел (вплоть до уничтожения дисков), всегда существует возможность восстановить систему либо к моменту, предшествовавшему сбою, либо к заданному моменту времени. При большинстве сбоев восстановление БД выполняется автоматически. Oracle позволяет реализовать системы, работающие непрерывно (24 часа, 7 дней в неделю). При этом операции копирования и восстановления БД не снижают производительность работы пользователей.
При создании приложений возможно часть обработки и контроля данных вынести на сервер. Oracle реализует мощный механизм декларативных и процедурных ограничений целостности (вплоть до каскадных операций), позволяет создавать хранимые процедуры, триггеры БД, функции, алерты, пакеты процедур и функций, задавать расписание для автоматического выполнения работ.
Для защиты от несанкционированного доступа к базе данных ORACLE предоставляет защищенные от сбоев средства безопасности, лимитирующие и отслеживающие доступ к данным. Эти средства позволяют легко управлять даже наиболее сложными схемами доступа. Автоматизированное обеспечение целостности ORACLE автоматически поддерживает целостность данных, соблюдая "организационные правила", которые диктуют стандарты приемлемости данных. Как следствие, устраняются затраты на кодирование и сопровождение проверок в многочисленных приложениях базы данных.
Чтобы извлечь максимум преимуществ из данной компьютерной системы или сети, ORACLE позволяет разделять работу между сервером базы данных и прикладными программами клиентов. Вся тяжесть управления совместно используемыми данными может быть сосредоточена в компьютере, выполняющем СУБД, в то время как рабочие станции, на которых работают приложения, могут сконцентрироваться на интерпретации и отображении данных.
В компьютерных окружениях, соединенных сетями, ORACLE комбинирует данные, физически находящиеся на разных компьютерах, в одну логическую базу данных, к которой имеют доступ все пользователи сети. Распределенные системы обладают такой же степенью прозрачности для пользователей и согласованности данных, что и нераспределенные системы, предоставляя в то же время преимущества управления локальной базой данных.
Структура памяти
Механизмы ORACLE работают через использование структур памяти и процессов. Все структуры памяти располагаются в основной памяти (иногда называемой виртуальной памятью или памятью произвольного доступа) компьютеров, составляющих систему базы данных. Процессы - это задания или задачи, работающие в памяти этих компьютеров. ORACLE создает и использует свои структуры памяти для выполнения некоторых задач. Например, память используется для размещения исполняемого программного кода и данных, разделяемых между пользователями. С ORACLE ассоциируются несколько базовых структур памяти: глобальная область системы(которая включает буферы базы данных ижурнала повторения, а также разделяемый пул) и глобальные области программ.