Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
госы / BD_teoria.docx
Скачиваний:
18
Добавлен:
20.05.2015
Размер:
821.35 Кб
Скачать

По дисциплине «Базы данных»

  1. Этапы развития систем управления базами данных. Сравнение и особенности.[3. с. 12-19] Трехуровневая архитектура систем управления базами данных. Ее особенности и реализация принципов логической и физической независимости с ее использованием в MS Access и MS SQL Server [3. с 20-22,18-тема 1].м

В истории развития СУБД и БД можно выделить 4 основных этапа.

Первый этап развития СУБД связан с организацией баз данных на больших машинах типа IBM 360/370, ЕС-ЭВМ и мини-ЭВМ типа PDP11 (фирмы Digital Equipment Corporation — DEC), разных моделях HP (фирмы Hewlett Packard).

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

Особенности этого этапа развития выражаются в следующем:

  • Все СУБД базируются на мощных мультипрограммных операционных системах (MVS, SVM, RTE, OSRV, RSX, UNIX), поэтому в основном поддерживается работа с централизованной базой данных в режиме распределенного доступа.(то, что на схеме)

  • Функции управления распределением ресурсов в основном осуществляются операционной системой (ОС). (см схему, то бишь все операции на центр машине)

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

  • Значительная роль отводится администрированию данных.

  • Проводятся серьезные работы по обоснованию и формализации реляционной модели данных, и создается первая система (System R), реализующая идеологию реляционной модели данных.

  • Проводятся теоретические работы по оптимизации запросов и управлению распределенным доступом к централизованной БД, введено понятие транзакции( у них явно были проблемы с одновременным доступом, потому и исследовали).

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

  • Появляются первые языки высокого уровня для работы с реляционной моделью данных. Однако отсутствуют стандарты для этих первых языков.

Потом появились персональные компьютеры. Все стали ими пользоваться. Появилась туча самописных СУБД, настольных СУБД, все разного формата.

Разрабатывались все новые и новые СУБД , и главная проблема заключалась в переносе данных с одной на другую. Одна база – один комп. Инета нет. Серваков с базами нет.

Концептуальная схемка(СУБД на компе):

Особенности этого этапа состоят в следующем:

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

  • Большинство СУБД имели развитый и удобный пользовательский интерфейс. В основном существовал интерактивный режим работы с БД как в рамках описания БД, так и в рамках проектирования запросов. Кроме того, большинство СУБД предлагали развитый и удобный инструментарий для разработки готовых приложений без программирования. Инструментальная среда состояла из готовых элементов приложения в виде шаблонов экранных форм, отчетов, этикеток (Labels), графических конструкторов запросов, которые достаточно просто могли быть собраны в единый комплекс.

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

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

  • В настольных СУБД отсутствовали средства поддержки ссылочной и структурной целостности базы данных. Эти функции должны были выполнять приложения, однако скудость средств разработки приложений иногда не позволяла это сделать, и эти функции должны были выполняться пользователем, требуя от него дополнительного контроля при вводе и изменении информации, хранящейся в БД. 

  • Наличие монопольного режима работы фактически привело к вырождению функций администрирования БД и в связи с этим — к отсутствию инструментальных средств администрирования БД. 

  • И, наконец, последняя и в настоящий момент весьма положительная особенность — это сравнительно скромные требования к аппаратному обеспечению со стороны настольных СУБД. Вполне работоспособные приложения, разработанные, например, на Clipper, работали на PC 286.

В принципе, их даже трудно назвать полноценными СУБД. Яркие представители этого семейства — очень широко использовавшиеся до недавнего времени СУБД Dbase (DbaseIII+, DbaseIV), FoxPro, Clipper, Paradox (рис. 1.2).

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

Как следствие – появились распределенные базы данных.

