База данных для агентства недвижимости "Реалтэкс"

Разработка базы данных компании по продаже недвижимости. Информация о договоре продажи. Построение локальной концептуальной модели данных. Преобразование концептуальной модели данных в логическую модель. Проверка модели с помощью правил нормализации.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 27.10.2017
Размер файла 769,1 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Процесс нормализации заключается в преобразовании отношения в различные нормальные формы. На каждом этапе этого процесса удаляются нежелательные характеристики отношения, которые определяют его уязвимость по отношению к аномалиям обновления.

Ненормализованной формой (ННФ) называется таблица, которая содержит одну или несколько повторяющихся групп атрибутов.

Первой нормальной формой (1НФ) называется отношение, в котором на пересечении каждой строки и каждого столбца располагается одно и только одно значение.

Второй нормальной формой (2НФ) называется отношение, которое находится в первой нормальной форме, а каждый атрибут, не входящий в первичный ключ, полностью функционально зависит от этого первичного ключа.

Третьей нормальной формой (3НФ) называется отношение, которое находится в 2НФ, причем в нем нет атрибутов, не входящих в первичный ключ, которые транзитивно зависят от этого первичного ключа. Транзитивная зависимость означает следующее: если А, В и С - три атрибута одного отношения и С зависит от В, а В от А, то говорят, что С транзитивно зависит от А.

Нормальной формой Бойса-Кодда (НФБК) называется отношение, в котором каждый детерминант является потенциальным ключом. Детерминантом называется любой атрибут, от которого полностью функционально зависит какой-то другой атрибут.

Четвертой нормальной формой (4НФ) называется отношение, которое находится в НФБК и не содержит нетривиальных многозначных зависимостей. В случае многозначной зависимости, существующей между атрибутами А, В и С некоторого отношения, для каждого значения А имеется набор значений атрибута В и набор значений атрибута С. Однако входящие в эти наборы значения атрибутов В и С не зависят друг от друга.

Пятой нормальной формой (5НФ) называется отношение, которое не содержит зависимостей соединения. Зависимость соединения - это такая ситуация при которой декомпозиция отношений может сопровождаться генерацией ложных строк при обратном соединении декомпозированных отношений посредством операции естественного соединения.

Чтобы убедиться, что каждое из отношений, описанных в п.3.2, находится как минимум в нормальной форме Бойса-Кодда (НФБК), мы проанализируем функциональные зависимости между этими отношениями. Если будет обнаружено отношение, которое не представлено в НФБК, это может означать, что либо созданная логическая модель структурно неверна, либо при определении на ее основе полного набора отношений была допущена ошибка. В любом случае потребуется вернуться к предыдущему этапу и внести необходимые изменения.

Приведенные здесь примеры описания отношений на языке DLBL не включает ссылки на атрибуты внешних ключей.

Otdel (Otdel_№, Otdel_Imya, Tel_№, Fax_№)

Primary Key Otdel_№

Alternate Key Tel_№

Otdel_№ Otdel_Imya, Tel_№, Fax_№

Tel_№ Otdel_№, Otdel_Imya, Fax_№

Rabotnik (Rab_№, Imya, Familiya, Adres, Tel_№, Pol, DR, Dolzhnost, Skorost_Pechati, Otdel_№)

Primary Key Rab_№

Rab_№ Imya, Familiya, Adres, Tel_№, Pol, DR, Dolzhnost, Skorost_Pechati, Otdel_№

Object (Object_№, Tip, S, Komnaty, Cena, Rayon, Ulica, Dom, Kv,Otdel_№, Vladelec_№)

Primary Key Object_№

Object_№ Tip, S, Komnaty, Cena, Rayon, Ulica, Dom, Kv,Otdel_№, Vladelec

Dogovor (Dogovor_№, Data_Dogovor, Cena, Avans, Data_Avans, Data_Okonchanie, Okonchanie, Object_№, Rab_№, Klient_№)

Primary Key Dogovor_№

Dogovor_№ Data_Dogovor, Cena, Avans, Data_Avans, Data_Okonchanie, Okonchanie, Object_№, Rab_№, Klient_№

Object_№ Cena

