Введение в SQL (НЕ select) Затрагиваемые темы Роль языка SQL. Части SQL Роль языка SQL. Части SQL Администрирование БД: привилегии (DCL) Администрирование.

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



Advertisements
Похожие презентации
База данных База данных – это конкретная предметная область, описанная с помощью таблиц.
Advertisements

История развития языка SQL Structured Query Language ɛ skju ɛ l ɛ skju ɛ l или si:kwəlsi:kwəl DML (Data Manipulation Language) DDL (Data Definition Language)
Язык SQL Последовательности Представления Индексы.
Лекция 3 Домены Ограничения на значения столбцов Создание, изменение и удаление таблиц Ключи и ссылочная целостность Защита таблиц.
SQL SQL (Structured Query Language Структурированный язык запросов) язык управления базами данных для реляционных баз данных.
1 Часть II. Лекция 4. © Куркурин Николай Дмитриевич. (906)
Реляционные базы данных N-арное отношение – подмножество декартова произведения N множеств возможных значений (доменов, типов данных, атрибутов) Изображение.
Базы данных Лекция 06 Основы SQL. 1. Связи между таблицами БД Разновидности связи между таблицами БД: Один–ко–многим – одной записи родительской таблицы.
SQL. Создание базы данных CREATE DATABASE ALTER DATABASE DROP DATABASE.
БАЗЫ ДАННЫХ ЛЕКЦИЯ 12. тема: ОСНОВЫ ЯЗЫКА SQL Общие сведения SQL структурированный язык запросов (Structured Query Language)
Базы данных Язык запросов SQL. Введение. SQL – Structured Query Language SQL – это структурированный язык запросов к реляционным базам данных (БД). SQL.
Администрирование и безопасность MySQL. Создание и удаление пользователей Под учетной записью пользователя MySQL подразумевается строка в таблице user.
ОРГАНИЗАЦИЯ БАЗ ДАННЫХ И ЗНАНИЙ ТЕМА 5 СТРУКТУРИРОВАННЫЙ ЯЗЫК ЗАПРОСОВ SQL.
PL/SQL Триггер блок PL/SQL, выполняемый неявно каждый раз, когда происходит конкретное событие.
1. СУБД MySQL 2. Язык обработки данных SQL. Сервер данных MySQL и его возможности MySQL это популярный сервер данных, применяемый при создании Web-сайтов.
Базы данных. Введение Базы данных обеспечивают хранение информации. Доступ к базе данных осуществляется через специальную программу - систему управления.
SQL Structured Query Language. Язык SQL Structured Query Language – стандартный язык управления реляционными базами данных с архитектурой клиент-сервер.
SQL Structured Query Language. Язык SQL Structured Query Language – стандартный язык управления реляционными базами данных с архитектурой клиент-сервер.
Лекция 16 Лекция 16 Основы SQL. Описание отношений, доменов, ограничений целостности, представлений данных. Реализация операций реляционной алгебры в SQL.
Базы данных Преподаватель: Свяжин Сергей Олегович.
Транксрипт:

Введение в SQL (НЕ select) Затрагиваемые темы Роль языка SQL. Части SQL Роль языка SQL. Части SQL Администрирование БД: привилегии (DCL) Администрирование БД: привилегии (DCL) Определение структуры БД (DDL) Определение структуры БД (DDL) Манипулирование данными (DML) Манипулирование данными (DML) Транзакции (TCL). Уровни изоляции Транзакции (TCL). Уровни изоляции

Язык Data Control Language (DCL) Как и DDL, очень зависит от СУБД. Ниже – Oracle: Как и DDL, очень зависит от СУБД. Ниже – Oracle: Создание пользователей и схем Создание пользователей и схем create user IVANOV identified by a123 create user IVANOV identified by a123 при первом DDL-операторе создается схема IVANOV при первом DDL-операторе создается схема IVANOV проверка: select * from all_users проверка: select * from all_users Назначение привилегий и ролей Назначение привилегий и ролей grant to IVANOV grant to IVANOV =connect – для соединения и простейших действий =connect – для соединения и простейших действий =resource – для выполнения DDL =resource – для выполнения DDL =unlimited tablespace – чтобы не вводить квоты =unlimited tablespace – чтобы не вводить квоты =select any table – для чтения чужих таблиц =select any table – для чтения чужих таблиц revoke from IVANOV revoke from IVANOV Удаление пользователей (вместе со схемами) Удаление пользователей (вместе со схемами) drop user IVANOV cascade //схема тоже удаляется drop user IVANOV cascade //схема тоже удаляется

