- •1. Основные понятия: база данных (бд), банк данных (БнД), субд.
- •2. Компоненты БнД
- •IИнфологическое моделирование как результат разработки модели по
- •IiДаталогическое проектирование
- •IiiФизическое проектирование
- •IvЭтап определения подсхем
- •5. Инфологическое моделирование предметной области. Состав инфологической модели (илм)
- •6. Описание объектов и их свойств. Разновидности свойств объектов
- •7. Описание связи между объектами. Типы (степени) связи, классы принадлежности.
- •9.Описание сложных объектов. Составные, обобщенные, агрегированные объекты
- •Разновидности сложных объектов
- •10. Даталогическое проектирование бд: цель и этапы даталогического проектирования. Определение состава бд.
- •11. Разновидности даталогических моделей (длм)
- •12.Основные понятия реляционных бд (рбд): кортеж, домен, отношение, степень отношения, мощность отношения, первичный и внешний ключи.
- •13. Индексация файлов (таблиц) в бд. Индексные файлы и индексные ключи.
- •14. Метод проектирования рбд на основе илм (правила 1-12).
- •15. Пример проектирования рбд: создание илм и переход к длм.
- •1. Описание объектов и связей между ними.
- •2. Лингвистические отношения
- •16 Сравнение однотабличной и многотабличной баз данных.
- •17 Операции Реляционной Алгебры.
- •19 Правила записи оператораSelect.
- •20 ПредложениеSelect
- •21, 22 ПредложениеWhere
- •23 Составные условия поиска. Таблицы истинности.
- •26 Многотабличные запросы на чтение.
- •27 Псевдонимы таблиц, самосоединение таблиц.
- •28 Агрегатные функции языкаSql.
- •29. Запросы с группировкой и ограничения на них.
- •Примеры.
- •Ограничение на запросы с группировкой.
- •Ограничение на список возвращаемых столбцов.
- •30. Условия поиска групп и ограничения на эти условия.
- •Ограничения на условия поиска групп
- •31. Вложенный запрос и его особенности. Пример.
- •32. Внешние ссылки и связанные подзапросы. Пример.
- •Процедура выполнения запроса, в составе которого имеется связанный подзапрос.
- •33. Условия поиска с вложенным запросом.
- •34. Внесение изменений в бд: добавление, удаление и обновление данных.
- •InsertintOимя таблицы, в которую добавляется строка
- •Обновление существующих данных
- •35. Задание и изменение структуры бд: операторыCreatetable,droptable,altertable.
- •2. Удаление таблицы. Ненужные таблицы можно удалить из бд посредством оператора drop table.
- •3. Изменение определения таблицы.
- •36. Создание и удаление индексов операторамиCreate/dropindex. Индексы.
- •37. Создание представлений операторомCreateview.
Ограничение на запросы с группировкой.
Столбцы группировки, указанные в предложении GROUPBY, должны быть реальными столбцами таблиц, перечисленными в предложенииFROM. Нельзя группировать строки на основании значений вычисляемых столбцов.
Ограничение на список возвращаемых столбцов.
В запросе с группировкой все элементы списка возвращаемых столбцов должны иметь одно и то же значение для каждой группы слов. => В качестве элементов списка возвращаемых столбцов можно использовать константу, агрегатную функцию, столбец группировки, выражение, включающее в себя перечисленные выше элементы.
Извлечение информации о количестве жителей с не 0-м общим доходом. В таблице результатов вывести номер жителя, ФИО, номер квартиры жителя и кол-во источников дохода.
SELECT NOM, FIO, ADR, COUNT(ID) FROM PERSON, HEVE_D
WHERE HEVE_D.NOM = PERSON.NOM
GROUP BY NOM, FIO, ADR.
30. Условия поиска групп и ограничения на эти условия.
Они задаются в предложении HAVINGи позволяют включить в конечную таблицу результатов информацию только об избранных группах.
SELECT ADR FROM PERSON
GROUP BY ADR
HAVINGCOUNT(*) > 1.
Ограничения на условия поиска групп
Условия поиска, которые используются в предложении HAVING, применяются не к отдельным столбцам, а к группе в целом.
В условие поиска может входить либо константа, либо агрегатная функция, либо столбец группировки, либо выражение, включающее вышеперечисленные элементы.
SELECT RDATE, SUM(SUMD) FROM PERDON
GROUP BY RDATE
HAVING RDATE < ’11-DECEMBER-2000’
31. Вложенный запрос и его особенности. Пример.
Вывести список жителей, у которых общий доход меньше размера самого доходного источника.
SELECT NOM, FIO FROM PERSON
WHERE SUMD < (SELECT MAX(MONEYS) FROM PROFIT).
Вложенный запрос – операторSELECT, заключенный в круглые скобки, и используемый в предложенияхWHEREилиHAVING.
Отличия:
таблица результатов вложенного запроса всегда состоит из 1-го столбца. Список возвращаемых столбцов во вложенном запросе всегда должен иметь только 1 элемент.
во вложенный запрос не может входить предложение ORDERBYдля экономии времени.
вложенный запрос не может быть запросом на объединение нескольких различных операторов SELECT.
особенность: имена столбцов используемых во вложенном запросе могут являться ссылками на столбцы главного или внешнего запроса.
32. Внешние ссылки и связанные подзапросы. Пример.
Определить адреса квартир, жители которых не могут оплачивать коммунальные услуги. (Стоимость коммунальных услуг определяется произведением 100 на площадь квартиры), жители могут оплачивать коммунальные услуги, если их общий доход не меньше, чем плата за коммунальные услуги.
SELECT * FROM FLAT
WHERE SKV*100>=(SELECT SUM(SUMD) FROM PERSON
WHERE PERSON.ADR = FLAT.ADR).
FLAT.ADR–внешняя ссылка, представляет собой имя столбца, принадлежащего таблице, указанной в предложенииFROMглавного запроса и не входящего ни в одну из главных таблиц, перечисленных в предложенииFROMвложенного запроса.
Если во вложенном запросе имеется внешняя ссылка, то такой запрос называется связанным.
Особенностьюявляется то, что он выполняется многократно: по одному разу для каждой строки таблицы, указанной в главном запросе.
Процедура выполнения запроса, в составе которого имеется связанный подзапрос.
Выбрать строку из таблицы, имя которой указано в главном запросе.
Выполнить вложенный запрос с учетом значений, содержащихся в выбранной строке
Вычислить условия поиска главного запроса с учетом результатов вложенного запроса, выполненного на шаге 2. Если условие поиска – истина, то выбранная строка из таблицы главного запроса включается в таблицу результатов. Иначе выбранная стока не включается в таблицу результатов.
Повтор шагов 1-3 для строк таблиц или таблицы главного запроса, пока не будут проверены все строки.