- •Понятие бд, субд.
- •Эволюция развития баз данных.
- •Модели данных. Реляционная модель данных.
- •Модели данных. Иерархическая модель данных.
- •Модели данных. Сетевая модель данных.
- •Модели данных. Объектно—ориентированная модель данных.
- •Реляционная модель данных, основные понятия, ее свойства.
- •Типы связей в реляционной модели.
- •1: 1 «Один к одному»
- •1 : М «один ко многим»
- •М : м «многие ко многим»
- •Операции над отношениями.
- •Целостность данных
- •Архитектуры централизованных сетевых баз данных: файл-сервер, клиент-сервер.
- •Нормализация отношений. Понятие функциональной зависимости. 1 и 2 нормальные формы.
- •Нормализация отношений, Понятие транзитивной зависимости. 3 я нормальная форма.
- •Жизненный цикл базы данных.
- •Концептуальная модель
- •Логическая модель
- •Физическая модель
- •Реализация
- •Тестирование
- •Сопровождение и эксплуатация
- •Язык sql. Операторы языка.
- •Создание запросов на выборку на sql языке. (select)
- •Назначение предикатов distinct и top в операторе select.
- •Сортировка записей в операторе select.
- •Создание запросов на удаление.
- •Создание запросов на изменение на sql языке.
- •Создание групповых запросов на sql языке.
- •Понятие макроса, создание приложений с использованием макросов.
Создание запросов на выборку на sql языке. (select)
SELECT – выборка – особая команда структурированного языка запросов (SQL).
Формальное описание команды SELECT:
SELECT [ПРЕДИКАТЫ] список полей
FROM таблица1 [, еще таблицы через запятую ]
[IN внешняя БД]
[WHERE условие отбора]
[GROUP BY … группировка]
[HAVING условие отбора для группировки]
[ORDER BY сортировка по какому-то полю]
Список полей:
*[таблица.*|[таблица.]поле_1[AS псевдоним_1]]
Где * - выбираются все поля; поле_1 – имя поля (атрибут), псевдоним_1 – имя, которое станет заголовком столбца
Минимальный синтаксис команды SELECT:
SELECT * FROM таблица – выборка всех полей указанной таблиц.
SELECT поле (список полей) FROM таблица
Использование псевдонимов:
SELECT fam as [фамилия], name as[имя], dr as [дата_рождения] FROM Sotr
В команде SELECT в списке полей могут быть выражения, представляющие новые вычисляемые поля: Select фамилия, имя, Year(now()) – Yaer([дата_рождения]) From Таблица
В команде SELECT в списке полей могут быть выражение: комбинации имен полей, констант, встроенных функций и операторов.
Виды операторов:
Арифметические: + - * /
Сравнительные = >= <= <>
Логические OR AND NOT
Строковые + & конкатенация
Вспомогательные IN Between Like
SELECT gr as [группа], COUNT(number) as [количество] FROM Students group by gr – в результате получим список групп и количество студентов в каждой группе.
Так же при создании запросов на выборку можно использовать предикаты такие как TOP и DISTINCT.
Select DISTINCT right(left(группа,3),1) as [курс] from студенты – выбираем группы избегая повторений.
SELECT TOP 1 * FROM Students where пол=”м” ORDER BY номер DESC – выбираем последнего студента (м) из таблицу студенты, отсортированной по номеру.
С помощью команды SELECT можно соединить пару таблиц.
SELECT список полей FROM таблица 1 {INNER (классическое симметричное соединение)\LEFT \ RIGHT} JOIN таблица 2 ON таблица1.поле1=таблица2.поле2
Вывести фамилии и названия специальности.
Студенты (номер, фамилия, группа, код-спец)
Специальности (код-спец, название)
SELECT студенты INNER JOIN специальности ON студенты.код-спец=специальности.код-спец
Назначение предикатов distinct и top в операторе select.
SELECT DISTINCT список полу FROM таблица
Предикат DISTINCT используется для устранения строк-дубликатов в операторе select.
Необходимо напечатать список групп, встречающихся в таблице стденту.
Если не использовать предикат DISTINCT мы получим 33 группы И-404, вместо одной группы И-404.
Select DISTINCT №группы from студенты
SELECT TOP n список полей FROM таблица
Предикат TOP позволяет выбрать первые n отсортированных записей.
SELECT TOP 5 fam FROM Students – выбирает первые 5 фамилий, отсортированных в алфавитном порядке.
Сортировка записей в операторе select.
В формальном описании команды Select в самом конце указывается ORDER BY
Select fam from students ORDER BY fam DESC
Будет выведен список фамилий в обратном алфавитному порядке.
Вариант сортировки задается с помощью выражений:
DESC – по убыванию/ в обратном алфавитному порядке
ASC – по возрастанию/в алфавитном порядке. Используется по умолчанию, специально указывать не нужно!