Язык Data Definition Language (DDL) Как и DCL, очень зависит от СУБД. Ниже – Oracle: Как и DCL, очень зависит от СУБД. Ниже – Oracle: Создание таблиц (а также view, sequence,..) Создание таблиц (а также view, sequence,..) create table EMP (EMP_ID int primary key,NAME varchar(50) unique not null, BOSS_ID int, DEPT_ID int references DEPT) create table EMP (EMP_ID int primary key,NAME varchar(50) unique not null, BOSS_ID int, DEPT_ID int references DEPT) create view MANAGERS as select e.NAME, d.NAME from EMP e, EMP b, DEPT d where e.DEPT_ID=d.DEPT_ID and e.BOSS_ID=b.EMP_ID and e.DEPT_IDb.DEPT_ID //менеджеры отделов – те, чей начальник не работает в их отделе create view MANAGERS as select e.NAME, d.NAME from EMP e, EMP b, DEPT d where e.DEPT_ID=d.DEPT_ID and e.BOSS_ID=b.EMP_ID and e.DEPT_IDb.DEPT_ID //менеджеры отделов – те, чей начальник не работает в их отделе create sequence EMP_SEQ //чтобы автоматически присваивать уникальные значения ID: insert into EMP values (EMP_SEQ.nextval,... create sequence EMP_SEQ //чтобы автоматически присваивать уникальные значения ID: insert into EMP values (EMP_SEQ.nextval,... create index EMP_I1 on EMP(DEPT_ID) create index EMP_I1 on EMP(DEPT_ID) Изменение таблиц, в т.ч. добавление ограничений Изменение таблиц, в т.ч. добавление ограничений alter table EMP add (SALARY number(8,2) default 0) alter table EMP add (SALARY number(8,2) default 0) alter table EMP add (foreign key (BOSS_ID) references EMP (EMP_ID) on delete cascade) //удалять босса вместе с подч. alter table EMP add (foreign key (BOSS_ID) references EMP (EMP_ID) on delete cascade) //удалять босса вместе с подч. Удаление таблиц (и других объектов БД) Удаление таблиц (и других объектов БД) drop table EMP cascade constraints //связи тоже удаляются drop table EMP cascade constraints //связи тоже удаляются

Data Manipulation Language (DML) Наполнение таблиц Наполнение таблиц insert into EMP (EMP_ID, NAME, SALARY) values (EMP_SEQ.NEXTVAL, Ivan Frolov, 2000) insert into EMP (EMP_ID, NAME, SALARY) values (EMP_SEQ.NEXTVAL, Ivan Frolov, 2000) проверка: select * from EMP where DEPT_ID is null проверка: select * from EMP where DEPT_ID is null Модификация ячеек Модификация ячеек update EMP set SALARY=SALARY*1.1 where EMP_ID=1 update EMP set SALARY=SALARY*1.1 where EMP_ID=1 Удаление строк Удаление строк delete from EMP where DEPT_ID = 123 delete from EMP where DEPT_ID = 123 Для справки: получение метаинформации о БД Для справки: получение метаинформации о БД какие есть таблицы: select table_name from user_tables какие есть таблицы: select table_name from user_tables информация о таблице (SQL Plus): desc[ribe] EMP информация о таблице (SQL Plus): desc[ribe] EMP

Transaction Control Language (TCL) Транзакция – неделимая последовательность операторов, имеющих смысл лишь вместе Транзакция – неделимая последовательность операторов, имеющих смысл лишь вместе Фиксация и откат транзакций Фиксация и откат транзакций commit и rollback [имя] //бывает режим autocommit commit и rollback [имя] //бывает режим autocommit savepoint имя (Oracle) – для отката части транз. savepoint имя (Oracle) – для отката части транз. Уровни изоляции транзакций – 4 (в Oracle 2) Уровни изоляции транзакций – 4 (в Oracle 2) Serializable – транзакция не видит изменений, сделанных после ее начала, даже заcommitенных Serializable – транзакция не видит изменений, сделанных после ее начала, даже заcommitенных Read committed - транзакция обнаруживает данные, заcommitенные после ее начала Read committed - транзакция обнаруживает данные, заcommitенные после ее начала set transaction isolation level serializable set transaction isolation level serializable