Системы управления
техническими данными
на предприятии
ЛАБОРАТОРНАЯ РАБОТА №2
Оператор языка DQL

автор: Авдеев Владимир Александрович

Copyright © Avdeyev V.A. 2008
Лабораторная работа №2
Цель работы:
Знакомство с языком SQL и приобретение практических
навыков при работе с оператором языка DQL
Содержание работы:
Создание типовой БД состоящей из 3-х таблиц. Для
выполнения команд языка SQL использовать функционал
PL/SQL Developer
Выполнение упражнений по использованию оператора
запроса данных SELECT

Лабораторная работа №2

Copyright © Avdeyev V.A. 2008
Краткая история языка SQL (1/2)
Язык SQL, предназначенный для взаимодействия с базами данных,
появился в середине 70-х гг. (первые публикации датируются 1974
г.) и был разработан в компании IBM в рамках проекта
экспериментальной реляционной СУБД System R. Исходное
название языка SEQUEL (Structured English Query Language).
Возможности языка:
средства определения и манипулирования схемой БД;
средства определения ограничений целостности и триггеров;
средства определения представлений БД;
средства определения структур физического уровня, поддерживающих

эффективное выполнение запросов;
средства авторизации доступа к отношениям и их полям;
средства определения точек сохранения транзакции, и выполнения
фиксации и откатов транзакций.
Лабораторная работа №2

Copyright © Avdeyev V.A. 2008
Краткая история языка SQL (2/2)
 1982 г. - стандартизации языка SQL

разработка спецификации стандартного языка реляционных баз данных поручена
комитету по базам данных Американского национального института стандартов
(ANSI)
 1985 г. - 1987 г.
спецификация одобрена Международной организацией по стандартизации (ISO) стандарт принято называть SQL/86.
 1989 г. стандарт SQL/86 был несколько расширен - ANSI/ISO SQL/89
 1992 г. - SQL/92
манипулирование схемой БД, управление транзакциями (появились точки сохранения) и
сессиями (сессия – это последовательность транзакций, в пределах которой
сохраняются временные отношения), подключения к БД
 1995 г. - SQL/CLI - набор спецификаций интерфейсов процедур
 1996 г. - SQL/PSM - способы определения и использования хранимых процедур
 1999 г. - SQL:1999 (SQL/Framework, SQL/Foundation)
 2003 г. - SQL:2003

Лабораторная работа №2

Copyright © Avdeyev V.A. 2008
Создание типовой базы данных (1/3)
Создайте таблицу «DEPARTMENT» со структурой

Лабораторная работа №2

Copyright © Avdeyev V.A. 2008
Создание типовой базы данных (2/3)
Создайте таблицу «EQUIPMENT» со структурой

Лабораторная работа №2

Copyright © Avdeyev V.A. 2008
Создание типовой базы данных (3/3)
Создайте таблицу «TP» со структурой

Лабораторная работа №2

Copyright © Avdeyev V.A. 2008
Именование таблиц и столбцов
Присваивая имена таблицам и столбцам, вы должны следовать
определенным правилам. Некоторые из них носят обязательный характер,
тогда как другие представляют собой рекомендации, помогающие придать
таблицам профессиональный вид.
Максимальная длина имени таблицы или столбца равна 30 символам.
Имена таблиц и столбцов могут содержать буквы, цифры и символ подчеркивания

(_);
Имена таблиц и столбцов должны начинаться с буквенного символа;
Символы верхнего и нижнего регистров в именах таблиц и столбцов считаются
одинаковыми;
Имя таблицы или столбца не должно содержать пробелы;
Каждая из таблиц должна иметь имя, отличное от имен других таблиц созданных
Вами;
Некоторые слова представляют собой команды и параметры СУБД, a следовательно,
не могут использоваться в качестве имен таблиц или столбцов.

Лабораторная работа №2

Copyright © Avdeyev V.A. 2008
Заполните таблиц тестовыми значениями (1/3)
Заполните таблицу «DEPARTMENT» тестовыми
значениями

Лабораторная работа №2

Copyright © Avdeyev V.A. 2008
Заполните таблиц тестовыми значениями (2/3)
Заполните таблицу «EQUIPMENT» тестовыми значениями

Лабораторная работа №2

Copyright © Avdeyev V.A. 2008
Заполните таблиц тестовыми значениями (3/3)
Заполните таблицу «TP» тестовыми значениями

Лабораторная работа №2

Copyright © Avdeyev V.A. 2008
Использование SQL для извлечения
информации из таблиц
Создание запроса
SQL означает "Структурированный Язык Запросов". Запросы —
вероятно, наиболее часто используемый аспект SQL

Что такое запрос?
Запрос — команда, которую вы даете вашей программе базы данных, и
которая сообщает ей, чтобы она вывела определенную информацию
из таблиц в память.

