Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Vedenie_v_spetsialnost.docx
Скачиваний:
15
Добавлен:
14.04.2015
Размер:
141.36 Кб
Скачать

Введение

Литература

  1. Архангельский А.Я., Тагин М.А. Программирование в C++Builder6 и 2006.

  2. Бобровский С. Технологии С++ Builder. Разработка приложений для бизнеса. Учебный курс.

  3. Хомоненко А., Ададуров.

  4. Боровский А.Н. Современные средства разработки BorlandдляOracleиMSSQLServer.

База Данных (БД) – совокупность данных, которые организованы определённым образом и связаны друг с другом.

Модель базы данных – способ организации и связи данных в БД.

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

Таблицы базы данных – набор записей фиксированной структуры, где каждая запись описывает определённый информационный объект.

Таблица состоит из строк, представляющих записи, и столбцов, представляющих именованные поля.

До середины 1960-ых данные хранились в обычных файлах.

1971 г. рабочая группа по стандартизации работы с данными DatabaseTaskGroupпод руководством Чарльза Бахмана (C.Bachman) выпустила стандарт КОДАСИЛ (CODASYL) на базы данных в КОБОЛе.

Стандарт объяснял как хранить большое число таблиц с множеством взаимосвязей при помощи перекрёстных ссылок. Стандартов на поиск данных не предлагал.

Стандарт реализовывал т.н. сетевую модель базы данных.

1968 г. Первая официальная СУБД – IMSвыпущена корпорациейIBMдля проекта «Аполлон». Работала на компьютерахSystem/360.

Реализовала иерархическую модель базы данных – в ней таблицы связывались не произвольно, а в виде деревьев.

август 1969 г. Эдгар Кодд из IBMопубликовал вIBMResearchReport«12 правил Кодда», которые в 1970 г. стали основной выдвинутой им реляционной модели базы данных, позволяющей выполнять поисковые запросы к БД.

Первой коммерческой СУБД, реализовавшей правила Кодда, стала система Oracleс языком запросовDBMSLanguage.

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

1974 г. На основе этой идеи IBMбыл создан языкSEQUEL, который сейчас называетсяSQL.

1975 г. Первая система, основанная на этой концепции – SystemRотIBM.

1978 г. Многопользовательская версия SystemRс поддержкой языкаSQL.

SystemRпозже получила названиеSQL/DS, а с 1983 г. стала известна как СУБДIBMDB2.

С 1973 г. в Беркли велись разработки реляционной СУБД INGRESпод руководством Юджина Вонга и Майкла Стоунбрейкера. Развивалась до 1979 г.

На базе INGRESбыли разработаныSybase,Infomix,NonStopSQL. ДажеMSSQLServer, был разработан на базеSybace.

Только СУБД Oracleбыла создана на базе открытой документацииIBMпо СУБДSystemR.

Стоунбрейкер позже стал разработчиком объектно-реляционной СУБД PostgreSQL.

Реляционные базы данных

Большинство существующих в настоящее время СУБД основаны на реляционной модели данных.

Реляционная база данных представляет собой совокупность отношений, содержащих всю необходимую информацию и объединённых различными связями.

Математическое определение отношений

Пусть даны NмножествD1, ...,DN

Отношением над множествами D1, ...,DN называется подмножество декартова (прямого) произведения этих множеств:R.

Наборы вида <d1, ...,dN> принято называть кортежами, а исходные множества – доменами.

Каждый элемент кортежа принято называть атрибутом, а их значения – значениями атрибута.

Пример.

D1 = {Иванов, Петров, Сидоров}

D2 = {Физика, Химия, Математика}

D3 = {1,2,3,4,5,6,7,8,9,10}

R= { <Иванов, Химия, 7>

<Петров, Физика, 8> }

С точки зрения пользователя:

- отношение представляет собой таблицу.

- кортеж представляет собой строку (запись) таблицы.

- атрибут является столбцом таблицы (полем в записи).

- домен является обобщённым типом данных, который является источником значений для атрибутов.

Любая обработка данных реляционными СУБД заключается в выполнении над ними операции реляционной алгебры.

Теоретико-множественные операции:

- объединение отношений

- пересечение отношений

- разность отношений

- прямое произведение отношений.

Специальные реляционные операции:

- ограничение отношений

- проекция отношений

- соединение отношений

- деление отношений.

Поскольку результатом любой реляционной операции является некоторое отношение, можно образовывать реляционные выражения, в которых вместо отношения-операнда некоторой реляционной операции находится вложенное реляционное выражение.

Для повышения производительности реляционные СУБД обычно выполняют преобразование реляционных выражений.

Многие особенности реализации и использования реляционных баз данных основаны на фундаментальных свойствах отношений.

  1. Отсутствие кортежей-дубликатов

Все элементы отношения различны. Из этого свойства вытекает наличие у каждого отношения первичного ключа, который можно использовать для идентификации записей.

Под первичным ключом понимают подмножество К множества атрибутов отношения R, обладающее следующими свойствами:

Свойство уникальности – в отношении Rотсутствуют различные кортежи с одинаковыми значениямиK.

Свойство не избыточности – никакое из подмножеств Rне обладает свойством уникальности.

  1. Отсутствие упорядоченности кортежей

Порядок размещения кортежей в отношении не определен.

