так, что в ней можно ничего не размещать (null). В примере с меню вы могли бы
создать таблицу, содержащую по одному ряду для каждого продаваемого элемента.
Каждый элемент имеет одинаковые графы, включая ту, которая хранит цену.
Первичным ключом таблицы является графа или группа граф, их значения долж-
ны быть уникальными. Это предотвращает ввод одинаковых данных в таблицу.
Этот ключ индексируется для более быстрого поиска по время выполнения запро-
са. Работа индекса немного похожа на алфавитный указатель, что позволяет быстро
найти определенный ряд.
Каждая таблица находится внутри родительской базы данных, что напоминает
файлы в каталоге. Два уровня иерархии позволяют немного лучше организовывать
данные.
Да, словосочетание «база данных» используется в нескольких случаях: когда разговор идет
о сервере, о хранилище таблиц и о данных, которые там хранятся. Если вам нужно упомя-
нуть их одновременно, можно назвать их сервером базы данных, базой данных и данными.
Если вам нужно найти ряды по некоторому неключевому значению, определи-
те для столбца вторичный индекс. В противном случае база данных должна будет
выполнить сканирование таблицы — поиск нужного значения перебором всех рядов.
Таблицы могут быть связаны друг с другом с помощью внешних ключей, и зна-
чения граф могут быть ограничены этими ключами.
Реляционные базы данных
233
SQL
SQL не является API или протоколом. Это декларативный язык: вы говорите, что
вам нужно, вместо того, как это сделать. Это универсальный язык реляционных
баз данных. Запросы SQL являются текстовыми строками, которые клиент отсы-
лает серверу базы данных, определяющему, что с ними делать дальше.
Существует несколько стандартов определения SQL, но все поставщики баз
данных добавили свои модификации и расширения, что вылилось в возникновение
множества диалектов SQL. Если вы храните данные в реляционной базе данных,
SQL дает вам некоторую переносимость данных. Однако наличие диалектов и опе-
рационных различий может усложнить перенос данных в другую базу.
Существуют две основные категории утверждений SQL: DDL (Data Definition
Language, язык определения данных), который обрабатывает создание, удаление,
ограничения и разрешения для таблиц, баз данных и использует DML (Data
Manipulation Language, язык манипулирования данными), который обрабатывает
добавление данных, их выборку, обновление и удаление.
В табл. 8.1 перечислены основные команды SQL DDL.
Таблица 8.1. Основные команды SQL DDL
Операция
Шаблон SQL
Пример SQL
Создание базы данных
CREATE DATABASE dbname
CREATE DATABASE d
Выбор текущей базы данных
USE dbname
USE d
Удаление базы данных и ее
DROP DATABASE dbname