4 курс (заочка) / Доклад / Доклад (Тема №26)
.docxФедеральное Агентство Связи Ордена Трудового Красного Знамени федеральное государственное бюджетное образовательное учреждение высшего образования «Московский технический университет связи и информатики»
Центр заочного обучения по программам бакалавриата
Кафедра «Интеллектуальные системы в управлении и автоматизации»
Дисциплина: Технологии баз данных
Доклад
По теме «Типы данных SQL.
SQL. Операторы создания схемы базы данных.»
Выполнил: Иванов Иван, студент группы БСТ17xx Тема №26
Проверил:
Москва, 2020
Оглавление
1. Общие сведения 2
2. Типы данных SQL 3
2.1 Типы данных SQL строковые 3
2.2 Типы данных SQL с плавающей точкой и целые 4
2.3 Типы данных SQL Дата и время 5
3. Операторы создания схемы базы данных 5
1. Общие сведения
SQL (structured query language — «язык структурированных запросов») — декларативный язык программирования, применяемый для создания, модификации и управления данными в реляционной базе данных, управляемой соответствующей системой управления базами данных.
Является, прежде всего, информационно-логическим языком, предназначенным для описания, изменения и извлечения данных, хранимых в реляционных базах данных. SQL считается языком программирования, в общем случае (без ряда современных расширений) не является тьюринг-полным, но вместе с тем стандарт языка спецификацией SQL/PSM предусматривает возможность его процедурных расширений.
Изначально SQL был основным способом работы пользователя с базой данных и позволял выполнять следующий набор операций:
создание в базе данных новой таблицы;
добавление в таблицу новых записей;
изменение записей;
удаление записей;
выборка записей из одной или нескольких таблиц (в соответствии с заданным условием);
изменение структур таблиц.
Со временем SQL усложнился — обогатился новыми конструкциями, обеспечил возможность описания и управления новыми хранимыми объектами (например, индексы, представления, триггеры и хранимые процедуры) — и стал приобретать черты, свойственные языкам программирования.
При всех своих изменениях SQL остаётся самым распространённым лингвистическим средством для взаимодействия прикладного программного обеспечения с базами данных. В то же время современные СУБД, а также информационные системы, использующие СУБД, предоставляют пользователю развитые средства визуального построения запросов.
2. Типы данных SQL
Типы данных SQL разделяются на три группы: — строковые; — с плавающей точкой (дробные числа); — целые числа, дата и время.
2.1 Типы данных SQL строковые
Типы данных SQL |
Описание |
CHAR(size) |
Строки фиксированной длиной (могут содержать буквы, цифры и специальные символы). Фиксированный размер указан в скобках. Можно записать до 255 символов |
VARCHAR(size) |
Может хранить не более 255 символов. |
TINYTEXT |
Может хранить не более 255 символов. |
TEXT |
Может хранить не более 65 535 символов. |
BLOB |
Может хранить не более 65 535 символов. |
MEDIUMTEXT |
Может хранить не более 16 777 215 символов. |
MEDIUMBLOB |
Может хранить не более 16 777 215 символов. |
LONGTEXT |
Может хранить не более 4 294 967 295 символов. |
LONGBLOB |
Может хранить не более 4 294 967 295 символов. |
ENUM(x,y,z,etc.) |
Позволяет вводить список допустимых значений. Можно ввести до 65535 значений в SQL Тип данных ENUM список. Если при вставке значения не будет присутствовать в списке ENUM, то мы получим пустое значение. Ввести возможные значения можно в таком формате: ENUM ( 'X', 'Y', 'Z') |
SET |
SQL Тип данных SET напоминает ENUM за исключением того, что SET может содержать до 64 значений. |
2.2 Типы данных SQL с плавающей точкой и целые
Типы данных SQL |
Описание |
TINYINT(size) |
Может хранить числа от -128 до 127 |
SMALLINT(size) |
Диапазон от -32 768 до 32 767 |
MEDIUMINT(size) |
Диапазон от -8 388 608 до 8 388 607 |
INT(size) |
Диапазон от -2 147 483 648 до 2 147 483 647 |
BIGINT(size) |
Диапазон от -9 223 372 036 854 775 808 до 9 223 372 036 854 775 807 |
FLOAT(size,d) |
Число с плавающей точкой небольшой точности. |
DOUBLE(size,d) |
Число с плавающей точкой двойной точности. |
DECIMAL(size,d) |
Дробное число, хранящееся в виде строки. |
2.3 Типы данных SQL Дата и время
Типы данных SQL |
Описание |
DATE() |
Дата в формате ГГГГ-ММ-ДД |
DATETIME() |
Дата и время в формате ГГГГ-ММ-ДД ЧЧ:ММ:СС |
TIMESTAMP() |
Дата и время в формате timestamp. Однако при получении значения поля оно отображается не в формате timestamp, а в виде ГГГГ-ММ-ДД ЧЧ:ММ:СС |
TIME() |
Время в формате ЧЧ:ММ:СС |
YEAR() |
Год в двух значной или в четырехзначном формате. |
3. Операторы создания схемы базы данных
При описании команд предполагается, что:
текст, набранный строчными буквами (например, CREATE TABLE) является обязательным
текст, набранный прописными буквами и заключенный в угловые скобки (например, <имя_базы_данных>) обозначает переменную, вводимую пользователем
в квадратные скобки (например, [NOT NULL]) заключается необязательная часть команды
взаимоисключающие элементы команды разделяются вертикальной чертой (например, [UNIQUE | PRIMARY KEY]).
Операторы базы данных
Команда |
Описание |
CREATE DATABASE <имя_базы_данных> |
Создание базы данных. |
DROP DATABASE <имя_базы_данных> |
Удаление базы данных. |
Создание таблицы:
CREATE TABLE <имя_таблицы>
(<имя_столбца> <тип_столбца>
[NOT NULL]
[UNIQUE | PRIMARY KEY]
[REFERENCES <имя_мастер_таблицы> [<имя_столбца>]]
, ...)
Пользователь обязан указать имя таблицы и список столбцов. Для каждого столбца обязательно указываются его имя и тип (см. таблицу в предыдущем разделе), а также опционально могут быть указаны параметры
NOT NULL - в этом случае элементы столбца всегда должны иметь определенное значение (не NULL)
один из взаимоисключающих параметров UNIQUE - значение каждого элемента столбца должно быть уникальным или PRIMARY KEY - столбец является первичным ключом.
REFERNECES <имя_мастер_таблицы> [<имя_столбца>] - эта конструкция определяет, что данный столбец является внешним ключом и указывает на ключ какой мастер_таблицы он ссылается.
Контроль за выполнением указанных условий осуществляет СУБД.
Пример: создание базы данных publications:
CREATE DATABASE publications;
CREATE TABLE authors (au_id INT PRIMARY KEY,
author VARCHAR(25) NOT NULL);
CREATE TABLE publishers (pub_id INT PRIMARY KEY,
publisher VARCHAR(255) NOT NULL,url VARCHAR(255));
CREATE TABLE titles (title_id INT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
yearpub INT,
pub_id INT REFERENCES publishers(pub_id));
CREATE TABLE titleautors (au_id INT REFERENCES authors(au_id),
title_id INT REFERENCES titles(title_id));
CREATE TABLE wwwsites (site_id INT PRIMARY KEY,
site VARCHAR(255) NOT NULL,
url VARCHAR(255));
CREATE TABLE wwwsiteauthors (au_id INT REFERENCES authors(au_id),
site_id INT REFERENCES wwwsites(site_id));
Удаление таблицы: DROP TABLE <имя_таблицы>
Модификация таблицы:
-
Добавить столбцы
ALTER TABLE <имя_таблицы> ADD (<имя_столбца> <тип_столбца> [NOT NULL] [UNIQUE | PRIMARY KEY] [REFERENCES <имя_мастер_таблицы> [<имя_столбца>]] ,...)
Удалить столбцы
ALTER TABLE <имя_таблицы> DROP (<имя_столбца>,...)
Модификация типа столбцов
ALTER TABLE <имя_таблицы> MODIFY (<имя_столбца> <тип_столбца> [NOT NULL] [UNIQUE | PRIMARY KEY] [REFERENCES <имя_мастер_таблицы> <имя_столбца>]] ,...)