Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #52, МАРТ 2005 г.

Своя структура

Лавров Владислав (l-vv@r66.ru)

Спецвыпуск: Хакер, номер #052, стр. 052-024-1


Как создать и использовать базу данных

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

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

База данных: зачем и почему?

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

В первом случае можно, конечно, ограничиться обыкновенными записями в текстовом файле (например, в документе Word), тем более что туда легко можно заносить разнообразную "списочную" информацию: сведения о своих друзьях-абонентах, их адресах проживания и т.п. Способ представления и размещения информации в этом случае ты придумаешь сам. К примеру, построчно запишешь: "Иванов, Иван, Иванович, 223-5485, ул. Декабристов, 18/1-64", "Сергей Сергеевич Сидоров, 375-6986, пр. Ленина, д.18, кв.49" и т.д. Что же плохого в такой организации данных?

Во-первых, тебе, вероятно, потребуется упорядочивать информацию по различным признакам (например, по фамилиям или по адресам), а во-вторых, быстро извлекать выборки с произвольным сочетанием признаков (например, список абонентов, имеющих домашние телефоны в определенном доме). Однако описанная организация данных не позволит сделать ни первое, ни второе. Дело в том, что упорядочить информацию в текстовом файле достаточно сложно. Гораздо проще сделать это без всякого компьютера, имея сведения, записанные на картонных карточках :). Машина не сможет даже выбрать правильно номера домов и квартир, потому что они могут быть записаны по-разному. Это для тебя записи "18/1-64" и "д. 18, корп. 1, кв.64" – одно и то же, а для компьютера это совершенно разные вещи. А если взять второй упомянутый пример по учету посещаемости форума, то здесь Word’у вообще "не объяснить", где IP-адрес машины, а где дата подключения этой машины, которая нужна для подсчета посещений за определенный период.

Чтобы научить глупую машину безошибочно искать и систематизировать данные, надо прежде всего сообщить ей правила игры (соглашения) о способах представления данных. Такой процесс называется структурированием информации, и он производится путем введения типов: текстовых, числовых и т.п. А также форматов данных (например, формат даты). Для таких структурированных данных придумали специальный вид файлов – базу данных (БД). Другими словами, база данных предназначена для хранения некоторого объема структурированных данных под определенным именем во внешней памяти.

Содержание  Вперед на стр. 052-024-2