При анализе функциональной зависимости Dogovor выясняется, что имеет место транзитивная зависимость вида Object_№ Cena для первичного ключа Dogovor_№ этого отношения. Подобная зависимость является нарушением третьей нормальной формы (ЗНФ) и, следовательно, должна быть удалена из отношения Dogovor. Однако нет необходимости создавать отдельное отношение для представления этой функциональной зависимости, поскольку она уже представлена в отношении Object. Кроме того, удаление этой аномалии не потребует изменения ER-диаграммы, достаточно будет просто внести соответствующие изменения в документацию.

3.4 Проверка модели в отношении транзакций пользователей

Назначение этого этапа состоит в проверке локальной логической модели данных представления Менеджер в отношении возможности выполнения всех транзакций, предусмотренных спецификациями. Для этой цели мы используем ER-диаграмму, показанную на рис.3.1.7, а также прилагаемую к ней документацию. Исходя из этих данных, мы предпримем попытку выполнить каждую из транзакций вручную. Если это окажется возможным для всех транзакций, требуемых согласно спецификациям, то можно считать, что данная логическая модель успешно проверена. Если же выполнить вручную некоторую из транзакций окажется невозможным, значит, в логической модели данных присутствует ошибка, которую следует устранить. Вероятнее всего, в модели отсутствует необходимая сущность, связь или атрибут. В то же время, если некоторая часть логической модели окажется излишней для выполнения всего набора требуемых транзакций, даже с учетом возможности его расширения в будущем, есть все основания полагать, что эта часть модели является избыточной и подлежит удалению из окончательного варианта логической модели данных представления.

3.5 Определение требований поддержки целостности данных

На этом этапе мы займемся определением тех требований поддержки целостности данных, которые необходимо реализовать в локальной логической модели данных пользователя Менеджер. Их значение состоит в поддержании постоянной внутренней согласованности информации, организованной в виде базы данных. На данном этапе наша задача состоит в том, чтобы установить, какие именно требования поддержки целостности данных необходимы, а вопросы методов их реализации будут решаться позднее.

3.5.1 Обязательные данные

Необходимо установить, какие из атрибутов всегда должны содержать одно из допустимых значений. Другими словами, нас интересуют атрибуты, которые всегда должны иметь конкретные значения, отличные от NULL. Например, атрибуты Раб_№ и Полное_Имя (Имя, Фамилия) сущности Работник всегда должны иметь конкретные значения, отличные от пустого. Однако на атрибут Тел_№ этой же сущности данное требование не распространяется, и этот атрибут вполне может иметь значение NULL, означающее, что у работника либо нет телефона, либо номер его неизвестен.

Условие обязательного наличия данных реализовано практически во всех коммерческих СУБД. Это условие целостности требует, чтобы некоторые столбцы не содержали значение NULL. Пользователю предоставляется возможность самостоятельно решить вопрос о том, каким столбцам присваивать значение NULL и каким нет. Это делается при создании таблицы в инструкции CREATE TABLE. Если столбец не может содержать значение NULL, то в этой инструкции на него накладывается ограничение NOT NULL

СУБД обрабатывающая столбец с ограничением NOT NULL проверяет, чтобы ни одна инструкция INSERT или UPDATE не добавляла и не обновляла строку со значением NULL

Недостатком условия обязательного наличия данных является то, что это условие следует задавать при создании таблицы и что нельзя наложить ограничения NOT NULL на уже существующую таблицу.

3.5.2 Ограничения для доменов атрибутов

Домен атрибута устанавливает набор допустимых значений, которые могут присваиваться атрибуту. Примеры доменов атрибутов логической модели данных пользователя Менеджер были приведены при выполнении этапа 2.6 и представлены в Таблице 2.6.

3.5.3 Целостность таблицы

Для того, чтобы база данных была адекватной моделью реального мира, каждая строка таблицы должна иметь уникальное значение первичного ключа. Это требование называется условием целостности таблицы.

