Понятие о базах данных
Что такое база данных, я пояснил в 16.3 на примере базы данных компьютерных игр. В подавляющем большинстве случаев база данных – это файл, в котором хранится одна или несколько прямоугольных таблиц, таких, например, как эта таблица, посвященная боксерам:
Фамилия И.О. | Дата рождения | Спортивное общество | Разряд по боксу | ||||
Агамалов С.В. | 12.4.78 | Трудовые резервы | 3 | ||||
Парменов Л.В. | 31.11.82 | Динамо | 3 | ||||
Васин А.Н. | 16.10.71 | ЦСКА | 3 | ||||
Попов А.А. | 14.2.79 | Спартак | 2 | ||||
Яньков В.Ю. | 27.1.84 | Спартак | 2 | ||||
Иноземцев И.М. | 3.3.80 | Восток | 1 |
Столбцы таблицы называют также полями, строки – записями. Поля могут быть текстовыми (Спортивное общество), числовыми (Разряд по боксу), типа даты и времени (Дата рождения), булевскими, содержать объекты (например, картинки, звук, видео). Количество записей в таблицах реальных баз данных достигает многих тысяч.
Для того, чтобы человек мог удобно работать с базами данных, написаны специальные программы – системы управления базами данных (СУБД). Основное, что нужно человеку от СУБД при работе с реальной базой данных – это найти в море ее информации нужную ему каплю. Например, в таблице о 20000 преступников нужно быстро осуществить поиск записи о некоем Вольдемаре Сидорове, 1972 года рождения, по кличке Бармалей, чтобы посмотреть, есть ли у него шрам на левой щеке. Или же мы ищем неизвестного преступника по приметам и из 20000 записей хотим вывести на экран только те несколько, что соответствуют кареглазым блондинам ростом от 175 до 180 см с татуировкой на правой руке. Остальные же записи мы не хотим видеть и ждем, что компьютер их отфильтрует. Почти всегда мы хотим, чтобы найденная информация была отсортирована. Так, наша таблица боксеров отсортирована по убыванию разряда. Пользователь должен иметь возможность легко сортировать таблицу по любому полю (столбцу).
Кроме этих основных задач порядочная СУБД позволяет пользователю изменять содержимое записей, дополнять таблицы новыми записями, стирать ненужные, распечатывать в удобном виде нужную информацию из базы данных, позволяет при помощи программирования автоматизировать наиболее трудоемкие операции с базами данных и приспосабливать базы данных к конкретным нуждам пользователя. Все это вы научитесь делать после изучения этой главы.
Связанные таблицы. Вы спросите: А зачем в одной базе данных иметь несколько таблиц? Вот зачем. Возьмем, например, базу данных «Бокс в России». Очевидно, кроме таблицы боксеров она должна содержать таблицу тренеров, таблицу спортивных обществ, культивирующих бокс, таблицу спортивных залов, имеющих ринги, и другие таблицы. Имеет смысл держать эти таблицы в одной базе потому, что часто нам нужно искать информацию, касающуюся не одной таблицы, а сразу нескольких. Например, нужно узнать (сделать запрос), в каком году создано спортивное общество, к которому принадлежит боксер Васин А.Н.? Для этого нужно по таблице боксеров узнать название этого общества и тут же по таблице обществ узнать год его создания. Держать же все сведения о боксерах, обществах и всем прочем в одной таблице неудобно и невыгодно – таблица получится слишком уж огромной.
Чтобы иметь возможность делать запрос сразу к нескольким таблицам, нужно сделать эти таблицы связанными. В этой книге я не буду касаться работы со связанными таблицами и ограничусь базами данных, состоящими из одной таблицы.
Одной из популярных СУБД является Microsoft Access – программа, входящая в пакет Microsoft Office Professional. Я упоминаю именно ее потому, что Microsoft Office почти наверняка установлен на вашем компьютере. В Access вы можете и безо всякого программирования прекрасно работать с реальными базами данных. Ну а когда возникнет необходимость в программировании, то и программировать вы сможете прямо в Access на специальном языке Visual Basic for Applications, который является «диалектом» языка Visual Basic применительно к пакету Microsoft Office.
Таким образом, если вы решили осваивать базы данных, то я рекомендую два пути:
Освоить на уровне пользователя Access, и тогда ваша работа с базами данных будет удобной и приятной, а необходимость в программировании вы почувствуете не скоро. Когда же почувствуете, то будете программировать на близком вам Visual Basic for Applications. Это наилучший способ для новичка быстро и без программирования разобраться в реальных базах данных. Однако этот способ слаб для быстрой работы с очень большими базами данных.
Осваивать работу с базами данных на VB. Это несколько труднее, но зато вы почти сразу же начнете программировать и сможете создавать проекты, включающие одновременно и базу данных и другие вещи, которые вы научились делать на VB (например, игры). VB предоставляет для работы с базами данных самые современные и мощные средства (так называемая технология ADO.NET).
Название книги обязывает меня выбрать второй путь, поэтому на работе в Access я остановлюсь только кратко.