Работа с базами данных
<<  Мероприятия в очаге холеры схема Серия select  >>
Проектная организация
Проектная организация
Картинки из презентации «Команда select» к уроку информатики на тему «Работа с базами данных»

Автор: karpov. Чтобы познакомиться с картинкой полного размера, нажмите на её эскиз. Чтобы можно было использовать все картинки для урока информатики, скачайте бесплатно презентацию «Команда select.ppt» со всеми картинками в zip-архиве размером 269 КБ.

Команда select

содержание презентации «Команда select.ppt»
Сл Текст Сл Текст
1Базы данных. Язык запросов SQL. 12на основе команды SELECT. Представление
Команда SELECT. Дополнительные реально не содержит данных. Запрос,
возможности. определяющий представление, выполняется
2Самосоединение. В команде SELECT можно тогда, когда к представлению происходит
обратиться к одной и той же таблице обращение с другим запросом, например,
несколько раз. При этом для каждой таблицы SELECT, UPDATE и т.д. Назначение
необходимо задать свой алиас, чтобы можно представлений: Хранение сложных запросов.
было обращаться к полям этих таблиц. Представление данных в виде, удобном
Система будет выполнять такой запрос на пользователю. Сокрытие конфиденциальной
основе декартова произведения таблиц, информации. Предоставление
поэтому необходимо указывать условие дифференцированного доступа к данным.
соединения. А для того чтобы исключить Создание представления выполняется
соединение записи таблицы с самой собой в командой CREATE VIEW: CREATE [ OR REPLACE
запросе на самосоединение необходимо также ] VIEW <имя представления> [
указывать условие типа "не (<список имён столбцов>) ] AS
равно" (<>, >, <). Пример <запрос> [ WITH CHECK OPTION ];
использования самосоединения: Вывести Запрос (команда SELECT), на основании
список детей сотрудников, у которых есть которого создаётся представление,
младшие братья или сёстры: SELECT e.name, называется определяющим запросом, а
c1.name AS child1, c1.born AS born1, таблицы, к которым происходит обращение в
c2.name AS child2, c2.born AS born2 FROM определяющем запросе – базовыми таблицами.
children c1, children c2, emp e WHERE Определяющий запрос по стандарту SQL не
c1.tabno=e.tabno -- первое условие может включать предложение ORDER BY.
соединения AND c1.tabno=c2.tabno -- второе 13Представления: пример. Создать
условие соединения AND c1.born<c2.born представление "Сотрудники с
-- условие исключения ORDER BY 1, 3; детьми" (для удобного представления
3Результат самосоединения. NAME. данных о детях сотрудников): CREATE VIEW
CHILD1. BORN1. CHILD2. BORN2. Малова Л.А. emp_child(depno, name, child, sex, born)
Илья. 19.02.1987. Анна. 26.12.1989. Серова AS SELECT e.depno, e.name, c.name, c.sex,
Т.В. Роман. 21.11.2006. Инна. 25.01.2008. c.born FROM emp e, children c WHERE
Серова Т.В. Роман. 21.11.2006. Антон. e.tabno = c.tabno; SELECT * FROM
06.03.2009. Серова Т.В. Инна. 25.01.2008. emp_child; DEPNO. NAME. CHILD. SEX. BORN.
Антон. 06.03.2009. TabNo. Name. Born. Sex. 2. Буров Г.О. Ольга. Ж. 18.07.2001. 2.
988. Вадим. 03.05.1995. М. 110. Ольга. Малова Л.А. Илья. М. 19.02.1987. 2. Малова
18.07.2001. Ж. 023. Илья. 19.02.1987. М. Л.А. Анна. Ж. 26.12.1989. … … … … … 1.
023. Анна. 26.12.1989. Ж. 909. Инна. Серова Т.В. Антон. М. 06.03.2009.
25.01.2008. Ж. 909. Роман. 21.11.2006. М. 14Представления: пример. Создать
909. Антон. 06.03.2009. М. представление "Сотрудники 2-го
4Подзапросы. Подзапрос – это запрос отдела" (для предоставления полного
SELECT, расположенный внутри другой доступа к данным о сотрудниках 2-го отдела
команды. Подзапросы можно разделить на начальнику этого отдела): CREATE VIEW emp2
следующие группы в зависимости от AS SELECT * FROM emp WHERE depno = 2;
возвращаемых результатов: скалярные – SELECT * FROM emp2; TABNO. DEPNO. NAME.
запросы, возвращающие единственное POST. SALARY. BORN. PHONE. 110. 2. Буров
значение (начинаются с немодифицированного Г.О. Бухгалтер. 42880. 22.05.75.
оператора сравнения); векторные – запросы, 115-46-32. 100. 2. Волков Л.Д.
возвращающие от 0 до нескольких элементов Программист. 46500. 16.10.82. 130. 2.
(начинаются с оператора IN или Лукина Н.Н. Бухгалтер. 42880. 12.07.79.
модифицированного оператора сравнения); 115-46-32. 023. 2. Малова Л.А. Гл.
табличные – запросы, возвращающие таблицу Бухгалтер. 59240. 24.11.54. 114-24-55.
(обычно, запросы на существование, 15Представления: примеры. Создать
начинаются с оператора EXISTS). Подзапросы представление "Сотрудники" (без
бывают: некоррелированные – не содержат данных о зарплате, для сокрытия
ссылки на запрос верхнего уровня; конфиденциальной информации): CREATE VIEW
вычисляются один раз для запроса верхнего employees AS SELECT tabno, depno, name,
уровня; коррелированные – содержат post, born, phone FROM emp; Создать
условия, зависящие от значений полей в представление "Статистика по
основном запросе; вычисляются для каждой проектам" (для хранения сложных
строки запроса верхнего уровня. запросов): название проекта, ФИО
5Пример БД: проектная организация. руководителя, количество исполнителей,
Departs – отделы, project – проекты, emp – количество консультантов. CREATE VIEW
сотрудники, job – участие в проектах. pro_stat AS SELECT title, e.name, (select
6Данные таблицы Emp (сотрудники). count(*) from job j where j.pro=p.pro and
TabNo. DepNo. Name. Post. Salary. Born. rel='исполнитель') jobs, (select count(*)
Phone. 988. 1. Рюмин В.П. Начальник from job j where j.pro=p.pro and
отдела. 48500.0. 01.02.1970. 115-26-12. rel='консультант') consult FROM emp e,
909. 1. Серова Т.В. Вед. Программист. project p, job j where e.tabno=j.tabno and
48500.0. 20.10.1981. 115-91-19. 829. 1. j.pro=p.pro and j.rel='руководитель';
Дурова А.В. Экономист. 43500.0. 16Обновляемые представления.
03.10.1978. 115-26-12. 819. 1. Тамм Л.В. Представление может быть обновляемым и не
Экономист. 43500.0. 13.11.1985. 115-91-19. обновляемым. Обновляемым является
100. 2. Волков Л.Д. Программист. 46500.0. представление, при обращении к которому
16.10.1982. null. 110. 2. Буров Г.О. можно обновить базовую таблицу. Пример
Бухгалтер. 42880.0. 22.05.1975. 115-46-32. обновления базовой таблицы emp через
023. 2. Малова Л.А. Гл. Бухгалтер. представление emp2: UPDATE emp2 SET salary
59240.0. 24.11.1954. 114-24-55. 130. 2. = 48000 WHERE tabno = '100'; Изменения
Лукина Н.Н. Бухгалтер. 42880.0. будут произведены в базовой таблице и
12.07.1979. 115-46-32. 034. 3. Перова К.В. отразятся в представлении. SELECT * FROM
Делопроизводитель. 32000.0. 24.04.1988. emp2; TABNO. DEPNO. NAME. POST. SALARY.
null. 002. 3. Сухова К.А. Начальник BORN. PHONE. 110. 2. Буров Г.О. Бухгалтер.
отдела. 48500.0. 08.06.1948. 115-12-69. 42880. 22.05.75. 115-46-32. 100. 2. Волков
056. 5. Павлов А.А. Директор. 80000.0. Л.Д. Программист. 48000. 16.10.82. 130. 2.
05.05.1968. 115-33-44. 087. 5. Котова И.М. Лукина Н.Н. Бухгалтер. 42880. 12.07.79.
Секретарь. 35000.0. 16.09.1990. 115-33-65. 115-46-32. 023. 2. Малова Л.А. Гл.
088. 5. Кроль А.П. Зам.Директора. 70000.0. Бухгалтер. 59240. 24.11.54. 114-24-55.
18.04.1974. 115-33-01. 17Обновляемые представления. Вносимые
7Расположение подзапросов в командах изменения могут выйти за рамки
DML. В команде INSERT: Вместо VALUES, определяющего запроса и поэтому не будут
например, добавление данных из одной видны через представление. Если необходимо
таблицы в другую: insert into emp select * защитить данные от такого вмешательства,
from new_emp; В команде UPDATE: в части то нужно в команде создания представления
WHERE для вычисления условий, например, указать ключевые слова WITH CHECK OPTION:
повышение зарплаты на 10% всем участникам тогда система отвергнет изменения,
проектов: update emp set salary = выходящие за рамки определяющего запроса.
salary*1.1 where tabNo IN (select tabNo По стандарту SQL-2 представление не
from job); в части SET для вычисления является обновляемым, если определяющий
значений полей, например, повышение запрос: содержит ключевое слово DISTINCT;
зарплаты на 10% за каждое участие содержит множественные операции (UNION и
сотрудника в проекте: update emp e set др.); содержит предложение GROUP BY;
salary = salary*(1+(select count(*)/10 ссылается на другое необновляемое
from job j where j.tabNo = e.tabNo) ); В представление; содержит вычисляемые
команде DELETE: в части WHERE для выражения в списке выбора; выбирает данные
вычисления условий, например, удаление более чем из одной таблицы.
сведений об участии в закончившихся 18Оператор CASE. Оператор CASE может
проектах: delete from job where pro IN быть использован в одной из двух
(select pro from project where dend < синтаксических форм записи: 1-я форма:
sysdate); CASE <проверяемое выражение> WHEN
8Расположение подзапросов в команде <сравниваемое выражение 1> THEN
select. Чаще всего подзапрос располагается <возвращаемое значение 1> … WHEN
в части WHERE. Пример 1. Вывести список <сравниваемое выражение N> THEN
сотрудников, у которых зарплата выше, чем <возвращаемое значение N> [ELSE
средняя по предприятию: select * from emp <возвращаемое значение>] END 2-я
where salary > (select avg(salary) from форма: CASE WHEN <предикат 1> THEN
emp); Пример 2. Вывести список <возвращаемое значение 1> … WHEN
сотрудников, у которых зарплата выше, чем <предикат N> THEN <возвращаемое
средняя по каждому отделу предприятия: значение N> [ELSE <возвращаемое
select * from emp where salary > ALL значение>] END.
(select avg(salary) from emp group by 19Особенности использования CASE. Все
depno); DEPNO. NAME. POST. SALARY. 2. предложения WHEN должны иметь одинаковую
Малова Л.А. Гл. Бухгалтер. 59240. 5. синтаксическую форму, то есть нельзя
Павлов А.А. Директор. 80000. 5. Кроль А.П. смешивать первую и вторую формы. При
Зам. Директора. 70000. использовании первой синтаксической формы
9Примеры использования подзапросов в условие WHEN удовлетворяется, как только
части WHERE. Выдать список сотрудников, значение проверяемого выражения станет
имеющих детей: а) с помощью операции равным значению выражения, указанного в
соединения таблиц: SELECT e.* FROM emp e, предложении WHEN. При использовании второй
children c WHERE e.tabno=c.tabno; б) с синтаксической формы условие WHEN
помощью некоррелированного векторного удовлетворяется, как только предикат
подзапроса: SELECT * FROM emp WHERE tabno принимает значение TRUE. При
IN (SELECT tabno FROM children); в) с удовлетворении условия оператор CASE
помощью коррелированного табличного возвращает значение, указанное в
подзапроса: SELECT * FROM emp e WHERE соответствующем предложении THEN. Если ни
EXISTS (SELECT * FROM children c WHERE одно из условий WHEN не выполнилось, то
e.tabno=c.tabno); будет использовано значение, указанное в
10Расположение подзапросов в команде предложении ELSE. При отсутствии ELSE,
select. Подзапрос в части FROM. Например, будет возвращено NULL-значение. Если
выведем список сотрудников, у которых удовлетворены несколько условий, то будет
зарплата выше, чем средняя в отделе, в возвращено значение предложения THEN
котором работает данный сотрудник, через первого из них, так как остальные просто
коррелированный подзапрос: select * from не будут проверяться.
emp e where salary > (select 20Примеры использования оператора CASE.
avg(salary) from emp m where m.depno = 1) Посчитать количество студентов дневной
e.depno); Это работает долго, т.к. и вечерней формы обучения: create view
коррелированный подзапрос вычисляется для students_number
каждой строки основного запроса. Можно (DEPARTMENT,YEAR,DAY_FORM,EVENING_FORM) as
ускорить выполнение данного запроса: select gr.department, gr.year, count(case
select * from emp e, (select depno, when gr.study='ДНЕВНАЯ' then 1 else null
avg(salary) sal from emp group by depno) m end) form1, count(case when
-- подзапрос вычисляется 1 раз where gr.study='ВЕЧЕРНЯЯ' then 1 else null end)
m.depno = e.depno and salary > sal; form2 from groups gr, students st where
11Расположение подзапросов в команде gr.group_code = st.group_code group by
select. Подзапрос в части HAVING. gr.department, gr.year, gr.study order by
Например, выведем список отделов, в gr.department, gr.year asc;
которых средняя зарплата ниже, чем средняя 21Примеры использования оператора CASE.
по предприятию: select depno, avg(salary) SELECT DISTINCT model, price, CASE price
sal from emp group by depno having WHEN (SELECT MAX(price) FROM PC) THEN
avg(salary) < (select avg(salary) from 'Самый дорогой' WHEN (SELECT MIN(price)
emp); Подзапрос в части SELECT. Например, FROM PC) THEN 'Самый дешевый' ELSE
выведем список сотрудников с указанием 'Средняя цена' END comment FROM PC ORDER
количества проектов, в которых они BY price; 2) Вывести все имеющиеся модели
участвуют: select depno, name, (select ПК с указанием цены. Отметить самые
count(*) from job j where j.tabno = дорогие и самые дешевые модели. model.
e.tabno) cnt from emp e; Этот запрос price. comment. 1232. 350.0. Самый
выведет даже тех сотрудников, которые не дешевый. 1260. 350.0. Самый дешевый. 1232.
участвуют в проектах (для них cnt будет 400.0. Средняя цена. 1232. 600.0. Средняя
равен 0). цена. 1233. 600.0. Средняя цена. 1121.
12Представления. Представление (view, 850.0. Средняя цена. 1233. 950.0. Средняя
обзор) – это хранимый запрос, создаваемый цена. 1233. 980.0. Самый дорогой.
Команда select.ppt
http://900igr.net/kartinka/informatika/komanda-select-58862.html
cсылка на страницу