Особенности данного этапа состоят в следующем.

  • Практически все современные СУБД обеспечивают поддержку полной реляционной модели, а именно:

    • структурной целостности — допустимыми являются только данные, представленные в виде отношений реляционной модели;

    • языковой целостности, т. е. языков манипулирования данными высокого уровня (в основном SQL);

    • ссылочной целостности, контроля за соблюдением ссылочной целостности в течение всего времени функционирования системы, и гарантий невозможности со стороны СУБД нарушить эти ограничения.

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

  • Необходимость поддержки многопользовательской работы с базой данных и возможность децентрализованного хранения данных потребовали развития средств администрирования БД с реализацией общей концепции средств защиты данных.

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

  • Для того чтобы не потерять клиентов, которые ранее работали на настольных СУБД, практически все современные СУБД имеют средства подключения клиентских приложений, разработанные с использованием настольных СУБД, и средства экспорта данных из форматов настольных СУБД второго этапа развития.

  • Именно к этому этапу можно отнести разработку ряда стандартов в рамках языков описания и манипулирования данными начиная с SQL89, SQL92, SQL99 и технологий по обмену данными между различными СУБД, к которым можно отнести и протокол ODBC (Open DataBase Connectivity), предложенный фирмой Microsoft.

  • Именно к этому этапу можно отнести начало работ, связанных с концепцией объектно-ориентированных БД (ООБД). Представителями СУБД, относящимися ко второму этапу, можно считать MS Access 97 и все современные серверы баз данных Oracle7.3,Oracle 8.4, Oracle 10, MS SQL Server 6.5, MS SQL Server 7.0, MS SQL Server 2000, System 10, System 11, Informix, DB2, SQL Base и другие современные серверы баз данных, которых в настоящий момент насчитывается несколько десятков (рис. 1.3).

Следующий этап характеризуется появлением новой технологии доступа к данным — Интранет. Основное отличие этого подхода от технологии «клиент-сервер» состоит в том, что отпадает необходимость использования специализированного клиентского программного обеспечения.  Нужна только программа-обозреватель(браузер), которая шлет запросы и получает ответы от сервера. Архитектура «клиент-сервер».

Трехуровневая архитектура

  1. Уровень внешних моделей — самый верхний уровень, где каждая модель имеет свое «видение» данных. Этот уровень определяет точку зрения на БД отдельных приложений. Каждое приложение видит и обрабатывает только те данные, которые необходимы именно этому приложению. Например, система распределения работ использует сведения о квалификации сотрудника, но ее не интересуют сведения об окладе, домашнем адресе и телефоне сотрудника, и наоборот, именно эти сведения используются в подсистеме отдела кадров.

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

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

Эта архитектура позволяет обеспечить логическую (между уровнями 1 и 2) и физическую (между уровнями 2 и 3) независимость при работе с данными. Логическая независимость предполагает возможность изменения одного приложения без корректировки других приложений, работающих с этой же базой данных. Физическая независимость предполагает возможность переноса хранимой информации с одних носителей на другие при сохранении работоспособности всех приложений, работающих с данной базой данных. Это именно то, чего не хватало при использовании файловых систем.

  1. Реляционная модель данных - основные понятия, определения: домен, атрибут, отношение, первичный, возможный и внешний ключи. Табличная интерпретация реляционной модели данных.[3. с 47-51] Реляционная алгебра. Основные операции. Примеры выполнения. Задача. [3. с. 52-63, 18-тема 2].

n-арным отношением R называют произвольное подмножество декартова произведения D1 x D2 x ... x Dn множеств D1 x D2 x ... x Dn (n≥1). При этом D1 x D2 x ... x Dn называют доменами, а элемент отношения — кортежем.

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

Любое отношение имеет простую графическую интерпретацию: оно может быть изображено с помощью таблицы: столбцами таблицы являются атрибуты, а строками таблицы являются наши n-ки, которые в реляционной модели называются кортежами

Количество атрибутов в отношении называется степенью или арностью отношения. Отношения со степенью 2 и 3 имеют специальные названия: бинарные и тернарные соответственно. Все остальные отношения просто характеризуются как «отношение R1 степени 5». Например, наше отношение R имеет степень 3, поэтому может быть названо тернарным отношением.

Таблица, которая соответствует отношению, имеет ряд особенностей:

  1. В таблице не может быть двух одинаковых строк.

  2. Таблица имеет столбцы, соответствующие атрибутам отношения.

  3. Каждый атрибут в отношении имеет уникальное имя.

  4. Порядок строк в таблице произвольный.

поддерживаются иерархические связи между отношениями. В каждой связи одно отношение может выступать как основное, а другое отношение — в роли подчиненного. Это означает, что один кортеж основного отношения может быть связан с несколькими кортежами подчиненного отношения. Для поддержки этих связей оба отношения должны содержать наборы атрибутов, по которым они связаны. В основном отношении это первичный ключ отношения (PRIMARY KEY), который однозначно определяет кортеж основного отношения. В подчиненном отношении для моделирования связи должен присутствовать набор атрибутов, соответствующий первичному ключу основного отношения. Однако здесь этот набор атрибутов уже является вторичным ключом, т. е. он определяет множество кортежей подчиненного отношения, которые связаны с единственным кортежем основного отношения. Данный набор атрибутов в подчиненном отношении принято называть внешним ключом (FOREIGN KEY).

