База данных для редакции газеты

Автор: Пользователь скрыл имя, 05 Ноября 2011 в 21:54, курсовая работа

Описание работы

Систематическая организация данных и способов их обработки осуществляется в банках данных. Банк данных = база данных + СУБД.
База данных - это некоторая структурированная совокупность данных, описывающая некоторую предметную область решаемых задач.
Элемент описания - наименьшая единица описания в базе данных. Совокупность элементов описания, объединенных отношением принадлежности к одному объекту называется записью.

Содержание

СОДЕРЖАНИЕ 3
1. ПРОЕКТИРОВАНИЕ БАЗ ДАННЫХ 4
1.1. ОБЩИЕ ТЕОРЕТИЧЕСКИЕ ПОЛОЖЕНИЯ 4
1.1.1. Основные определения 4
1.1.2. Понятие “Ключ” 4
1.1.3. Понятие «нормализации» 5
1.1.4. Понятие "сущность" и "связь" 5
1.2. ОБЩЕСИСТЕМНЫЙ РАЗДЕЛ 6
1.2.1. Модели данных. 6
1.2.2. Иерархические системы 6
1.2.3. Сетевые системы 7
1.2.4. Реляционная модель данных. 8
1.3. ПРЕДСТАВЛЕНИЕ ДАННЫХ С ПОМОЩЬЮ МОДЕЛИ СУЩНОСТЬ-СВЯЗЬ (ER- МОДЕЛЬ). 9
1.3.1. Нормальные формы ER-схем 9
1.3.2. Получение реляционной схемы из ER-схемы 10
1.4. ПРОЕКТИРОВАНИЕ РЕЛЯЦИОННЫХ БД 11
1.5. НОРМАЛИЗАЦИЯ. 12
2. СПЕЦИАЛЬНАЯ ЧАСТЬ 14
2.1. ОПИСАНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ 14
2.2. ИССЛЕДОВАНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ И РАЗРАБОТКА МОДЕЛИ 15
2.3. РЕАЛИЗАЦИЯ МОДЕЛИ 22
3. ЗАКЛЮЧЕНИЕ. 30
4. СПИСОК ЛИТЕРАТУРЫ: 32

Работа содержит 1 файл

БД. Курсовик.doc

