Green Brown Cyan LightGray 17 глава




 

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

 

В 1970 году американский ученый Кодд Е.Ф. опубликовал революционную по своему содержанию статью, которая серьезно поколебала устоявшиеся к тому времени представления о базах данных. Он утверждал, что данные нужно связывать в соответствии с их логическими взаимоотношениями, а не физическими указателями. Он предложил простую модель данных, в которой все данные сведены в таблицы, состоящие из строк и столбцов, имеющих уникальные имена. Эти таблицы получили название реляций (relatio - отношение), а модель – реляционной моделью данных, построенной на понятии математических отношений и ее иногда называют также моделью Кодда. В настоящее время наибольшее распространение получили реляционные базы данных. Сетевые и иерархические базы данных считаются устаревшими, объектно-ориентированные модели пока не стандартизированы и не получили широкого распространения.

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

Для работы с реляционными базами данных в настоящее время обычно используется язык структурированных запросов (Structured Query Language - SQL). Это язык, применяемый для создания, модификации и управления данными. Язык SQL не является алгоритмическим языком программирования. Это информационно-логический язык, он основывается на реляционной алгебре и подразделяется на три части:

· операторы определения данных;

· операторы манипуляции данными (Insert, Select, Update, Delete);

· операторы определения доступа к данным.

В 1986 году язык SQL был принят в качестве стандарта ANSI (Американский Национальный Институт Стандартов) языков реляционной базы данных. Сегодня данная база рассматривается в качестве стандарта для современных информационных систем.

На рис.6.3 приведен пример базы данных на основе реляционной модели, состоящей из трех таблиц. Операции обработки реляционной модели данных основаны на использовании универсального аппарата алгебры отношений и реляционного счисления. Реляционная модель имеет следующие основные свойства (СУБД MS Office Access использует данный тип модели):

· каждый объект представлен в виде двумерной таблицы;

· элемент таблицы – один элемент данных;

· столбец таблицы имеет один тип данных, то есть является однородным и каждое поле (столбец) имеет уникальный идентификатор (имя);

· порядок следования строк и столбцов в таблице является произвольным;

· по полям одного типа можно формировать запросы.

В теории реляционных баз данных синоним таблицы - отношение (relation), в котором строка называется кортежем, а столбец называется атрибутом.

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

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

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

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

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

Заказчики

Код Фамилия Адрес
  Перов СПб,ул.Замшина 4,23
  Зуева СПб,ул.Карпина 5,76
  Карпов СПб,ул.Васина 16,87
  Зорин СПб, Большой пр. 12,67

 

 

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

 

Заказы Внешний ключ

 

Код Заказчик Код товара Доставка
      Курьер
      Самовывоз
      Почта
      Курьер

 

Внешний ключ

Товары

Код Название Цена
  Компьютер  
  Монитор  
  Принтер  

 

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

 

 

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

 

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

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

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

 

6.3. Основы проектирования информационных систем

 

Жизненный цикл информационной системы в общем случае можно разбить на три основные стадии:

1. проектирование «бумажное» или с использованием специальных средств;

2. программная реализация;

3. эксплуатация.

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

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

· для каждого объекта выясняются свойства и характеристики, которым назначаются поля (атрибуты), составляются исходные таблицы и отношения между ними в БД, выполняется определение элементов данных, включаемых в базу данных, ограничения на значения данных и т.п.

· для каждого объекта назначаются первичные ключи (поля) и проводится нормализация (разбиение) исходных таблиц;

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

· определение логической структуры базы данных;

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

 

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

· описать полученные таблицы средствами СУБД и ввести их в компьютер;

· для пользователей информационной системы разработать интерфейсы работы с БД, то есть экранные формы для ввода и отображения данных, отчеты для печати сводных данных, запросы для получения данных;

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

· провести тестирование системы, составить инструкции по работе с ней и обучить персонал.

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

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

 

