Базы данных Язык запросов sql. Введение




НазваниеБазы данных Язык запросов sql. Введение
Дата конвертации12.05.2013
Размер445 b.
ТипПрезентации


Базы данных

  • Язык запросов SQL. Введение


SQL – Structured Query Language

  • SQL – это структурированный язык запросов к реляционным базам данных (БД).

  • SQL – декларативный язык, основанный на операциях реляционной алгебры.

  • Стандарты SQL, определённые Американским национальным институтом стандартов (ANSI):

    • SQL-1 (SQL/89) – первый вариант стандарта.
    • SQL-2 (SQL/92) – основной расширенный стандарт.
    • SQL-3 (SQL/1999, SQL/2003) – относится к объектно-реляционной модели данных.
  • Подмножества языка SQL:

    • DDL (Data Definition Language) – команды создания/изменения/удаления объектов базы данных (create/alter/drop);
    • DML (Data Manipulation Language) – команды добавления/модификации/удаления данных (insert/update/delete), а также команда извлечения данных select;
    • DCL (Data Control Language) – команды управления данными (установка/снятие ограничений целостности). Входит в подмножество DDL.


Работа с SQL в Oracle

  • Особенности синтаксиса:

    • В командах SQL не различаются прописные и строчные буквы (кроме содержимого символьных строк).
    • Каждая команда может занимать несколько строк и заканчивается символом ';'.
    • Символ и символьная строка заключается в одинарные кавычки:
    • 'А', '2' , 'строка', 'другая строка'
    • Однострочный комментарий начинается с символов '--'.
    • Многострочный комментарий заключается в символы /* ... */.
  • SQL-приложения СУБД Oracle:

    • SQL Work Sheet;
    • SQL*Plus.


Команды DDL

  • CREATE – создание объекта.

  • ALTER – изменения структуры объекта.

  • DROP – удаление объекта.

  • Общий вид синтаксиса команд DDL:

  • create

  • alter тип_объекта имя_объекта [параметры];

  • drop



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

  • CREATE TABLE [имя_схемы.]имя_таблицы

  • ( имя_поля тип_данных [(размер)] [NOT NULL]

  • [DEFAULT выражение]

  • [ограничения_целостности_поля…]

  • .,..

  • [, ограничения_целостности_таблицы .,..]

  • )

  • [ параметры ];

  • ограничения_целостности (ОЦ):

  • [CONSTRAINT имя_ОЦ ] название_ОЦ [параметры]



Типы данных

  • Символьные типы:

    • CHAR [(длина)] – строка фиксированной длины.
    • Длина по умолчанию – 1, максимальная длина 2000 б.
    • Строка дописывается до указанной длины пробелами.
    • VARCHAR2 (длина) – строка переменной длины.
    • Максимальная длина 4000 б. Хранятся только значащие символы.
  • Числовой тип:

    • NUMBER [(точность[, масштаб])] – используется для представления
    • чисел с заданной точностью.
    • Точность по умолчанию 38, масштаб по умолчанию – 0.
    • number(4) – числа от -999 до 9999
    • number(8,2) – числа от -99999.99 до 999999.99
  • DATE дата и время с точностью до секунды. Занимает 7 байт.

    • sysdate – функция получения текущих даты и времени.
    • Тип date поддерживает арифметику дат:
    • sysdate+1 – завтра
    • (дата1 – дата2) – количество дней, прошедших между двумя датами
    • (sysdate – 0.5) – 12 часов назад


Ограничения целостности

  • В СУБД Oracle поддерживаются следующие ограничения целостности:

    • уникальность (значений атрибута или комбинации значений атрибутов):
    • UNIQUE (имя_атрибута1 [, имя_атрибута2,...])
    • обязательность / необязательность:
    • NOT NULL / NULL
    • первичный ключ:
    • PRIMARY KEY(имя_атрибута1 [, имя_атрибута2,...])
    • внешний ключ:
    • FOREIGN KEY(имя_атрибута1 [, имя_атрибута2,...]) REFERENCES имя_таблицы [(имя_атрибута1 [, имя_атрибута2,...])]
    • условие на значение поля:
    • CHECK (условие)
    • Например: check (salary>=4500), check (date2 > date1)