СУБД автоматически проверяет уникальность первичного ключа и поэтому всякая попытка добавить строку с уже существующим значением первичного ключа или обновить строку таким образом, что первичный ключ потеряет свою уникальность, завершится сообщением об ошибке. Условие уникальности могут накладываться и на другие столбцы таблицы. Так например можно потребовать, чтобы в таблице Работник не было двух служащих с одинаковыми именами и фамилиями. СУБД, обеспечивающая выполнение этого условия, должна проконтролировать атрибут Полное_Имя (Имя, Фамилия) и пресечь всякую попытку, нарушающую условие уникальности.

Особым случаем условия уникальности является значение NULL в столбце первичного ключа или в столбце объявленном уникальным. СУБД не может разобраться является ли NULL дубликатом уже существующего первичного ключа или нет. Правильным может оказаться и то, и другое. По этой причине любой столбец являющийся частью первичного ключа, и любой столбец на который наложено условие уникальности, должен быть объявлен с ограничением NOT NULL.

3.5.4 Ссылочная целостность

Связи между сущностями моделируются посредством помещения в дочернее отношение копии первичного ключа родительского отношения. Понятие ссылочной целостности означает, что если внешний ключ дочернего отношения содержит некоторое значение, то это значение должно ссылаться на существующее и конкретное значение в родительском отношении.

Существуют четыре типа изменений в базе данных, которые могут привести к нарушению ссылочной целостности отношении предок/потомок. К ним относятся:

1 Добавление новой строки потомка. При добавлении новой строки в таблицу-потомок, значение ее внешнего ключа должно быть равно одному из значении первичного ключа таблицы предка. В противном случае будет нарушена целостность базы данных, так как появится потомок без предка{"сирота"). При добавлении строки в таблицу-предок проблема с целостностью данных не возникнет, так как существование предка без потомка допустимо.

2. Обновление внешнего ключа в строке-потомке. Эта операция допустима, если новое значение внешнего ключа таблицы-потомка будет равно одному из значений первичного ключа таблицы-предка.

3. Удаление строки-предка. Если из таблицы-предка будет удалена строка у которой есть хотя бы один потомок, то строки-потомки станут сиротами (удаление же строки-потомка не вызывает никаких проблем).

4. Обновление первичного ключа в строке-предке. Если происходит изменение первичного ключа в таблице-предке, то все потомки, ссылающиеся на этот ключ, становятся сиротами.

Поддержка ссылочной целостности организуется посредством задания необходимых ограничений для значения первичных и внешних ключей. Эти ограничения определяют условия, которые должны соблюдаться при обновлении или удалении значений первичного ключа, а так же при вставке или обновлении значений внешнего ключа.

В стандарте SQL задаются соответствующие правила удаления и обновления строк для каждого отношения предок/потомок.

Рассмотрим вначале правило удаления строк. Каковы действия СУБД при попытке пользователя удалить строку из таблицы-предка? Для ответа на этот вопрос необходимо выбрать одно из четырех возможных правил удаления:

1. RESTRICT - запрещает удаление строки из таблицы-предка, если строка имеет потомков. Применительно к нашей базе данных это правило формулируется следующим образом: "нельзя удалить данные об отделе, если за ним закреплен хотя бы один работник".

2. CASCADE - устанавливает, что при удалении строки-предка все строки-потомки также автоматически удаляются из таблицы-потомка. Например, при удалении данных об отделе удаляются данные обо всех работниках, закрепленных за этим отделом.

3. SET NULL - устанавливает, что при удалении строки-предка внешним ключам во всех ее строках-потомках присваивается значение NULL. Применительно к нашей базе данных это правило может звучать как "при удалении данных об отделе необходимо указать, что пока неизвестно, в какой отдел переводятся его работники".

4. SET DEFAULT - устанавливает, что при удалении строки-предка, внешним ключам во всех ее строках-потомках присваивается определенное значение, установленное по умолчанию для этого столбца.

Если пользователь не задал ни одного правила удаления, то по умолчанию применяется правило RESTRIСТ. Правило RESTRIСТ оставляет меньше шансов для случайного разрушения или изменения информации в базе данных.

Когда пользователь пытается обновить значение первичного ключа в таблице-предке. то реакция СУБД на эти действия определяется правилами обновления, принятыми в соответствующей базе данных. Здесь как и в случае с правилами удаления используются четыре правила обновления:

