SQL. Создание базы данных CREATE DATABASE ALTER DATABASE DROP DATABASE.

Презентация:



Advertisements
Похожие презентации
Базы данных Лекция 06 Основы SQL. 1. Связи между таблицами БД Разновидности связи между таблицами БД: Один–ко–многим – одной записи родительской таблицы.
Advertisements

Схема (schema) – это набор объектов БД, принадлежащий одному владельцу и образующий одно пространство имен Объекты схемы: таблицы представления домены.
Лекция 16 Лекция 16 Основы SQL. Описание отношений, доменов, ограничений целостности, представлений данных. Реализация операций реляционной алгебры в SQL.
Введение в SQL (НЕ select) Затрагиваемые темы Роль языка SQL. Части SQL Роль языка SQL. Части SQL Администрирование БД: привилегии (DCL) Администрирование.
База данных База данных – это конкретная предметная область, описанная с помощью таблиц.
Лекция 3 Домены Ограничения на значения столбцов Создание, изменение и удаление таблиц Ключи и ссылочная целостность Защита таблиц.
Язык SQL Типы данных SQL Типы данных, используемые в стандартном SQL, можно подразделить на следующие группы: строковые типы; числовые типы; типы для представления.
Создание таблиц. А.М. Гудов 2Заключение Имеется несколько способов соединения таблиц: –Эквисоединение –Не-эквисоединение –Внешнее соединение –Соединение.
БАЗЫ ДАННЫХ ЛЕКЦИЯ 12. тема: ОСНОВЫ ЯЗЫКА SQL Общие сведения SQL структурированный язык запросов (Structured Query Language)
Базы данных Язык запросов SQL. Введение. SQL – Structured Query Language SQL – это структурированный язык запросов к реляционным базам данных (БД). SQL.
Лекция 10. Запросы определения данных (DDL). Свойства столбцов и таблиц. На основе запроса выборки можно построить представление. В SQL представление является.
1 Основы SQL: MySQL Будем использовать MySQL СУБД с открытым кодом Бесплатная версия (Community Edition) – на В Linux-дистрибутивах.
Принципы поддержки целостности в реляционной модели данных.
Реляционные базы данных N-арное отношение – подмножество декартова произведения N множеств возможных значений (доменов, типов данных, атрибутов) Изображение.
История развития языка SQL Structured Query Language ɛ skju ɛ l ɛ skju ɛ l или si:kwəlsi:kwəl DML (Data Manipulation Language) DDL (Data Definition Language)
Реляционная модель данных Разработана Е.Ф.Коддом (E.F.Codd) в 1970 г.
Data Definition Language (DDL)– язык определения данных Бази даних та інформаційні системи Лекція 13.
Язык SQL SQL (Structured Query Language) Структурированный Язык Запросов.
1 TRANSACT-SQL. Лекция 3. © Куркурин Николай Дмитриевич. (906) Microsoft SQL Server 2000.
Язык SQL Последовательности Представления Индексы.
Транксрипт:

SQL

Создание базы данных CREATE DATABASE ALTER DATABASE DROP DATABASE

Определение структур базы данных (DDL) CREATE TABLE, ALTER TABLE, DROP TABLE, CREATE INDEX, ALTER INDEX, DROP INDEX.

Манипулирование данными (DML) INSERT, UPDATE, DELETE.

Выборка данных (DQL) SELECT

Идентификаторы идентификатор может иметь длину до 128 символов; идентификатор должен начинаться с буквы; идентификатор не может содержать пробелы.

Типы данных Символьный CHAR | VARCHAR Битовый BIT | BIT VARYING Точные числа NUMERIC | DECIMAL | INTEGER | SMALLINT Округленные числа FLOAT | REAL | DOUBLE PRECISION Дата/время DATE | TIME | TIMESTAMP ИнтервалINTERVAL

Истинно целые типы INTEGER SMALLINT NUMERIC (p) «+» или «-» Примеры литералов типов INTEGER и SMALLINT: , 876.