Пример БД: проектная организация



Пример БД: проектная организация



Пример БД: проектная организация



Создание таблиц БД проектной организации

  • Таблица «Отделы» (Depart):

  • create table depart (did number(4) constraint pk_depart PRIMARY KEY,

  • name varchar2(100) not null

  • );

  • Таблица «Сотрудники» (Emp):

  • create table emp ( tabno number(6) constraint pk_emp PRIMARY KEY,

  • name varchar2(100) not null,

  • born date not null,

  • sex char not null,

  • depno number(4) not null constraint fk_depart REFERENCES depart,

  • post varchar(50) not null,

  • salary number(8,2) not null constraint check_sal check (salary > 4630),

  • passport char(10) not null constraint passp_uniq UNIQUE,

  • pass_date date not null, pass_get varchar2(100) not null,

  • born_seat varchar2(100), edu varchar2(30),

  • special varchar2(100), diplom varchar2(40),

  • phone varchar2(30), adr varchar2(80),

  • edate date not null default trunc(sysdate),

  • chief number(6) constraint fk_emp REFERENCES emp

  • );



Создание таблиц БД проектной организации

  • Таблица «Проекты» (Project):

  • create table project (No number(5) constraint pk_project primary key,

  • title varchar2(200) not null,

  • pro varchar(15) not null constraint pro_uniq unique,

  • client varchar(100) not null,

  • dbegin date not null,

  • dend date not null,

  • cost number(9)

  • );

  • Таблица «Участие в проектах» (Job):

  • create table job ( pro varchar(15) not null references project (abbr),

  • tabNo number(6) not null references emp,

  • rel varchar(20) default 'исполнитель',

  • primary key (tabno, pro),

  • check ( rel IN ('исполнитель', 'руководитель', 'консультант') )

  • );



Подмножество команд DML

  • INSERT – добавление строк в таблицу.

    • Добавляет одну или несколько строк в указанную таблицу.
  • UPDATE – изменение данных.

    • Изменяет значения одного или нескольких полей в записях указанной таблицы.
    • Можно указать условие, по которому выбираются обновляемые строки.
    • Если условие не указано, обновляются все строки таблицы.
    • Если ни одна строка не удовлетворяет условию, ни одна строка не будет обновлена.
  • DELETE – удаление строк из таблицы.

    • Удаляет одну или несколько строк из таблицы.
    • Можно указать условие, по которому выбираются удаляемые строки.
    • Если условие не указано, удаляются все строки таблицы.
    • Если ни одна строка не удовлетворяет условию, ни одна строка не будет удалена.


Добавление данных

  • INSERT – добавление строк в таблицу:

  • INSERT INTO имя_таблицы [(список_полей_таблицы)]

  • { VALUES (список_выражений) | запрос };

  • Примеры:

  • -- Добавить в таблицу "Отделы" новую запись (все поля):

  • insert into depart

  • values(7, 'Договорной отдел');

  • -- Добавить в таблицу "Сотрудники" новую запись (не все поля):

  • insert into emp (tabno, name, born, sex, depno, passport, pass_date_pass_get,

  • post, salary, phone)

  • values( 301, 'САВИН АНДРЕЙ ПАВЛОВИЧ', to_date('11.07.1969', 'dd.mm.yyyy'),

  • 'М', 5, '4405092876', to_date('15.02.1999', 'dd.mm.yyyy'),

  • 'ОВД "Митино" г.Москвы', 'программист', 38050, '121-34-11');

  • Замечание: значение по умолчанию используется только тогда, когда значение поля не вводится в явном виде.



Изменение данных

  • UPDATE – изменение данных:

  • UPDATE имя_таблицы

  • SET имя_поля1 = выражение1 [, имя_поля2 = выражение2,…]

  • [WHERE условие];

  • Примеры:

  • -- Изменить статус сотрудника Бобкова Л.П., табельный номер 74, по отношению к проекту 30."Система автоматизированного управления предприятием":

  • update job

  • set rel = 'консультант'

  • where tabno = 74 and pro = 30;

  • -- Перевести сотрудника Жаринова А.В., табельный номер 68, на должность ведущего программиста и повысить оклад на три тысячи рублей:

  • update emp

  • set post = 'ведущий программист', salary = salary+3000

  • where tabno = 68;