1. RESTRIСТ - запрещает обновление первичного ключа в строке таблицы-предка, если у строки есть потомки. Инструкция UPDАТЕ, пытающаяся изменить значение первичного ключа в такой строке, отбрасывается, и выдается сообщение об ошибке. В нашем случае это правило можно сформулировать как: "нельзя изменить идентификатор отдела, если имеются закрепленные за ним работники"

2. CASCADЕ - определяет, что, при изменении значения первичного ключа в строке-предке, соответствующее значение внешнего ключа в таблице-потомке автоматически изменяется во всех строках-потомках таким образом чтобы соответствовать новому значению первичного ключа.

3. SET NULL - определяет, что, при обновлении значения первичного ключа в строке-предке, внешним ключам во всех ее строках-потомках автоматически присваивается значение NULL. Таким образом, изменение первичного ключа в

таблице-предке вызывает установку значений NULL в некоторых столбцах таблицы-потомка.

4. SET DEFAULT - определяет, что, при обновлении значения первичного ключа в строке-предке, внешним ключам во всех ее строках-потомках по умолчанию присваивается определенное значение, установленное для данного столбца. Таким образом, изменение первичного ключа в таблице-предке вызывает выполнение "установки по умолчанию" в некоторых столбцах таблицы-потомка.

Правила удаления и обновления бывают "одноуровневые", "двухуровневые" и "многоуровневые". Так например правило RESTRIСТ являются "одноуровневым", так как в отношении предок/потомок оно затрагивает только таблицу-предок. Правила SЕТ NULL и SЕТ DEFAULT являются "двухуровневыми" правилами так как их влияние заканчивается на таблице-потомке, а правило САSCADE - "многоуровневым", так как оно затрагивает все таблицы участвующие в отношениях.

Otdel (Otdel_№, Otdel_Imya, Tel_№, Fax_№)

Primary Key Otdel_№

Alternate Key Tel_№

Rabotnik (Rab_№, Imya, Familiya, Adres, Tel_№, Pol, DR, Dolzhnost, Skorost_Pechati, Otdel_№)

Primary Key Rab_№

Foreign Key Otdel_№ reference Otdel (Otdel_№) on delete SET NULL on update CASCADE

Object (Object_№, Tip, S, Komnaty, Cena, Rayon, Ulica, Dom, Kv,Otdel_№, Vladelec_№)

Primary Key Object_№

Foreign Key Otdel_№ reference Otdel (Otdel_№) on delete SET NULL on update CASCADE

Foreign Key Vladelec_№ reference Vladelec (Vladelec_№) on delete RESTRICT on update CASCADE

Vladelec (Vladelec_№, Nazvanie, Adres, Tel_№, Kontakt)

Primary Key Vladelec_№

Klient (Klient_№, Imya, Familiya, Adres, Tel_Kl, Object_Tip, S_Max, Cena_Max)

Primary Key Klient_№

Dogovor (Dogovor_№, Data_Dogovor, Cena, Avans, Data_Avans, Data_Okonchanie, Okonchanie, Object_№, Rab_№, Klient_№)

Primary Key Dogovor_№

Foreign Key Object_№ reference Object (Object_№) on delete RESTRICT on update CASCADE

Foreign Key Rab_№ reference Rabotnik (Rab_№) on delete SET NULL on update CASCADE

Foreign Key Klient_№ reference Klient (Klient_№) on delete RESTRICT on update CASCADE

Objyavlenie (Objyavlenie_№, Data, Cena, Object_№, SMI_№)

Primary Key Objyavlenie_№

Foreign Key Object_№ reference Object (Object_№) on delete RESTRICT on update CASCADE

Foreign Key SMI_№ reference SMI (SMI_№) on delete RESTRICT on update CASCADE

SMI (SMI_Imya, Adres, Tel_№, Kontakt)

Primary Key SMI_№

Alternate Key Tel_№

Osmotr (Data_Os, Kommentarii, Klient_№, Object_№)

Primary Key Klient_№, Object_№, Data_Os

Foreign Key Object_№ reference Object (Object_№) on delete RESTRICT on update CASCADE