Реляционная алгебра

Автор реляционной модели Э. Ф. Кодд при описании реляционной алгебры ограничил набор операций в ней семью основными и одной дополнительной операциями. Эти семь операций можно разделить на две группы: теоретико-множественные операции и специальные операции. В первую группу входят 4 бинарные операции, т. е. операции, которые применяются к двум операндам (исходным отношениям). Первые 3 теоретико-множественные операции применяются только к отношениям с эквивалентными схемами (эквив схема – это например две таблицы, в обеих два столбца и первый каждой содержит фамилии, а второй столбец каждой – года, смысл они могут содержать разный, но значения по смыслу принимают одинаковые, значит они эквивалентны)

Пусть заданы два отношения R1 = { r1 }, R2 = { r2 }, где r1 и r2 — соответственно кортежи отношений R1 и R2. Мы рассматриваем каждое отношение как множество кортежей, а маленькие буквы r1 и r2 мы использовали для обозначения элемента каждого множества. Соответственно схемы отношений SR1 и SR2. При этом отношения R1 и R2 имеют эквивалентные схемы, т. е. SR1∞SR2. Тогда для них допустимы следующие операции: объединение, пересечение и разность.

  1. Логическое или

В кратце – объединили два результата, убрали дубликаты.

Пример

Рассмотрим следующий пример. Пусть заданы отношения, которые моделируют номенклатуру изделий, изготавливаемых в первом филиале (R1) и во втором филиале фирмы (R2). Тогда объединение данных отношений позволяет получить общую номенклатуру изделий, которые производятся в данной фирме. Это будет отношение R3 

2.Пересечение (логическое и)

Пересечением отношений R1 и R2 называется отношение, которое содержит множество кортежей, принадлежащих одновременно и первому и второму отношениям R1 и R2: 

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

3.Разность

Разность отношений R1 и R2 представляет собой множество всех кортежей, содержащее кортежи из R1 и не содержащее кортежи из R2: 

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

4.Расширенное декартово произведение

Операция допустима для любых двух отношений.

Результат расширенного декартового произведения содержит кортежи, полученные сцеплением каждого кортежа r отношения R1 с каждым кортежем q отношения R2

Сцеплением, или конкатенацией, кортежей c = <c1, c2, ..., cn> и q = <q1, q2, ..., qm> называется кортеж, полученный добавлением значений второго в конец первого. Сцепление кортежей c и q обозначается как (c, q).

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

Первой специальной операцией реляционной алгебры является горизонтальный выбор, или операция фильтрации, или операция ограничения отношений. 

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

R12 = R10 [ Шифр детали = 0011003]

Следующей специальной операцией является операция проектирования.

Проекцией отношения R на набор атрибутов В, обозначаемой R[B], называется отношение со схемой, соответствующей набору атрибутов В SR[B] = B, содержащему кортежи, получаемые из кортежей исходного отношения R путем удаления из них значений, не принадлежащих атрибутам из набора В. 

R[B] = { r[B] }

Например нам нужно из таблицы выбрать не все строки, а только имена из столбца «Имена» (это пример для понимания, не ляпните на экзамене, доебутся, ибо таблиц никаких нет в реляционной алгебре, есть только отношения)

Следующей специальной операцией реляционной алгебры является операция условного соединения.

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

Тогда соединением отношений R и Q при условии β будет подмножество декартова произведения отношений R и Q, кортежи которого удовлетворяют условию β, рассматриваемому как одновременное выполнение условий

Пример для понимания: Есть все студенты пятого курса, а есть студенты элитной группы 195, в первой таблице нет оценки за гос, во второй, где только студенты 195 – есть, нам нужно из всех студентов выбрать студентов группы 195, у которых за гос 5, или 2, или 4, как кому нравится

Последней операцией, включаемой в набор операций реляционной алгебры, является операция деления.

 операция деления ставит в соответствие отношениям R и T отношение Q = R[A:B]T, кортежи которого являются теми элементами проекции R[A1], для которых T[B] входит в построенные для них множество образов:

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

Тогда решением этой задачи будет операция деления отношения R10 на отношение R7 по набору атрибутов (Шифр детали, Наименование детали).

Соседние файлы в папке госы