Что такое базы данных

ЧТО ТАКОЕ БАЗЫ ДАННЫХ?

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

Реляционные базы данных

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

Некоторые термины реляционных баз данных

  • Отношение (Relation) - информация об объектах одного типа, например, о клиентах, заказах, сотрудниках. В реляционных базах данных отношение обычно хранится в виде таблицы.
  • Атрибут (Attribute) - определенная часть информации о некотором объекте - например, адрес клиента или зарплата сотрудника. Атрибут обычно хранится в виде столбца или поля таблицы.
  • Связь (Relatioship) - способ, которым связана информация в одной таблице с информацией в другой таблице. Например, у клиентов с заказами тип связи - "один-ко-многим", так как один клиент может разместить много заказов, но любой заказ соотносится только с одним клиентом.
  • Объединение (Join) - процесс объединения таблиц или запросов на основе совпадающих значений определенных атрибутов. Например, информация о клиентах может быть объединена с информацией о заказах по коду данного клиента.

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

Возможности СУБД

  • Определение данных (Data definition) - вы можете определить, какая именно информация будет храниться в вашей базе данных, задать структуру данных и их тип (например, количество цифр или символов), а также указать, как эти данные связаны между собой. В некоторых случаях вы можете также задать форматы и критерии проверки данных.
  • Обработка данных (Data manipulation) ~ данные можно обрабатывать самыми различными способами. Можно выбирать любые поля, фильтровать и сортировать данные. Можно объединять данные с другой связанной с ними информацией и вычислять итоговые значения.
  • Управление данными (Data control) - вы можете указать, кому
    разрешено знакомиться с данными, корректировать их или добавлять новую информацию. Можно также определить правила коллективного пользования данными.

Причины целесообразности перехода к использованию СУБД:

  • Причина 1. У вас имеется слишком много отдельных файлов или какие-то из файлов содержат большой объем информации, что затрудняет работу с данными. К тому же работать с такими объемами данных могут вам не позволить ограничения по памяти программы или системы.
  • Причина 2. Вы используете данные различными способами: для информации по конкретным сделкам (например, счета-фактуры), для итогового анализа (например, по ежеквартальным объемам продаж), или вы используете эти данные для прогнозирования тех или иных ситуаций. Поэтому вы должны быть в состоянии рассматривать эти данные с разных сторон, что существенно затрудняет создание удовлетворяющей все ваши нужды единой структуры представления данных.
  • Причина 3. Имеется необходимость в использовании одних и тех же данных разными специалистами. Например, их вводом, обновлением и анализом занимаются самые разные люди. Если в электронную таблицу или документ вносить изменения может только один человек, то с базой данных могут взаимодействовать в одно и то же время несколько пользователей, модифицируя содержимое одной и той же таблицы. При этом в базах данных гарантируется, что пользователи всегда работают с последними модификациями данных.
  • Причина 4. Вы должны обеспечить защиту данных от несанкционированного доступа, контролировать их значения и поддерживать целостность базы данных - ведь к данным имеют доступ много пользователей, эти данные используются в работе вашей фирмы и взаимосвязаны (например, клиенты и заказы).