Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Диплом.docx
Скачиваний:
18
Добавлен:
12.09.2019
Размер:
3.92 Mб
Скачать
    1. Постановка задачи

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

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

  1. обеспечивать получение общих и/или детализированных отчетов по итогам работы;

  2. позволять легко определять тенденции изменения важнейших показателей;

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

  4. выполнять точный и полный анализ данных.

Целью данной работы проекта является разработка информационной системы с клиент-серверной архитектурой для хранения информации в предметной области «Автомобильные предприятия города» и приложения для работы с данной системой. Разработанная информационная система будет обеспечивать хранение информации о водителях, их зарплатах, отпусках, о закреплённых за водителями автомобилях, о ремонте автомобилей, транспортных перевозках, маршрутах перевозок. При работе с данной информацией пользователь может её редактировать, просматривать, добавлять и осуществлять поиск по записям в таблицах базы данных. Реляционная алгебра — это коллекция операций, которые принимают отношения в качестве операндов и возвращают отношение в качестве результата. Первая версия этой алгебры была определена Коддом.

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

Основу манипуляционной части реляционной модели составляют два базовых механизма манипулирования реляционными данными – основанная на теории множеств реляционная алгебра и базирующееся на математической логике (точнее, на исчислении предикатов первого порядка) реляционное исчисление. Реляционная алгебра предоставляет набор операторов, использующих отношения в качестве операндов и возвращающих отношения в качестве результата. Эдгаром Коддом была предложена «начальная» алгебра («алгебра Кодда»), состоящая из восьми операторов, условно разделенных на две группы:

- Традиционные операции над множествами, модифицированные с позиции использования отношений в качестве операндов:

1) Объединение. Операция возвращает отношение, содержащее все кортежи, которые принадлежат либо одному из двух заданных отношений, либо им обоим;

2) Пересечение. Операция возвращает отношение, содержащее все кортежи, которые принадлежат одновременно двум заданным отношениям;

3) Разность. Операция возвращает отношение, содержащее все кортежи, которые принадлежат первому из двух заданных отношений и не принадлежат второму;

4) Расширенное декартово произведение. Операция возвращает отношение, содержащее все возможные кортежи, которые являются сочетанием двух кортежей, принадлежащих соответственно двум заданным отношениям.

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

5) Выборка (Ограничение). Операция возвращает отношение, содержащее все кортежи из заданного отношения, которые удовлетворяют заданным условиям;

6) Проекция. Операция возвращает отношение, содержащее все кортежи (подкортежи) из заданного отношения, которые остались в этом отношении после исключения из него некоторых атрибутов;

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

8) Деление. Для заданных двух унарных отношений и одного бинарного, операция возвращает отношение, содержащее все кортежи из первого унарного отношения, которые содержатся также в бинарном отношении и соответствуют всем кортежам во втором унарном отношении.

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

Смысл операции объединения в реляционной алгебре в целом остается теоретико-множественным. Но если в теории множеств операция объединения осмысленна для любых двух множеств-операндов, то в случае реляционной алгебры результатом операции объединения должно являться отношение. Если допустить в реляционной алгебре возможность теоретико-множественного объединения произвольных двух отношений (с разными схемами), то, конечно, результатом операции будет множество, но множество разнотипных кортежей, т.е. не отношение. Это приводит к появлению понятия совместимости отношений по объединению: два отношения совместимы по объединению только в том случае, когда обладают одинаковыми заголовками(в заголовках обоих отношений содержится один и тот же набор имен атрибутов, и одноименные атрибуты определены на одном и том же домене, т. е. типе данных). Если два отношения совместимы, то при выполнении над ними операций объединения, пересечения и взятия разности результатом операции является отношение с корректно определенным заголовком, совпадающим с заголовком каждого из отношений-операндов. Если два отношения совместимы во всем, кроме имен атрибутов, то до выполнения операции типа соединения эти отношения можно сделать полностью совместимыми путем применения операции переименования. Каждое значение-отношение характеризуется заголовком (или схемой) и телом (или множеством кортежей).

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

