
- •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.
15. Пример проектирования рбд: создание илм и переход к длм.
В качестве предметной области-жители Зеленограда. Сформируем простую реляционную БД, где хранятся сведения для налоговой инспекции.
ИЛП
1. Описание объектов и связей между ними.
Диаграмма ER-типа:
Упрощения:
Рассматриваются только те жители, которые имеют квартиру.
Житель может быть зарегистрирован только в одной квартире.
Учитываются только населенные квартиры, в которых зарегистрированы жители.
В одной квартире могут быть зарегистрированы несколько жителей.
Для одной квартиры один номер телефона.
Не во всякой квартире может быть телефон.
Имеются жители без источника дохода (дети).
У одного жителя может быть несколько источников дохода.
Разные виды дохода у разных жителей.
Имеются виды доходов, которые не используются.
2. Лингвистические отношения
– описания всех терминов и понятий, которые используются при описании объектов.
Nom– порядковый номер.
KCategory– приватизированнаяP, неприватизированнаяN, коммун.K
Money- в как ед.
3. Алгоритмический набор показателей(атрибутов).
Граф взаимосвязей показателей.
4. Описание информационных потребностей пользователей
Должны быть идентифицированы все запросы, которые могут поступать от пользователей БД.
Вывести список всех жителей с указ. общим доходом.
Вывести список жителей, где общий доход >= налогооблагаемого min.
Подсчитать налоги отдельных жителей и общую сумму налогов.
5. Ограничение целостности.
формулируются условия, которым удовлетворяют отдельные показатели или группы показателей, чтобы инф. БД имела смысл.
-Доход>0
-Значение KCategoryвыбиралось из списка(N,K,P)
Ограничение целостности используется при проектирование БД и разработке информационных систем, чтобы контролировать правильность данных, ввод в БД и обеспечение корректности вычислений.
ДЛП
Анализ СУБД, ознакомление со средствами проектирования БД, определение состава БД.
При выполнении ДЛП надо определить состав БД.
Определение состава БД и отношений
Принцип синтезирования:
В состав БД включают атрибуты всех сущностей + вычисляемый доход SumD.
БД состоит из 5 отношений:
PERSON (Nom, FIO, Rdate, Pol, SumD, Adr)
FLAT (Adr, Skv, Nrooms, KCategory)
TPHONE (Ntel, TCategory, Adr)
PROFIT (Id, Source, Moneys)
HAVE_D(Nom, Id)
Таблица БД |
Атрибут |
Тип |
Размер |
Допустимые значения |
Значение по умолчанию |
PERSON |
Nom FIO Rdate Pol SumD Adr |
Autoincrement Alpha Date Alpha Money Alpha |
30
1
30 |
М,Ж |
0 |
FLAT |
Adr Skv Nrooms KCategory |
Alpha Number Short Alpha |
30
1 |
>=0 0..4 П,Н,К |
0 0 Н |
TPHONE |
Ntel TCategory Adr |
Alpha Alpha Alpha |
8 1 30 |
###–#### О,Д,С |
О |
PROFIT |
Id Source Moneys |
Autoincrement Alpha Money |
20
|
>=0 |
0 |
HAVE_D |
Nom Id Comment |
Long Integer Long Integer Alpha |
30 |
>0 >0 |
|
16 Сравнение однотабличной и многотабличной баз данных.
Могут возникать проблемы вставки, обновления, удаления.
Проблема вставки
В любой БД не должно быть полей с неопределенными или пустыми значениями.
Например: для однотабличной БД жителей Зеленограда, появляется новорожденный, у которого отсутствует источники дохода. Мы не можем внести его в таблицу, учитывая ограничение, приведенное выше. Для многотабличной БД: занесем в общую базу, указав, что источник дохода = 0.
Проблема обновления
Явная избыточность однотабличной БД может проявляться в том, что фамилия жителей и др. Могут встречаться несколько раз.
Например: Петрова поменяла место жительства. Придется изменять адрес во всех строках, относящихся к фамилии Петрова. В спроектированной БД изменится значение адреса в одной строке таблицы PERSONи информация в таблицеFLAT.
Неявная избыточность в однотабличной БД проявляется в том, что все жители одной квартиры имеют один и тот же номер телефона. Если Иванов 1928г.р. сообщает об изменении телефона, то изменяется информация в графе Иванов 1928г.р., а информация об остальных жителях квартиры остается неизмененной.
В многотабличной БД ищем в таблице PERSONномер квартиры. Затем по номеру квартиры находим номер телефона и обновляем его.
Проблема удаления
Если житель лишится единственного источника дохода, то информация о нем будет удалена полностью. В многотабличной БД в таблице HAVEDобщий доход станет = 0, остальная информация сохранится.