Точные типы, допускающие наличие дробной части Тип NUMERIC. (NUMBER) NUMERIC NUMERIC (p) NUMERIC (p, s) p задает точность значений (количество цифр), s – шкалу (число десят. цифр в дробной части) округление, если s отрицательно Тип DECIMAL. DECIMALDECIMAL (p) DECIMAL (p, s) «+» или «-» «.».

Приближенные числовые типы Тип REAL Тип DOUBLE PRECISION. Точность значений > точности типа REAL. Тип FLOAT. FLOAT FLOAT (p) Примеры литералов приближенных числовых типов: 123, , 123E12, E12. xEy x*(10y).

Типы символьных строк Тип – CHAR фиксированная длина. (CHARACTER) CHAR CHAR (x) длина x Тип VARCHAR– переменная длина. (CHARACTER VARYING, VARCHAR2) VARCHAR VARCHAR (x) длина x Тип CLOB - CHARACTER LARGE OBJECT. CLOB (z)

Операции с символьными строками. || - конкатенация SUBSTRING - функция выделения подстроки SUBSTRING (s, n, m) строку, номер начальной позиции и длину UPPER LOWER CHARACTER_LENGTH, OCTET_LENGTH, BIT_LENGTH POSITION POSITION (s, s1)

Типы битовых строк Тип BIT. BIT BIT (x) Тип BIT VARYING. BIT VARYING BIT VARYING (x) Тип BLOB (BINARY LARGE OBJECT). BLOB (z) B – двоичные X – шестнадцатеричные B , X78FBCD0012FFFFA.

Типы даты и времени Тип DATE. DATE yyyy-mm-dd, где символы y, m и d - десятичные числа. Тип TIME. TIME hh:mm-ss:f...f, где символы h, m, s и f - десятичные числа. Тип TIMESTAMP (DATETIME). TIMESTAMP yyyy-mm-dd hh:mm-ss:f...f, где символы y, m, d, h, m, s и f - десятичные числа.

INTERVAL разность между двумя значениями даты или времени. INTERVAL start (p) [ TO end (q)] «start» и «end» могут задаваться YEAR, MONTH, DAY, HOUR, MINUTE и SECOND. Параметр p задает требуемую точность лидирующего поля интервала (число десятичных цифр). По умолчанию p=2. end = SECOND q - точность долей секунды. INTERVAL YEAR (p) TO MONTH INTERVAL DAY, INTERVAL DAY TO HOUR, INTERVAL DAY (p) TO MINUTE, INTERVAL DAY (p) TO SECOND (q)

Булевский тип Тип BOOLEAN TRUE, FALSE и UNKNOWN трехзначная логика. UNKNOWN - NULL

Трехзначная логика

Объекты базы данных(1): Tables Таблицы базы данных, в которых хранятся собственно данные Views Виртуальные таблицы для отображения данных из таблиц Stored Procedures Хранимые процедуры Triggers Специальные хранимые процедуры, вызываемые при изменении данных в таблице User Defined function Создаваемые пользователем функции Indexes Индексы – дополнительные структуры, призванные повысить производительность работы с данными User Defined Data Types Определяемые пользователем типы данных

Объекты базы данных(2): Constraints Ограничение целостности – объекты для логической целостности данных Users Пользователи, обладающие доступом к базе данных Rules Правила базы данных, позволяющие контролировать логическую целостность данных Roles Роли, позволяющие объединять пользователей в группы Defaults Умолчания или стандартные установки базы данных

Создание БД CREATE DATABASE database_name options options: [ON [PRIMARY] [ [,...n] ] [, [,...n] ] ] [ LOG ON { [,...n] } ] TABLESPACE

Создание БД ::= ([ NAME=логическое_имя_файла,] FILENAME='физическое_имя_файла' [,SIZE=размер_файла ] [,MAXSIZE={max_размер_файла |UNLIMITED } ] [, FILEGROWTH=автом_величина_прироста ] )[,...n]