Удаление данных

  • DELETE – удаление строк из таблицы:

  • DELETE FROM имя_таблицы

  • [ WHERE условие ];

  • Примеры.

  • -- Удалить сведения о том, что сотрудник Афонасьев В.Н., табельный номер 147, участвует в проектах:

  • delete from job

  • where tabno=147;

  • -- Удалить сведения о сотруднике Афонасьеве В.Н., табельный номер 147:

  • delete from emp

  • where tabno = 147;

  • Замечание: отменить удаление данных можно командой

  • ROLLBACK;



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

  • Зайти на сайт rema44.ru/resurs/students/karpova/, скачать из раздела "Слушателям курсов второго высшего образования МИЭМа" файлы course1.sql, course2.sql.

  • Через меню Пуск войти в Oracle92 ->…-> SQL Work Sheet (или SQL*Plus).

  • Для начала работы необходимо ввести имя пользователя, пароль и строку связи:

  • Логин: userN – имя, N – номер студента по списку группы.

  • Пароль: совпадает с именем. Регистр при вводе пароля учитывается.

  • Cтрока связи: – ikar

  • По очереди запустить файлы course1.sql, course2.sql.

  • Результаты работы этих командных файлов будут выведены на экран.



Похожие:

Базы данных Язык запросов sql. Введение iconЛекция 1 введение в базы данных
Система управления базами данных (субд) это система, обеспечивающая ввод данных в бд, их хранение и восстановление в случае сбоев,...
Базы данных Язык запросов sql. Введение iconУчебный курс по Microsoft® Access® 2010 Создание запросов для новой базы данных Содержание курса Общие сведения: важность запросов Урок: включает семь разделов
Условия могут быть довольно эффективным средством. Например, с их помощью можно найти записи людей, которые живут в определенном...
Базы данных Язык запросов sql. Введение iconЯзыки и методы конструирования программ
...
Базы данных Язык запросов sql. Введение iconXml расширенный язык разметки Моисеевой О
Из базы данных можно передать данные в html-документ. Обратная операция намного сложнее
Базы данных Язык запросов sql. Введение iconЛекции План лекции ctf url cookie sql sql-injetion Проект в лаборатории Parallels sql-injection sql-injection Blind sql over json
Если существует, то в браузере(и в каком-то виде на сервере) сохраняется значения user email и «секрет»
Базы данных Язык запросов sql. Введение iconБазы данных. Системы управления базами данных. Понятие о базах данных (БД) и их виды. Понятие о бд
Основное назначение ис и бд – хранение, поиск, внесение изменений, группировка и сортировка данных (манипулирование данными)
Базы данных Язык запросов sql. Введение iconОптимизация sql запросов в субд. На примере Oracle
Каждая команда языка манипулирования данными может быть выполнена разными способами
Базы данных Язык запросов sql. Введение iconПрограммирование II модели данных и базы данных
Гарсиа-Молина Г., Ульман Дж. Д., Уидом Д. Системы баз данных. Полный курс. М.: Издательский дом "Вильямс". 2003
Базы данных Язык запросов sql. Введение iconЛитература Базы данных: учеб. Пособие для студ высш учеб. Заведений / А. В. Кузин, С. В. Левонисова. 2-е изд стер. М.: Издательский центр «Академия», 2008
Субд access работает со следующими типами объектов: таблицы, запросы, формы, отчеты, макросы и модули. Все они сгруппированы по категориям...
Базы данных Язык запросов sql. Введение iconЛекция №4. Базы данных Учебные вопросы: Организация системы управления базами данных Основные функции субд обобщенная технология работы с субд
База Данных (БД) — структурированный организованный набор данных, описывающих характеристики каких-либо физических или виртуальных...
Разместите кнопку на своём сайте:
dok.opredelim.com


База данных защищена авторским правом ©dok.opredelim.com 2015
обратиться к администрации
dok.opredelim.com
Главная страница