Пример базы данных
Базы данных в терминологии SQL состоят из таблиц. К понятию таблицы наиболее близок аналог файла таких БД, как dBase, Clarion etc и состоит из некоторого количества строк (аналог ЗАПИСЕЙ, если пользоваться терминологией не-SQL языков); причем системы Delphi / С++Builder поддерживают множество форматов файлов таблиц, что, однако, практически никак не отражается на использование SQL. Запомним это: неважен тип СУБД – был бы реализован язык SQL. Большинство нижеследующих примеров будет использовать DEPT -таблицу, содержащую информацию об отделах компании, и таблицу ЕМР, содержащую информацию о работниках данной компании. Таблица DEPT
Таблица ЕМР Каждая таблица состоит из колонок (вертикальных) и строк (горизонтальных). Таблица DEPT имеет три колонки (называемые DEPTNO, DNAME и LOC) и 4 строки (одна для каждого отдела номер 10,20,30,40). Строка состоит из полей. Каждое поле содержит значение данных на пересечении строки и колонки. Например, в первой строке таблицы DEPT значение 10 хранится в поле DEPTNO, значение ACCOUNTING хранится в поле DNAME, значение NEW YORK - в поле LOC. Легко заметить, что все таблицы примера (как и все таблицы любой реляционной базы данных) состоят из строки заголовков столбцов и одной или более строк значений данных под этими заголовками. Эти столбцы и строки должны обладать следующими свойствами: • всякий столбец таблицы обладает в этой таблице уникальным именем; • столбцы таблицы упорядочиваются слева направо, т.е. столбец 1, столбец2,... столбец n. C точки зрения пользователя порядок, в котором определены имена столбцов, становится порядком, в котором должны вводиться в них данные, если не предварять при вводе каждое значение именем соответствующего столбца; • строки таблицы не упорядочены (их последовательность определяется лишь последовательностью ввода в таблицу); • в поле на пересечении строки и столбца любой таблицы всегда имеется в точности одно значение данных и никогда не должно быть множества значений (правда, это 'атом а рное' значение может быть достаточно объемным, например, таким, как рецепт некоего блюда или много мегабайтный мультимедиа-файл); • всем строкам таблицы соответствует одно и то же множество столбцов, хотя в определенных столбцах любая строка может содержать пустые значения (NULL-значения), т.е. может не иметь значений для этих столбцов; • все строки таблицы обязательно отличаются друг от друга хотя бы единственным значением, что позволяет однозначно идентифицировать любую строку такой таблицы; • при выполнении операций с таблицей ее строки и столбцы можно обрабатывать в любом порядке безотносительно к их информационному содержанию. База данных, состоящая из таких таблиц, называется реляционной. Отношение (RELATION) - является математическим термином для обозначения неупорядоченной совокупности однотипных записей или таблиц определенного специфического вида, описанного выше. Таким образом, можно,например, сказать, что определенная база данных состоит минимум из стольких отношений, сколько отдельных таблиц она включает. Будем использовать неформальные их эквиваленты:
таблица - для отношения строка (или запись) - для кортежа столбец (или поле) - для атрибута
Заметим также, по определению принимается, что 'запись' означает 'экземпляр записи', а 'поле' означает 'имя и тип поля'.
|