- •1.Понятие базы данных
- •2. Предметная область информационной системы
- •3. Назначение и основные компоненты системы баз данных
- •4. Уровни представления баз данных
- •5. Понятие модели данных
- •6. Типы структур данных
- •7. Операции над данными
- •8. Ограничения целостности
- •9. Сетевая модель данных (смд)
- •10. Иерархическая модель данных (имд)
- •11. Реляционная модель данных (рмд)
- •12. Понятие отношения
- •13. Схема отношения
- •14. Достоинства и недостатки рмд
- •15. Операции реляционной алгебры. Язык манипулирования данными для реляционной модели
- •16. Другие модели данных
- •17. Объектно-реляционные модели данных
- •18. Объектно-ориентированные модели данных
- •19 Обзор современных систем управления базами данных (субд)
- •20 Классификация субд
- •21 Правила Кодда для реляционной субд (рсубд)
- •22 Основные функции реляционной субд
- •24 Типы данных sql.
- •Типы данных sql с плавающей точкой (дробные числа) и целые числа
- •Типы данных sql – Дата и время
- •25 Sql: создание и модификация базы данных.
- •26 Sql: Выборка данных. Поиск
- •27 Sql: Выборка из нескольких таблиц.
- •28 Sql:Агрегатные функции.
- •29 Sql: Подзапросы.
- •30 Sql: Представления.
- •31 Sql: Операторы модификации данных.
- •32 Кластеризация данных
- •33 Требования к проекту базы данных
- •34 Этапы проектирования базы данных
- •1. Предварительный анализ по.
- •2. Рассмотрение и принятие результатов анализа.
- •7. Согласование стандартов проектирования, в частности:
- •35 Инфологическое проектирование
- •1. Функциональный подход к проектированию бд.
- •2. Предметный подход к проектированию бд.
- •36 Проектирование с использованием метода "сущность-связь"
- •37 Определение требований к операционной обстановке
- •37 Выбор субд и инструментальных программных средств
- •39 Логическое проектирование бд
- •40 Физическое проектирование бд
- •41 Проектирование реляционной базы данных
- •42 Аномалии модификации данных
- •43 Нормализация и декомпозиция отношений
- •44 Первая нормальная форма (1нф).
- •45 Функциональные зависимости. Вторая нормальная форма (2нф).
- •46 Транзитивные зависимости. Третья нормальная форма (3нф).
- •47 Механизмы среды хранения и архитектура субд
- •48 Структура хранимых данных
- •49 Управление пространством памяти и размещением данных
- •50 Виды адресации хранимых записей
- •51 Способы размещения данных и доступа к данным в рбд
- •52 Способы доступа к данным
- •53 Индексирование данных. Индексированные файлы
- •54 Способы организации индексов
- •55 Многоуровневые индексы на основе в-дерева
- •56 Хеширование. Хешированные файлы
- •57 Методы хеширования
- •58 Разрешение коллизий
26 Sql: Выборка данных. Поиск
Оператор SELECT (ВЫБРАТЬ) языка SQL предназначен для выборки информации из таблиц базы данных. Синтаксис оператора SELECT выглядит следующим образом.
SELECT [DISTINCT] <список атрибутов>
from <список таблиц> [where <условие выборки>]
[ORDER BY <список атрибутов>]
[group by <список атрибутов>]
[having <условие>]
[union <выражение с оператором select>] ;
Получить сведения о студентах, не имеющих ни одной экзаменационной оценки, равной 4 и 5.
SELECT *
FROM EXAM_MARKS WHERE MARK NOT IN (4, 5);
ПОИСК.
Оператор LIKE применим только к символьным полям типа CHAR или VARCHAR. Этот оператор осуществляет просмотр строковых значений полей с целью определения, входит ли заданная в операторе LIKE подстрока (образец поиска) в символьную строку, являющуюся значением проверяемого поля.
Для того, чтобы осуществлять выборку строковых значений по заданному образцу подстроки, можно применять шаблон искомого образца строки, использующий следующие символы:
• символ подчеркивания "_", указанный в шаблоне образца, определяет возможность наличия в указанном месте одного любого символа,
• символ "%" допускает присутствие в указанном месте проверяемой строки последовательности любых символов произвольной длины.
Написать запрос, выбирающий из таблицы STUDENT сведения о студентах, у которых фамилии начинаются на букву "Р".
SELECT *
FROM STUDENT
WHERE SURNAME LIKE 'P%';
27 Sql: Выборка из нескольких таблиц.
SQL позволяет выводить информацию из нескольких таблиц, связывая их по значениям определенных полей.
Например, если необходимо получить фамилии студентов (таблица STUDENT) и для каждого студента - названия университетов (таблица UNIVERSITY), расположенных в городе, где живет студент, то необходимо получить все комбинации записей о студентах и университетах в обеих таблицах, в которых значение поля CITY совпадает. Это можно сделать с помощью следующего запроса.
SELECT STUDENT. SURNAME, UNIVERSITY.UNIV_NAME, STUDENT.CITY FROM STUDENT, UNIVERS ITY WHERE STUDENT.CITY= UNIVERSITY.CITY;
Приведенный выше запрос может быть записан иначе, с использованием ключевого слова JOIN.
SELECT STUDENT. SURNAME, UNIVERS ITY.UNIV_NAME, STUDENT.CITY FROM STUDENT INNER JOIN UNIVERSITY
ON STUDENT.CITY= UNIVERSITY.CITY;
запрос
SELECT * FROM STUDENT JOIN UNIVERSITY;
эквивалентен запросу
SELECT * FROM STUDENT, UNIVERSITY;
28 Sql:Агрегатные функции.
Агрегирующие функции позволяют получать из таблицы сводную (агрегированную) информацию, выполняя операции над группой строк таблицы
• COUNT определяет количество строк или значений поля, выбранных посредством запроса, и не являющихся NULL-значениями;
• SUM - вычисляет арифметическую сумму всех выбранных значений данного поля;
• AVG вычисляет среднее значение для всех выбранных значений данного поля;
• МАХ вычисляет наибольшее из всех выбранных значений данного поля;
• MIN вычисляет наименьшее из всех выбранных значений данного поля.
Предположим, требуется найти максимальное значение оценки, полученной каждым студентом. Запрос будет выглядеть следующим образом:
SELECT STUDENT_ID, MAX (MARK) FROM EXAM_MARKS GROUP BY STUDENT_ID;
Если команды модификации могут выполняться в представлении, то представление является обновляемым (модифицируемым); в противном случае оно предназначено только для чтения при запросе. Критерии обновляемости представления можно сформулировать следующим образом.
• Представление строится на основе одной и только одной базовой таблицы.
• Представление должно содержать первичный ключ базовой таблицы.
• Представление не должно иметь никаких полей, которые представляют собой агрегирующие функции.
• Представление не должно содержать DISTINCT в своем определении.
• Представление не должно использовать GROUP BY или HAVING в своем определении.
• Представление не должно использовать подзапросы.
• Представление может быть использовано в другом представлении, но это представление должно быть также модифицируемыми.
• Представление не должно использовать в качестве полей вывода константы или выражения значений.