SQL в PostgreSQL: концепции и создание таблиц

Концепции

PostgreSQL - это система управления реляционными базами данных (СУБД). Это означает, что это система для управления данными, хранящимися в отношениях. Отношение - это, по сути, математический термин для обозначения таблицы. Идея хранения данных в таблицах сегодня настолько распространена, что может показаться очевидной по своей сути, но существует ряд других способов организации баз данных. Файлы и каталоги в Unix-подобных операционных системах образуют пример иерархической базы данных. Более современная разработка - объектно-ориентированная база данных.

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

Таблицы сгруппированы в базы данных, а набор баз данных, управляемых одним экземпляром сервера PostgreSQL, составляет кластер базы данных.

Создание новой таблицы

Вы можете создать новую таблицу, указав имя таблицы вместе со всеми именами столбцов и их типами:

CREATE TABLE weather (
    city            varchar(80),
    temp_lo         int,           -- low temperature
    temp_hi         int,           -- high temperature
    prcp            real,          -- precipitation
    date            date
);

Вы можете ввести это в psql с разрывами строк. psql распознает, что команда не завершается до точки с запятой.

Пробелы (например, пробелы, табуляции и символы новой строки) можно свободно использовать в командах SQL. Это означает, что вы можете ввести команду, выровненную иначе, чем указано выше, или даже все в одной строке. Два тире (“--”) обозначают комментарии. Все, что следует за ними, игнорируется до конца строки. SQL нечувствителен к регистру ключевых слов и идентификаторов, за исключением случаев, когда идентификаторы заключаются в двойные кавычки для сохранения регистра (не сделано выше).

varchar(80) определяет тип данных, который может хранить произвольные символьные строки длиной до 80 символов. int - это обычный целочисленный тип. real - это тип для хранения чисел с плавающей запятой одинарной точности. Дата не требует пояснений. (Да, столбец типа date также называется датой. Это может быть удобно или запутанно - вы выбираете.)

PostgreSQL поддерживает стандартные типы SQL int, smallint, real, double precision, char(N), varchar(N), date, time, timestamp и interval, а также другие типы общих служебных программ и богатый набор геометрических типов. PostgreSQL можно настроить с произвольным количеством определяемых пользователем типов данных. Следовательно, имена типов не являются ключевыми словами в синтаксисе, за исключением случаев, когда это требуется для поддержки особых случаев в стандарте SQL.

Во втором примере будут храниться города и их географическое положение:

CREATE TABLE cities (
    name            varchar(80),
    location        point
);

Тип point - это пример специфичного для PostgreSQL типа данных.

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

DROP TABLE tablename;


Читайте также:

Комментарии

Популярные сообщения из этого блога

Язык поисковых запросов в Graylog

Хэш-таблица: разрешение коллизий

Нормальные формы, пример нормализации в базе данных