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

Да, словосочетание «база данных» используется в нескольких случаях: когда разговор идет о сервере, о хранилище таблиц и о данных, которые там хранятся. Если вам нужно упомянуть их одновременно, можно назвать их сервером базы данных, базой данных и данными.

Если вам нужно найти ряды по некоторому неключевому значению, определите для столбца вторичный индекс. В противном случае база данных должна будет выполнить сканирование таблицы — поиск нужного значения перебором всех рядов.

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

<p>SQL</p>

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 dbnameCREATE DATABASE d
Выбор текущей базы данныхUSE dbnameUSE d
Удаление базы данных и ее таблицDROP DATABASE dbnameDROP DATABASE d
Создание таблицыCREATE TABLE tbname (coldefs)CREATE TABLE t (id INT, count INT)
Удаление таблицыDROP TABLE tbnameDROP TABLE t
Удаление всех строк таблицыTRUNCATE TABLE tbnameTRUNCATE TABLE t

Почему все пишется БОЛЬШИМИ БУКВАМИ? Язык SQL не зависит от регистра, но по традиции (не спрашивайте меня почему) ключевые слова ВЫКРИКИВАЮТСЯ, чтобы можно было отличить их от имен граф.

Основные операции DML реляционной базы данных можно запомнить с помощью акронима CRUD:

• Create — создание с помощью оператора SQL INSERT;

• Read — чтение с помощью SELECT;

• Update — обновление с помощью UPDATE;

• Delete — удаление с помощью DELETE.

В табл. 8.2 показаны команды, доступные SQL DML.

Таблица 8.2. Основные команды SQL DML
ОперацияШаблон SQLПример SQL
Добавление рядаINSERT INTO tbname VALUES(…)INSERT INTO t VALUES(7, 40)
Выборка всех рядов и графSELECT * FROM tbnameSELECT * FROM t
Выборка всех рядов и некоторых графSELECT cols FROM tbnameSELECT id, count FROM t
Выборка некоторых рядов и некоторых графSELECT cols FROM tbname WHERE conditionSELECT id, count from t WHERE count > 5 AND id = 9
Изменение некоторых рядов в графеUPDATE tbname SET col = value WHERE conditionUPDATE t SET count = 3 WHERE id = 5
Удаление некоторых рядовDELETE FROM tbname WHERE conditionDELETE FROM t WHERE count <= 10 OR id = 16
<p>DB-API</p>
Перейти на страницу:

Все книги серии Бестселлеры O'Reilly

Похожие книги