Данное свойство даёт дополнительную гибкость СУБД при хранении данных во внешней памяти и при выполнении запросов.

Для упорядочения записей используются более сложные технологии.

  1. Отсутствие упорядоченности атрибутов

Данное свойство приводит к необходимости для ссылки на значение атрибута использовать имя атрибута.

Благодаря этому, существующие отношения могут быть модифицированы путём добавления новых атрибутов или путём удаления существующих атрибутов.

  1. Атомарность значений атрибутов

Значение атрибута всегда рассматривается как единое целое (является неделимым)

Обычно предметная область, информация о которой хранится в базе данных, содержит несколько типов объектов, каждый из которых описывается своим набором атрибутов.

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

Для связи объектов между собой в реляционных СУБД используются специальные механизмы, называемые связями.

Под связью понимают описание правил, по которым устанавливается соответствие между записями различных таблиц.

Существуют три основных типа связей между таблицами:

- один-к-одному

простейший вид связи между двумя таблицами: одной записи первой таблицы соответствует ровно одна запись второй таблицы и наоборот. Обычно для организации связи необходимо, чтобы две таблицы имели одинаковые первичные ключи. В этом случае условием соответствия записей будет совпадение значений атрибутов, образующих первичный ключ. Обычно устанавливают, когда невыгодно держать различные по некоторым критериям данные в одной таблице. Так можно выделить некоторые данные в отдельную таблицу с установлением связи «один-к-одному» для того, чтобы не занимать оперативную память, если эти данные используются сравнительно редко. Например, «студент» – «анкетные данные студента».

- один-ко-многим

наиболее часто используемый тип связи: одной записи первой таблицы соответствует несколько записей из второй таблицы, а одной записи из второй таблицы соответствует ровно одна запись из первой. Примеры: «группа» - «студент», «студент» - «экзаменационная оценка». Для реализации связи «один-ко-многим» используется механизм внешних ключей, когда некоторому атрибуту (или группе атрибутов) одного отношения сопоставляется первичный ключ другого отношения. Условием соответствия записей будет совпадение значений атрибутов, образующих первичный ключ главного отношения, и атрибутов, образующих внешний ключ подчинённого отношения.

первичный ключ(1) и внешний ключ(2) – табельный номер. Главная таблица (1) – фамилия, должность. Подчинённая таблица(2) – месяц, сумма.

табельный номер фамилия должность

1001 иванов инженер

1002 петров директор

табельный номер месяц сумма

1001 январь 10

1002 февраль 14

Связь «один-ко-многим» часто используется при организации таблиц-справочников, позволяющих значительно сократить объём информации, хранящейся в таблицах и лучше контролировать содержимое полей.

- многие-ко-многим

одной записи первой таблицы соответствует несколько записей из второй таблицы, и одной записи из второй таблицы соответствует несколько записей из первой. Примеры: «студент» - «экзамен», «студент» - «кружок», «подписное издание» - «подписчик». В явном виде связь типа «многие-ко-многим» в большинстве СУБД не реализована. Один из распространённых способов реализации этой связи между двумя таблицами заключается в использовании вспомогательной таблицы и связанной с ними двумя связями типа «многие-к-одному». Вспомогательная таблица дополнительно может содержать и другие данные.

Описание таблиц, полей в каждой таблице, а также связей между таблицами принято называть схемой базы данных. Схему базы данных принято изображать в графической форме. После создания структуры базы данных с целью устранения допущенных логических ошибок выполняют её нормализацию. При нормализации большие отношения, как правило, содержащие большую избыточность информации, разбиваются на более мелкие логические единицы, группирующие только данные, объединённые естественным образом.

Логические ошибки:

  1. избыточность данных.

  2. несогласованность данных.

  3. аномалии дополнения – при пополнении приходится добавлять данные разных типов. Вновь добавляемые данные могут не согласовываться с существующими.

  4. аномалии добавления – при обновлении (изменении) таблицы требуется модифицировать несколько записей. В противном случае возможно возникновение не согласованных данных.

  5. аномалии удаления – удаляются различные типы данных.

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

После нормализации базы данных логические группы данных располагаются не более чем в одной таблице. Это даёт следующие преимущества:

  • данные легко обновлять или удалять;

  • исключается возможность рассогласования копий данных;

  • уменьшается возможность введения некорректных данных.

Говорят, что отношение находится в некоторой нормальной форме, если удовлетворяет заданному набору условий. Существует несколько видов нормальных форм: первая нормальная форма (1НФ), вторая нормальная форма (2НФ), третья нормальная форма (3НФ), нормальная форма Бойса-Кодда (НФБК), четвёртая нормальная форма (4НФ), и т.д.

Отношение находится в первой нормальной форме тогда и только тогда, когда оно содержит только скалярные значения (в позиции на пересечении каждой строки и столбца таблицы всегда находится единственное значение, и никогда не может быть множества таких значений).

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

Алгоритм приведения к 2НФ:

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

Отношение находится в 3НФ тогда и только тогда, когда не ключевые атрибуты являются а) взаимно независимыми и б) неприводимо зависимыми от первичного ключа.

Алгоритм приведения к 3НФ:

зависимые друг от друга не ключевые атрибуты выносятся в отдельные таблицы.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]