Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по ПОАИС Редактировал Корнев 25.11.11.doc
Скачиваний:
68
Добавлен:
17.11.2019
Размер:
733.18 Кб
Скачать

Реляционная модель.

В 1970-1971 годах Е.Ф.Кодд опубликовал две статьи, в которых ввел реляционную модель данных и реляционные языки обработки данных - реляционную алгебру и реляционное исчисление.

  • Реляционная алгебра Процедурный язык обработки реляционных таблиц.

  • Реляционное исчисление Непроцедурный язык создания запросов.

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

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

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

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

Табл.1. Основные определения реляционных СУБД

Термин

Определение

1

Реляционная модель данных

Организует и представляет данные в виде таблиц или реляций.

2

Реляционная база данных (РБД, RDBMS).

База данных, построенная на реляционной модели.

2

Реляция (таблица-элементарная информационная единица)

Двумерная таблица, содержащая строки и столбцы данных.

4

Степень реляции.

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

 

Кортежи

Строки реляции (таблицы), соответствуют объекта, конкретному событию или явлению.

 

Атрибуты

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

 

Область атрибута

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

 

Пустое значение

Значение, приписываемое атрибуту в кортеже, если атрибут неприменим или его значение неизвестно

 

Ключ

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

 

Ключ реляции

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

 

Составной ключ

Ключ содержащий два или более атрибута.

 

Потенциальный ключ

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

 

Первичный ключ.

Поле или набор полей, однозначно идентифицирующий запись.

 

Внешний ключ.

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

 

Рекурсивный внешний ключ.

Внешний ключ, ссылающийся на свою собственную реляционную таблицу.

 

Родительская реляция (таблица)

Таблица, поля которой входят в другую таблицу.

 

Дочерняя реляция (таблица)

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

 

Отношение один-к-одному

Когда одной записи в родительской таблицы соответствует одна запись в дочерней таблице

 

Отношение один-ко-многим

Когда одной записи в родительской таблицы соответствует несколько записей в дочерней таблице

 

Отношение многие-ко-многим

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

 

Рекурсивное отношение.

Отношение, связывающее объектное множество с ним самим.

 

View (Представления)

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

 

Ссылочная целлостность

Адекватное воспроизведение записей в ссылочных полях таблиц.

 

Триггер

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

 

Индекс

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

 

Транзакция

Такое воздействие на СУБД, которое переводит ее из одного целостного состояния в другое.

Знакомство с основами построения АИС

Реально процесс разработки информационной системы состоит из следующих стадий:

  • анализ требований;

  • системное проектирование;

  • детальное проектирование;

  • реализация;

  • тестирование;

  • внедрение.

Цели стадии анализа требований состоят в том, чтобы понять процессы, которые управляют предприятием или системой, определить область деятельности системы и требования пользователя. Система рассматривается с точки зрения конечного пользователя как «черный ящик», создается представление о том, что система будет делать, не рассматривая, как она это будет делать.

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

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

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

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

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

Предпроектный анализ АИС

Этап предпроектного анализа АИС включает в себя следующие работы:

  • исследования и определение концепции;

  • определение целей, идей, потребностей новой или модифицируемой АИС;

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

  • исследование реализуемости, моделирование и обоснование методов и решений с учетом требуемого качества и имеющихся ограничений ресурсов;

  • анализ рынка, технических и рекламных материалов о подобных АИС;

  • предварительная оценка технико-экономических показателей проекта, сроков, бюджета и риска;

  • оформление концепции по созданию АИС - целей, идей, потребностей, методов и потенциальных решений с учетом реальных ресурсов и ограничений.

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

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

Сущность - это реальный или представляемый объект, информация о котором должна сохраняться и быть доступна. Каждый экземпляр сущности должен быть отличим от любого другого экземпляра той же сущности. Класс принадлежности сущности характеризует обязанность включения каждого экземпляра сущности в связь. Связь - это графически изображаемая ассоциация, устанавливаемая между двумя сущностями. Атрибутом сущности является любая деталь, которая служит для уточнения, идентификации, классификации, числовой характеристики или выражения состояния сущности. Уникальным идентификатором сущности является атрибут, комбинация атрибутов, комбинация связей или комбинация связей и атрибутов, уникально отличающая любой экземпляр сущности от других экземпляров сущности того же типа.

Двумя главными объектами, или сущностями, для АИС «Книжное издательство» являются АВТОР и КНИГА. Атрибутами, которые могут быть свойствами сущности КНИГА, являются: номер книги, название, количество страниц, тираж, цена. Атрибутами сущности АВТОР являются: номер, фамилия, телефон, адрес. Эти две сущности соотносятся с помощью связи ПИШЕТ:

АВТОР ПИШЕТ КНИГУ

Связь ПИШЕТ, существующая между двумя сущностями АВТОР и КНИГА, может быть графически представлена несколькими способами, например, с помощью ER-диаграмм:

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

В ажной характеристикой связи между двумя (или несколькими) сущностями является степень связи. Все возможные формы ER-диаграммы, которые могли бы существовать для сущностей АВТОР и КНИГА в том случае, когда степень связи равна 1:1 (один-к-одному), представлены ниже:

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

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

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

в) Каждый автор пишет не более одной книги, и каждую книгу пишет только один автор. Здесь допускается наличие авторов, не пишущих ни одной книги.

г) Каждый автор пишет только одну книгу, и каждую книгу пишет только один автор, т.е. не допускается наличие авторов, не пишущих ни одной книги, а также книг, которые не пишет никто.

Возможны степени связи и отличные от 1:1 (1:n; n:1; m:n). Помимо бинарных связей имеются связи более высокого порядка, существующие между тремя и более сущностями.