6.3.1. Нормализация БД

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

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

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

· группировка полей в таблицах должна обеспечивать минимальное дублирование данных, эффективный поиск, обработку и обновление данных.

Процесс нормализации разберем на следующем простом примере «Расписание». Пусть требуется разработать базу данных для хранения информации о преподавателях, дисциплинах, которые они читают и семестрахих проведения. Составим структуру таблицы расписание занятий и заполним ее исходными данными (таблица 6.1).

 

Эта таблица не находится в нормальной форме, посколь­ку в ней содержатся повторяющиеся данные в трех столбцах (1,2,3). Используя метод нормализации можно получить структуру данных, которая характеризуется отсутствием избыточности информации, надежным выполнением операций удаления, добавления и редактирования данных. В результате получим три таблицы: Преподаватель, Дисциплина, Семестр (рис.6.4):

 

Рис.6.4.Нормализованная структура данных

 

Как видно, в таблице Семестр одноименное поле Семестр зависит от составного ключа. Схема данных для рассматриваемого примера приведена на рис.6.5:

 

 

Преподаватель Семестр Дисциплина

КодПреп КодДисц Семестр
КодПреп ФИО Телефон
КодДисц Название
1
1

Рис.6.5.Схема данных

 

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

Связи между объектами. Связи двух информационных объектов могут быть трех видов:

· один – к одному (1:1). Это имеет место, когда объекту А соответствует только один объект В. Примером таких отношений является, например, староста-группа, директор-фирма и т.д.

· один – ко многим (1:М). Это такие отношения, для которых одному объекту А может соответствовать М объектов В, примером таких отношений являются кафедра – сотрудники, преподаватель – предметы и т.д.

· много – ко многим (М:N). Такие отношения не реализуются в реляционной модели, они должны быть преобразованы через отношения один-ко многим.

 

6.4. СУБД Microsoft Access

 

6.4.1.Краткая характеристика Access

 

К областям применения Microsoft Access можно отнести следующие:

· в малом бизнесе (бухгалтерский учет, ввод заказов, ведение информации о клиентах, ведение информации о деловых контактах);

· в крупных корпорациях (приложения для рабочих групп, системы обработки информации);

· в качестве персональной СУБД (справочник по адресам, ведение инвестиционного портфеля, поваренная книга, каталоги книг, пластинок, видеофильмов и т. п.).

 

Система Microsoft Access входит в состав Microsoft Office и использует реляционную модель базы данных. Информация базы данных хранится в файле с расширением.mdb. Кроме таблиц с данными в нем хранятся: запросы, экранные формы, отчеты, программные модули. Для создания программных модулей работающих с базой данных используется язык Microsoft Visual Basic for Applications (VBA).

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

Средствами разработки объектов в Access являются «мастера». Мастер – это специальная программа, которая служит для создания таблиц, запросов, различных типов форм и отчетов. В Access включены мастера, помогающие производить анализ структуры данных, импортировать электронные таблицы и текстовые данные, повышать быстродействие приложений, создавать и настраивать приложения с использованием встроенных шаблонов. Чтобы полностью автоматизировать работу приложений, можно использовать макросы для связывания данных с формами и отчетами.

В Access реализовано управление реляционными базами данных. Система поддерживает первичные и внешние ключи. Обеспечивает целостность данных на уровне ядра, что не разрешает несовместимые операции обновления или удаления данных. Таблицы в Access снабжены средствами проверки допустимости данных, т.е. не разрешается некорректный ввод. Каждое поле таблицы имеет свой формат и стандартные описания, что облегчает ввод данных. Access поддерживает следующие типы полей, в том числе: текстовый, числовой, счетчик, денежный, дата/время, MEMO, логический, гиперссылка и поля объектов OLE. Если в полях не оказывается никаких значений, система обеспечивает полную поддержку пустых значений.

