7.2.4. Системы управления базами данных (СУБД)
<<Назад
|
Содержание
| Далее>>
База данных - совместно
используемый набор логически связанных данных. Это единое
хранилище данных, которое однократно определяется, а затем
используется одновременно многими пользователями.
Система управления базами данных
(СУБД) - это программное обеспечение, с помощью которого
пользователи могут определять, создавать и поддерживать базу
данных, а также осуществлять к ней контролируемый доступ.
В
реляционных базах данных (БД самого распространенного типа)
данные хранятся в таблицах. На первый взгляд, эти
таблицы подобны электронным таблицам Excel, поскольку они тоже
состоят из строк и столбцов. Столбцы называются полями
(fields) и содержат данные определенного типа. Строки именуются
записями (records). В одной строке хранится один набор
данных, описывающих определенный объект. Например, если в
таблице хранятся данные о клиентах, она может содержать поля для
имени, адреса, города, почтового индекса, номера телефона и т.д.
Для каждого клиента будет создана отдельная запись.
Таблицы – не
единственный тип объектов, из которых состоят базы данных.
Помимо таблиц, существуют формы, отчеты и
запросы.
Формы
(forms) применяются для добавления новых данных и изменения уже
существующих. Формы облегчают добавление и редактирование
информации, а также позволяют контролировать тип водимых данных
и избегать при вводе ряда ошибок.
Для отображения
данных в удобном для чтения виде используются отчеты
(reports). Ознакомиться со всей информацией, хранящейся в
таблице, сложно по той причине, что текст не умещается в полях
целиком. Существует возможность включать в отчет не все данные,
а только некоторые, что значительно повышает удобство
использования.
Для вывода в отчеты определенных данных
применяются запросы (queries). Использование запросов
похоже на процесс поиска, – задаются конкретные критерии отбора,
на основе которых база данных формирует и возвращает отчет.
Например, если база данных содержит информацию о телефонных
номерах, то можно запросить вывести в отчете только те телефоны,
которые относятся к конкретному адресу, или только те, которые
относятся к конкретной фамилии, или начинающиеся с определенных
цифр и т.п. Запросы записываются на языке SQL (Structured Query
Language — язык структурированных запросов).
В основе
реляционных баз данных лежит понятие связей (отношений,
relationships). Они позволяют разработчикам связывать
несколько таблиц в базе посредством общих данных. При помощи
взаимосвязей разработчики баз данных моделируют таблицы,
отражающие взаимодействие объектов в реальности.
Понять принцип
работы связей проще всего на примере. Пусть для хранения
информации о продажах компании применяется электронная таблица
Excel. Со временем в таблице накапливаются сотни записей. Многие
из них соответствуют покупкам, совершенным одними и теми же
клиентами. Проблема состоит в том, что при совершении повторной
покупки информация об адресе клиента снова сохраняется. Со
временем некоторые клиенты переезжают. Их новые адреса вводятся
в электронную таблицу, но во всех прошлых записях остается
прежний адрес. Существует вероятность, что рано или поздно
кто-то случайно использует для отправки товара неверный адрес.
Обновление адресов становится довольно непростой задачей из-за
их невероятного количества. В Excel нет средств, позволяющих
устранить эту проблему.
При
формировании базы данных логичнее отделить все записи о клиентах
от записей, относящихся к совершенным ими покупкам. В этом
случае в одной таблице будет храниться информация о покупках, а
в другой – о клиентах. В таблице клиентов каждому будет
соответствовать только одна запись. При переезде клиента
потребуется обновить только одну соответствующую ему запись, а
не все записи о его покупках. В таблице, содержащей записи о
покупках, вместо перечисления всей информации о покупателе будет
указан уникальный идентификатор (в нашем примере поле
идентификатора названо cust_ID),
соответствующий определенной записи в таблице клиентов. Такие
связи между таблицами и позволяют создавать реляционные базы
данных.
Обе таблицы
содержат поле cust_ID. В таблице клиентов поле cust_ID
включает уникальные идентификаторы, называемые также
первичными ключами (primary key). У каждой записи в
таблице всегда существует свой идентификатор, который не
повторяется, благодаря чему, в таблице обеспечен порядок,
предполагающий корректное обновление, удаление и добавление
данных.
В таблице
покупок одно и то же значение cust_ID, напротив, может
повторяться больше одного раза — в зависимости от того, сколько
покупок совершил тот или иной клиент. Когда первичный ключ
одной таблицы применяется в качестве поля другой, он называется
внешним ключом. При использовании внешних ключей между
таблицами образуются связи (relationships). Они позволяют
избавиться от избыточной (дублирующей информации) и сохранить
целостность данных.
В приведенном
примере таблицы являются достаточно простыми. Например, в
порядке вещей будет использование третьей таблицы для хранения
информации о товаре (инвентарная таблица) с полем product_ID,
добавляемым в таблицу покупок в качестве внешнего ключа.
|
Рис. 45. Схема данных. |
На рисунке 45
показана взаимосвязь между двумя таблицами, описанными в этом
примере. Линия между таблицами обозначает существование связи.
Число 1, расположенное слева, означает, что в таблице
Клиенты параметр cust_ID является уникальным, а
знак бесконечности, находящийся справа, указывает, что в
таблице Покупки одно и то же значение параметра
cust_ID может повторяться сколько угодно. Такое отношение
называется "один-ко-многим".
Возможности связей между таблицами не
ограничены уменьшением избыточности данных. Они также позволяют
создать SQL-запрос, извлекающий данные из обеих таблиц на основе
определенного критерия. Например, можно создать запрос,
выводящий имена и фамилии всех клиентов, совершивших покупки на
сумму, превышающую некоторое пороговое значение. Формы,
предназначенные для записи сразу в несколько таблиц, тоже
функционируют на основе связей.
Модель реляционной СУБД была разработана
в 70-80 годы XX века. К реляционным СУБД относится целый ряд
программных продуктов, среди них Microsoft Access из пакета
Microsoft Office, MySQL или более мощные системы
промышленного уровня, таких как Microsoft SQL Server или
Oracle.
В последнее время активно развивается и
другая модель представления баз данных – объектная.
Реляционная модель акцентирует свое внимание на структуре и
связях сущностей, объектная - на их свойствах и поведении.
<<Назад
|
Содержание
| Далее>>
|