курсовая работа модели данных

вебкам студия барнаул работа

Работа для девушек в Самаре Кратко Список. Самарская область Самара

Курсовая работа модели данных работа в иваново девушке

Курсовая работа модели данных

Реляционная модель данных самая распространенная и наиболее часто используемая модель на нынешний момент Реляционная модель данных для больших банков данных коллективного пользования , в котрой предложил представлять данные как наборы таблиц. Отношения является важнейшим понятием и представляет собой двумерную таблицу, содержащую некоторые данные. Сущность —объект любой природы, данные о котором храняться в БД. Данные сущности находяться в отношениях.

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

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

Процедура аренды автомобиля проста. От клиента требуется, чтобы его возраст был не менее 21 года и не превышал 70 лет. Служащему арендной компании надо предъявить паспорт и водительское удостоверение международное. К моменту заключения договора удостоверение должно быть действительно не менее 2 лет. В некоторых странах обслуживание клиента производится только при наличии кредитной карты, в большинстве же стран оплата за услуги проводится наличными, но необходимо внести небольшой залог.

В стоимость арендной платы должно входить следующее: неограниченный пробег автомобиля; доставка клиенту автомобиля в черте города; ремонт или замена автомобиля в случае технической неисправности, кроме повреждения покрышек и ветрового стекла; полная страховка на случай ДТП, произошедшего не по вине клиента; страховка, покрывающая ущерб, нанесенный автомобилю в ДТП по вине клиента, сверх определенной суммы но если на момент ДТП водитель находился в состоянии алкогольного опьянения, страховка не выплачивается ; страховка пассажиров кроме водителя от несчастных случаев себя водитель может застраховать за дополнительную плату ; налоги.

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

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

БД должна содержать данные об автомобилях, сдающихся в прокат или находящихся в прокате, о клиентах, о заключенных сделках и предоставлять возможность получать разнообразные отчёты. В соответствии с предметной областью система строится с учётом следующих особенностей: каждый автомобиль сдается в рамках контракта; автомобиль может быть арендован одним клиентом; один контракт создается на каждую сделку об аренде; контракт оформляется на одного клиента; количество заказов, которые сделал клиент влияет на цену сделки; стаж вождения клиента влияет на цену сделки; каждый автомобиль выпущен определенной фирмой; автомобиль каждой фирмы имеет определенную цену за день аренды ; ДТП регистрируется на одного водителя-арендатора и на один автомобиль за рулем которого он был.

Существует предел кол-ва автомобилей, которыми может оперировать авто-прокат, примерно Схемы базовых сущностей этой предметной области:. Курсовая работа по курсу «базы данных». Download 1. Члены комиссии: Фергана г. Дополнительные задания и указания. Он делится на: Фамилия, ИО, Инициалы в таком виде будет проще брать значения из базы данных. ФИО сущности Оператор делить нет смысла, так как оператор не играет важной роли для выбранной темы работы. Многозначный атрибут — это такой атрибут, который принимает несколько значений.

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

У сущности Область есть только два атрибута. Рекурсивные связи. Когда сущность вступает в связь сама с собой, такая связь удаляется и не рассматривается в данной работе. Избыточные связи. Если между сущностями есть связь через другие сущности и несет такую же смысловую нагрузку, или она содержит более полную или важную информацию, то прямая связь между этими сущностями является избыточной и ее можно удалить.

Например, Клиент Ждет Курьера. Если клиент заказывает в ресторане, а курьер закреплен за этим рестораном, то курьер повезет заказ клиенту, следовательно, клиент будет ждать именно этого курьера. Связь «Ждет» является избыточной, так как по связям через сущность Ресторан есть более полная и важная информация.

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

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

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

Информационные системы и технологии, автоматизация, программирование, проектирование и разработка БД.. Разработанное программное обеспечение ПО к курсовым, дипломным и магистерским Антиплагиат ап. Разработка базы данных: курсовая работа по созданию БД. Курсовая работа: Проектирование и разработка базы данных библиотеки 2. Курсовая: Проектирование и разработка базы данных магазина 3. Курсовой проект: Проектирование и разработка базы данных отдела кадров 4.