Foreign Key Klient_№ reference Klient (Klient_№) on delete CASCADE on update CASCADE

Sobesedovanie (Data_Sob, Kommentarii, Rab_№, Klient_№)

Primary Key Klient_№, Rab_№, Data_Sob

Foreign Key Rab_№ reference Rabotnik (Rab_№) on delete RESTRICT on update CASCADE

Foreign Key Klient_№ reference Klient (Klient_№) on delete CASCADE on update CASCADE

3.5.5 Требования данного предприятия

Эти требования, иначе называемые бизнес-правилами, определяются теми методами и ограничениями, которые приняты на данном предприятии в отношении выполнения различных операций.

Бизнес-правила для представления Менеджер приложения Реалтэкс

1. Каждый менеджер в любой момент времени должен руководить работой не менее четырех, но и не более восьми рядовых сотрудников.

2. Каждый агент в любой момент времени может вести не менее 5, но не более 15 клиентов.

3. Период между датой заключения договора и датой внесения аванса не может быть больше 10 рабочих дней.

4. Период между датой заключения договора и предполагаемой датой окончания не может быть больше 6 месяцев.

5. Цена одного рекламного объявления не должна превышать 2800 руб.

3.5.6 Документирование всех ограничений целостности данных

Все установленные требования поддержки целостности данных для локальной модели данных пользователя Менеджер должны быть детально отображены в документации.

3.6 Обсуждение разработанных локальных логических моделей данных с конечными пользователями

На этом этапе проводится окончательная проверка локальной логической модели данных пользователя Менеджер, осуществляемая посредством обсуждения ее с пользователями. Очень важно, чтобы модель правильно отражала то представление о реальной деловой обстановке, которое имеет тип пользователей, названный Менеджер. Основным объектом обсуждения для разработчиков и пользователей является ER-диаграмма. Однако не менее важно, чтобы пользователи внимательно ознакомились с сопроводительной документацией. Если в модели или документации будет найдено какое-либо несоответствие, все необходимые этапы должны быть пройдены еще раз.

Окончательный вариант логической модели данных для пользователя Менеджер приложения Реалтэкс включает ER-диаграмму, показанную на рис 3.1.7 и документацию, содержащую исчерпывающее описание всех компонентов данной модели.

Размещено на Allbest.ru

...

