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

ДРУГ ПОЗНАЕТСЯ В БД - теория баз данных

GLAZъ (glazy@mail.ru) & Дронич

Спецвыпуск Xakep, номер #028, стр. 028-042-1


Работа таких сайтов, как Yandex, Yahoo!, Ebay, построена на БД и целиком зависит от их надежности. Так что правильно организованная база - залог твоего успеха. Если хорошо спланировать структуру базы, можно получить быстрые и гибкие возможности поиска данных, чего мы и добиваемся. Но это вода, перейдем к делу!

Классификация

БДи бывают двух основных типов: централизованная БДя и распределенная. Централизованная - это когда все данные хранятся на одном компе. Он может быть в сети, а может в ней и не быть. Причем, если он все-таки подключен к сетке, то существует два способа обработки данных: файл-сервер и клиент-сервер.

В архитектуре файл-сервер есть сервак, который выполняет только роль хранилища самих данных, а есть компы, так называемые рабочие станции, на которых происходит собственно обработка данных. Т.е. сам сервер не участвует в обработке!

Случай, когда архитектура - клиент-сервер, нам ближе. Тут на сервак уже ложится обязанность обработки самих запросов, посылаемых ему на языке SQL, о котором я расскажу в следующей статье. А юзеру приходит уже готовый результат. Это гораздо удобнее, так как не приходится передавать файлы офигительного размера по сетке.

Еще один вид БДей - распределенные, когда БДя хранятся на разных компах, причем данные могут повторяться (сие зовется избыточным хранением, полезно в случае падения систем).

Вскрытие показало

Базы, грубо говоря, - это совокупность описаний какого-либо объекта (мощно задвинул!). Вот эти описания кличут атрибутами, а объекты - сущностями. Кроме них есть еще такие понятия, как поле, запись и таблица. Поле - это одна какая-то характеристика объекта. Описать объект более детально, чем полями, нельзя.

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

Данные бывают разные: реляционные, зеленые, красные

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

Итак, основной моделью является реляционная модель. Фишка ее в том, что все данные представляются в виде таблиц. И именно эта модель используется в таких продуктах, как MS SQL, MySQL, мелкософтный Access.

Интимные связи

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

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