Курсовая работа: Проектирование и разработка базы данных sql 5. Курсовая: Проектирование и разработка базы данных склада 6. Курсовой проект: Проектирование и разработка реляционной базы данных 7. Контрольная:Проектирование и разработка базы данных mysql 8. Курсовая работа: Проектирование и разработка базы данных отдела кадров 9. Курсовая: Проектирование и разработка базы данных автосалона Курсовая: Проектирование и разработка базы данных больницы Курсовая работа: Проектирование и разработка базы данных гостиницы Курсовая работа: Проектирование и разработка базы данных аптеки Курсовая: Проектирование и разработка базы данных кинотеатра Курсовой проект: Проектирование и разработка базы данных салона красоты Курсовая работа: Проектирование и разработка базы данных студентов Курсовая: Проектирование и разработка БД ресторана Контрольная: Проектирование и разработка БД мотосалона Курсовая работа: Проектирование и разработка БД турфирмы Курсовая: Проектирование и разработка базы данных расписание занятий в ВУЗе на примере… Курсовая работа: Проектирование и разработка базы данных Учета студенческих общежитий на примере… Курсовая: Проектирование и разработка базы данных резервирования и продажи авиабилетов на примере… Курсовая: Проектирование и разработка базы данных расписание движения воздушных судов в аэропорту на примере… Курсовая работа: Проектирование и разработка базы данных реестра воздушных суден на примере… Курсовая: Проектирование и разработка базы данных складского учета автоматизированный склад на примере….

Скачать курсовую работу по базам данных пример. Скачать другие готовые или купить курсовую работу по базам данных. Заказать курсовую работу по базам данных или оценить стоимость. Курсовая работа: Проектирование и разработка базы данных библиотеки. Курсовая: Проектирование и разработка базы данных магазина.

Курсовой проект: Проектирование и разработка базы данных отдела кадров. Курсовая работа: Проектирование и разработка базы данных sql. Курсовая: Проектирование и разработка базы данных склада. Курсовой проект: Проектирование и разработка реляционной базы данных. Контрольная:Проектирование и разработка базы данных mysql. Курсовая работа: Проектирование и разработка базы данных отдела кадров. Курсовая: Проектирование и разработка базы данных автосалона. Курсовая: Проектирование и разработка базы данных больницы.

ПРОГРАММА ДЛЯ РАБОТЫ С STL МОДЕЛЯМИ

С помощью модели данных могут быть представлены объекты предметной области и взаимосвязи между ними. Модель данных. Модель данных — совокупность структур данных и операций их обработки. Модели данных определяются:.

СУБД основывается на использовании иерархической, сетевой или реляционной модели, на комбинации этих моделей или на некотором их подмножестве. Рассмотрим 3 основных типа моделей данных: иерархическую, сетевую и реляционную. Иерархическая модель данных. Объекты, связанные иерархическими отношениями, образуют ориентированный граф перевёрнутое дерево , вид которого представлен на рисунке 1.

А Уровень 1. К основным понятиям иерархической структуры относятся: уровень, элемент узел , связь. Узел — это совокупность атрибутов данных, описывающих некоторый объект. На схеме иерархического дерева узлы представляются вершинами графа.

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

К каждойдятся на втором, третьемершине и находящуюся на самом верхнем 9первом уровне. Записи базы данных существует только 1 иерархический путь от корневой записи. Например, как видно на рисунке 1 для записи С4 путь проходит через записи А и В3. Пример, представленный на рисунке 2 иллюстрирует использование иерархической модели базы данных.

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

Графическое изображение описанной в примере сетевой структуры, состоящей только из двух типов записей, показано на рисунке 4. Единственное отношение представляет собой сложную связь между записями в обоих направлениях. Особенность сетевой модели данных: возможность осуществления навигации по связям данных, то есть переход от просмотра реквизитов экземпляра одного типа записи к просмотру реквизитов экземпляра, связанного типом записи.

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

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

Реляционная модель данных 1. Министерство образования Российской Федерации Министерство образования Республики Таджикистан Российско-Таджикский славянский Университет Кафедра «И и ИС» Курсовая работа по дисциплине: Базы данных на тему: Реляционная модель данных Душанбе — План Введение Модель данных Базовые понятия реляционной модели данных Общие представления о модели данных Заключение Список используемой литературы Введение Человечество стремительно вступает в принципиально новую для него информационную эпоху.

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

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

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

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

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

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

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

В качестве структурированных типов данных можно привести следующие типы данных: массивы, записи структуры. С математической точки зрения массив представляет собой функцию с конечной областью определения. Например, рассмотрим конечное множество натуральных чисел[2].

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

Общим для структурированных типов данных является то, что они имеют внутреннюю структуру, используемую на том же уровне абстракции, что и сами типы данных. Работая же с простыми типами данных, например с числовыми, мы манипулируем ими как неделимыми целыми объектами. Чтобы "увидеть", что числовой тип данных на самом деле сложен является набором битов , нужно перейти на более низкий уровень абстракции.

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

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

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

Считаю, какая работа для девушек в ночную смену НОРМАЛЬНО

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

Моделирование потоков данных DFD диаграмм. Проектирование инфологической модели данных с использованием модели "сущность-связь". Этапы создания и разработки базы данных. Построение модели предметной области. Разработка даталогической и физической моделей данных, способы обработки данных о сотрудниках организации.