Команда select

другие презентации на тему «Команда select»

«Язык запросов SQL» - Агрегирующие функции. Пересечение отношений. Группировка данных: предложение GROUP BY. Список сотрудников с указанием количества проектов. Разносхемные операции РА. Группировка по нескольким полям. Форматирование результатов. Примеры использования GROUP BY. Использование фразы HAVING. Базы данных. Операция объединения.

«Запросы к данным» - Регистрация пользователя. Фамилия. Запрос на обновление. Управление транзакциями. Файл журнала. Специальные запросы. Запросы манипулирования данными. Управление доступом к данным. Запрос на создание новой таблицы. Запрос на объединение. Запрос на добавление. Перекрестная таблица. Select. Creat user.

«Резервное копирование базы данных» - Наиболее предпочтительный способ резервирования документов. Вначале создание тени, потом, простое копирование и создание бекапа. Данный способ не рекомендуется использовать при подключенных пользователях. Создание тени. Можно создавать не ограниченное количество файлов тени. Рассмотрим системы резервирования в обратном порядке.

«Управление базами данными» - Производители СУБД. Этапы проектирования БД. Структура реляционной таблицы. Значения. Vbase. Диалоговое окно. Ввод данных. Примеры настольных БД. Способы создания пустой таблицы. Oracle 8. Мастер анализа таблиц. Маркер записи. Этапы проектирования. Работа с таблицами. Объектно-реляционные СУБД. Язык запросов.

«Большие объекты» - Организация памяти. Современные СУБД. Операции с полями большого размера. Физическое представление объекта. Создание поля большого размера. Удалить N байт. Двухуровневое разбиение. Вставка. Удаление. Выделение места. Упражнения. Добавление в конец. Запись. Рисунок. Система ‘близнецов’ . Поля большого размера.

«Практические работы по базам данных» - Практическая работа №2 Создание и модификация макета таблицы. Указать имена полей, участвующие в формировании запроса. Конструктор запросов. Сформировать условие отбора. Основные понятия баз данных. 3. Системы управления базами данных. Типы данных. Практические работы. . 1. Понятие и классификация информационных систем. 2. Способы организации данных.

Работа с базами данных

11 презентаций о работе с базами данных
Урок

Информатика

130 тем
Картинки