- •Ведение в реляционные субд. Понятие реляционной субд. Сущности Первичный и внешний ключ. Правила построения схемы бд.
- •2. Общая характеристика субд Access. Создание и редактирование базы данных средствами субд Access. Свойства реляционной таблицы. Отношения между таблицами.
- •3.Построение запросов в субд Access. Структура запроса. Условие на значение.Between, In, Like Многотабличные запросы, вычисляемые поля. Групповые операции.
- •4. Запросы с параметрами. Групповые операции. Вспомогательные запросы
- •5. Параметры объединения в запросах. Функция Nz. Параметры объединения в запросах. Перекрестные запросы. Запросы действия.
- •6.Реляционная модель. Операции реляционной алгебры.
- •7. Построение модели «Сущность-связь» Сущности и атрибуты. Категории сущностей. Ключи и индексы. Связи. Улучшение модели.
- •8. Структура стандарта sql Типы данных и операции sql. Агрегирующие функции. Примеры.
- •9 . Формирование запросов средствами sql. Вложенные запросы. Группировка данных. Соединение таблиц. Объединение запросов. Примеры.
- •3. По аналогии с левым можно определить правое внешнее соединение. Перепишем предыдущий пример с использованием его возможностей:
- •10. Модификация данных. Модификация объектов бд. Последовательности. Модификация и удаление таблиц. Примеры использования.
- •Создание таблиц. Ограничения Для создания таблиц базы данных используется оператор, который в простейшем случае описывается так:
- •11. Управление транзакциями. Представления. Управление транзакциями
- •Представления
- •12. .Общая концепция субд «Oracle».
- •13. Язык pl/sql. Основные типы данных и операторы.
- •Структура программы
- •Типы данных
- •14. Курсоры, их атрибуты. Использование цикла for. Курсоры
- •Атрибуты курсора
- •Использование цикла for для работы с курсорами
- •15. Обработка исключений. Пользовательские исключения. Возбуждение исключений.
- •16. Подпрограммы. Пакеты. Хранимые подпрограммы.
- •17. Триггеры Объявление, назначение и примеры использования. Модификация триггеров.
- •18. Администрирование базы данных и управление объектами. Разграничение доступа. Привилегии, роли.
- •Разграничение доступа
- •19. Управление параллельной обработкой данных. Блокировки.
- •20. Функциональные зависимости. Нормализация отношений. Нормальные формы.
- •21. Основные этапы проектирования реляционной базы данных. Концептуальное проектирование. Логическое проектирование. Физическое проектирование.
- •22. Распределенные бд. Хранилища данных. Определение и назначение. Понятие репликации. Варианты архитектуры хд. Гиперкуб. Его назначение и реализация средствами рсубд.
9 . Формирование запросов средствами sql. Вложенные запросы. Группировка данных. Соединение таблиц. Объединение запросов. Примеры.
запрос на выборку содержимого одной таблицы имеет видSELECT [DISTINCT] описание_результата FROM источник [WHERE условие_выбора];
источника - таблица или представление. Условие выбора - выражение логического типа; его значение проверяется для каждой строки источника, результат--список, каждому элементу которого соответствует один столбец.
Пример: Получить среднюю зарплату, начисленную в январе 2003 года.SELECT AVG(salvalue) FROM salary WHERE month = 1 AND year = 2003;
Вложенные подзапросы
Такой … возможность позволяет объединять информацию из различных таблиц
Пример.Найти фамилии работников, которым не была начислена зарплата в январе 2003 года.
SELECT empname FROM emp WHERE NOT EXISTS(
SELECT * FROM salary
WHERE emp.empno = salary.empno AND month = 1 AND year = 2003);
Подзапросы можно указывать не только во фразе WHERE, но и в других конструкциях оператора SELECT
. Агрегирующие функции, которые можно (и должно) указывать при формировании выходных столбцов, работают не для всего запроса, а для одной группы.
Соединение таблиц
В операторе SELECT после ключевого слова FROM можно указать не одну, а несколько разделенных запятыми имен источников. Если при этом в условии WHERE не указать правила соединения этих таблиц, то мы получим полное соединение , или декартово произведение таблиц. Чаще всего используются следующие правила соединения:
1.Соединяются строки таблиц с одинаковыми значениями в паре атрибутов, где каждый элемент пары берется из своей таблицы (т.н. внутреннее соединение). пример такого соединения: таблица1 [INNER] JOIN таблица2 ON условиесоединеия
Найти имена тех работников, начисленная зарплата которых за ноябрь 2002 года превысила 1000.
SELECT empname
FROM emp JOIN salary ON emp.empno = salary.empno
WHERE month = 11 AND year = 2002 AND salvalue>1000;
2. Соединяются строки таблиц с одинаковыми значениями в паре атрибутов, и кроме того, добавляются строки первой таблицы, для которых не найдено соответствующих значений во второй таблице. Такое соединение называется левым внешним соединением, и для него используется специальное обозначение:
таблица1 LEFT OUTER JOIN таблица2 ON условиесоединеия
3. По аналогии с левым можно определить правое внешнее соединение. Перепишем предыдущий пример с использованием его возможностей:
SELECT empname, NVL(enddate, SYSDATE)-startdate AS stage
FROM career RIGHT OUTER JOIN emp ON career.empno = emp.empno;
Упорядочивание выходных строк
Мы можем выполнить сортировку строк выходного запроса, указав в нем фразу
ORDER BY {имястолбца | номерстолбца [ASC | DESC] }…
Объединение запросов
Иногда требуется объединить результаты выполнения двух и более запросов в единое множество строк.Для объединения результатов двух и нескольких запросов используется оператор UNION, запись которого имеет вид
запрос {UNION [ALL] запрос }…
Заметим, что при объединении запросов, в отличие от обычного оператора SELECT, происходит автоматическое устранение дублирующихся записей. Чтобы избежать этого, необходимо указать ключевое слово ALL.
Для объединения запросов можно задавать фразу ORDER BY, INTERSECT (формальное пересечение с исключением повторяющихся строк) и MINUS (результирующее множество содержит все строки, входящие в состав первого запроса: но отсутствующие во втором). Формат этих операторов совпадает с форматом оператора UNION.