Проектирование приложений пользователя. Создание кнопочной формы. Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т. Рекомендуем скачать работу. Главная База знаний "Allbest" Программирование, компьютеры и кибернетика Разработка базы данных промышленного предприятия. Характеристика основных этапов разработок и проектирования базы данных, определение целей ее создания и функциональных особенностей, предметной области и необходимой информации.

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

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

Каждое отношение можно считать классом эквивалентности таблиц, для которых выполняются следующие условия:. Труднее всего дать определение вещей, которые всем понятны. Если давать не строгое, описательное определение, то всегда остается возможность неправильной его трактовки. Если дать строгое формальное определение, то оно, как правило, или тривиально, или слишком громоздко. Дать определение 1НФ сложно ввиду его тривиальности. Поэтому, приведем несколько объяснений. Говорят, что отношение находится в 1НФ, если оно удовлетворяет определению 2.

Это, собственно, тавтология, ведь из определения 2 следует, что других отношений не бывает. Действительно, определение 2 описывает, что является отношением, а что - нет, следовательно, отношений в непервой нормальной форме просто нет. Говорят, что отношение находится в 1НФ, если его атрибуты содержат только скалярные атомарные значения.

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

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

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

Таким образом появляется третье объяснение Первой Нормальной Формы: Отношение находится в 1НФ, если оно является плоской таблицей [7]. В данной главе была рассмотрена только классическая реляционная теория, в которой все отношения имеют только атомарные атрибуты и заведомо находятся в 1НФ. Целостность реляционных данных. Во второй части реляционной модели данных определяются два ограничения, которые должны выполняться в любой реляционной базе данных.

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

Однако в реальном мире часто встречается ситуация, когда данные неизвестны или не полны. Например, место жительства или дата рождения человека могут быть неизвестны база данных разыскиваемых преступников. Если вместо неизвестного адреса уместно было бы вводить пустую строку, то что вводить вместо неизвестной даты? Ответ - пустую дату - не вполне удовлетворителен, так как простейший запрос "выдать список людей в порядке возрастания дат рождения" даст заведомо неправильных ответ.

Для того чтобы обойти проблему неполных или неизвестных данных, в базах данных могут использоваться типы данных, пополненные так называемым null-значением. Null-значение - это, собственно, не значение, а некий маркер, показывающий, что значение неизвестно. Таким образом, в ситуации, когда возможно появление неизвестных или неполных данных, разработчик имеет на выбор два варианта. В любом случае на пользователя или на разработчика ложится ответственность на правильную трактовку таких данных.

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

Второй вариант состоит в использовании null-значений вместо неизвестных данных. За кажущейся естественностью такого подхода скрываются менее очевидные и более глубокие проблемы. Наиболее бросающейся в глаза проблемой является необходимость использования трехзначной логики при оперировании с данными, которые могут содержать null-значения. В этом случае при неаккуратном формулировании запросов, даже самые естественные запросы могут давать неправильные ответы.

Есть более фундаментальные проблемы, связанные с теоретическим обоснованием корректности введения null-значений, например, непонятно вообще, входят ли null-значения в домены или нет. Вопрос о проблемах использования null-значений в теории реляционных баз данных окончательно не решен. Основоположник реляционного подхода Кодд считал null-значения неотъемлемой частью реляционной модели, хотя К. Дейт выступает против null-значений [8].

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

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

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

Отношение может иметь несколько потенциальных ключей. Традиционно, один из потенциальных ключей объявляется первичным, а остальные - альтернативными. Различия между первичным и альтернативными ключами могут быть важны в конкретной реализации реляционной СУБД, но с точки зрения реляционной модели данных, нет оснований выделять таким образом один из потенциальных ключей. Понятие потенциального ключа является семантическим понятием и отражает некоторый смысл трактовку понятий из конкретной предметной области.

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

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

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

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

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

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

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

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

Подобные проблемы возникают потому, что мы смешали в одном отношении различные объекты предметной области - и данные о поставщиках, и данные о деталях, и данные о поставках деталей. Говорят, что это отношение плохо нормализовано просто нормализованным оно является хотя бы потому, что оно есть отношение и, следовательно, автоматически находится в 1НФ. О том, как правильно нормализовать отношения, будет сказано в следующих главах, сейчас же предложим разнести данные по трем отношениям - "Поставщики", "Детали", "Поставки".

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

Чтобы более точно отразить предметную область, можно иначе переформулировать фразы: "Один Поставщик может выполнять несколько Поставок", "Одна Деталь может поставляться несколькими Поставками". Это пример взаимосвязи типа "один-ко-многим". Взаимосвязь между "Поставщиками" и "Деталями" можно переформулировать так: "Несколько Деталей может поставляться несколькими Поставщиками". Это пример взаимосвязи типа "много-ко-многим". В реляционных базах данных основными являются взаимосвязи типа "один-ко-многим".

