681.301 (07) М545 № 1618
Кафедра Экономической информатики и коммерции
Министерство общего и профессионального образов...
8 downloads
288 Views
248KB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
681.301 (07) М545 № 1618
Кафедра Экономической информатики и коммерции
Министерство общего и профессионального образования Российской Федерации Таганрогский государственный радиотехнический университет
Методические указания к выполнению курсовой работы по курсу Базы данных и системы управления базами данных Для специальностей: 0614, 0618, 071901.
ФЭМП
Таганрог 1998
УДК 681.016Б3 (07.07) Составитель А.В. Егоров Методические указания к выполнению курсовой работы по курсу «Базы данных и системы управления базами данных». Таганрог: Изд-во ТРТУ, 1998 г. Изложены методические рекомендации по выполнению курсовой работы. Приведены основные теоретические положения, задания к выполнению и пример проектирования базы данных. Рецензент: Беляков С.Л., доцент кафедры ЭИиК, ТРТУ
2
Содержание Введение Цель работы 1. Теоретические положения 1.2. Основные понятия БД и СУБД 1.3. Этапы проектирования БД 1.4. Модели данных 1.5. Нормальные формы 2. Задания к выполнению курсовой работы 2.1. Перечень заданий 2.2. Варианты заданий 3. Содержание курсовой работы 4. Пример проектирования Список литературы
3
Введение. Современные информационные системы, основанные на концепции банков данных и баз знаний, характеризуются большими объемами хранимой информации, их сложной организацией, необходимостью удовлетворять разнообразные требования пользователей. Важным компонентом этой концепции является единая методология проектирования баз данных. Базы данных, являясь информационной моделью непрерывно меняющегося реального мира, также должны меняться, чтобы адекватно отображать действительность. Поэтому для сопровождения и эксплуатации информационных систем требуется постоянное использование процедур проектирования баз данных. Методология проектирования автоматизированных банков данных может рассматриваться как совокупность методов и средств, последовательное применение которых обеспечивает разработку проекта баз данных, удовлетворяющего заданным целям. Рассматриваемая методология позволяет пользователю лучше понять, как следует специфицировать требования к данным. Следуя этой методологии, проектировщик может выполнять более глубокий и содержательный анализ требований к данным, осуществлять контроль и управление кодом проектирования. Цель работы. Целью курсовой работы является изучение основ проектирования баз данных в экономических приложениях. В процессе изучения дисциплины и выполнения курсовой работы студенты должны усвоить теоретические основы организации баз данных, включая принципы построения на концептуальном, логическом и физическом уровнях, научиться ставить и решать практические задачи проектирования и эксплуатации баз данных.
4
1. Теоретические положения 1.1. Основные понятия БД и СУБД Взаимосвязанные данные, которые позволяют описать ту или иную реальную систему, называются информационной системой. Каждая информационная система ориентирована на конкретную предметную область, которую она описывает. Существует понятие объекта предметной области. Каждый объект предметной области характеризуется конечным набором атрибутов (элементов данных, реквизитов). Количество и форма представления атрибутов определяется пользователем будущей БД. Любой элемент данных характеризуется: • именем; • формой представления (алфавитная, алфавитно-цифровая, дата); • длиной, т.е. количеством символов, выделяемых для конкретных данных Среди элементов, характеризующих объект предметной области, присутствуют ключевые элементы данных (ключи). К ключевым элементам данных относятся такие элементы данных, по значениям которых можно идентифицировать значения остальных элементов данных. На практике часто встречаются такие ситуации, когда в качестве ключа выступает не один, а несколько элементов данных совместно. Совокупность значений элементов данных, связанных определенным порядком, называется записью. Упорядоченная совокупность элементов множества называется картежом. Упорядоченная совокупность записей называется файлом данных. База данных представляет собой совокупность связанных данных в конкретной предметной области и различного назначения. Программное обеспечение, аппаратные средства, программируемая логика и процедуры, осуществляющие управление базами данных, называются системой управления базами данных (СУБД). Структурой БД является СУБД, ориентированное описание данных или схема, обычно выраженная в терминах языка описания данных. 1.2. Этапы проектирования БД Жизненный цикл БД представляет собой концепцию, в рамках которой рассматривается развитие БД во времени. Жизненный цикл БД делится на две фазы: • фаза анализа и проектирования, • фаза эксплуатации. В течение 1-ой фазы происходит сбор требований пользователей и проектирование БД. В течение 2-ой фазы происходит машинная реализация (создание
5
и отладка программ, проектирование входных и выходных форм и т.д.). Последовательность выполнения этапов и решения задач представлена на рис. 1: Требования пользователя
Формулировка и анализ требований (I) специфика требований Концептуальное проектирование (II) инфомационная структура
Требования обработки Характеристики СУБД Характеристика ОС
Проектирование реализации(III) логическая структура Физическое проектирование (IV) физическая структура
Рис. 1. Этапы проектирования базы данных Формулировка и анализ требований относится к первой фазе и является наиболее трудным и длительным во времени этапом процесса проектирования. Однако он является наиболее важным, т.к. на его базе строится большинство проектных решений. Основной задачей является сбор требований, предъявляемых к содержанию и процессу обработки данных пользователями всех уровней. Анализ требований обеспечивает согласованность целей пользователей, а также согласованность их представлений об информационных потоках. На основе анализа требований устанавливаются цели организации, определяются требования к БД, вытекающие из основных задач. Эти требования документируются в форме доступной пользователям и проектировщикам БД. Для более тщательного анализа требований используется методика тестирования или анкетирования пользователя различного уровня. Результатом этого этапа является определение формата и семантики данных. Концептуальное проектирование имеет своей целью построение независимой от СУБД информационной структуры путем объединения информационных требований пользователя. Результатом этого этапа является представление информационных требований в виде диаграмм «сущность-связь». Основу этой диаграммы представляет набор сущностей, который моделирует определенную совокупность сведений, сведенных к требованиям. 6
Сущность представляет собой основное содержание того явления или процесса, о котором необходимо собрать информацию (она является узловой точкой сбора данных). Необходимо различать тип сущности и экземпляр сущности. Тип сущности - это набор однородных вещей, предметов, явлений, выступающих как единое целое. Экземпляр сущности относится к конкретной вещи, т.е. когда вместо общих характеристик появляются конкретные данные. Сущность является наиболее общим понятием по сравнению с объектом предметной области. При построении диаграмм «сущность-связь» возникают некоторые сложности, связанные с тем, что одни и те же пользователи БД имеют различные представления одних и тех же фактов. Проектирование реализации также относится к 1-ой фазе жизненного цикла и состоит из двух компонент: • проектирование БД на уровне логической структуры, • проектирование программ. Структурой БД является СУБД, ориентированное описание данных или схема, обычно выраженная в терминах языка описания данных. Проектирование программного обеспечения имеет целью создание структурированных программ, использующих язык программирования и язык манипулирования данными. Язык манипулирования данными - это ничто иное как набор команд, осуществляющих различные процедуры манипулирования данными. Физическое проектирование относится к 1-ой фазе и делится на три категории: • Проектирование формата хранимых записей (сюда включаются виды представления и сжатия данных в записи), распределение элементов данных записей по различным участкам физической памяти в зависимости от их размеров и характеристик использования. • Анализ и проектирование кластеров. Кластеризацией записей называется такое объединение записей различного типа в физические группы, которое позволяет эффективно использовать преимущество последовательного размещения данных. • Проектирование путей доступа к данным (сюда включаются такие параметры и методы, тот которых в значительной степени зависит время доступа и время обработки запросов. Иногда эти параметры называют производительностью системы или производительностью СУБД). Результатом физического проектирования является физическая структура БД, форматы и размещение в памяти записей и методы доступа к данным. 1.3. Модели данных Любая СУБД основывается на конкретной модели данных. Модель данных отражает взаимосвязи между объектами, описываемыми в БД. Компонентами в
7
модели данных являются объекты и их взаимосвязи. В настоящее время имеется три основные модели данных: • иерархическая, • сетевая, • реляционная. Основное различие между указанными выше типами моделей данных состоит в способах представления взаимосвязей: • между объектами, • между атрибутами одного и того же объекта, • между атрибутами различных объектов. Различают четыре основных типа взаимосвязей: • "один к одному" (1:1), • "один к многим" (1:М), • "многие к одному" (М:1), • "многие к многим" (М:М). Связь "один к одному" имеет место тогда, когда значению одного атрибута соответствует одно значение другого атрибута. Связь "один к многим" существует тогда, когда одному значению одного атрибута соответствует множество значений другого атрибута. Связь "многие к одному" устанавливается тогда, когда множество значений одного атрибута однозначно определяет значение другого атрибута. Связь "многие к многим" означает, что множество значений одного атрибута соответствует множеству значений другого атрибута. Все рассмотренные выше взаимосвязи могут использоваться для случая, когда атрибуты не единичные, а представляют собой наборы атрибутов. При установлении взаимосвязи между элементами данных нужно учитывать реальный их смысл. Иерархическая модель данных (ИМД) имеет аналогичную структуру деревьев и состоит из узлов и ветвей. Узел представляет собой совокупность элементы данных (или элемент данных), описывающих некоторый объект. В качестве ветвей выступают взаимосвязи одного из четырех видов. Зависимые узлы располагаются на более низких уровнях и удовлетворяют схеме "исходный порожденный". Иерархическая модель данных организовывает данные в виде некоторой иерархии, причем каждый экземпляр корневого узла образует начало записи логической структуры БД, т.е. ИМД будет состоять из нескольких деревьев. В ИМД узлы, находящиеся на i+1 - ом уровне называются порожденными узлами на i-ом уровне. А узел, находящийся на i-ом уровне, является исходным для узлов i+1-го уровня. Иерархическая структура всегда удовлетворяет следующим требованиям: 1. Иерархия начинается с корневого узла. 2. Каждый узел может состоять из одного или нескольких элементов данных, описывающих объект. 8
3. На низших уровнях всегда располагаются зависимые узлы. 4. Исходный узел может иметь в качестве зависимых один или несколько порожденных узлов. 5. Пути доступа к каждому из узлов являются уникальными. Описание логической структуры БД называется схемой БД. Она содержит имена объектов, атрибуты и указывает на существующие взаимосвязи между ними. Схема представляет структуру, в которую могут быть помещены значения элементов данных. Если схема содержит значения элементов данных, то ее называют экземпляр схемы. Если порожденный элемент (узел) имеет более одного исходного элемента, то такое отношение нельзя описать с помощью ИМД, т.к. это противоречит правилу построения ИМД (порожденный узел имеет более одного исходного). Т.е. любой элемент сетевой структуры может быть связан с любым элементом этой же структуры. Сетевая структура допускает наличие циклов между узлами, что усложняет технологию поиска и обработки данных. СМД, в которой связь между элементами в отношении "порожденный - исходный" является однозначной (т.е. отсутствуют сдвоенные стрелки в обоих направлениях) называется простой, в противном случае СМД называется сложной. Основу реляционной модели составляет совокупность данных, объединенных в виде отношений (таблиц). Из теории множеств известно, что формальным аналогом любой таблицы является отношение. Пусть имеется некоторая совокупность множеств D1, D2, … DN. Отношением R на этих множествах называется подмножество их декартового произведения, где N - это степень отношения. Картеж - это совокупность элементов множеств, причем порядок имеет существенное значение, т.к. каждый элемент множества должен принадлежать только своему домену. Запись вида R(A,B,C) называется схемой отношения и наряду с названием отношения содержит имена атрибутов. Совокупность схем отношений составляет схему реляционной БД. Количество картежей называется мощностью отношения. 1.4. Нормальные формы отношений Для поддержания БД в согласованном состоянии необходимо правильно строить функциональные зависимости между атрибутами. Функциональная зависимость существует, когда один или более доменов отношения уникально определяет один или более доменов этого же отношения. (Под словом "уникально" понимается взаимооднозначное соответствие). Атрибуты, стоящие слева от стрелки называются областью определения, а справа - областью значений. Функциональная зависимость вида A→B называется полной функциональной зависимостью, если B зависит от всей группы значений атрибута A, а не от ее части (подмножества). Из определения ФЗ следует, что нет необходимости в том, чтобы какойлибо атрибут появлялся дважды: либо с одной, либо с другой стороны от стрел9
ки, а также порядок появления этих атрибутов не имеет значения. Единственным существенным условием является то, что при построении ФЗ для конкретного отношения должны быть охвачены все принадлежащие этому отношению атрибуты. Цель построения ФЗ для конкретного отношения - это нахождение ключа отношения, точнее разновидности ключей. Вероятным ключом отношения R называется такое подмножество атрибутов R, что каждое сочетание их значений встречается только в одной строке отношения и никакое подмножество K этим свойством не обладает. Вероятных ключей в отношении может быть несколько, поэтому выбирают один и называют его первичным ключом отношения R - это такой атрибут, по значениям которого производится контроль достоверности данных этого отношения. При нахождении функциональных зависимостей и определении первичного ключа существенную роль играют правила построения и преобразования функциональных зависимостей, которые сформулированы в виде шести аксиом. Они называются также правилами вывода, так как, используя их, можно вывести новые функциональные зависимости из уже имеющихся. 1. Рефлексивность. Для любого X∈R справедливо X→X. 2. Расширение. Если X и Y ∈ R и X→Y, то для любого W∈R справедливо X,W→Y 3. Аддитивность. Если X,Y,Z∈R и X→Y, X→Z, то X→Y,Z. 4. Проективность (декомпозиция). Если X,Y,Z∈R и X→Y,Z, то X→Y, X→Z. 5. Транзитивность. Если X,Y,Z∈R и X→Y, Y→Z, то X→Z. 6. Псевдотранзитивность. Если X,Y,Z,W∈R и X→Y, Y,W→Z, то X,W→Z. Схема отношения R находится в 1НФ, если значения всех доменов являются атомарными для любого атрибута, принадлежащего этому отношению. Другими словами, домены не являются ни списками, ни множествами простых или сложных значений. Определить понятие атомарности трудно, т.к. значение, атомарное в одном отношении, может быть не атомарным в другом отношении. Однако можно руководствоваться общим принципом, что значение не атомарно, если в приложении оно используется по частям. Преимущество 1НФ состоит в том, что она позволяет выражать функциональные зависимости и значения атрибутов с той степенью детализации, с которой требует пользователь. Вторая и третья нормальные формы возникли в результате стремления избежать аномалий при обновлении данных и избавиться от информационной из-
10
быточности в отношениях. Аномалии обновления являются нежелательным побочным эффектом, обусловленным изменением отношения. Схема отношения R находится во 2НФ относительно множества функциональных зависимостей F, если: 1) она находится в 1НФ, 2) каждый непервичный атрибут полностью зависит от ключа. Для схемы отношения R атрибут А называется первичным, если он содержится в каком-либо ключе отношения R. В противном случае атрибут А называется непервичным. Для схемы отношения R подмножество атрибутов X и А и множество функциональных зависимостей F атрибут А называется транзитивно-зависимым от X, если существует подмножество Y такое, что: X→Y, Yне→X, Y→A, то X→A. Схема отношения R находится в 3НФ относительно множества функциональных зависимостей F, если: 1) она находится во 2НФ, 2) ни один из непервичных атрибутов не является транзитивно-зависимым от ключа.
11
2. Задания к выполнению курсовой работы 2.1. Перечень заданий Для выполнения работы необходимо решить следующие задачи: а) Построить логическую структуру базы данных на уровне взаимосвязей между объектами и на уровне взаимосвязей между атрибутами разных объектов, предварительно определив эти взаимосвязи; подтвердить правильность полученной структуры на экземплярах данных; Примечание. Нечетные варианты должны построить иерархическую структуру, четные - сетевую. б) выполнить нормализацию отношений, для этого необходимо ввести ограничения, определить функциональные зависимости и ключи; привести каждое отношение к третьей нормальной форме; в) сформулировать выбранные запросы в терминах реляционной алгебры и показать правильность их обработки на примерах; г) написать и привести в приложении программу обработки первых трех запросов с помощью СУБД Foxbase+. 2.2. Варианты заданий В качестве предметной области проектирования БД выбрана торговая фирма, которая осуществляет выполнение заказов, поступающих от клиентов. Для построения БД использованы следующие объекты и их атрибуты: 1. Фирма (название фирмы, юр. адрес, телефон фирмы, № счета в банке, наименование товара, цена товара); 2. Склад (№ склада, адрес склада, № заказа, наименование товара, единицы измерения, кол-во товара, цена товара, отметки об оплате); 3. Кадры (Название фирмы, Ф.И.О. сотрудника, должность сотрудника, образование сотрудника, оклад, дата принятия на работу); 4. Поставщик (№ поставщика, Ф.И.О. поставщика, юр. адрес поставщика, № счета поставщика, наименование товара, цена товара); 5. Транспорт (№ склада, № автомобиля, марка автомобиля, грузоподъемность, год выпуска, Ф.И.О. владельца, дата перевозки); 6. Накладная (№ накладной, наименование товара, единицы измерения, колво, цена, сумма); 7. Товар (Наименование товара, единицы измерения, сорт, цена, изготовитель, адрес изготовителя); 8. Клиент (№ клиента, Ф.И.О. клиента, юр. адрес клиента, № счета клиента, № заказа, наименование товара, цена товара); 9. Счет (Наименование банка, № счета, Ф.И.О. владельца счета, состояние счета, дата, наличие кредита, сумма кредита); 12
10. Заказ (№ заказа, дата заказа, Ф.И.О. клиента, № счета клиента, наименование товара, количество, цена товара). В таблице 1 приведен перечень запросов к будущей БД, устанавливающей определенные требования к составу, взаимосвязям и условиям обработки запросов. Таблица 1 Перечень возможных запросов № 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.
Содержание запроса Какие фирмы поставляют данный товар? На каком складе имеется данный товар? Определить название фирмы, должность и оклад данного сотрудника. Какой товар и по какой цене поставляет данный поставщик? Кто из водителей на данном автомобиле перевозил груз в данную дату? Перечислить номера накладных, выписанных на данный товар. Какие предприятия изготавливают данный товар, не выше данной цены? Кто из клиентов заказал данный товар? Кто из владельцев счетов данного банка имеет кредиты на данную дату? Перечислить номера заказов и ФИО клиентов, которые заказали данный товар, в данном количестве. Определить юридический адрес и номера телефонов данной фирмы. В каком количестве и по какой цене имеется данный товар на данном складе? Кто из сотрудников данной фирмы был принят на работу на данную дату? Кто из поставщиков не поставляет данный товар по данной цене? Какие автомобили имеют данную грузоподъемность и выпущены не позже данной даты? Какой товар и в каком количестве был отпущен на данную сумму по данной накладной? Найти адреса изготовителей данного товара с данной ценой и данным сортом. Перечислить номера счетов клиентов заказавших данный товар по данной цене. В каком банке проводилась оплата данным владельцем по данному счету? Кто из клиентов выполнил заказы позже указанной даты? С каких складов и какой фирмой выполняется поставка данного товара? Определить название фирмы и номер счета, на которой работает данный сотрудник в данной должности. 13
23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40.
Кто из поставщиков поставлял данный товар на данный склад? Кто из клиентов получал данный товар на данном складе? Какие товары поставляет фирма, на которой работает данный сотрудник? Кто из сотрудников данной фирмы являются поставщиками товара? Кто из поставщиков имеет счет в данном банке? В каком банке открыл счет данный поставщик? На какой адрес склада был доставлен данный товар, автомобилем с данным номером? Является ли владелец автомобиля с данной фамилией работником данной фирмы? Кто из клиентов (ФИО) получал данный товар и по каким номерам накладных? Кто из поставщиков поставлял данный товар и по каким номерам накладных? Перечислить номера складов, на которых имеется данный товар, данного изготовителя. Перечислить номера заказов данного товара и данного изготовителя. В каком банке имеет счет клиент с данным номером? Определить номер склада, в котором имеется заказ клиента с данной фамилией. Кто из поставщиков имеет кредит на сумму превышающую заданную? Кто из поставщиков имеет кредит на сумму не превышающую заданную? Найти юридические адреса клиентов, которые оформили заказы на данную дату. Определить сорт товара, на который был оформлен заказ с данным номером.
14
В таблице 2 приведены варианты заданий и номера запросов. Таблица 2 № 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
Номера запросов 1-3-5-21-23 2-4-6-23-25 3-5-7-25-27 4-6-8-27-29 5-7-9-29-31 6-8-10-31-33 7-9-11-33-35 8-10-12-35-37 9-11-13-37-39 10-12-14-39-21 11-13-15-24-26 12-14-16-26-28 13-15-17-28-30 14-16-18-30-32 15-17-19-32-34 16-18-20-34-36 1-4-7-36-38 2-5-8-38-40 3-6-9-22-23 4-7-10-23-26 5-8-11-26-29 6-9-12-29-32 7-10-13-32-35 8-11-14-35-38 9-12-15-38-39 10-13-16-21-25 11-14-17-25-29
№ 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
Номера запросов 12-15-18-29-33 13-16-19-33-37 14-17-20-36-40 1-5-9-21-26 2-6-10-26-31 3-7-11-31-35 4-8-12-35-40 5-9-13-22-27 6-10-14-27-32 7-11-15-32-37 8-12-16-23-28 9-13-17-28-32 10-14-18-32-37 11-12-13-24-29 13-14-15-29-34 15-16-17-34-39 17-18-19-25-30 1-2-3-30-35 3-4-5-35-40 5-6-7-26-31 7-8-9-31-36 10-11-12-27-32 12-13-14-32-37 14-15-16-28-33 16-17-18-33-38 18-19-20-29-34
3. Задания к выполнению курсовой работы Пояснительная записка к курсовой работе должна включать в себя: титульный лист; содержание; задание из таблицы 1 и 2 и перечень объектов, выбранных в соответствии с запросами. При выполнении курсового проекта последовательность действий должна быть следующей: 1. Изучить основные теоретические разделы проектирования БД из методических указаний и рекомендованной литературы. 2. Решить задачи а) - г) согласно п.п. 2.1. 3. Сформулировать выводы по результатам работы. 4. Привести список использованной литературы. 15
Пояснительная записка оформляется на стандартных листах белой бумаги. Объем записки 20-25 страниц рукописного или машинописного текста. Программа обработки запросов оформляется в виде приложения с результатами.
16
4. Пример проектирования базы данных Запросы: 1. Кто из студентов занимается и спортом, и самодеятельностью? 2. В каких комнатах данного общежития проживают студенты конкретной группы? 3. Кто из студентов, проживающих в данной комнате общежития, не имеет комсомольских поручений? Исходя из запросов выбираются следующие объекты: (N группы, Ф.И.О., Комсомольская работа, Оценка работы) ВЛКСМ (N группы, Факультет, Количество студентов, Количество Группа семейных пар, Ф.И.О. старосты) Общежитие (N общежития, Ф.И.О. коменданта, N комнаты, Ф.И.О. жильца, N группы, Ф.И.О. старосты комнаты) Самодеятельность (N группы, Ф.И.О. студента, Жанр, Стаж занятий) (N группы, Ф.И.О. студента, Вид спорта, Спортивная квалиСпорт фикация) (N зачетной книжки, N группы, Ф.И.О. студента, Адрес стуСтудент дента, Семейное положение) Взаимосвязи между элементами данных. Взаимосвязи между атрибутами каждого объекта: ВЛКСМ (N группы, Ф.И.О., Комсомольская работа, Оценка работы) Ф.И.О. <<--> N группы (М:1) Ф.И.О. <<-->> Комсомольская работа (М:М) Комсомольская работа <--> Оценка работы (1:1) Группа (N группы, Факультет, Количество студентов, Количество семейных пар, Ф.И.О. старосты) N группы <<--> Факультет (М:1) N группы <--> Количество студентов (1:1) N группы <--> Количество семейных пар (1:1) N группы <--> Ф.И.О. старосты (1:1) Общежитие (N общежития, Ф.И.О. коменданта, N комнаты, Ф.И.О. жильца, N группы, Ф.И.О. старосты комнаты) N общежития <--> Ф.И.О. коменданта (1:1) Ф.И.О. жильца <<--> N комнаты (М:1) Ф.И.О. жильца <<--> N группы (М:1) N комнаты <--> Ф.И.О. старосты комнаты (1:1) 17
Самодеятельность (N группы, Ф.И.О. студента, Жанр, Стаж занятий) Ф.И.О. студента <<--> N группы (М:1) Ф.И.О. студента <<-->> Жанр (М:М) Ф.И.О. студента <-->> Стаж занятий (1:М) Спорт (N группы, Ф.И.О. студента, Вид спорта, Спортивная квалификация) Ф.И.О. студента <<--> N группы (М:1) Ф.И.О. студента <<-->> Вид спорта (М:М) Ф.И.О. студента <-->> Спортивная квалификация (1:М)
18
19
Адрес
студента Ф.И.О.
группы N
СПОРТ Оценка Работа
Ф.И.О. -п груN Ф.И.О. -а комн N Ф.И.О. -е общN старосты пы жильца ты коменданта жития комнаты
ОБЩЕЖИТИЕ
Спорт. Вид Ф.И.О. -п груN квалифи спорта студента пы кация
Стаж Жанр Ф.И.О. -п груN занятий студента пы
САМОДЕЯТЕЛЬНОСТЬ
положениеСемейное
СТУДЕНТ
Ф.И.О. -п груN студента пы
ВЛКСМ
Ф.И.О. Кол. Кол. Факультет -п груN старосты сем. студентов пы пар
ГРУППА
книжки зачетной N
Схема логической структуры БД (иерархическая модель данных)
Студент (N зачетной книжки, N группы, Ф.И.О. студента, Адрес студента, Семейное положение) Ф.И.О. студента <--> N зачетной книжки (1:1) Ф.И.О. студента <<--> N группы (М:1) Ф.И.О. студента <<--> Адрес студента (М:1) Ф.И.О. студента <--> Семейное положение (1:1) Нормализация отношений Группа (N группы, Факультет, Количество студентов, Количество семейных пар, Ф.И.О. старосты) Ограничения: - На факультете – несколько групп. - В разных группах количества студентов и количества семейных пар могут совпадать. Функциональные зависимости: F={N группы --> Факультет, Количество студентов, Количество семейных пар, Ф.И.О. старосты} Ключ: N группы. Вид нормальной формы: данное отношение находится в III НФ, так как оно находится в I НФ (все значения атрибутов атомарные), отсутствует неполная зависимость от ключа непервичных атрибутов и отсутствует транзитивная зависимость последних от ключа. Общежитие (N общежития, Ф.И.О. коменданта, N комнаты, Ф.И.О. жильца, N группы, Ф.И.О. старосты комнаты) Ограничения: В каждой комнате живут несколько жильцов. В разных общежитиях могут быть комнаты с одинаковыми номерами. Функциональные зависимости: F={N общежития <--> Ф.И.О. коменданта; N общежития, N комнаты --> Ф.И.О. старосты комнаты; Ф.И.О. жильца --> N группы} Ключ: N общежития & N комнаты & Ф.И.О. жильца. Вид нормальной формы: данное отношение находится в I НФ, так как все значения атрибутов атомарные. Приведение к III НФ: декомпозиция. R1 (N общежития, Ф.И.О. коменданта) R2 (N общежития, N комнаты, Ф.И.О. старосты комнаты) R3 (Ф.И.О. жильца, N группы) R4 (N общежития, N комнаты, Ф.И.О. жильца) ВЛКСМ (N группы, Ф.И.О., Комсомольская работа, Оценка работы) 20
Ограничения: Один студент может заниматься разной комсомольской работой. Функциональные зависимости: F={Ф.И.О. --> N группы; Ф.И.О., Комсомольская работа --> Оценка работы} Ключ: Ф.И.О. & Комсомольская работа. Вид нормальной формы: данное отношение находится в I НФ, так как все значения атрибутов атомарные. Приведение к III НФ: декомпозиция. R1 (N группы, Ф.И.О.) R2 (Ф.И.О., Комсомольская работа, оценка работы) Самодеятельность (N группы, Ф.И.О. студента, Жанр, Стаж занятий) Ограничения: Один студент может заниматься самодеятельностью в разных жанрах, при этом каждому из жанров соответствует свой стаж. Функциональные зависимости: F={Ф.И.О. студента --> N группы; Ф.И.О. студента, Жанр --> Стаж занятий} Ключ: Ф.И.О. студента & Жанр. Вид нормальной формы: данное отношение находится в I НФ, так как все значения атрибутов атомарные. Приведение к III НФ: декомпозиция. R1 (N группы, Ф.И.О. студента) R2 (Ф.И.О. студента, Жанр, Стаж занятий) Спорт (N группы, Ф.И.О. студента, Вид спорта, Спортивная квалификация) Ограничения: Один студент может заниматься разными видами спорта, при этом каждому из видов спорта соответствует своя спортивная квалификация. Функциональные зависимости: F={Ф.И.О. студента --> N группы; Ф.И.О. студента, Вид спорта --> Спортивная квалификация} Ключ: Ф.И.О. студента & Вид спорта. Вид нормальной формы: данное отношение находится в I НФ, так как все значения атрибутов атомарные. Приведение к III НФ: декомпозиция. R1 (N группы, Ф.И.О. студента) R2 (Ф.И.О. студента, Вид спорта --> Спортивная квалификация) Студент (N зачетной книжки, N группы, Ф.И.О. студента, Адрес студента, Семейное положение) 21
Ограничения: Несколько студентов могут проживать по одному адресу. Функциональные зависимости: F={N группы --> N зачетной книжки, N группы, Адрес студента, Семейное положение; N зачетной книжки --> Ф.И.О. студента} Ключ: Ф.И.О. студента. Вид нормальной формы: данное отношение находится в III НФ, так как оно находится в I НФ (все значения атрибутов атомарные), отсутствует неполная зависимость от ключа непервичных атрибутов и отсутствует транзитивная зависимость последних от ключа. Реализация запросов в терминах реляционной алгебры В общем виде: 1. Кто из студентов занимается и спортом, и самодеятельностью? (Самодеятельность[Ф.И.О. студента = Ф.И.О. студента]Спорт) [Ф.И.О. студента, Жанр, Вид спорта] 2. В каких комнатах данного общежития проживают студенты конкретной группы? Общежитие(N общ.=Nob & N группы=Ngr)[Ф.И.О. студента, N комнаты, N группы] 3. Кто из студентов, проживающих в данной комнате общежития, не имеет комсомольских поручений? (Общежитие(N общ.=Nob & N комнаты=Nkom)[Ф.И.О. жильца]) \ (ВЛКСМ[Ф.И.О.])
22
Егоров Александр Вадимович Методические указания к выполнению курсовой работы Базы данных и системы управления базами данных
Ответственный за выпуск Егоров А.В.
ЛР № 020565 Подписано к печати Формат 60х84 1\16 Печать офсетная. Усл. п.л. Уч.-изд.л. Тираж 100 экз. Заказ № << C >> _____________________________________________________________________ Издательство Таганрогского государственного радиотехнического университета. ГСП 17А, Таганрог, 28, Некрасовский, 44 Типография Таганрогского государственного радиотехнического университета ГСП 17А, Таганрог, 28, Энгельса, 1 23