Базовый курс SQL. Основные понятия или что такое базы данных

Forums:

[к оглавлению]

Для начала определим некоторые основные понятия.

В общем понимании базы данных часто встречаются в нашей обычной жизни. В простейшем виде - это любая таблица с данными.

Пример.
Телефонная книга, прайс, ежедневник, табло в аэропорту

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

Базы данных

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

Иногда термин база данных употребляется в отношении программного обеспечения, управляющего БД, но это не верно. Такое программное обеспечение называется СУБД - система управления базами данных. База данных - это хранилище, создаваемое и управляемое посредством СУБД. Что из себя представляет это хранилище, зависит от конкретной СУБД.

Таблицы

Таблица - структурированный набор данных определённого типа.

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

Каждая таблица имеет название - это её уникальный идентификатор. Никакая другая таблица в данной БД не может иметь такое же имя. В разных БД имена могут повторяться.

Схема базы данных

Схема БД - информация о базе данных в целом, а также о структуре и свойствах её таблиц.

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

Столбцы таблицы и типы данных

Столбец - одиночное поле таблицы. В каждом столбце хранится один из параметров объектов данной таблицы.

Пример.
Для таблицы "Телефонная книга" это могут быть "имя", "номер телефона", "примечания".

При создании таблицы обратите внимание, что лучше разделить данные на более простые части, чем класть много данных в один столбец. Это позволит в будущем сортировать данные удобным способом и делать более точные выборки.

Пример.
Столбцы "имя", "отчество" и "фамилия" вместо "ФИО".

Тип данных - характеристика столбца таблицы, указывающая, какие именно данные можно в нём хранить.

Имеют ограничительную функцию (нельзя в числовое поле ввести алфавитные символы), структурирующую (помогают в сортировке), оптимизационную (экономят место на диске).

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

Строки таблицы

Строка - каждая запись в таблице. Если столбцы мы сравнивали с характеристиками объекта, то строка - это полный набор характеристик о конкретном объекте.

Записи или строки?
Иногда вместо "строка" программисты говорят "запись" в таблице, имея в виду тоже самое. Но термин строка технически более правилен.

Первичный ключ (Primary key)

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

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

В качестве первичного ключа может выступать любое уникальное значение, если таковое имеется у объектов таблицы или, в случае, если уникальных значений по смыслу нет, это может быть id, искусственно генерируемый СУБД или самим программистом.

Пример.
В таблице "Прайс" первичным ключом может быть поле "код товара".
В таблице "Расписание уроков" уникального значения нет, поэтому следует добавить столбец "id"

При выборе первичного ключа соблюдайте следующие условия:

  • две разные строки не могут иметь одинаковое значение первичного ключа
  • значение первичного ключа должно быть заполнено (не может быть NULL)
  • значение первичного ключа не может быть изменено
  • значение первичного ключа нельзя использовать вновь, даже если строка была удалена из таблицы

Наряду с первичным существует не менее важный "внешний ключ", но его мы рассмотрим позже.

SQL

SQL (Structured Qoery Language) - это язык структурированных запросов, который был специально разработан для взаимодействия с базами данных.
SQL очень простой (состоит всего из нескольких слов), и в то же время очень эффективный инструмент, реализующий все необходимые операции с данными. Он лёгок в изучении, и, благодаря своей универсальности, позволит Вам использовать практически любую СУБД и выполнять операции любой сложности.

Расширения SQL.
Многие поставщики СУБД расширили возможности SQL, дополнив язык своими операторами или инструкциями. Это предоставляет дополнительные возможности, упрощает определённые операции. Но, к сожалению, часто подобные расширения не универсальны. И то, что Вы использовали в одной СУБД не сработает в другой.
Стандарт SQL контролируется комитетом ANSI и называется ANSI SQL. Все основные СУБД, даже те, которые имеют свои расширения, поддерживают ANSI SQL. Расширенные стандарты SQL носят индивидуальные названия (PL-SQL, Transact-SQL и тд). И в данном курсе они не рассматриваются.

Следующая страница. Извлечение данных.
Оглавление.