
- •Базы данных. Сетевая модель.
- •Реляционная модель.
- •Функции над подмножествами.
- •Декартовое произведение множеств.
- •О тношение порядка
- •Функциональное
- •Отношение в степени 3
- •Транзитивное замыкание отношений.
- •Лекция №3 Базовые понятия реляционной модели данных. Общая характеристика рбд.
- •Отношение атрибуты и кортежи отношений
- •Реляционная алгебра
- •Отношения совместимые по типу.
- •Специальные реляционные операторы. Выборка селекция или ограничение.
- •Оператор Проекция.
- •Соединение.
- •Операция деления.
- •Зависимые реляционные операторы.
- •Запросы выразимые средствами реляционных алгебр. Целостность реляционных данных.
- •Парадоксы:
- •Потенциальные ключи.
- •Замечания:
- •Операции нарушающие целостность по ссылкам.
- •Реляционный способ доступа к данным. Основные сведения о языке sql. Выборка данных:
- •Логические операторы
- •Операторы объединения
- •Упорядочение данных.
- •Продажи данных. Группировка данных
- •Выборка данных их нескольких таблиц
- •Группировка
- •Подзапросы
Реляционный способ доступа к данным. Основные сведения о языке sql. Выборка данных:
Select {*|all|distinct поле1, поле2,…полеN}
*-выводит все поля которые мы укажем
Distinсt-выводит все значения без повторений
From-
From тфблица1{,таблица2,…, таблица N}
Задание условий при выборке данных:
SELECT {*|ALL|DISTINCT поле1, поле2,…,полеN}
From таблица1{таблица2,…,таблица N}
Where условие
Операторы сравнения(=,<>,<,>,<=,>=)
Например: выбрать все записи из таблицы Товары, категория которых равна 2. Отобразить все поля этой таблицы.
SELECT*
FROM товары
WHERE категория=2
Логические операторы
Оператор IS NULL
Вывести ФИО, телефон, город, адрес из таблицы Клиенты тех клиентов, которые не являются предприятиями.
SELECT Фамилия, Имя, Отчество, Телефон, Город, Адрес
From клиенты
Where предприятия IS Null
Оператор Between…and.
Например:
Выбрать все записи из таблицы Товары, Цена которых более 199, но меньше 2001. Отобразить все поля этой таблицы.
SELECT*
From товары
Where цена BETWEEN 200 and 2000
Оператор IN
Например: вывести клиентов из беларуси или украины( только ФИО и Страну)
SELECT Фамилия, Имя, отчество, страна
From клиенты
Where(страна IN(‘Беларусь’, ‘Украина’)
Оператор like
‘%’-заменяет последовательность символов
‘_’-заменяет единичный символ
Например: вывести клиентов фамилия которых начинается с буквы М(тока ФИО и телефон)
Select фамилия, имя, отчество, телефон
From клиенты
Where фамилия like ‘M%’
Оператор Exists
Из таблицы товары вывести Наименование и цену тех товаров, количество продаж которых превышает 10(количество продаж отображается в таблице Продажи, которая связана с табл.Товары по коду товара)
Select Товары
From товары
Where exist (select [код товара]
From продажи
Where (продажи продано>10) and (Товары.[код товара]=продажи.[код товара]))
Оператор all
Например: из таблицы Товары выбрать товары которые имеют цену большую чем цена всех товаров, проданных в количестве более 10.
SELECT*
FROM товары
WHERE Цена>all(select продажи.цена
From продажи
WHERE продажи.продано>10)
Операторы объединения
Оператор and
Например: выбрать все записи из таблицы товары, цена которых>50, но <1000. Отобразить все поля этой таблицы.
Select*
From товары
Where (цена>50) and (цена <1000)
Оператор or
Например: выбрать все записи из таблицы Товары, цена которых меньше 50 или больше 1000. Отбразить все поля этой таблицы.
Select*
From товары
Where (цена<50)or(цена>1000)
Оператор отрицания not
Например: вывести всех клиентов, кроме тех, которые из беларуси или украины(только ФИО и СТРАНУ).
Select фамилия, Имя, отчество, Страна
From клиенты
Where (страна not in (‘Беларусь’, ’Украина’))
Упорядочение данных.
Order by
Select {*|all|distruct поле1, поле2,…,полеN}
From таблица1{,таблица2,…,таблицаN}
Where условие
Order by поле{asc|desc}
Например: сортировать записи таблицы товары по алфавиту поля
Наименование(вывести только поля категория, цена, наименование)
Select наименование, категория, цена
From товары
Order by наименование или
Сортировать все записи таблицы товары по убыванию цены(вывести только поля категория, цена, наименование)
Select наименование, категория, цена
From товары
Order by цена desc
Использование вычисляемых полей
Select {*|all|district поле1,поле2,…,полеN, выражение1,…,выражениеN}
From таблица1{,таблица2,…,таблицаN}
Where условие
Например подсчитать и вывести стоимость заказанного товара, стоимость проданного товара, и стоимость товара, заказанного, но ещё не проданного.
Select[код товара], цена,заказано,продано,цена*продано, цена*заказанно,цена *заказанно-цена*проданно
Математические функции
Abs-модуль
Round-округление
SQR-корень
EXP-экспонента
Log-логарифм
Sin, cjs,tan-тригонометрические функции
IIF-логическая функция
Псевдонимы полей
Select{*|all|district поле1,…,полеN, выражение1 as псевдоним 1,…,ВыражениеN as псевдоним N}
From таблица1{,таблица2,…,таблица N}
Where условие
Например: подсчитать и вывести стоимость проданного товара. Вычисляемое поле назвать сума продажи.
Select[код товара], цена, заказанно, проданно, цена*продано as[сумма продажи]
From продажи
Функции агрегирования.
Count-подсчёт записей в таблице
Min-возвращает минимальное значение в столбце
Max-возвращает максимальное значение в стобце
Sum- возвращает сумму содержащийся в столбце значений
Avg-вычисляет среднее значение для содержащихся в столбце значений.
Например: подсчитать и вывести стоимость заказанного товара, стоимость проданного товара и стоимость товара, заказанного но ещё не проданного.
Select count (продано) as [Всего записей], min(продано)as min, max (продано) as max, sum (продано)as [всего продано
From продажи