1 / 25

Введение в структурированный язык запросов SQL (Strukture Query Language)

Введение в структурированный язык запросов SQL (Strukture Query Language). Цели курса. Основные положения, терминология и операторы реляционной базы данных. Проектирование и создание структур базы данных (таблиц, представлений и т.д.) с помощью структурированного языка запросов (SQL).

odessa
Download Presentation

Введение в структурированный язык запросов SQL (Strukture Query Language)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Введение в структурированный язык запросов SQL (Strukture Query Language) А.М. Гудов

  2. Цели курса • Основные положения, терминология и операторы реляционной базы данных. • Проектирование и создание структур базы данных (таблиц, представлений и т.д.) с помощью структурированного языка запросов (SQL). • Хранение, выборка и обновление данных в базе данных. А.М. Гудов

  3. Концепция реляционной базы данных • Доктор Е.Ф. Кодд предложил реляционную модель баз данных в 1979 г. • Эта модель лежит в основе систем управления реляционными базами данных (RDBMS или РСУБД). • Реляционная модель содержит следующие компоненты: • Совокупность объектов или отношений. • Набор операций над отношениями. • Целостность данных - их точность и согласованность. А.М. Гудов

  4. Реляционная база данных - это совокупность отношенийили двумерных таблиц. Сервер БД Имя таблицы: S_CUSTOMER Имя таблицы: S_EMP SALES_ ID NAME PHONE REP_ID 201 Unisports 55-2066101 12 202 Simms Atheletics 81-20101 14 203 Delhi Sports 91-10351 14 204 Womansport 1-206-104-0103 11 ID LAST_NAME FIRST_NAME 10 Havel Marta 11 Magee Colin 12 Giljum Henry 14 Nguyen Mai А.М. Гудов

  5. Терминология реляционной базы данных • Каждая таблица состоит из строк и столбцов. • Манипулировать данными в строках можно с помощью команд Структурированного языка запросов (SQL). Таблица (отношение) S_CUSTOMER) SALES_ ID NAME PHONE REP_ID 201 Unisports 55-2066101 12 202 Simms Atheletics 81-20101 14 203 Delhi Sports 91-10351 14 204 Womansport 1-206-104-0103 11 Строка (кортеж) Столбец (атрибут) А.М. Гудов

  6. Терминология реляционной базы данных • Каждая строка данных в таблице однозначно идентифицируется главным ключом (PK). • С помощью внешних ключей (FK) можно логически связывать информацию из нескольких таблиц. Имя таблицы: S_CUSTOMER Имя таблицы: S_EMP SALES_ ID NAME PHONE REP_ID 201 Unisports 55-2066101 12 202 Simms Atheletics 81-20101 14 203 Delhi Sports 91-10351 14 204 Womansport 1-206-104-0103 11 ID LAST_NAME FIRST_NAME 10 Havel Marta 11 Magee Colin 12 Giljum Henry 14 Nguyen Mai Главный ключ Внешний ключ Главный ключ А.М. Гудов

  7. Свойствареляционнойбазы данных • Доступ к объектам базы данных и их изменение осуществляются с помощью команд языка SQL. • Содержит совокупность таблиц без физических указателей. • Используется набор операций. • Может быть изменена в оперативном (онлайновом) режиме. • Полная независимость данных. А.М. Гудов

  8. Объекты базы данных Объект Таблица ПредставлениеПоследоват. Индекс Синоним Программн.единица Описание Основная единица хранения данных, состоящая из строк и столбцов.Логическое представление подмножествданных из одной или нескольких таблиц. Генерирует значения первичного ключа. Ускоряет некоторые запросы. Альтернативное имя объекта. Процедура, функция или пакет команд SQL и PL/SQL.. А.М. Гудов

  9. Ограничения целостности данных • Сущности: • Ни одна часть первичного ключа не может иметь неопределенного значения (NULL). Значение должно быть определенным и уникальным. • Ссылки: • Значение внешнего ключа должно совпадать со значением первичного ключа или быть неопределенным (NULL). • Столбцы: • Значения столбца должны соответствовать заданному типу данных. • Пользовательские ограничения: • Значения должны соответствовать правилам бизнеса. А.М. Гудов

  10. Что такое Oracle? • Система управления реляционными базами данных фирмы Oracle называется сервером Oracle Server. • Oracle — это фирма, специализирующаяся на базах данных и предлагающая продукты и услуги в сфере информационных технологий. • Обозначенные области хранения данных • Быстрая выборка данных • Безопасность базы данных • Распределенные базы данных ицелостность в сетях • Конфигурации клиент-сервер А.М. Гудов

  11. Oracle: общая схема Сервер Пользовательскиетаблицы Словарь данных А.М. Гудов

  12. Oracle7 SQL, PL/SQL “Луковица“ Oracle Данные Операционная система Инструментарий Сервер Приложения А.М. Гудов

  13. SQL, SQL*Plus и PL/SQL • SQL: • Язык команд для взаимодействия с сервером Oracle. • SQL*Plus: • Инструмент Oracle, предназначенный для распознавания и выполнения команд SQL и PL/SQL. • PL/SQL: • Процедурный язык Oracle, дополняющий SQL логикой прикладной программы. А.М. Гудов

  14. Сервер Взаимодействие SQL и SQL*Plus SQL*Plus Буфер Скрипты SQL и PL/SQL А.М. Гудов

  15. Команды SQL • Выборка данных: • SELECT • Манипулирование данными (DML): • INSERT, UPDATE, DELETE • Определение данных (DDL): • CREATE, ALTER, DROP, RENAME, TRUNCATE • Управление транзакциями: • COMMIT, ROLLBACK, SAVEPOINT • Безопасность (DCL): • GRANT, REVOKE А.М. Гудов

  16. Команды SQL*Plus Основные категории команд SQL*Plus: • Управление средой. • Форматирование. • Манипулирование файлами. • Выполнение. • Редактирование. • Взаимодействие. • Прочие команды. А.М. Гудов

  17. Запуск SQL*Plus • Из среды Windows • Дважды щелкнуть мышью по пиктограмме. • Представить имя пользователя и пароль. • Из командной строки • sqlplus [username[/password]] А.М. Гудов

  18. Вывод структуры таблицы Команда SQL*Plus DESCRIBE выводит структуру таблицы (имена столбцов, столбцы NOT NULL и типы данных). SQL> DESCRIBE s_dept • Столбцы NOT NULL должны содержать данные. • Примеры типов данных и ширины столбцов • NUMBER (p,s) • VARCHAR2(s) • DATE • CHAR(s) А.М. Гудов

  19. Команды редактирования SQL*Plus • A[PPEND] text • C[HANGE] / old/ new • CL[EAR] BUFF[ER] • DEL • I[NPUT] text • L[IST] n • n text А.М. Гудов

  20. Команда SET PAUSE • Позволяет контролировать прокрутку изображения на терминале. После каждой паузы для получения следующего экрана необходимо нажать на RETURN. SET PAUSE {OFF|ON| text} А.М. Гудов

  21. Команды для работы с файлами • SAVE filename • GET filename • START filename • @ filename • EDIT filename • SPOOL filename • EXIT А.М. Гудов

  22. Команда COLUMN: синтаксис COL[UMN] [{column|alias}[option]] • CLE[AR] – сбрасывает любые форматы столбцов. • FOR[MAT] format – изменяет вывод столбца с помощью форматной модели. • HEA[DING] text – задает заголовок столбца. • JUS[TIFY] {align} – выравнивает заголовок столбца по левому краю, центру или правому краю. А.М. Гудов

  23. Команда COLUMN: примеры Создание заголовков столбцов COLUMN last_name HEADING 'Employee|Name' FORMAT A15 COLUMN salary JUSTIFY LEFT FORMAT $99,990.00 COLUMN start_date FORMAT A8 NULL 'Not hired' Вывод текущих установок для столбца LAST_NAME. COLUMN last_name Сброс установок для столбца LAST_NAME. COLUMN last_name CLEAR А.М. Гудов

  24. Форматные модели COLUMN • Столбцы с символьными данными и датами An Задает ширину столбца n для вывода. • Столбцы с числовыми данными 9 Один цифровой разряд. 0 Вставляет ведущий ноль. $ Плавающий знак доллара. L Местная валюта. . Место десятичной точки. , Разделитель тысяч. А.М. Гудов

  25. Структура блока PL/SQL CREATE OR REPLACE PROCEDURE del_inv (p_product_id NUMBER) IS v_product_id s_product.id%TYPE; BEGIN SELECT idINTO v_product_idFROM s_productWHERE id = p_product_id; DELETE FROM s_inventoryWHERE product_id = v_product_id; COMMIT; EXCEPTION WHEN OTHERS THEN ROLLBACK; INSERT INTO exception_table (message) VALUES ('Some error occurred in the database.'); COMMIT; END; А.М. Гудов

More Related