Пусть имеются два отношения R1{a1, a2, …, an} и R2{b1, b2, …, bm}. Тогда результатом операции R1 TIMES R2 является отношение R{a1, a2, …, an, b1, b2, …, bm}, тело которого является множеством кортежей вида {ra1, ra2, …, ran, rb1, rb2, …, rbm} таких, что {ra1, ra2, …, ran} входит в тело R1, а {rb1, rb2, …, rbm} входит в тело R2.

Но теперь возникает проблема получения корректно сформированного заголовка отношения-результата. Поскольку схема результирующего отношения является объединением схем отношений-операндов, то очевидной проблемой может быть именование атрибутов результирующего отношения, если отношения-операнды обладают одноименными атрибутами. Эти соображения приводят к понятию совместимости по взятию расширенного декартова произведения. Два отношения совместимы по взятию расширенного декартова произведения только в том случае, если пересечение множеств имен атрибутов, взятых из их схем отношений, пусто. Любые два отношения всегда могут стать совместимыми по взятию декартова произведения, если применить операцию переименования к одному из этих отношений. Помимо набора операторов, реляционная алгебра обладает рядом свойств. Первым из них является свойство реляционной замкнутости. Эта особенность характеризует то, что результат выполнения любой операции над отношением также является отношением. Исходя из этого, можно сделать вывод о возможности использования результатов одной операции в качестве исходных данных для другой. Другими словами, возможно использование вложенных реляционных выражений (выражений, операнды которых сами являются реляционными выражениями произвольной сложности).

По поводу теоретико-множественных операций реляционной алгебры следует еще заметить, что все четыре операции являются ассоциативными коммутативными (кроме операции вычитания). То есть, если обозначить через OP любую из четырех операций, то (A OP B) OP C = A (B OP C), и следовательно, без введения двусмысленности можно писать A OP B OP C (A, B и C - отношения, обладающие свойствами, требуемыми для корректного выполнения соответствующей операции). Все операции, кроме взятия разности, являются коммутативными, т.е. A OP B = B OP A.

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

В зависимости от того, что является областью определения переменной, различаются исчисление кортежей и исчисление доменов. В исчислении кортежей областями определения переменных являются отношения базы данных, т.е. допустимым значением каждой переменной является кортеж некоторого отношения. В исчислении доменов областями определения переменных являются домены, на которых определены атрибуты отношений базы данных, т.е. допустимым значением каждой переменной является значение некоторого домена. Основным формальным отличием исчисления доменов от исчисления кортежей является наличие дополнительного набора предикатов, позволяющих выражать так называемые условия членства. Если R - это n-арное отношение с атрибутами a1, a2, ..., an, то условие членства имеет вид:

R (ai1:vi1, ai2:vi2, ...,aim:vim) (m <= n),

где vij - это либо литерально задаваемая константа, либо имя кортежной переменной. Условие членства принимает значение true в том и только в том случае, если в отношении R существует кортеж, содержащий указанные значения указанных атрибутов. Если vij - константа, то на атрибут aij задается жесткое условие, не зависящее от текущих значений доменных переменных; если же vij - имя доменной переменной, то условие членства может принимать разные значения при разных значениях этой переменной.

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

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

Поэтому Крисом Дейтом и Хью Дарвеном была предложена новая «минимальная» Алгебра А, базисом которой являются операции реляционного отрицания (дополнения), реляционной конъюнкции (или дизъюнкции) и проекции (удаления атрибута). Реляционные аналоги логических операций определяются в терминах отношений на основе обычных теоретико-множественных операций и позволяют выражать напрямую операции пересечения, декартова произведения, естественного соединения, объединения отношений и т. д. Путем комбинирования базовых операций выражаются операции переименования атрибутов, соединения общего вида, взятия разности отношений. Алгебра A позволяет лучше осознать логические основы реляционной модели, хотя, безусловно, является в меньшей степени ориентированной на практическое применение, чем алгебра Кодда.[8]

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