Взаимодействие с базой данных
Типичная СУБД никогда не видима пользователю базы данных; она нс имеет графического интерфейса пользователя (Graphical User Interface, GUI для краткости), а лишь выдает или записывает данные в ответ на запросы, поданные на подходящем командном языке. Наиболее распространенным языком команд является SQL, или Stmetured Query Language, который мы рассмотрим ниже. СУБД должны быть использованы в комбинации с приложением, которое обеспечивает пользовательский интерфейс, обычно это набор форм с текстовыми полями для ввода данных, и кнопками или меню для выполнения различных действий.
Интерфейс может обеспечиваться автоматом для продажи билетов на поезд, кассовым аппаратом, считывателем штрих-кода или, возможно, устройством слежения за движением глаз, которое собирает данные для экспериментов психолингвистики. Модель базы данных дает возможность использовать любой из этих интерфейсов или несколько интерфейсов одновременно с одним и тем же набором данных. Вид данных для конечного пользователя может сильно отличаться от таблиц, используемых СУБД для хранения данных. Представление данных должно быть понятным и информативным для пользователя: данные из нескольких таблиц могут быть объединены, и различные поля могут быть скрыты, когда они не актуальны. Интерфейс может давать пользователю гораздо больше, чем просто способ просмотра и редактирования данных.
Интерфейс может быть реализован как приложение для MS Windows, установлен на настольном компьютере пользователя. Но чрезвычайно популярной альтернативой является сочетание СУБД с созданием вебстраниц на лету, что обеспечивает интернет-доступ к базе данных. Конечные пользователи используют веб-браузер для просмотра страниц, генерируемых удаленным веб-сервером. Компьютерная программа (например, написанная на языке РНР) интерпретирует действия пользователя, запрашивая данные по мере необходимости из СУБД, и форматирует результаты для отображения в браузере. Веб-сервер и СУБД могут размещаться на одном сервере или на разных компьютерах – это не имеет никакого значения, так как веб-сервер имеет доступ к данным только через СУБД, а пользователь имеет доступ к данным только через веб-сервер.
На рис. 13.1 показана типичная схема технологии LAMP (операционная система Linux + веб-сервер Apache + СУБД MySQL + язык программирования РНР).
Рис. 13.1. Технология LAMP[1]
Типы баз данных
Системы управления базами данных общего назначения основаны на некоторой формальной, общей модели организации данных. Наиболее распространенным типом базы данных сегодня является так называемая реляционная база данных. Все популярные СУБД являются реляционными базами данных, в том числе Oracle, MySQL, Postgres, FileMaker Pro и Microsoft Access.
- 1. Самый простой тип модели данных имеет одну таблицу, или файл. Каждая строка соответствует некоторому объекту (например, языку), а каждый столбец представляет свойство (атрибут), например наименование, область использования, или предпочтительный порядок слов (например, для русского предложения предпочтительным является порядок слов Субъект – Глагол – Объект).
- 2. Реляционная база данных состоит из нескольких таблиц (отношений) такого рода, связанных друг с другом определенным образом.
- 3. Иерархическая база данных организована не в виде таблицы, а в виде древовидной структуры, аналогично структуре вложенных нанок на диске компьютера. Каждый блок данных принадлежит более крупному блоку и содержит более мелкие единицы. Подобная организация принята в книгах, разделенных на главы, разделы, затем подразделы и т.д.
- 4. В объектно-ориентированной БД данные моделируются как объекты различных типов. Объекты наследуют свойства в зависимости от их типа, например в БД о классах слов объекты класса "переходный глагол" наследуют свойства класса "глагол".
- [1] Dimitriadis A., Musgrave S. Designing linguistic databases: a primer for linguistics // The Use of Databases in Cross-Linguistic Studies / ed. bv M. Everaert, S. Musgrave, A. Dimitriadis. Berlin. 2009. P. 13-75.