CREATE DATABASE Archive ON PRIMARY ( NAME=Arch1, FILENAME=c:\user\data\archdat1.mdf, SIZE=100MB, MAXSIZE=200, FILEGROWTH=20), (NAME=Arch2, FILENAME=c:\user\data\archdat2.mdf, SIZE=100MB, MAXSIZE=200, FILEGROWTH=20), (NAME=Arch3, FILENAME=c:\user\data\archdat3.mdf, SIZE=100MB, MAXSIZE=200, FILEGROWTH=20) LOG ON (NAME=Archlog1, FILENAME=c:\user\data\archlog1.ldf, SIZE=100MB, MAXSIZE=200, FILEGROWTH=20), (NAME=Archlog2, FILENAME=c:\user\data\archlog2.ldf, SIZE=100MB, MAXSIZE=200, FILEGROWTH=20)

::= ALTER DATABASE имя_базы_данных { ADD FILE [,...n] [TO FILEGROUP имя_группы_файлов ] | ADD LOG FILE [,...n] | REMOVE FILE логическое_имя_файла | ADD FILEGROUP имя_группы_файлов | REMOVE FILEGROUP имя_группы_файлов | MODIFY FILE | MODIFY FILEGROUP имя_группы_файлов }

Создание таблицы CREATE TABLE table_name { atr1, [atr2,…] }

Создание таблицы CREATE TABLE people { name CHAR(20) UNIQUE, address VARCHAR(35), birthday DATE}

Определение атрибутов таблицы { имя столбца } { тип данных} [ значение по умолчанию] [ список ограничений ]

Значение по умолчанию CREATE TABLE people { name CHAR(20) DEFAULT=NONAME, address VARCHAR(35), birthday DATE}

Задание ограничений NOT NULL | { PRIMARY KEY | UNIQUE } | references | CHECK ( условие )

(1)CREATE TABLE EMP ( (2)EMP_NO EMP_NO PRIMARY KEY, (3)EMP_NAME VARCHAR(20) DEFAULT 'Incognito' NOT NULL, (4)EMP_BDATE DATE DEFAULT NULL CHECK ( VALUE >= DATE ' '), (5)EMP_SAL SALARY, (6)DEPT_NO DEPT_NO DEFAULT NULL REFERENCES DEPT ON DELETE SET NULL, (7)PRO_NO PRO_NO DEFAULT NULL, (8)FOREIGN KEY PRO_NO REFERENCES PRO (PRO_NO) ON DELETE SET NULL, (9)CONSTRAINT PRO_EMP_NO CHECK ((SELECT COUNT (*) FROM EMP E WHERE E.PRO_NO = PRO_NO)

Первичный ключ NOT NULL всегда CREATE TABLE people { name CHAR(20) PRIMARY KEY, address VARCHAR(35), birthday DATE} CREATE TABLE people { name CHAR(20), address VARCHAR(35), birthday DATE, PRIMARY KEY (name, birthday)}

Возможный ключ NULL или NOT NULL– возможный ключ CREATE TABLE people { name CHAR(20) UNIQUE, address VARCHAR(35), birthday DATE} CREATE TABLE people { name CHAR(20), address VARCHAR(35), birthday DATE, UNIQUE (name, birthday)}

Проверка ограничений CREATE TABLE people { name CHAR(20) PRIMARY KEY, address VARCHAR(35), birthday DATE, gender CHAR CHECK (gender IN (F, M), } CHECK с использованием функций: стаж < возраст()

Внешний ключ REFERENCES table (atr1) FOREIGN KEY (atr1, …) REFERENCES table (t_atr1, …) CREATE TABLE phone { name CHAR (20) REFERENCES people (name), type CHAR CHECK (type IN (H, M, W), phone_code numeric(3) DEFAULT=812, phone_number numeric(7)}

Ссылочная целостность – стратегии: Отмена операции INSERT(1), UPDATE(1), DELETE(2), UPDATE(2) Каскадная модификация UPDATE(2) UPDATE(1) DELETE(2) DELETE(1) Присвоить значение NULL Отложенная проверка ограничений – замена несуществующего значения на NULL

SET NULL | CASCADE CREATE TABLE phone { name CHAR (20) REFERENCES people (name) ON DELETE CASCADE ON UPDATE CASCADE, …}

Удаление таблицы DROP TABLE имя_таблицы [RESTRICT | CASCADE] В отличие от DELETE удаляет и данные, и структуру. RESTRICT – запрет на удаление CASCADE