В Access можно использовать графические средства, как и в Microsoft Word, Excel, PowerPoint и других приложениях, позволяющие создавать различные виды графиков и диаграмм. Можно создавать гистограммы, двухмерные и трехмерные диаграммы. В формы и отчеты Access можно добавлять всевозможные объекты: рисунки, диаграммы, аудио и даже видеоклипы с помощью технологий DDE (Dynamic Data Exchange - динамический обмен данными) и OLE (Object Linking and Embedding - связывание и внедрение объектов). Связывая эти объекты с разработанной базой данных, можно создавать динамические формы и отчеты. Также в Access можно использовать макросы, позволяющие автоматизировать выполнение некоторых задач. Они позволяют открывать формы и отчеты, создавать меню и диалоговые окна с целью автоматизации создания различных прикладных задач.

В Access можно получить контекстно-зависимую справку, для получения которой надо нажать <F1>, и на экране появится справочная информация по тому вопросу, который интересует пользователя в текущий момент. При этом можно легко перейти к оглавлению справочной системы, конкретной информации, журналу предыдущих обращений и закладкам.

6.4.2. Структура и объекты базы данных

 

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

 

 

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

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

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

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

 

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

 

Структура БД определяет хранение данных в базе даже, если в ней нет никаких данных, то это все равно база данных, так как она имеет структуру двумерной таблицы. Столбцам и строкам в структуре простейшей базы данных соответствуют поля и записи. Значит, если записей в таблице нет, то структура определяется только набором полей. Если меняется, состав полей базовой таблицы или их тип, то получается новая база данных. При запуске СУБД Access для создания новой базы данных или работы с уже имеющимися появляется окно для работы с объектами базы даны (рис.6.6).

Мы видим строку меню (файл, правка, вид и т.д.), панель инструментов и ниже окно создания базы данных. На правой панели данного окна показаны уже созданные таблицы и элементы для создания новых таблиц: в режиме конструктора, с помощью мастера и путем ввода данных. В левой части представлены объекты СУБД Access, к которым относятся следующие.

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

 

 

Рис.6.6. Окно базы данных Access

Таблицы в Access могут быть созданы следующим образом:

· в режиме конструктора;

· с помощью мастера таблиц;

· в режиме ввода данных в таблицу.

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

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

Запросы. Запросы - это специальные средства, предназначенные для поиска и анализа информации в таблицах базы данных, отвечающей определенным критериям. Найденные записи, называемые результатами запроса, можно просматривать, редактировать и анализировать различными способами. Кроме того, результаты запроса могут использоваться в качестве основы для создания других объектов Access. Существует различные типы запросов, наиболее распространенными из которых являются запросы на выборку, параметрические и перекрестные запросы, запросы на удаление записи, изменение и другие. Реже используются запросы на действие и запросы SQL (Structured Query Language). Если нужного запроса нет, то его можно создать дополнительно.

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

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

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

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

Формы бывают, например, следующих видов:

· в столбец;

· ленточная форма;

· табличная форма и другие.

На рис. 6.7 приведен пример формы в столбец:

Рис.6.7. Форма в столбец

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

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

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

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

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

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

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

 

6.4.3. Создание таблиц

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

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

 

Рис.6.8. Создание таблицы в режиме конструктора

 

При создании таблиц используются следующие основные типы данных:

· текстовый – текст (до 255 знаков);

· поле меню – (до 65535 символов);

· числовой – действительные числа;

· дата и время – календарные даты и текущее время;

· денежный – денежные суммы;

· счетчик – порядковая нумерация записей (неповторяющиеся);

· логический – принимает значения ДА или НЕТ;

· поле объекта OLE – указатель на объект OLE;

· гиперссылка – хранение адресов URL WEB-объектов Интернета.

Свойства полей таблицы базы данных Access указаны в нижней половине таблицы (см. рис.6.8.).

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

 

 

Рис.6.9. Ввод данных в таблицу

 

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

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



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-02-16 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: