- •Введение в базы данных
- •Отношения между прикладными программами и субд
- •Системы обработки баз данных
- •История баз данных
- •Организационный контекст
- •Реляционная модель
- •Коммерческие субд для микрокомпьютеров
- •Клиент-серверные приложения баз данных
- •Базы данных с использованием Интернет-технологий
- •Распределенные базы данных
- •Объектно-ориентированные субд
- •Банк данных
- •Основные понятия и определения
- •Пользователи банков данных
- •База данных
- •Архитектура базы данных. Физическая и логическая независимость
- •Схемы и отображения
- •Независимость от данных
- •Система управления базами данных – субд
- •Процесс прохождения пользовательского запроса
- •Введение в разработку баз данных
- •Метаданные
- •Индексы
- •Метаданные приложений
- •Подсистема средств проектирования
- •Подсистема обработки
- •Ядро субд
- •Создание базы данных
- •Процесс разработки базы данных
- •Моделирование данных
- •Функции субд
- •Модели данных
- •Объектные или инфологические модели данных
- •Модели данных на основе записей или даталогические
- •Реляционная модель данных
- •Преподаватели
- •Сетевая модель данных
- •. Физические модели данных
- •Концептуальное моделирование
- •Реляционная модель
- •Структура реляционных данных
- •Кортежи
- •Внешний ключ
- •Альтернативная терминология
- •Математические отношения
- •Отношения в базе данных
- •Реляционные ключи
- •Реляционная целостность
- •Целостность сущностей
- •Ссылочная целостность
- •Реляционные языки
- •Реляционная алгебра
- •Учебный проект DreamHome
- •Реляционная алгебра (продолжение)
- •Выборка (или ограничение)
- •Проекция
- •Декартово произведение
- •Объединение
- •Разность
- •Операции соединения
- •Tema-соединение (θ-join)
- •Естественное соединение
- •Внешнее соединение
- •Полусоединение
- •Пересечение
- •Деление
- •Другие языки
- •Примеры применения реляционной алгебры
- •Обзор жизненного цикла информационных систем
- •Жизненный цикл приложения баз данных
- •Проектирование базы данных
- •Проектирование баз данных на основе восходящего подхода (Метод нормализации или декомпозиции)
- •Цель нормализации
- •Проблемы, вызываемые использованием единственного отношения (аномалии обновления)
- •Проблема вставки
- •Проблема обновления
- •Проблемы удаления
- •Функциональные зависимости
- •Процесс нормализации
- •Декомпозиция без потерь и функциональные зависимости
- •Первая нормальная форма (1 нф) (из Коннолли)
- •Вторая нормальная форма (2нф)
- •Третья нормальная форма (знф)
- •Нормальная форма Бойса-Кодда (нфбк)
- •4 И 5 нормальные формы (4нф и 5нф)
- •Пример нормализации
- •. Другая декомпозиция отношения консультант
- •Некоторые комментарии к декомпозиционному алгоритму проектирования
- •Некоторые модификации алгоритма проектирования Избыточные функциональные зависимости
- •Транзитивные зависимости
- •Добавление атрибутов в фз
- •Правила вывода
- •Алгоритм проектирования бд методом декомпозиции (восходящий метод)
- •Проверка отношений на завершающей фазе их проектирования
- •Задачи к текущему материалу
- •Пример аномалий для 2нф
- •Нормальная форма Бойса—Кодда (нфбк) с примером аномалий для 3 формы
- •Язык sql
- •Запрос одиночной таблицы
- •Проектирование в sql
- •Выборка в sql
- •Сортировка
- •Встроенные функции sql
- •Встроенные функции и группировка
- •Запрос нескольких таблиц
- •Вложенные запросы
- •Соединение с помощью sql
- •Сравнение вложенного запроса и соединения
- •Внешнее соединение
- •Операторы exists и not exists
- •Изменение данных
- •Insert into запись
- •Insert into запись
- •Insert into третьекурсник
- •Удаление данных
- •Модификация данных
- •Запрос на sql с exist и not exist (реализация реляционной операции Деления)
- •Операция внешнего соединения таблиц в access (Мои замечания)
- •Псевдонимы столбцов и таблиц
- •Уточнения запроса
- •Теоретико-множественные операции
- •Декартово произведение наборов записей
- •Объединение наборов записей (union)
- •Пересечение наборов записей (intersect)
- •Intersect corresponding (id_компонента, Тип_компонента)
- •Вычитание наборов записей (except)
- •Операции соединения
- •Естественное соединение (natural join)
- •Условное соединение (join... On)
- •Соединение по именам столбцов (join... Using)
- •Внешние соединения
- •Левое соединение {left outer join)
- •Правое соединение {right outer join)
- •Внешнее соединение Преподаватель-Изучение-Предмет. Создание в access. Пример
- •Операторы exists и not exists
- •Низходящее проектирование бд на основе er-модели Модель «сущность—связь» и ее варианты
- •Реализация низходящего проектирования бд на основе er-модели
- •Типы сущностей
- •Способы представления сущностей на диаграмме
- •Атрибуты
- •Типы связей
- •Представление связей на диаграммах
- •Атрибуты связей
- •. Структурные ограничения
- •Показатель кардинальности
- •Степень участия
- •Примеры er-проектирования
- •Модель «сущность—связь» в другом рассмотрении
- •Элементы модели «сущность—связь»
- •Сущности
- •Атрибуты
- •Идентификаторы
- •Три типа бинарных связей
- •Диаграммы «сущность—связь»
- •Изображение атрибутов в диаграммах «сущность—связь»
- •Слабые сущности
- •Представление многозначных атрибутов при помощи слабых сущностей
- •Подтипы сущностей
- •Пример er-диаграммы
- •Документирование делового регламента
- •Модель «сущность—связь» и case-средства
- •Диаграммы «сущность—связь» в стиле uml
- •Сущности и связи в uml
- •Представление слабых сущностей
- •Представление подтипов
- •Конструкции ооп, введенные языком uml
- •Роль uml в базах данных на сегодняшний день
- •Примеры
- •Вопросы группы I
- •Вопросы группы II
- •Литература по курсу «базы и банки данных»
Учебный проект DreamHome
В этом учебном проекте описана работа некоторой компании под названием DreamHome, которая занимается сдачей в аренду объектов недвижимости по поручению их владельцев. Компания предлагает полный комплекс услуг владельцам, которые желают сдать в аренду свою меблированную недвижимость. Предлагаемые компанией DreamHome услуги включают рекламу недвижимости в местной или общенациональной прессе (если это необходимо), опрос предполагаемых арендаторов, организацию просмотра сдаваемых в аренду объектов потенциальными арендаторами, а также составление договоров на аренду. После сдачи недвижимости в аренду на компанию DreamHome возлагается ответственность за нее, т.е. сотрудники DreamHome должны регулярно инспектировать текущее состояние объектов. Ниже перечислены данные, которые необходимо фиксировать, корректировать и использовать в работе сотрудникам всех отделений компании при выполнении их ежедневных обязанностей, а также при управлении деятельностью компании DreamHome.
Требования к данным
Отделения компании (Branch, таблица 3.3 в разделе «Реляционная алгебра»)
Компания DreamHome имеет несколько отделений, расположенных по всей территории Великобритании. Каждое отделение имеет уникальный номер и адрес (улица, район, город, почтовый индекс), номер телефона и факса. Кроме того, каждое отделение имеет собственный штат сотрудников.
Персонал (Staff, таблица 3.4)
В каждом отделении компании DreamHome имеется менеджер, отвечающий за работу этого отделения. В компании DreamHome постоянно ведется контроль за эффективностью работы менеджеров отделений, для чего фиксируется дата вступления каждого менеджера в должность. Кроме того, каждому менеджеру выплачивается ежегодная компенсация транспортных расходов и ежемесячная премия, размер которой зависит от эффективности работы отделения.
В штат каждого отделения входит несколько работников, называемых инспекторами (или старшими администраторами). Инспектор отвечает за ежедневную деятельность отдельной группы сотрудников (состоящей как минимум из пяти и как максимум из десяти человек), которые непосредственно занимаются сдачей недвижимости в аренду. Для оказания помощи в выполнении административных обязанностей в каждой группе имеется секретарь.
Каждый сотрудник имеет персональный (табельный) номер, который уникален для всех отделений компании. О каждом сотруднике компании хранится следующая информация: имя и фамилия, адрес, номер телефона, пол, дата рождения, номер социальной страховки, должность, годовая зарплата и дата вступления в должность. О секретаре хранится дополнительная информация о присущей ему скорости печати на пишущей машинке.
Кроме того, компания также хранит сведения о ближайших родственниках (наследниках) сотрудников, включая их имена и фамилии, степень родства с сотрудником компании, адрес и телефон. Хранятся данные только об одном ближайшем родственнике каждого сотрудника.
Сдаваемые в аренду объекты недвижимости (Property for Rent, табл. 3.5)
Каждое отделение работает со сдаваемыми в аренду объектами недвижимости, которым присваиваются номера, уникальные для всех отделений. Хранятся также другие сведения об объекте недвижимости: полный адрес (улица, район, город, почтовый индекс), тип объекта, количество комнат и месячная арендная плата. Месячная арендная плата ежегодно пересматривается. Среди сдаваемых в аренду объектов недвижимости большую часть составляют квартиры. Каждый объект поручается определенному сотруднику компании, который отвечает за работу с ним. Каждый сотрудник может отвечать не более чем за 10 объектов недвижимости одновременно.
При исключении какого-либо объекта из списка сдаваемой в аренду недвижимости компания DreamHome требует сохранять данные об этом объекте в течение трех лет.
Владельцы недвижимости (Owner, табл.3.7)
Компания DreamHome управляет недвижимостью частных лиц (т.е. физических лиц) и других компаний (т.е. юридических лиц). Каждый владелец сдаваемых в аренду объектов идентифицируется собственным номером, уникальным для всех отделений компании. Дополнительная информация о частных лицах — владельцах недвижимости включает имя и фамилию, адрес и номер телефона. Сведения о юридических лицах, являющихся владельцами сдаваемых в аренду объектов, включают название компании, тип деятельности, адрес представительства, телефон и имя контактного лица.
Клиенты/арендаторы (Renter, табл.3.6)
Когда клиент впервые обращается в отделение компании DreamHome, о нем записываются следующие сведения: имя и фамилия, адрес, номер телефона, предпочитаемый тип жилья, а также максимальная арендная плата, которую клиент согласен платить. Каждый клиент (как потенциальный арендатор) получает личный номер, уникальный для всех отделений компании. В компании DreamHome принято проводить собеседование со всеми потенциальными арендаторами, в результате подобного собеседования должна быть получена и сохранена такая информация, как дата беседы, имя сотрудника, который проводил собеседование с клиентом, и любые его комментарии о потенциальном арендаторе.
Осмотр недвижимости (Viewing, табл.3.8)
В большинстве случаев потенциальный арендатор еще до заключения договора об аренде желает осмотреть один или несколько сдаваемых объектов недвижимости. Сведения о таком просмотре включают дату осмотра объекта и любые комментарии потенциального арендатора, сделанные им в отношении этого объекта.
Реклама недвижимости
Недвижимость, которую не удается быстро сдать в аренду, компания DreamHome рекламирует в местных и общенациональных газетах. По каждому сделанному рекламному объявлению сохраняются такие сведения, как номер рекламируемого объекта, дата и стоимость размещения рекламы. В рекламных целях используются только определенные газеты, и компания DreamHome хранит о них следующие сведения: название газеты, адрес представительства, номер телефона и факса, а также имя контактного лица.
Договора об аренде
Компания DreamHome отвечает за определение условий аренды в договоре на аренду клиентом некоторого объекта недвижимости. Запись по каждому заключенному договору об аренде включает его номер, сведения об арендаторе, а также сведения об арендуемом объекте недвижимости, включая месячную арендную плату, способ оплаты, сумму задатка, отметку об уплате задатка, дату начала и окончания аренды, срок действия договора об аренде и сведения о сотруднике, который составил данный договор об аренде. Минимальный и максимальный сроки действия договора об аренде равняются трем месяцам и году соответственно. Номер договора аренды уникален для всех отделений компании. Клиенты компании DreamHome могут арендовать как один, так и сразу несколько объектов недвижимости.
По завершении срока действия договора об аренде, по правилам компании DreamHome, сведения о нем должны храниться в течение трех лет.
Инспекция арендованного объекта
В качестве одной из услуг, предлагаемых компанией DreamHome владельцам недвижимости, является регулярное проведение инспекторских проверок текущего состояния сданных в аренду объектов. Каждый объект недвижимости проверяется не реже, чем раз в полгода. При этом сотрудники компании DreamHome инспектируют только арендованные или сдаваемые в аренду объекты. После каждой инспекции фиксируются сведения о проверенном объекте недвижимости, дата проведения инспекции, а также любые замечания выполнявшего инспекцию сотрудника по поводу текущего состояния этого объекта.
Требования к транзакциям
В этом разделе перечислены все транзакции, которые выполняются в каждом отделении компании DreamHome с целью получения информации, необходимой сотрудникам для эффективной работы с владельцами и арендаторами объектов недвижимости. Каждая транзакция связана с определенной бизнес-функцией компании DreamHome. Ответственность за выполнение этих функций несут сотрудники компании, занимающие соответствующие должности. В конце описания каждой транзакции в скобках указан ее пользователь или группа пользователей.
Транзакция а. Создание и корректировка записей с данными о сотрудниках и их ближайших родственниках для каждого отделения (менеджер).
Транзакция b. Создание отчета со сведениями о сотрудниках каждого отделения (менеджер).
Транзакция с. Создание списка сотрудников, работающих под началом данного инспектора (менеджер и этот инспектор).
Транзакция d. Создание списка инспекторов, работающих в каждом из отделений компании (менеджер и инспектор).
Транзакция е. Создание и корректировка записей с данными о сдаваемых в аренду объектах недвижимости (и ее владельцах) в конкретном отделении компании (инспектор).
Транзакция f. Создание отчета с данными о сдаваемых в аренду объектах недвижимости в данном отделении компании (все сотрудники).
Транзакция g. Создание списка сдаваемых в аренду объектов, за которые отвечает определенный сотрудник (инспектор).
Транзакция h. Создание и корректировка записей с описанием потенциальных арендаторов в каждом из отделений компании (инспектор).
Транзакция i. Создание списка потенциальных арендаторов, зарегистрированных в каждом из отделений компании (все сотрудники).
Транзакция j. Поиск всех сдаваемых в аренду объектов, удовлетворяющих требованиям потенциального арендатора (все сотрудники).
Транзакция k. Создание и корректировка записей со сведениями об осмотре сдаваемых в аренду объектов потенциальными арендаторами (все сотрудники).
Транзакция l. Создание отчета с замечаниями потенциальных арендаторов в отношении конкретного сдаваемого в аренду объекта (все сотрудники).
Транзакция т. Создание и корректировка записей со сведениями об опубликованных в газетах рекламных объявлениях о сдаче в аренду объектов недвижимости (все сотрудники).
Транзакция п. Создание списка всех объявлений, сделанных в отношении определенного сдаваемого в аренду объекта (инспектор).
Tранзакция о. Создание списка всех объявлений о сдаче объектов в аренду, опубликованных в определенной газете (инспектор).
Tранзакция р. Создание и корректировка записей со сведениями о заключенных договорах об аренде (менеджер и инспектор).
Транзакция q. Распечатка сведений об условиях заключенного договора об аренде для заданного объекта (менеджер и инспектор).
Транзакция r. Создание и корректировка записей со сведениями о выполненных проверках состояния сдаваемой в аренду недвижимости (все сотрудники).
Транзакция s. Создание списка всех проведенных проверок состояния заданного объекта недвижимости (инспектор).