— 265.00 Кб (Скачать)

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

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

     Так что будем считать, что проблема проектирования реляционной базы данных состоит в обоснованном принятии решений о том, из каких отношений должна состоять БД и

     какие атрибуты должны быть у этих отношений.

 

    1. Нормализация.

     Проектирование  реляционных баз  данных с использованием нормализации.

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

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

     В теории реляционных баз данных обычно выделяется следующая последовательность нормальных форм:

  • первая нормальная форма (1NF);
  • вторая нормальная форма (2NF);
  • третья нормальная форма (3NF);
  • нормальная форма Бойса-Кодда (BCNF);
  • четвертая нормальная форма (4NF);
  • пятая нормальная форма, или нормальная форма проекции-соединения (5NF или PJ/NF).

     Основные  свойства нормальных форм:

  • каждая следующая нормальная форма в некотором смысле лучше предыдущей;
  • при переходе к следующей нормальной форме свойства предыдущих нормальных свойств сохраняются.

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

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

     Таблица, находится в 1НФ тогда и только тогда, когда ни одна из ее записей:

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

     Таблица, находящаяся во 2НФ должна удовлетворять следующим требованиям:

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

     Таблица, находящаяся в 3НФ должна удовлетворять следующим требованиям:

    • таблица отвечает 2НФ
    • ни одно из ее ключевых полей не зависит функционально от любого другого неключевого поля.

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

     Таблица, находится в 4НФ, если полная декомпозиция должна быть получена соединением ровно двух проекций.

  1. Специальная часть
    1. Описание  предметной области

     Редакция  газеты «К» занимается выпуском частных объявлений, принимаемых от населения. Для ускорения процесса выпуска объявлений и упрощения их вёрстки, информация об объявлениях должна храниться в базе данных.

     Первоначально объявления разделены на несколько  крупных тематических разделов. Затем  каждый раздел разделён на несколько  рубрик. Каждая рубрика включает в  себя несколько подрубрик. Объявление подается заказчиком для печати в определенном номере газеты. Предполагается также, что объявление может повторно выходить в некоторых из последующих выпусков. Каждое объявление содержит один или несколько видов связи. Некоторые из видов связей могут быть указаны только для связи редакции с заказчиком, например, для уточнений. Вид связи включает в себя имя, фамилию и отчество контактного лица, информацию об удобном времени связи, а также контактный телефон и/или адрес. Адрес может быть почтовым или электронным. Не может быть вида связи без указаний какого-либо вида связи. Некоторые из предоставленных способов связи указываются в качестве способа ответа на объявление. Объявления без способа связи не публикуются.

     Разделы, рубрики и подрубрики имеют свое наименование и обладают номером  или кодом. Каждая рубрика имеет номер, кратный, например, десяти, а все подрубрики, входящие в рубрику, имеют коды в пределах этого десятка. Аналогично, разделы имеют «базовый» номер, кратный ста. Не допускается существование пустых (без рубрик) разделов и рубрик (без подрубрик), пустые же подрубрики (без объявлений) допускаются.

     Как правило, в определённых подрубриках  встречаются одни и те же слова. Для  ускорения набора объявлений для каждой рубрики имеется список наиболее употребимых слов, ввод которых производится одним щелчком мыши.

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

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

     Объявление  имеет текст. Оно может быть платным  или бесплатным. Для платных объявлений указывается способ оплаты.

    1. Исследование  предметной области и разработка модели

     Итак, рассмотрим подробнее предметную область  и перейдём к построению модели. Для представления данных предметной области в реляционной базе данных удобнее сначала построить модель «сущность-связь» (далее ER-модель). Построим её используя нотацию IDEF1X. Для этого выделим в предметной области сущности и связи.

     Выделение сущностей может быть произведено следующим образом:

Сущность Описание
Объявления Данная сущность отражает сам объект предметной области  – частное объявление. Оно характеризуется  текстом.
Подрубрики Каждое объявление принадлежит некоторой подрубрике.
Рубрики Все подрубрики включены в рубрики.
Разделы Основная сущность, по которой делятся объявления. Содержит рубрики.
Часто используемые слова Слова, характерные  для использования в данной подрубрике.
Способы оплаты У каждого объявления указывается способ оплаты: бесплатное, бартер, служебное, коммерческое и т.д.
Способы связи Эта сущность включает в себя один элемент из списка контактной информации. Для него указывается информация об удобном времени контактов (когда можно звонить, например), признак того, что данный вид всязи используется только для связи редакции с клиентом (не публикуется), признак блокировки данного вида связи и причина блокировки.
Контактные  лица Контактные  лица это конкретные люди, на которых  ссылается способ связи. Так, у контактного  лица может быть указана фамилия, имя и отчество.
Адреса Данная сущность представляет собой структуру почтового  адреса.
Телефоны Сущность, содержащая номера телефонов. Выделена для потому, что, как правило, контингент клиентов, подающих объявления в газету, меняется медленно, т.е. часто объявления подаёт владелец одного и того же телефона. Для сокращения размеров базы данных было решено выделить номера телефонов в отдельную сущность.
Электронные адреса Сущность, являющаяся одним из видов связи. Имеет специфичные  атрибуты для хранения адресов электронной  почты и номеров ICQ.
Выпуски Сущность, олицетворяющая номер газеты, в котором выходят  объявления. У выпуска есть номер и дата выхода
Типы  выпусков Выпуски могут  быть разных типов: обычные, праздничные, специальные и т.д. Данная сущность и определяет этот тип.

     Далее стоит определиться со связями. По предметной области определим, какие сущности связаны между собой, каков тип связи и её кардинальность.

     Итак, иерархия сущностей такова:

  1. разделы содержат рубрики
  2. рубрики содержат подрубрики
  3. подрубрики имеют часто используемые слова и включают объявления
  4. способы оплаты определены для объявлений
  5. типы выпусков определены для выпусков
  6. выпуски хранят объявления, объявления принадлежат выпускам
  7. объявления содержат способы связи
  8. адреса, телефоны и электронные адреса являются видом способа связи для способов связи
  9. способы связи ссылаются на контактные лица

     Рассмотрим теперь тип каждой связи. Итак, выделены виды связи: содержат, имеют, включают, определены для, хранят/принадлежат, указаны для, ссылаются на. Они различаются типом и кардинальностью.

     Так, например, связи 1 и 2 имеют вид «содержат». Это очевидно из предметной области, так как разделы не могут существовать без одной или нескольких рубрик, а рубрики, в свою очередь – без подрубрик. Аналогичный вид применён для связи 7, так как для каждого объявления обязательно указывается один или несколько способов связи. Таким образом, данный вид связи будет идентифицирующей связью с кардинальностью 1,M.

     Связи 3 «имеют» и «включают» будут иметь фактически один вид. Это происходит потому, что для данной подрубрики могут не существовать (или быть неуказанными) часто встречаемые слова. В свою очередь, подрубрика может как не содержать ни одного объявления, так и содержать их множество. Таким образом, это будут идентифицирующие связи с кардинальностью 0,M.

     Связи 4 и 5 «определены для» подразумевают, что родительские сущности используются как справочники. Поскольку элемент справочника может существовать без указания его где-либо, то родительская сущность будет независимой, а, следовательно, и связь – неидентифицирующая. Каждый элемент справочника может быть указан в нескольких записях, каждая запись должна ссылаться на один, и только на один элемент справочника. Связь – неидентифицирующая с кардинальностью 1,M.

     Связь 6 имеет вид «хранят/принадлежат». Исходя из предметной области объявление может выходить в нескольких выпусках, каждый выпуск включает множество объявлений. Объявления не могут существовать без выпусков, в которых выходят, выпуски не существуют без объявлений. Отсюда - идентифицирующая связь «много к многому».

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

     Связь 9 «ссылаются на» является необязательной ссылкой способа связи на справочник контактных лиц. Справочник контактных лиц содержит информацию об абонентах, запись в нём может быть не привязана к существующему способу связи (например, если он был удалён). Таким образом, данная сущность – независимая, а связь – неидентифицирующая. Так как контактное лицо может быть не указано для способа связи, а может быть указано несколько контактных лиц, в то же время для контактного лица может быть не привязан способ связи, то кардинальность – 0,M.

     Данную  модель для наглядности удобно представить  графически. Существует множество нотаций  графического изображения моделей «сущность-связь». Придерживаясь нотации IDEF1X удобно нарисовать схему модели в редакторе AllFusion ERWin 4.1, который является удобным средством для проектирования баз данных, интеграции их с существующими СУБД (редактор поддерживает все популярные современные серверы баз данных), а также создания документации. Нотация IDEF1X является базовой для редактора, поэтому работа с ним при использовании данной нотации при проектировании интуитивно понятна.

     Итак, графическое представление схемы  модели, описанной выше, исполненное в AllFusion ERWin 4.1 представлено на рисунке.

      Теперь в модель нужно добавить атрибуты каждой сущности. Исходя из предметной области, определим в каждую сущность следующие атрибуты:

Сущность Атрибут
Адреса Населённый  пункт
Улица
Дом
Квартира
Выпуски Номер выпуска
Дата  выхода
Тип выпуска
Контактные  лица Фамилия контактного  лица
Отчество  контактного лица
Имя контактного  лица
Объявления текст объявления
Подрубрики Имя подрубрики
Номер подрубрики
Разделы Имя раздела
Базовый номер раздела
Рубрики Имя рубрики
Базовый номер рубрики
Способы оплаты Название способа  оплаты
Выделение в тексте
Способы связи Информация  о времени контактов
Признак служебного вида связи
Признак блокировки
Причина блокировки
Вид способа связи
Телефоны Номер телефона
Типы  выпусков Название типа выпуска
Часто используемые слова Слово
Электронные адреса Адрес электронной почты
Номер ICQ

Информация о работе База данных для редакции газеты