Файл: Тема технология работы с базами данных тема Общая характеристика баз данных.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 01.12.2023
Просмотров: 149
Скачиваний: 3
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Тема 3. ТЕХНОЛОГИЯ РАБОТЫ С БАЗАМИ ДАННЫХ
Тема 3.1. Общая характеристика баз данных
Вопросы
1. Информационные модели данных. Типы. Достоинства и недостатки.
2. Понятие «База данных».
3. Компоненты базы данных Access.
4. Принципы создания БД.
5. Процесс разработки.
6. Применение правил нормализации.
1. Информационные модели данных
Существуют три основных типа моделей данных:
иерархическая;
сетевая;
реляционная.
Иерархическая модель данных представляет собой совокупность эле- ментов, расположенных в порядке их подчинения от общего к частному и об- разующих перевернутое дерево (граф).Данная модель характеризуется такими параметрами, как уровни, узлы, связи. Принцип работы заключается в том, что несколько узлов более низкого уровня соединяется при помощи связи с одним узлом более высокого уровня – информационной моделью элемента, находя- щегося на данном уровне. Пример иерархической модели приведен на рис. 1
(рассматривается иерархическая модель части структуры СибУПК).
Рис. 1. Пример иерархической модели СибУПК
1 уровень
2 уровень
3 уровень
4 уровень
5 уровень …
ЭФ
СТФ
ЮФ
ЭФ
СТФ
ЮФ
СибУПК
Очная форма
Заочная форма
1 к
ур
с
…
…
2 к
ур
с
4 к
ур
с
3 к
ур
с
…
1 к
ур
с
2 к
ур
с
4 к
ур
с
3 к
ур
с
В модели выделены 4 уровня, но она может быть продолжена, например, на
5 уровне могут располагаться группы, а на 6 – список студентов в каждой группе.
Свойства иерархической модели данных:
несколько узлов нижнего уровня связано только с одним узлом верхнего уровня;
иерархическое дерево имеет только одну вершину, которая не подчиняется никакой другой вершине;
каждый узел имеет свое имя.
Иерархическая модель лежит в основе построения файловой структуры многих операционных систем, например, ОС MS DOS, ОС Windows и др.
Иерархическая модель имеет как достоинства, так и недостатки. В каче- ства достоинства можно отметить наглядность и невозможность появления несуществующих узлов. В качестве недостатков можно отметить большие трудности в упорядочении информации, ее поиске и жесткости структуры мо- дели, т.к. если поменять местами уровни, то изменится и вся модель.
Сетевая модель похожа на иерархическую, имеет те же составляющие
(узел, уровень и связь), но характер отношений иной, так как принята свобод- ная связь между узлами разных уровней. Пример сетевой модели приведен на рис. 2.
Рис. 2. Сетевая модель
Видно, что в данной сетевой модели один товар могут купить разные поку- патели, с другой стороны, один покупатель может купить разные товары (цвет линии – связи – изменен для наглядности, реально все связи равноправны).
Реляционная модель (от лат relation – отношение) построена на взаимо- отношении составляющих частей и в простейшем случае представляет собой
Товары
Товары
Сахар
Мука
Соль
Покупатель
Петров П.П.
Покупатель
Орлов А.Р.
Покупатель
Иванов И.И
двумерную таблицу или совокупность связанных таблиц. Строки таблицы называются записями, а столбцы – полями.
Свойства реляционной модели данных:
каждый элемент таблицы – это один элемент данных;
все столбцы являются однородными (имеют один тип – число, текст, дата и т.д.);
каждое поле имеет уникальное имя;
строки в таблице не должны повторяться;
порядок строк в таблице может быть произвольным
таблица характеризуется количеством записей, структурой записей (полями и их следованием в записи) и типом данных в соответствующих полях
Реляционная модель удобна в использовании, так ка позволяет достаточ- но просто производить:
сортировку данных по разным признакам;
выборку данных;
поиск записей, удовлетворяющих определенным условиям,
группировку данных и т.д.
2. Понятие «База данных»
База данных (БД) – это средство сбора и организации информации. В базах данных могут содержаться сведения о людях, продуктах, заказах и т. д. Многие базы данных изначально представляют собой список в текстовом процессоре или электронной таблице. По мере того как список разрастается, в нем накапливаются излишние и противоречивые данные. В форме списка эти данные становится все труднее понять, а возможности поиска или извлечения подмножеств данных для просмотра весьма ограничены. Когда возникают подобные проблемы, полезно перенести информацию в базу данных, созданную с помощью системы управле- ния базами данных (СУБД), например Office Access 2010 (2007).
Компьютерная база данных представляет собой хранилище объектов, содержащее одну или чаще несколько таблиц. В базе данных Access таблицы сохраняются в одном файле вместе с другими объектами, такими как формы, отчеты, макросы и модули, если только база данных не предназначена специ- ально для использования данных или кода из другого источника. Базы данных, созданные в формате Access 2010, имеют расширение имени файла ACCDB, а базы данных, созданные в более ранних форматах Access, – расширение MDB.
Приложение Access 2010 можно использовать для создания файлов в более ранних форматах файлов (например, Access 2000 и Access 2002-2003)
Приложение Access предоставляет следующие возможности:
Свойства реляционной модели данных:
каждый элемент таблицы – это один элемент данных;
все столбцы являются однородными (имеют один тип – число, текст, дата и т.д.);
каждое поле имеет уникальное имя;
строки в таблице не должны повторяться;
порядок строк в таблице может быть произвольным
таблица характеризуется количеством записей, структурой записей (полями и их следованием в записи) и типом данных в соответствующих полях
Реляционная модель удобна в использовании, так ка позволяет достаточ- но просто производить:
сортировку данных по разным признакам;
выборку данных;
поиск записей, удовлетворяющих определенным условиям,
группировку данных и т.д.
2. Понятие «База данных»
База данных (БД) – это средство сбора и организации информации. В базах данных могут содержаться сведения о людях, продуктах, заказах и т. д. Многие базы данных изначально представляют собой список в текстовом процессоре или электронной таблице. По мере того как список разрастается, в нем накапливаются излишние и противоречивые данные. В форме списка эти данные становится все труднее понять, а возможности поиска или извлечения подмножеств данных для просмотра весьма ограничены. Когда возникают подобные проблемы, полезно перенести информацию в базу данных, созданную с помощью системы управле- ния базами данных (СУБД), например Office Access 2010 (2007).
Компьютерная база данных представляет собой хранилище объектов, содержащее одну или чаще несколько таблиц. В базе данных Access таблицы сохраняются в одном файле вместе с другими объектами, такими как формы, отчеты, макросы и модули, если только база данных не предназначена специ- ально для использования данных или кода из другого источника. Базы данных, созданные в формате Access 2010, имеют расширение имени файла ACCDB, а базы данных, созданные в более ранних форматах Access, – расширение MDB.
Приложение Access 2010 можно использовать для создания файлов в более ранних форматах файлов (например, Access 2000 и Access 2002-2003)
Приложение Access предоставляет следующие возможности:
добавление новых данных в базу;
изменение существующих данных в базе данных;
удаление сведений;
организация и просмотр данных различными способами;
совместное использование данных посредством отчетов, сообщений элек- тронной почты, внутренней сети или Интернета.
3. Компоненты базы данных Access
Компонентами БД Access являются:
Таблицы;
Формы;
Отчеты;
Запросы;
Макросы;
Модули.
Рассмотрим назначение каждого из этих компонентов.
Таблицы
Таблицы являются обязательным компонентом базы данных, т.к. все остальные компоненты строятся на основе таблиц(ы). По внешнему виду таб- лица базы данных сходна с электронной таблицей (созданной в MS Excel), в которой данные располагаются в строках и столбцах. Поэтому электронные таблицы обычно легко импортируются в таблицы базы данных. Основное раз- личие между хранением данных в электронной таблице и в базе данных – спо- соб организации данных.
Чтобы обеспечить наибольшую гибкость базы данных, необходимо рас- пределить данные по таблицам так, чтобы избежать их избыточности. Напри- мер, если в базе хранятся сведения о сотрудниках, каждого из них следует один раз внести в таблицу, которая предназначена исключительно для хранения данных о сотрудниках. Остальные данные следует распределить по другим таблицам. Эта процедура называется нормализацией.
Каждую строку в таблице называют записью. Запись – это место хранения отдельного элемента информации. Каждая запись состоит из одного или несколь- ких полей. Поля соответствуют столбцам таблицы. Поля должны быть определе- ны как конкретный тип данных, обладающих определенными свойствами.
Запросы
Запросы являются основным рабочим инструментом базы данных и мо- гут выполнять множество различных функций. Самая распространенная функ- ция запросов – извлечение определенных данных из таблиц. С помощью запро- сов можно, задав ряд условий, «отфильтровать» только нужные записи. Часто запросы служат источником записей для форм и отчетов.
Существует два основных вида запросов:
запросы на выборку
запросы на изменение.
Запрос на выборку просто извлекает данные и предоставляет возмож- ность пользоваться ими. Результаты такого запроса можно просмотреть на экране, распечатать или скопировать в буфер обмена. Кроме того, их можно использовать в качестве источника записей для формы или отчета.
Запрос на изменение, как следует из его названия, выполняет действия с данными. Запросы на изменение можно использовать для создания новых таблиц, добавления данных в существующие таблицы, обновления или удаления данных.
Формы
Формы иногда называются окнами ввода данных. Они используются для просмотра, редактирования и ввода данных, позволяют работать с данными в удобном формате.
Формы также позволяют задавать условия работы других пользователей с информацией, содержащейся в базе данных. Например, можно создать форму со строго ограниченным набором отображаемых полей и разрешенных опера- ций. Это помогает защитить данные и гарантировать правильность их ввода.
Отчеты
Отчеты служат для сбора и представления данных, содержащихся в таб- лицах (или запросах). Каждый отчет можно отформатировать так, чтобы пред- ставить сведения в наиболее удобном виде. Обычно отчеты форматируют для печати, но их можно также просматривать на экране, экспортировать в другую программу или отправлять в виде сообщений электронной почты.
Макросы
Макрос содержит последовательность действий для выполнения опреде- ленной задачи, например для открытия отчета, выполнения запроса или закры- тия базы данных. Большинство операций с базой данных, выполняемых вруч- ную, можно автоматизировать с помощью макросов, которые позволяют суще- ственно экономить время.
Модули
Модуль представляет собой набор описаний, операторов и процедур, ко- торые хранятся в одном программном блоке. Модули пишутся на языке про- граммирования Visual Basic для приложений (VBA).
4. Принципы создания БД
Создаваемая или созданная БД должна иметь правильную структуру, для чего следует соблюдать определенные принципы.
-
Первый принцип заключается в необходимости исключать повторяющиеся
(или лишние) данные, т.к. они занимают место и повышают вероятность возникновения ошибок и неполадок.
-
Второй принцип касается важной роли правильных и полных данных. Если база данных содержит неправильные данные, все отчеты, в которых данные объединяются, будут также содержать неверные сведения. Это может приве- сти к принятию неправильных решений на основе отчетов.
Правильная структура базы данных подразумевает:
распределение данных по тематическим таблицам в целях сокращения объ- ема повторяющихся данных;
добавление в Access данных, необходимых для объединения сведений, ко- торые содержатся в таблицах;
возможность поддержания и отслеживания точности и целостности данных;
соответствие требованиям к обработке данных и созданию отчетов.
5. Процесс разработки
Процесс разработки БД включает следующие шаги:
1. Определение цели создания базы данных. Это позволяет подготовиться к вы- полнению следующих шагов.
2. Поиск и организация необходимых данных. Следует собирать все данные, ко- торые необходимо сохранить в базе данных.
3. Распределение данных по таблицам (для каждой темы создается своя таблица).
4. Преобразование элементов данных в столбцы. Определяется, какие данные требуется хранить в каждой таблице, и каждый элемент данных вводится в от- дельное поле и становится столбцом таблицы (таким образом определяется структура записей в каждой таблице). При этом следует разбивать информацию на минимальные логические компоненты и не включать в таблицу вычисляе- мые данные.
5. Задание первичных ключей. Первичный ключ – столбец для однозначного определения каждой записи, например табельный номер или номер дела.
6. Создание связей между таблицами, т.е. каким образом и как данные одной таблицы связаны с данными других таблиц. При этом, если это необходимо, нужно добавить в таблицы поля или создать новые таблицы для установле- ния необходимых связей.
7. Усовершенствование структуры, которое позволяет проверить структуру
БД на наличие ошибок (обычно выполняется на контрольном примере, т.е. на основе нескольких пробных записей в каждой таблице БД).
8. Применение правил нормализации дляпроверки правильности структуры таб- лиц.
Рассмотрим некоторые из наиболее важных шагов
Задание первичных ключей
Каждая таблица должна содержать столбец или набор столбцов для од- нозначного определения каждой строки таблицы. Как правило, в этих целях используется уникальный идентификационный номер, например, код сотруд- ника или серийный номер. В БД такие сведения носят название первичного
ключа таблицы. В Access первичные ключи служат для быстрого связывания данных из нескольких таблиц и их отображения для пользователя.
Если в таблице имеется уникальный идентификатор, например номер де- ла, который однозначно определяет каждое дело, принятое к производству, его можно использовать в качестве первичного ключа таблицы, но значения этого столбца должны быть различными для всех записей. Первичный ключ не дол- жен содержать повторяющихся или пустых значений. Например, не следует использовать в качестве первичного ключа имена людей, т.к. они не являются уникальными.
Значение первичного ключа не должно меняться. В базе данных с не- сколькими таблицами первичный ключ одной таблицы может использоваться в качестве ссылки в других таблицах. Если первичный ключ изменяется, это из- менение необходимо применить ко всем ссылкам на этот ключ. Благодаря ис- пользованию первичного ключа с постоянным значением снижается вероят- ность нарушения синхронизации с другими таблицами.
Если не удается выбрать столбец (простой ключ) или набор столбцов
(составной ключ) для использования в качестве первичного ключа, можно ис- пользовать столбец с типом данных «Счетчик». При использовании такого столбца в Access автоматически назначаются значения. Такой код не содержит сведений; в нем нет описания строки, которую он представляет. Бессодержа-
тельные коды идеально подходят для использования в качестве первичного ключа, т. к. они не изменяются.
Создание связей между таблицами
После распределения данных по таблицам необходимо получить воз- можность объединять их.
Так как Access – это система управления реляционными базами данных, то, как мы уже отмечали выше, сведения распределяются по отдельным, тема- тически организованным таблицам. Для объединения данных используются связи между таблицами.
Различают следующие типы отношений, которые можно установить между таблицами:
«один-к-одному»;
«один-ко-многим»;
«многие-ко-многим».
Отношение «один-ко-многим»
Отношение один-к-одному используется в том случае, когда часто упо- требляемые сведения находятся в основной таблице, а дополнительные – в другой. Для каждой записи основной таблицы в дополнительной таблице су- ществует одна запись. При определении отношения такого типа обе таблицы должны содержать одно поле.
Отношение «один-ко-многим»
Рассмотрим следующий пример: база данных заказов продуктов содержит таблицы Поставщики и Продукты. Поставщик может поставлять любое коли- чество продуктов. Следовательно, для каждого поставщика из таблицы по- ставщиков в таблице продуктов может содержаться большое количество про- дуктов. Поэтому связь между таблицей поставщиков и таблицей продуктов представляет собой отношение один-ко-многим.
Для создания этого типа связей обе таблицы должны содержать общие столбцы (поля), в первой таблице это поле будет являться первичным ключом, а во второй – внешним ключом.
Например, авторы и их произведения. У каждого автора может быть много различных произведений, поэтому на стороне автора будет связь «один», а на стороне произведений автора – связь «много».
Отношение «многие-ко-многим»
Рассмотрим связь между таблицами, например, Продукты и Покупатели.
Создание связей между таблицами
После распределения данных по таблицам необходимо получить воз- можность объединять их.
Так как Access – это система управления реляционными базами данных, то, как мы уже отмечали выше, сведения распределяются по отдельным, тема- тически организованным таблицам. Для объединения данных используются связи между таблицами.
Различают следующие типы отношений, которые можно установить между таблицами:
«один-к-одному»;
«один-ко-многим»;
«многие-ко-многим».
Отношение «один-ко-многим»
Отношение один-к-одному используется в том случае, когда часто упо- требляемые сведения находятся в основной таблице, а дополнительные – в другой. Для каждой записи основной таблицы в дополнительной таблице су- ществует одна запись. При определении отношения такого типа обе таблицы должны содержать одно поле.
Отношение «один-ко-многим»
Рассмотрим следующий пример: база данных заказов продуктов содержит таблицы Поставщики и Продукты. Поставщик может поставлять любое коли- чество продуктов. Следовательно, для каждого поставщика из таблицы по- ставщиков в таблице продуктов может содержаться большое количество про- дуктов. Поэтому связь между таблицей поставщиков и таблицей продуктов представляет собой отношение один-ко-многим.
Для создания этого типа связей обе таблицы должны содержать общие столбцы (поля), в первой таблице это поле будет являться первичным ключом, а во второй – внешним ключом.
Например, авторы и их произведения. У каждого автора может быть много различных произведений, поэтому на стороне автора будет связь «один», а на стороне произведений автора – связь «много».
Отношение «многие-ко-многим»
Рассмотрим связь между таблицами, например, Продукты и Покупатели.
Один покупатель может купить несколько продуктов. С другой стороны, отдельный продукт могут купить несколько покупателей. Следовательно, для каждой записи таблицы Покупатели может существовать несколько записей в таблице Продукты, и наоборот. Такой тип связи называется отношением «мно- гие-ко-многим».
Обычно отношение «многие-ко-многим» не используют. Его изменяют созданием третьей, связующей, таблицы, в которой отношение «многие-ко- многим» разбивается на два отношения «один-ко-многим». Первичные ключи двух таблиц вставляются в третью таблицу. В результате в третьей таблице со- храняются все экземпляры отношения.
Таким образом, определение связей между таблицами позволяет обес- печить правильность таблиц и столбцов. При наличии отношения
«один-к-одному» или «один-ко-многим» таблицы должны содержать общие столбцы. При наличии отношения «многие-ко-многим» требу- ется третья таблица.
Целостность данных
В процессе организации связей между таблицами в диалоговом окне устанавливается целостность данных.
Обеспечение целостности данных
Целью обеспечения целостности данных является предотвращение появ- ления изолированных записей и поддержание синхронизации ссылок таким образом, чтобы не могли появиться записи, ссылающиеся на несуществующие записи (например, нельзя принять сотрудника на должность, которой нет в штате). Целостность данных обеспечивается включением обеспечения целост- ности данных (флажок в диалоговом окне) для связи между таблицами.
После включения обеспечения целостности данных будут применены
следующие правила:
не допускается ввод в поле внешнего ключа связанной таблицы значения, не содержащегося в поле первичного ключа главной таблицы, т.к. это приведет к созданию изолированных записей;
не допускается удаление записи из главной таблицы, если в подчиненной таблице существуют связанные с ней записи. Тем не менее, можно удалить главную запись и все связанные записи одним действием, установив флажок
Каскадное удаление связанных записей.
не допускается изменение значения первичного ключа в главной таблице, ес- ли это повлечет создание изолированных записей. Тем не менее, можно об-