Подобные документы

  • Построение концептуальной модели, процесс моделирования смыслового наполнения базы данных. Основные компоненты концептуальной модели. Построение реляционной модели. Целостность данных в реляционной базе. Нормализация. Проектирование базы данных в ACCESS.

    курсовая работа [1,8 M], добавлен 29.10.2008

  • Учет книжного фонда библиотеки. Разработка концептуальной модели данных. Составление спецификации атрибутов и связей, генерация в системе PowerDesigner физической модели по концептуальной модели. Создание скрипта создания базы данных для СУБД FireBird.

    контрольная работа [784,2 K], добавлен 10.04.2014

  • Сущность базы данных. Процесс построения концептуальной модели. Построение реляционной модели, создание ключевого поля. Процесс нормализации. Проектирование базы данных в ACCESS. Порядок создание базы данных. Создание SQL запросов и работа в базе данных.

    курсовая работа [185,6 K], добавлен 08.11.2008

  • Построение концептуальной модели. Проектирование реляционной модели данных на основе принципов нормализации: процесс нормализации и глоссарий. Проектирование базы данных в Microsoft Access: построение таблиц, создание запросов в том числе SQL – запросов.

    курсовая работа [35,9 K], добавлен 08.11.2008

  • Построение информационной модели наиболее высокого уровня абстракции. Вид и содержание концептуальной модели базы данных. Установление связей между типами сущностей. Спецификация всех объектов, входящих в модель. Средства обеспечения целостности данных.

    курсовая работа [2,6 M], добавлен 12.12.2011

  • Системный анализ предметной области. Построение концептуальной и даталогичной модели базы данных. Физическое проектирование базы данных. Описание функциональной модели системы управления базами данных. Разработка экранных форм ввода-вывода и отчета.

    курсовая работа [1,1 M], добавлен 09.12.2014

  • Описание торговой сети, сбор данных, которые должны содержаться в базе данных. Определение сущностей и атрибутов и построение концептуальной модели. Переход к физической модели. Определение таблиц, полей и типов данных. Определение связей между таблицами.

    курсовая работа [1,5 M], добавлен 31.03.2015

  • Разработка информационно-аналитической системы агентства недвижимости. Обоснование выбора архитектуры базы данных и СУБД. Моделирование потоков данных (DFD диаграмм). Проектирование инфологической модели данных с использованием модели "сущность-связь".

    дипломная работа [5,4 M], добавлен 06.06.2013

  • Разработка концептуальной модели базы данных "Чемпионат авто": описание предметной области, каталог задач, описание таблиц, схема данных, ER-диаграмма. Проектирование реляционной модели "Спортивный комплекс". Реализация и результат работы базы данных.

    курсовая работа [3,7 M], добавлен 14.06.2011

  • Описание предметной области. Характеристика этапов разработки концептуальной модели данных для предметной области "Библиотека" с использованием CASE-средства ER Win. Методика преобразования концептуальной модели в физическую структуру базы данных (БД).

    курсовая работа [2,4 M], добавлен 23.09.2014

  • Построение инфологической (концептуальной) модели предметной области. Проектирование логической и физической структуры базы данных. Реализация проекта в среде конкретной СУБД. Организация корректировки и ввода данных в БД. Разработка интерфейса.

    курсовая работа [1,4 M], добавлен 14.01.2018

  • Понятие информации, автоматизированных информационных систем и банка данных. Общая характеристика описательной модели предметной области, концептуальной модели и реляционной модели данных. Анализ принципов построения и этапы проектирования базы данных.

    курсовая работа [1,7 M], добавлен 18.01.2012

  • Проектирование базы данных для автоматизированной системы "Склад". Разработка концептуальной модели (ER-диаграмма). Преобразование в реляционную модель и ее нормализация. Разработка запросов к базе данных на языке SQL. Скрипт для создания базы данных.

    курсовая работа [161,8 K], добавлен 07.10.2013

  • Построение инфологической концептуальной модели предметной области. Структура базы данных Microsoft Office Access. Формы, запросы и отчеты. Создание форм, запросов и отчетов в базах данных. Схема данных физической и логической сущности в Erwin 4.0.

    курсовая работа [5,1 M], добавлен 13.12.2011

  • Особенности проектирования программы на языке С++ для обработки данных из таблиц базы данных. Основные функции программы, создание концептуальной модели базы данных и диаграммы классов, разработка интерфейса пользователя и запросов к базе данных.

    курсовая работа [2,1 M], добавлен 08.06.2012

  • Модели данных в управлении базами данных. Концептуальные модели данных. Роль баз данных в информационных системах. Реляционная модель данных. Определение предметной области. Построение модели базы данных для информационной системы "Домашние животные".

    курсовая работа [1,9 M], добавлен 19.04.2011

  • Функции системы управления базами данных Microsoft Access. Построение концептуальной модели. Физическая модель базы данных. Форма "Сведения о студенте". Каскадное отображение таблиц. Мастер и конструктор запросов. Результат вывода отчета "Ведомость".

    курсовая работа [2,2 M], добавлен 05.04.2015

  • Создание базы данных, где будет храниться, обрабатываться вся необходимая информация. Построение с помощью CASE-средства Microsoft Visio концептуальной модели, дающая возможность отображения всех выделенных сущностей, их атрибутов и связи между ними/

    курсовая работа [514,4 K], добавлен 29.11.2008

  • Информационная система на базе компьютера. Основное отличие системы с базой данных от традиционной файловой системы. Построение концептуальной модели, реляционной модели. Нормализация. Проектирование базы данных в ACCESS. Создание SQL запросов.

    курсовая работа [38,5 K], добавлен 06.11.2008

  • Система управления базой данных (СУБД), централизованное обеспечение безопасности и целостности данных, защита от несанкционированного доступа. Построение концептуальной и реляционной моделей. Процесс нормализации. Проектирование базы данных в ACCESS.

    курсовая работа [1,8 M], добавлен 29.10.2008

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.