Взаимосвязи типа "много-ко-многим" реализуются использованием нескольких взаимосвязей типа "один-ко-многим". Отношение, входящее в связь со стороны "один" например, "Поставщики" , называют родительским отношением.

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

Такие атрибуты еще называют мигрирующими из родительского отношения. Таким образом, наш пример с поставщиками и поставляемыми деталями должен выглядеть следующим образом:. В отношении "Поставки" атрибуты "Номер поставщика" и "Номер детали" являются ссылками на ключевые атрибуты отношений "Поставщики" и "Детали", и, следовательно, являются внешними ключами.

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

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

Внешний ключ, как правило, не обладает свойством уникальности. Так и должно быть, так как в дочернем отношении может быть несколько кортежей, ссылающихся на один и тот же кортеж родительского отношения. Это, собственно, и дает тип отношения "один-ко-многим". Если внешний ключ все-таки обладает свойством уникальности, то связь между отношениями имеет тип "один-к-одному".

Чаще всего такие отношения объединяются в одно отношение, хотя это и не обязательно. Хотя каждое значение внешнего ключа обязано совпадать со значениями потенциального ключа в некотором кортеже родительского отношения, то обратное, вообще говоря, неверно. Например, могут существовать поставщики, не поставляющие никаких деталей. Для внешнего ключа не требуется, чтобы он был компонентом некоторого потенциального ключа как получилось в примере с поставщиками и деталями.

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

На самом деле приведенные правила целостности сущностей и внешних ключей прямо следуют из определений понятий "потенциальный ключ" и "внешний ключ". Действительно, в определении потенциального ключа требуется, чтобы потенциальный ключ обладал свойством уникальности. Это фактически означает, что мы должны уметь различать значения потенциальных ключей, то есть при сравнении двух значений потенциального ключа мы всегда должны получать значения либо ИСТИНА, либо ЛОЖЬ.

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

Но, во-первых, для некоторых систем можно допустить, чтобы эти ограничения не выполнялись, а во-вторых, некоторые системы просто не поддерживают понятия целостности, например, некоторые "настольные" СУБД типа FoxPro 2. В этих случаях за целостностью данных должен следить сам пользователь, или программист, разрабатывающий приложение для пользователя. Явная формулировка правил целостности помогает четко понять, какие опасности несет в себе пренебрежение этими правилами.

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

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

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

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

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

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

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

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

Недостатки заключаются в следующем. Во-первых, в родительском отношении должен быть некий кортеж, потенциальный ключ которого принят как значение по умолчанию для внешних ключей. В качестве такого "кортежа по умолчанию" обычно принимают специальный кортеж, заполненный нулевыми значениями не null-значениями! Этот кортеж нельзя удалять из родительского отношения, и в этом кортеже нельзя изменять значение потенциального ключа.

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

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

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

САМЫЕ ВЫСОКООПЛАЧИВАЕМЫЕ РАБОТЫ ДЛЯ ДЕВУШЕК В РОССИИ

Практическое задание по программному обеспечению, программированию. Контрольная работа по программному обеспечению, программированию. Актуальные курсовые работы теория по программному обеспечению, программированию.

На этой странице Вы можете скачать бесплатно курсовую работу теория по программному обеспечению, программированию на тему « Реляционные базы данных ». Контакты Ответы на вопросы FAQ. Скачать курсовую бесплатно. Реляционные базы данных - курсовая работа Теория по программному обеспечению, программированию Тип: Курсовая работа Теория Предмет: Программное обеспечение, программирование Все курсовые работы теория по программному обеспечению, программированию » Язык: Русский Дата: 1 июл Формат: RTF Размер: 72 Кб Страниц: 21 Слов: Букв: Просмотров за сегодня: 1 За 2 недели: 9 За все время: Читать онлайн Скачать курсовую работу теория.

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

Размещать ссылки, адреса электронной почты, пароли, номера телефонов и icq в тексте сообщения запрещено. Скачать курсовые Искать курсовые Как оплатить? Продать курсовые Мои курсовые Мои продажи Последние продажи Статьи Недавно просмотренные: Курсовая работа « Иерархические модели данных ». Административное право. Анализ хозяйственной деятельности. Арбитражный процесс. Банковское дело. Безопасность жизнедеятельности. Бизнес планирование. Биология, экология, животноводство, сельское хозяйство.

Бухгалтерский учет и отчетность. Внешнеэкономическая деятельность. Высшая математика. Гражданское право. Логистика, товароведение. Медицина, биология, анатомия. Международное право. Мировая экономика. Муниципальное право. Организация коммерческой деятельности. Организация производства. Оценочная деятельность.

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