Где применяются запросы?
Все запросы в SQL состоят из одиночной команды. Структура этой
команды обманчиво проста, потому что вы должны расширять ее
так, чтобы выполнить высоко сложные оценки и обработки данных.
Эта команда называется — SELECT
Лабораторная работа №2

Copyright © Avdeyev V.A. 2008
Команда SELECT
Выводит на экран таблицу подразделений (Department)
SELECT DEP_DESC, DEP_NAME
SELECT DEP_NAME, DEP_DESC
SELECT * FROM Department
FROM Department
FROM Department
SELECT

Ключевое слово, которое сообщает базе данных, что
эта команда — запрос. Все запросы начинаются этим
словом, сопровождаемым пробелом

DEP_NAME,
DEP_DESC

Это — список столбцов из таблицы, которые
выбираются запросом. Любые столбцы, не
перечисленные здесь, не будут включены в вывод
команды

FROM
Department

Ключевое слово, подобно SELECT, которое должно
быть представлено в каждом запросе. Оно
сопровождается пробелом и затем именем таблицы
используемой в качестве источника информации

Лабораторная работа №2

Copyright © Avdeyev V.A. 2008
Удаление избыточных данных
DISTINCT (ОТЛИЧИЕ)
аргумент, который обеспечивает Вас способом устранять двойные
значения из вашего предложения SELECT

SELECT EQ_ID
FROM TP

Лабораторная работа №2

SELECT DISTINCT EQ_ID
FROM TP

Copyright © Avdeyev V.A. 2008
Квалифицированный выбор
WHERE
предложение команды SELECT, которое позволяет вам устанавливать
предикаты, условие которых может быть или верным или неверным
для любой строки таблицы. Команда извлекает только те строки из
таблицы, для которых такое утверждение верно

SELECT *
FROM TP
WHERE EQ_ID =‘Д87'

Лабораторная работа №2

Copyright © Avdeyev V.A. 2008
Упражнения
Напишите запрос, который вывел бы все строки из таблицы

«EQUIPMENT», для которых номер цеха равен 7.
Напишите запрос, который вывел бы таблицу
«DEPARTMENT» со столбцами в следующем порядке:
«DEP_NAME», «DEP_DESC» и «DEP_RATING».
Напишите запрос, который бы вывел «EQ_RATING»,
сопровождаемую моделью оборудования «EQ_MODEL» в
цехе номер 7.
Напишите запрос, который вывел бы без каких бы то ни
было повторений значения моделей и наименований
оборудования используемого в техпроцессе в таблице «TP».
Лабораторная работа №2

Copyright © Avdeyev V.A. 2008

лабораторная работа 2

  • 1.
    Системы управления техническими данными напредприятии ЛАБОРАТОРНАЯ РАБОТА №2 Оператор языка DQL автор: Авдеев Владимир Александрович Copyright © Avdeyev V.A. 2008
  • 2.
    Лабораторная работа №2 Цельработы: Знакомство с языком SQL и приобретение практических навыков при работе с оператором языка DQL Содержание работы: Создание типовой БД состоящей из 3-х таблиц. Для выполнения команд языка SQL использовать функционал PL/SQL Developer Выполнение упражнений по использованию оператора запроса данных SELECT Лабораторная работа №2 Copyright © Avdeyev V.A. 2008
  • 3.
    Краткая история языкаSQL (1/2) Язык SQL, предназначенный для взаимодействия с базами данных, появился в середине 70-х гг. (первые публикации датируются 1974 г.) и был разработан в компании IBM в рамках проекта экспериментальной реляционной СУБД System R. Исходное название языка SEQUEL (Structured English Query Language). Возможности языка: средства определения и манипулирования схемой БД; средства определения ограничений целостности и триггеров; средства определения представлений БД; средства определения структур физического уровня, поддерживающих эффективное выполнение запросов; средства авторизации доступа к отношениям и их полям; средства определения точек сохранения транзакции, и выполнения фиксации и откатов транзакций. Лабораторная работа №2 Copyright © Avdeyev V.A. 2008
  • 4.
    Краткая история языкаSQL (2/2)  1982 г. - стандартизации языка SQL разработка спецификации стандартного языка реляционных баз данных поручена комитету по базам данных Американского национального института стандартов (ANSI)  1985 г. - 1987 г. спецификация одобрена Международной организацией по стандартизации (ISO) стандарт принято называть SQL/86.  1989 г. стандарт SQL/86 был несколько расширен - ANSI/ISO SQL/89  1992 г. - SQL/92 манипулирование схемой БД, управление транзакциями (появились точки сохранения) и сессиями (сессия – это последовательность транзакций, в пределах которой сохраняются временные отношения), подключения к БД  1995 г. - SQL/CLI - набор спецификаций интерфейсов процедур  1996 г. - SQL/PSM - способы определения и использования хранимых процедур  1999 г. - SQL:1999 (SQL/Framework, SQL/Foundation)  2003 г. - SQL:2003 Лабораторная работа №2 Copyright © Avdeyev V.A. 2008
  • 5.
    Создание типовой базыданных (1/3) Создайте таблицу «DEPARTMENT» со структурой Лабораторная работа №2 Copyright © Avdeyev V.A. 2008
  • 6.
    Создание типовой базыданных (2/3) Создайте таблицу «EQUIPMENT» со структурой Лабораторная работа №2 Copyright © Avdeyev V.A. 2008
  • 7.
    Создание типовой базыданных (3/3) Создайте таблицу «TP» со структурой Лабораторная работа №2 Copyright © Avdeyev V.A. 2008
  • 8.
    Именование таблиц истолбцов Присваивая имена таблицам и столбцам, вы должны следовать определенным правилам. Некоторые из них носят обязательный характер, тогда как другие представляют собой рекомендации, помогающие придать таблицам профессиональный вид. Максимальная длина имени таблицы или столбца равна 30 символам. Имена таблиц и столбцов могут содержать буквы, цифры и символ подчеркивания (_); Имена таблиц и столбцов должны начинаться с буквенного символа; Символы верхнего и нижнего регистров в именах таблиц и столбцов считаются одинаковыми; Имя таблицы или столбца не должно содержать пробелы; Каждая из таблиц должна иметь имя, отличное от имен других таблиц созданных Вами; Некоторые слова представляют собой команды и параметры СУБД, a следовательно, не могут использоваться в качестве имен таблиц или столбцов. Лабораторная работа №2 Copyright © Avdeyev V.A. 2008
  • 9.
    Заполните таблиц тестовымизначениями (1/3) Заполните таблицу «DEPARTMENT» тестовыми значениями Лабораторная работа №2 Copyright © Avdeyev V.A. 2008
  • 10.
    Заполните таблиц тестовымизначениями (2/3) Заполните таблицу «EQUIPMENT» тестовыми значениями Лабораторная работа №2 Copyright © Avdeyev V.A. 2008
  • 11.
    Заполните таблиц тестовымизначениями (3/3) Заполните таблицу «TP» тестовыми значениями Лабораторная работа №2 Copyright © Avdeyev V.A. 2008
  • 12.
    Использование SQL дляизвлечения информации из таблиц Создание запроса SQL означает "Структурированный Язык Запросов". Запросы — вероятно, наиболее часто используемый аспект SQL Что такое запрос? Запрос — команда, которую вы даете вашей программе базы данных, и которая сообщает ей, чтобы она вывела определенную информацию из таблиц в память. Где применяются запросы? Все запросы в SQL состоят из одиночной команды. Структура этой команды обманчиво проста, потому что вы должны расширять ее так, чтобы выполнить высоко сложные оценки и обработки данных. Эта команда называется — SELECT Лабораторная работа №2 Copyright © Avdeyev V.A. 2008
  • 13.
    Команда SELECT Выводит наэкран таблицу подразделений (Department) SELECT DEP_DESC, DEP_NAME SELECT DEP_NAME, DEP_DESC SELECT * FROM Department FROM Department FROM Department SELECT Ключевое слово, которое сообщает базе данных, что эта команда — запрос. Все запросы начинаются этим словом, сопровождаемым пробелом DEP_NAME, DEP_DESC Это — список столбцов из таблицы, которые выбираются запросом. Любые столбцы, не перечисленные здесь, не будут включены в вывод команды FROM Department Ключевое слово, подобно SELECT, которое должно быть представлено в каждом запросе. Оно сопровождается пробелом и затем именем таблицы используемой в качестве источника информации Лабораторная работа №2 Copyright © Avdeyev V.A. 2008
  • 14.
    Удаление избыточных данных DISTINCT(ОТЛИЧИЕ) аргумент, который обеспечивает Вас способом устранять двойные значения из вашего предложения SELECT SELECT EQ_ID FROM TP Лабораторная работа №2 SELECT DISTINCT EQ_ID FROM TP Copyright © Avdeyev V.A. 2008
  • 15.
    Квалифицированный выбор WHERE предложение командыSELECT, которое позволяет вам устанавливать предикаты, условие которых может быть или верным или неверным для любой строки таблицы. Команда извлекает только те строки из таблицы, для которых такое утверждение верно SELECT * FROM TP WHERE EQ_ID =‘Д87' Лабораторная работа №2 Copyright © Avdeyev V.A. 2008
  • 16.
    Упражнения Напишите запрос, которыйвывел бы все строки из таблицы «EQUIPMENT», для которых номер цеха равен 7. Напишите запрос, который вывел бы таблицу «DEPARTMENT» со столбцами в следующем порядке: «DEP_NAME», «DEP_DESC» и «DEP_RATING». Напишите запрос, который бы вывел «EQ_RATING», сопровождаемую моделью оборудования «EQ_MODEL» в цехе номер 7. Напишите запрос, который вывел бы без каких бы то ни было повторений значения моделей и наименований оборудования используемого в техпроцессе в таблице «TP». Лабораторная работа №2 Copyright © Avdeyev V.A. 2008