Этап концептуального проектирования. Базы данных. Объективные законы физического мира

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

хорошую работу на сайт">

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

Размещено на http://www.allbest.ru/

Министерство образования и науки Российской Федерации

Федеральное государственное бюджетное образовательное учреждение

высшего профессионального образования

Волгоградский Государственный Технический Университет

Факультет Подготовки Инженерных Кадров

Кафедра "Системы автоматизированного проектирования и поискового

конструирования"

Курсовая работа

По курсу "Концептуальное проектирование систем"

Выполнил: студент группы АУЗ-361с Тюляева И.А.

Проверил: ст. пр. Орлова Т. А.

Волгоград 2013 г

Введение

1) Проведение конструктивно-функционального анализа системы

1.Описание исходной системы

Объект исследования

Вербальное описание

Ограничения на исследования

Цель определения системы

Классификация системы

Конструктивно-функциональный анализ системы

Конструктивно-функциональная структура в графическом виде

2) Проведение функционально-физического анализа технических объектов

1. Функционально-физический анализ технических объектов

2. Потоково-функциональная структура

3) Проведение морфологического анализа и морфологического синтеза технического объекта

1.Описание технического объекта

2. Морфологический анализ технического объекта

2.1 Цель морфологического анализа

Морфологическая таблица

Общее количество возможных технических решений

Итоговое общее количество возможных технических решений

3. Морфологический синтез технического объекта

3.1 Цель морфологического синтеза

Таблица экспертных оценок

Синтез по одному критерию

Синтез по всем критериям

Заключение

Список использованных источников

Введение

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

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

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

Основные особенности задач решаемых при проектировании технических объектов;

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

Использовать методы анализа и синтеза технических решений для построения автоматизированных систем проектирования технических объектов;

Ставить и решать задачи создания автоматизированных систем поддержки концептуального проектирования.

1) Проведение конструктивно-функционального анализа системы

Цель работы :

1. Описание исходной системы

1.1 Объект исследования

Объектом исследования является - электрокофемолка ударного типа. Определим объект как систему электроперемолки кофе без электронного регулятора.

1.2 Вербальное описание

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

Отправителем (V 1) кофейных зерен (V 2) в системе является человек, он же является ответственным за подачу кофейных зерен в бункер для кофейного зерна и выгрузку полученного измельченного кофейного порошка из бункера для молотого кофе.

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

1.3 Ограничения на исследования

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

1.4 Цель определения системы

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

2. Классификация системы

Исследуемая система относится к сложным техническим детерминированным системам.

Система является открытой системой, так как она взаимодействует с окружающей средой и не живая.

Система конкретная, потому что имеет больше 2-х элементов, которые являются объектами.

Автоматизированная электрокофемолка относится к искусственным физическим системам, так как создан человеком.

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

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

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

3. Конструктивно -функциональный анализ системы

Таблица № 1. Конструктивно-функциональная структура

Элемент системы

Функции элемента

Наименование

Вербальное описание

Воздействует при открытии на Е 4 и

прекращает воздействие при закрытии

Перемалывает V 2 и передает результат работы под Е 3

Бункер для кофейного зерна

V 1 засыпает V 2 в элемент Е 2, запускается Е 1

Проталкивает V 2 к Е 7

Блокирующее устройство

Фиксирует факт открытия и закрытия Е 0 , блокирует/ разблокирует Е 5

Электродвигатель

Принимает сигнал от Е 6 , затем подаёт сигнал на запуск Е 1

Включатель

Воздействует на Е 5 и прекращает воздействие при повторном нажатии V 1

Бункер для молотого кофе

Хранит перемолотый V 2

4. Графическое представление

Рис. 1. Конструктивно-функциональная структура в графическом виде.

2) Проведение функционально-физического анализа технического объекта

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

1. Функционально-физический анализ технических объектов

Внешняя среда: V 1 - Человек, V 2 - Кофейные зерна.

Таблица №2: Функционально-физическая структура

Элемент системы

Физическая операция

Наименование

Входное воздействие

Операция Колера

Выходное воздействие В

Физическое

Воздействие от V 1

Преобразование

Сигнал к Е 4

Воздействие на V 2

Преобразование

Сигнал к Е 3

Бункер для кофейного зерна

Физическое

Воздействие от V 1 на V 2

Преобразование

Сигнал к Е 1

Сигнал из Е 1

Перемещение

Передача V 2 к Е 7

Блокирующее устройство

Положение Е 0

Преобразование

Сигнал к Е 5

Электродвигатель

Сигнал из Е 4 и Е 6

Преобразование

Сигнал к Е 1

Включатель

Физическое

Воздействие от V 1

Преобразование

Сигнал к Е 5

Бункер для молотого кофе

Задержка V 2

Перемещение

Хранение V2 с

Последующей передачей на обработку

2. Потоко во - функциональная структура

Рис. 2. Потоково-функциональная структура в графическом виде.

3) Проведение морфологического анализа и морфологического синтеза технического объекта

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

1. Описание технического объекта

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

Электро (от нов.-лат. electricus и др.-греч. ?лекфспн) - электр, блестящий металл; янтарь.

2. Морфологический анализ технического объекта

2.1 Цель морфологического анализа

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

Необходимо усовершенствовать рассматриваемую систему.

Требования: Необходимо увеличить надёжность и функциональность системы.

Цель: Увеличить точность фиксации и быстродействие.

2.2 Морфологическая таблица

конструктивный морфологический автоматизированный электрокофемолка

Таблица №3: Морфологическая таблица технического объекта.

Классификационные признаки

Варианты реализации классификационных признаков

V 1 1 - сталь;

V 1 2 - алюминий; V 1 3 - пластик;

V 2 1 - сталь;

V 2 2 - алюминий; V 2 3 - латунь;

Бункер для кофейного зерна

V 3 1 - сталь;

V 3 2 - пластик;

V 4 1 - поршневой;

V 4 2 - гидравлический;

Блокирующее устройство

V 5 1 - кнопка;

V 5 2 - контактная пластина;

V 5 3 - фотоэлемент;

Включатель

V 6 1 - автоматический;

V 6 2 - кнопка;

Бункер для молотого кофе

V 7 1 - сталь;

V 7 2 - пластик;

2.3 Общее количеств

Общее количество возможных технических решений:

3 * 3 * 2 * 2 * 3 * 2 * 2 = 432

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

Бункер для кофейного зерна.

Бункер для молотого кофе.

Включатель.

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

2.4 Итоговое общее количеств о возможных технических решений

Таблица №4: Итоговая таблица.

Итоговое общее количество возможных технических решений:

3 * 3 * 2 * 2 = 36

3. Морфологический синтез технического объекта

3.1 Цель морфологического синтеза

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

3.2 Таблица экспертных оценок

Таблица №5: Таблица экспертных оценок технического объекта.

Наименование элемента

Оценка элементов по критериям

Эффективность

Простота

осуществления

Экономичность

Надежность

V 1 1 - сталь;

V 1 2 - алюминий;

V 1 3 - пластик

V 2 1 - сталь;

V 2 2 - алюминий;

V 2 3 - латунь;

V 4 1 - поршневой;

V 4 2 - гидравлический;

Блокирующее устройство:

V 5 1 - кнопка;

V 5 2 - контактная пластина;

Весовые значимости критериев:

Эффективность - 0.3

Простота осуществления - 0.1

Экономичность - 0.2

Надежность - 0.4

3.3 Синтез по одному критерию

Синтез по критерию "Надёжность".

Наилучший вариант:

Материал ножа: V 2 1 - сталь;

3.4 Синтез по всем критериям

Таблица №6: Таблица синтеза по всем критериям.

Наилучший вариант:

Материал крышки: V 1 3 - пластик;

Материал ножа: V 2 1 - сталь;

Тип пресса: V 4 1 - поршневой;

Тип блокирующего устройства: V 5 2 - контактная пластина.

Заключение

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

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

Список использованных источников

http://www.4analytics.ru/metodi-analiza/metod-ekspertnix-ocenok.html

http://www.coffeepedia.ru/%D0%9A%D0%BE%D1%84%D0%B5%D0%BC%D0%BE%D0%BB%D0%BA%D0%B0

http://coffeetime.ru/production/cook/2007-04-16-624/

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

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

    Сущность понятия "модель технического объекта" как ориентира для процесса проектирования. Характеристика диагностических и многоэлементных моделей технических объектов. Изучение свойств и характеристик, прогнозирование поведения проектируемых систем.

    реферат , добавлен 13.10.2009

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

    контрольная работа , добавлен 01.03.2011

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

    реферат , добавлен 13.10.2009

    Этапы развития ООО "КИНЕФ". Основные химические процессы, используемые при переработке нефти. Цели и назначение создания системы. Датчики ударного импульса. Принцип действия термопреобразователей сопротивления. Определение показателей надежности системы.

    отчет по практике , добавлен 26.05.2015

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

    дипломная работа , добавлен 29.09.2013

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

    реферат , добавлен 31.05.2010

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

    курсовая работа , добавлен 15.02.2017

    Определения требований надежности и работоспособности системы промышленного тахометра ИЛМ1. Распределение требований ее надежности по различным подсистемам. Проведение анализа надежности системы и техногенного риска на основе методов надежности.

    курсовая работа , добавлен 23.05.2013

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

    контрольная работа , добавлен 16.04.2010

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

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

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

Размещено на http://www.allbest.ru/

Введение

1. Концептуальное проектирование

1.1 Определение типов сущности

1.2 Определение атрибутов и связывание их с типами сущности

1.3 Определение доменов атрибутов

1.4 Сведения об альтернативных и первичных ключах

2. Логическое проектирование

2.1 Преобразование локально концептуальной модели данных в локальную логическую модель

2.2 Проверка моделей с помощью правил нормализации

2.3 Проверка модели в отношении транзакций пользователя и выполнения запросов

2.4 Построение окончательной диаграммы "Сущность связь"

Заключение

Список использованной литературы

Введение

База данных - представленная в объективной форме совокупность самостоятельных материалов (статей, расчётов, нормативных актов, судебных решений и иных подобных материалов), систематизированных таким образом, чтобы эти материалы могли быть найдены и обработаны с помощью электронной вычислительной машины (ЭВМ).

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

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

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

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

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

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

Часто класс объектов называют сущностью. Каждая сущность обладает атрибутами. Атрибут - это свойство объекта, характеризующее его экземпляр. Сущность "студент" может иметь атрибуты "имя", "год рождения", " дата поступления" и т. д. Таким образом сущность можно определить, как множество индивидуальных объектов одного типа (экземпляров), причем все эти объекты различны, т. е. набор атрибутов одинаков, а их значения различны.

Цель моей работы - разработать базу данных для учета продаж и доставок товаров комплектов и комплектующих ПК. Так же это будет использоваться учета движения товара между поставщиком и получателем.

Задачи работы:

Определить типы сущностей

Определить типы связи

Определить атрибуты и связать их с сущностями

Определить домены атрибутов

Определить альтернативные ключи (атрибуты)

Создать диаграмму "сущность связь"

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

Проверить модели с помощью правил нормализации

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

Построить окончательную диаграмму "Сущность связь"

1. Концептуальное проектирование

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

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

Чаще всего концептуальная модель базы данных включает в себя:

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

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

1.1 Определение типов сущности

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

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

Необходимо различать такие понятия, как тип сущности и экземпляр сущности. Понятие тип сущности относится к набору однородных личностей, предметов, событий или идей, выступающих как целое. Экземпляр сущности относится к конкретной вещи в наборе. Например, типом сущности может быть ГОРОД, а экземпляром - Москва, Киев и т.д.

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

Стержневая сущность.

Стержневая (сильная) сущность - независящая от других сущность. Стержневая сущность не может быть ассоциацией, характеристикой или обозначением (см. ниже).

Ассоциация.

Ассоциативная сущность (или ассоциация) выражает собой связь "многие ко многим" между двумя сущностями. Является вполне самостоятельной сущностью. Например, между сущностями МУЖЧИНА и ЖЕНЩИНА существует ассоциативная связь, выражаемая ассоциативной сущностью БРАК.

Характеристика.

Характеристическую сущность еще называют слабой сущностью. Она связана с более сильной сущностью связями "один ко многим" и "один к одному". Характеристическая сущность описывает или уточняет другую сущность. Она полностью зависит от нее и исчезает с исчезновением последней.

Обозначение.

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

Определение типов связи

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

Связь представляется в виде. При этом в месте "стыковки" связи с сущностью используются:

Трехточечный вход в прямоугольник сущности, если для этой сущности в связи могут (или должны) использоваться много экземпляров сущности;

Одноточечный вход, если в связи может (или должен) участвовать только один экземпляр сущности.

Обязательный конец связи изображается сплошной линией, а необязательный - прерывистой линией.

Связь между сущностями БИЛЕТ и ПАССАЖИР, связывает билеты и пассажиров. Конец связи с именем "для" позволяет связывать с одним пассажиром более одного билета, причем каждый билет должен быть связан с каким-либо пассажиром. Конец связи с именем "имеет" показывает, что каждый билет может принадлежать только одному пассажиру, причем пассажир не обязан иметь хотя бы один билет.

Рис. 1 . Пример типа связи

· каждый БИЛЕТ предназначен для одного и только одного ПАССАЖИРА;

· каждый ПАССАЖИР может иметь один или более БИЛЕТОВ.

Рекурсивная связь

На следующем примере (рис. 2) изображена рекурсивная связь, связывающая сущность МУЖЧИНА с ней же самой. Конец связи с именем "сын" определяет тот факт, что несколько людей могут быть сыновьями одного отца. Конец связи с именем "отец" означает, что не у каждого мужчины должны быть сыновья.

Рис. 2 . Пример рекурсивного типа связи

Лаконичная устная трактовка изображенной диаграммы состоит в следующем:

Каждый МУЖЧИНА является сыном одного и только одного МУЖЧИНЫ;

Каждый МУЖЧИНА может являться отцом одного или более МУЖЧИН.

Виды связей между таблицами

Связь позволяет моделировать отношения между объектами предметной области.

Существует 4 типа связей:

1. " Один-к-одному " - любому экземпляру сущности А соответствует только один экземпляр сущности В, и наоборот.

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

2. " Один-ко-многим " - любому экземпляру сущности А соответствует 0, 1 или несколько экземпляров сущности В, но любому экземпляру сущности В соответствует только один экземпляр сущности А.

Ученику ставят много оценок; поставленная оценка принадлежит только одному ученику.

3. " Многие-к-одному " - любому экземпляру сущности А соответствует только один экземпляр сущности В, но любому экземпляру сущности В соответствует 0, 1 или несколько экземпляров сущности А.

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

4. " Многие-ко-многим " - любому экземпляру сущности А соответствует 0, 1 или несколько экземпляров сущности В, и любому экземпляру сущности В соответствует 0, 1 или несколько экземпляров сущности А.

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

1.2 Определение атрибутов и связывание их с типами сущности

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

Пример типа сущности ЧЕЛОВЕК с указанными атрибутами показан на (рис.3) С технической точки зрения атрибуты типа сущности в ER-модели похожи на атрибуты отношения в реляционной модели данных. И в том, и в другом случаях введение именованных атрибутов вводит некоторую типовую структуру данных, имя которой совпадает с именем типа сущности в случае ER-модели или с именем переменной отношения в случае реляционной модели. Этой типовой структуре должны следовать все экземпляры типа сущности или все кортежи отношения.

Рис. 3. Пример типа сущности с атрибутами

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

Как отмечалось выше, при определении типа сущности необходимо гарантировать, что каждый экземпляр сущности является отличимым от любого другого экземпляра той же сущности. Поскольку сущность является абстракцией реального или представляемого объекта внешнего мира, это требование нужно иметь в виду уже при выборе кандидата в типы сущности. Уникальным идентификатором сущности может быть атрибут, комбинация атрибутов, связь, комбинация связей или комбинация связей и атрибутов, уникально отличающая любой экземпляр сущности от других экземпляров сущности того же типа. Приведем несколько примеров. На (рис. 4) показан тип сущности КНИГА, пригодный для использования в базе данных книжного склада. При издании любой книги в любом издательстве ей присваивается уникальный номер - ISBN. Понятно, что значение атрибута isbn будет уникально идентифицировать партию книг на складе. Кроме того, конечно, в качестве уникального идентификатора годится и комбинация атрибутов <автор, название, номер издания, издательство, год издания>.

Рис. 4 Тип сущности, экземпляры которого идентифицируются атрибутами

На (рис. 5) диаграмма включает два связанных типа сущности. У каждого взрослого человека имеется один и только один и каждый паспорт может принадлежать только одному взрослому человеку. Тогда связь человека с его паспортом уникально идентифицирует взрослого человека, т. е., грубо говоря, паспорт определяет взрослого человека. Поскольку могут существовать паспорта, еще не выданные какому-либо человеку, эта связь не является уникальным идентификатором сущности ПАСПОРТ.

Рис. 5 Тип сущности, экземпляры которого идентифицируются связью

На (рис. 6) диаграмма включает три связанных типа сущности. Профессора обладают знаниями в нескольких учебных дисциплинах. Преподавание каждой дисциплины доступно нескольким профессорам. Другими словами, между сущностями ПРОФЕССОР и ДИСЦИПЛИНА определена связь "многие ко многим". Каждый профессор может готовить курсы по любой доступной ему дисциплине. Каждой дисциплине может быть посвящено несколько учебных курсов. Но каждый профессор может готовить только один курс по любой доступной ему дисциплине, и каждый курс может быть посвящен только одной дисциплине. Тем самым, каждый экземпляр типа сущности КУРС уникально идентифицируется экземпляром сущности ПРОФЕССОР и экземпляром сущности ДИСЦИПЛИНА, т. е. парой связей с именами концов ГОТОВИТСЯ и ПОСВЯЩЕН на стороне сущности КУРС. Заметим, что сущности ПРОФЕССОР и ДИСЦИПЛИНА связями не идентифицируются.

Рис. 6 . Тип сущности, экземпляры которого идентифицируются комбинацией связей

Наконец, на (рис. 7) приведен пример типа сущности, уникальный идентификатор которого является комбинацией атрибутов и связей. У каждого человека могут быть дети, и у каждого человека имеется отец. Тогда, если предположить, что близнецам, появившимся на свет одновременно, не дают одинаковых имен, то уникальным идентификатором типа сущности ЧЕЛОВЕК может быть комбинация атрибутов.

Рис. 7 . Тип сущности, экземпляры которого идентифицируются комбинацией атрибутов и связей

1.3 Определение доменов атрибутов

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

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

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

По аналогии с математикой, типы данных делят на скалярные и нескалярные . Значение нескалярного типа (нескалярное значение) имеет множество видимых пользователю компонентов, а значение скалярного типа (скалярное значение) не имеет такового. Примерами нескалярного типа являются тип отношения и тип кортежа; пример скалярного типа - тип "целое".

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

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

Реляционная модель данных не предписывает обязательной поддержки каких-либо предопределённых типов, за исключением логического типа (BOOLEAN), без которого при выполнении операций обойтись невозможно. Обычно некоторый набор типов поддерживается системой, другие типы пользователь может конструировать дополнительно.

1.4 Сведения об альтернативных и первичных ключах

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

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

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

1.6 Построение диаграммы сущность-связь

2. Логическое проектирование

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

2.1 Преобразование локально концептуальной модели данных в локальную логическую модель

1. Первым этапом является удаление связи "многие ко многим". Такая связь присутствует между сущностями "Комплект" и "Фирма заказчик". Разобьем эти связи путем введения промежуточной сущности "Список"

2. Удаление сложных связей. Сложные связи это связи в которых учавствуют три и более типов сущностей. В моей работе таких связей нет.

3. Удаление рекурсивных связей. Рекурсивные связи - связи в которые сущности взаимодействуют сами с сбой. В моей работе таких связей нет.

4. Удаление связей с атрибутами.

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

6. Удаление избыточных связей. В моей работе таких связей нет.

2.2 Проверка моделей с помощью правил нормализации

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

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

1. 1 нормальная форма

2. 2 нормальная форма

3. 3 нормальная форма

Первая нормальная форма (1NF)

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

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

Вторая нормальная форма (2NF)

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

Третья нормальная форма (3NF)

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

2.3 Проверка модели в отношении транзакций пользователя и выполнения запросов

1. Сведения об имеющихся комплектующих указанного источника;

SELECT комплектующие. название комплектующей, фирма поставщик. название фирмы поставщика, комплектующие, номер поставщика

FROM комплектующие, поставщик

WHERE фирма поставщик, название фирмы поставщика "AMD"

AND фирма поставщик, номер фирмы поставщика=комплектующие, номер фирмы поставщика;

2. Сведения об комплектах, заказанных определенным заказчиком с указателем имени получателя;

SELECT комплект, название комплекта, список, номер комплекта, номер фирмы заказчика, фирма заказчик, название фирмы заказчика, получатель, ФИО получателя

FROM комплект, список, заказчик, получатель

WHERE фирма заказчик, название фирмы заказчика- "Интерком"

AND список номер комплекта-комплект. номер комплекта AND список, номер фирмы заказчика=фирма заказчик, номер фирмы заказчика AND получатель, номер получателя=комплект номер получателя;

2.4 Построение окончательной диаграммы " Сущность связь "

Заключение

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

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

Список использованной литературы

1. Базы данных. Учебник А.Д. Хомоненко

2. Вейскос Дж. Эффективная работа с MS Access 2000

3. Википедия

4. Дейт К. Дж. Введение в систему баз данных

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

...

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

    Исходные данные для проектирования комплекса производств лакокрасочных материалов и растворителей общей мощностью 7000 т/г. Основание для разработки исходных данных и общие сведения о технологии. Описание принципиальных технологических схем производства.

    курсовая работа , добавлен 17.02.2009

    Характеристика этапов автоматизированного проектирования. Методика и алгоритм расчета норм расхода основных материалов на женское демисезонное пальто с помощью программ Basiq Norma 1 и Norma 2. Особенности автоматизации обработки данных с помощью ЭВМ.

    курсовая работа , добавлен 06.05.2010

    Подбор электродвигателя и проектирование двухступенчатого червячного редуктора. Критерии проектирования: выбор размеров и материалов редуктора. Расчет быстроходной и тихоходной передачи. Конструирование червяков и червячных колес. Компоновка редуктора.

    курсовая работа , добавлен 12.01.2012

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

    курсовая работа , добавлен 10.09.2010

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

    дипломная работа , добавлен 27.01.2014

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

    контрольная работа , добавлен 28.12.2008

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

    курсовая работа , добавлен 11.06.2015

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

    дипломная работа , добавлен 26.06.2009

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

    курсовая работа , добавлен 16.06.2011

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

Понятие концептуального проектирования относится к начальной стадии проектирования ИС и примерно соответствует стадиям 1 – 3 разработки АС по ГОСТ 34 или этапам от определения требований до проектирования в моделях жизненного цикла.

Определению требований к ИС предшествует определение целей, для которых эта система будет разрабатываться. Цели ИС определяют границы предметной области, объекты которой, их свойства и взаимосвязи существенны с точки зрения поставленных целей и которые будут представлены в ИС (это информация о предметной области – ПО-информация). Цели ИС также определяют, каких пользователей и какие именно информационные потребности система будет обслуживать (это информация о потребностях пользователей – ПП-информация). Две эти составляющие: ПО-информация (являющаяся объективным отражением предметной области) и ПП-информация (отражающая отчасти субъективные представления пользователей) одинаково необходимы и важны для построения концептуальной модели, что и показано на рис. 14 7 . Иногда превалирует второе слагаемое в концептуальной модели, основанной на учёте текущих и предвидимых приложений, т.к. это позволяет быстрее и легче создать систему. Однако такие системы оказываются плохо приспособленными для обработки неформализованных, изменяющихся и непредвиденных заранее задач и запросов. Адекватное отражение в системе ПО-информации придает ей необходимую гибкость и адаптивность к изменяющимся условиям.

Общая схема концептуального проектирования:

Схема на рис. 16 представляет два этапа проектирования: сбор и содержательный анализ информации о предметной области и прикладных задачах пользователей; концептуальный анализ данных и синтез концептуальной модели.

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

Модели ис и методики проектирования

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

К проектированию ИС непосредственное отношение имеют два направления деятельности: 1) собственно проектирование ИС конкретных организаций на базе готовых программных и аппаратных компонентов с помощью специальных инструментальных средств разработки; 2) проектирование упомянутых компонентов ИС и инструментальных средств, ориентированных на многократное применение при разработке многих конкретных информационных систем. 8

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

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

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

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

Различают функциональные, информационные, поведенческие и структурные модели 9 . Функциональная модель системы описывает совокупность выполняемых системой функций. Информационные модели отражают структуры данных – их состав и взаимосвязи. Поведенческие модели описывают информационные процессы (динамику функционирования), в них фигурируют такие категории, как состояние системы, событие, переход из одного состояния в другое, условия перехода, последовательность событий. Структурные модели характеризуют морфологию системы (её построение) – состав подсистем, их взаимосвязи.

Таким образом, функции (отвечающие на вопрос "Что сделать?") в совокупности с исходными данным ("Над чем произвести действия?"), ограничениями (время, финансовые и материальные средства, нормативные документы или бизнес-правила и т.п.), средствами реализации ("Чем сделать?") и результатом ("Что сделано?") описывают проектируемую ИС.

Существует ряд способов построения и представления моделей, различных для моделей разного типа. Основой является структурный анализ – метод исследования системы, который начинается с её общего обзора и затем происходит детализация, формирующая иерархическую структуру с всё большим числом уровней. Все наиболее распространенные методологии структурного подхода базируются на ряде общих принципов. Базовыми принципами являются:

    принцип "разделяй и властвуй" - принцип решения сложных проблем путем их разбиения на множество меньших независимых задач, лёгких для понимания и решения;

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

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

    принцип абстрагирования - заключается в выделении существенных аспектов системы и отвлечения от несущественных;

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

    принцип непротиворечивости - заключается в обоснованности и согласованности элементов;

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

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

    DFD (Data Flow Diagrams) - диаграммы потоков данных или SADT (Structured Analysis and Design Technique) диаграммы, иллюстрирующие функции, которые система должна выполнять;

    ERD (Entity-Relationship Diagrams) - диаграммы "сущность-связь", моделирующие отношения между данными;

    STD (State Transition Diagrams) - диаграммы переходов состояний, моделирующие зависящее от времени поведение системы (аспекты реального времени).

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

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

КОНСПЕКТ ОБЗОРНОЙ ЛЕКЦИИ

Для студентов специальности
Т1002 «Программное обеспечение информационных технологий»

(Л.В. Рудикова, к.ф.-м.н., доцент)

Вопрос 31. АРХИТЕКТУРА СУБД. РЕЛЯЦИОННАЯ МОДЕЛЬ ДАННЫХ

1. Понятие базы данных.

2. Трехуровневая архитектура базы данных.

3. Жизненный цикл базы данных.

4. Архитектура СУБД.

5. Реляционная модель данных.

6. Проектирование реляционных баз данных.

7. Нормальные формы отношений.

8. Реляционная алгебра.

1. Понятие базы данных.

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

Информационная система – автоматическая система, организующая данные и выдающая информацию.

Информационно-управляющая система – система, обеспечивающая информационную поддержку менеджмента.

Данные – разрозненные факты.

Информация – организованные и обработанные данные.

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

Каждая СУБД должна удовлетворять следующим требованиям:

· обеспечивать пользователю возможность создавать новые БД и определять их схему (логическую структуру данных) с помощью специального языка - языка определения данных ; поддерживать разнообразные представления одних и тех же данных;

· позволять «запрашивать » данные и изменять их с помощью языка запросов , или языка манипулирования данными ; допускать интеграцию и совместное использование данных различными приложениями;

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

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

Система с базой данных состоит из следующих компонентов:

· Пользователи, т.е. люди, которые используют данные.

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

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

· Данные, т.е. строки, хранящиеся в файлах.

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

Таким образом, систему с БД можно представить в виде следующей последовательности уровней:

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

2. Трехуровневая архитектура базы данных.

Различие между логическим и физическим представлением данных официально признано в 1978 году, когда комитет ANSI / SPARC предложил обобщенную структуру систем баз данных. Эта структура получила название трехуровневой архитектуры. Три уровня архитектуры следующие: внутренний, концептуальный и внешний.

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

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

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

Представления пользователей и приложений

Внешний уровень

Отображения

Концептуальная схема

Концептуальный уровень

Отображение

Внутренний уровень

Система-хост

Хранящиеся данные

Рис. Уровни СУБД

3. Жизненный цикл базы данных.

Процесс проектирования, реализации иподдержания системы базы данных называется жизненным циклом базы данных (ЖЦБД). Процедура создания системы называется жизненным циклом системы (ЖЦС).

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

ЖЦБД состоит из следующих этапов:

1. Предварительное планирование – планирование БД, выполняемое в процессе разработки стратегического плана БД. В процессе планирования собирается следующая информация:

· какие прикладные программы используются, и какие функции они выполняют;

· какие файлы связаны с каждым из этих приложений;

· какие новые приложения и файлы находятся в процессе работы.

Данная информация помогает определить, как используется информация приложений, определить будущие требования к системе БД.

Информация этого этапа документируется в виде обобщенной модели данных.

2. Проверка осуществимости . Здесь определяется технологическая, операционная и экономическая осуществимость плана создания БД, т. е.:

· технологическая осуществимость – есть ли технология для реализации запланированной БД?

· операционная осуществимость – есть ли средства и эксперты, необходимые для успешного осуществления плана создания БД?

· экономическая целесообразность – можно ли определить выводы? Окупится ли запланированная система? Можно ли оценить издержки и выгоду?

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

· Определяются цели системы путём анализа информационных потребностей. Здесь также обязательно указывается, какую именно БД следует создавать (распределённую, целостную) и какие коммуникационные средства необходимы. Выходной документ – комментарий, описывающий цели системы.

· Определение пользовательских требований: документация в виде обобщённой информации (комментарии, отчёты, опросы, анкеты и т. д.); фиксация функций системы и определение прикладных систем, которые будут выполнять эти требования. Данные представляются в виде соответствующих документов.

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

· Разработка плана поэтапного создания системы, включающий выбор исходных приложений.

4. Концептуальное проектирование – создание концептуальной схемы БД. Спецификации разрабатываются в той степени, которая необходима для перехода к реализации.

Основным выходным документом является единая инфологическая модель (или схема БД на концептуальном уровне ). При разработке данной модели используются информация и функции, которые должна выполнить система, определённые на этапе сбора и определения требований к системе. На данном этапе желательно также определить: 1) правила для данных; 2) правила для процессов; 3) правила для интерфейса.

5. Реализация процесс превращения концептуальной модели в функциональную БД. Он включает в себя следующие этапы.

1) Выбор и приобретение необходимой СУБД.

2) Преобразование концептуальной (инфологической) модели БД в логическую и физическую модель данных:

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

· определяются, какие прикладные процессы необходимо реализовать в схеме данных как хранимые процедуры;

· реализовать ограничения, предназначенные для обеспечения целостности данных и реализации правил для данных;

· спроектировать и сгенерировать триггеры для реализации всех централизованно определённых правил для данных и правил целостности данных, которые не могут быть заданы как ограничения;

· разработать стратегию индексирования и кластеризации; выполнить оценку размеров всех таблиц, кластеров и индексов;

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

· разработать сетевую топологию БД и механизм бесшовного доступа к удалённым данным (реплицированная или распределённая БД).

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

4) Заполнение базы данных.

5) Создание прикладных программ, контроль управления.

6) Обучение пользователей.

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

Таким образом, ЖЦБД включает в себя:

· Изучение предметной области и представление соответствующей документации (1-3).

· Построение инфологической модели (4).

· Реализация (5).

· Оценка работы и поддержка БД (6).

4. Архитектура СУБД.



Рис. Главные компоненты СУБД

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

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

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

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

· Менеджер файлов контролирует расположение файлов на диске и получает блок или блоки, содержащие файлы, по запросу менеджера буфера (диск в общем случае делится на дисковые блоки - смежные области памяти, содержащие от 4000 до 16000 байт).

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

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

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

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

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

Как правило, система БД поддерживает одновременно множество транзакций. Именно правильное выполнение всех таких транзакций и обеспечивает менеджер транзакций . Правильное выполнение транзакций обеспечивается ACID -свойствами (atomicity , consistency , isolation , durability ):

· атомарность - выполнение либо всех транзакций, либо ни одной из них (например, изъятие денег из банкомата и внесение соответственного дебета в счет клиента должны быть единственной атомарной транзакцией, не допускается выполнение каждой из этих операций по отдельности);

· непротиворечивость - состояние, при котором данные соответствуют всем возможным ожиданиям (например, условие непротиворечивости для БД авиационных линий состоит в том, что ни одно из мест в самолете не бронируется для двух пассажиров);

· изоляция - при параллельном выполнении двух или более транзакций их результаты должны быть изолированы друг от друга. Одновременное выполнение двух транзакций одновременно не должно привести к результату, которого не было бы, если они выполнялись последовательно (например, при продаже билетов на один и тот же рейс в случае свободного последнего места при одновременном запросе двух агентов, запрос одного должен быть выполнен, другого - нет);

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

Рассмотрим также 3 типа обращения к СУБД:

1. Запросы - вопросы по поводу данных могут генерироваться двумя способами:

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

б) с помощью интерфейсов прикладных программ - запросы передаются через специальный интерфейс (через этот интерфейс нельзя передавать произвольные запросы);

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

3. Модификации схемы - это команды администраторов БД, которые имеют право изменять схему БД или создавать новую БД.

Архитектура клиент/сервер. Во многих вариантах современного ПО реализуется архитектура клиент/сервер : один процесс (клиент) посылает запрос для выполнения другому процессу (серверу). Как правило, БД часто разделяется на процесс сервера и несколько процессов клиента.

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

5. Реляционная модель данных.

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

Отношение представляет собой двумерную таблицу, содержащую некоторые данные. Математически под N -арным отношением R понимают множество декартова произведения D 1 D 2 … D n множеств (доменов ) D 1, D 2 , …, D n (), необязательно различных:

R D 1 D 2 … D n ,

где D 1 D 2 … D n – полное декартово произведение, т.е. набор всевозможных сочетаний из n элементов каждое, где каждый элемент берется их своего домена.

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

· Домен имеет уникальное имя (в пределах базы данных).

· Домен определен на некотором простом типе данных или на другом домене.

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

· Домен несет определенную смысловую нагрузку .

Атрибут отношения есть пара вида <Имя_атрибута: Имя_домена>. Имена атрибутов должны быть уникальны в пределах отношения. Часто имена атрибутов отношения совпадают с именами соответствующих доменов.

Отношение R , определенное на множестве доменов, содержит две части: заголовок и тело.

Заголовок отношения – это фиксированное количество атрибутов отношения:

Заголовок отношения описывает декартово произведение доменов, на котором задано отношение. Заголовок статичен, он не меняется во время работы с базой данных. Если в отношении изменены, добавлены или удалены атрибуты, то в результате получим уже другое отношение (пусть даже с прежним именем).

Тело отношения содержит множество кортежей отношения. Каждый кортеж отношения представляет собой множество пар вида <Имя_атрибута: Значение_атрибута>:

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

Отношение обычно записывается в виде:

или короче

,

или просто

Число атрибутов в отношении называют степенью (или -арностью ) отношения. Мощность множества кортежей отношения называют мощностью отношения.

Схемой отношения называется перечень имен атрибутов данного отношения с указанием домена, к которому они относятся:

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

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

Пусть – схема отношения . – схема отношения после упорядочения имен атрибутов. Тогда

~

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

· Таблицы имеют одинаковое количество столбцов.

· Таблицы содержат столбцы с одинаковыми наименованиями.

· Столбцы с одинаковыми наименованиями содержат данные из одних и тех же доменов.

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

Все такие таблицы есть различные изображения одного и того же отношения.

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

· В отношении нет одинаковых кортежей .

· Кортежи не упорядочены (сверху вниз) .

· Атрибуты не упорядочены (слева направо) .

· Все значения атрибутов атомарны .

Рис. Схематическое изображение отношения

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

6. Проектирование реляционных баз данных.

При проектирование реляционной БД должны быть решены следующие проблемы:

1) С учетом семантики предметной области необходимо наилучшим способом представить объекты предметной области в виде абстрактной модели данных (даталогическое проектирование). Т.е. - определиться со схемой БД: из каких отношений должны состоять БД, какие атрибуты должны быть у этих отношений, каковы связи между отношениями.

2) Обеспечить эффективность выполнения запросов к базе данных (физическое проектирование БД).

После проведения этапа даталогического проектирования должны быть получены следующие результирующие документы:

· Построение корректной схемы данных ориентируясь на реляционную модель данных.

· Описание схемы БД в терминах выбранной СУБД.

· Описание внешних моделей в терминах выбранной СУБД.

· Описание декларативных правил поддержки целостности БД.

· Разработка процедур поддержки семантической целостности БД.

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

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

Проектирование схемы БД можно выполнить двумя методами:

· Метод декомпозиции (разбиения) исходное множество отношений, входящих в схему БД заменяется другим множеством отношений, являющихся проекциями исходных отношений! При этом число отношений возрастает.

· Метод синтеза компоновка схемы БД из заданных исходных элементарных зависимостей между объектами предметной области.

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

Метод декомпозиции представляет собой процесс последовательной нормализации схем отношений: каждая новая итерация соответствует нормальной форме более высокого порядка и обладает лучшими свойствами по сравнению с предыдущей. Т.о., изначально предполагается существование универсального отношения, содержащего все атрибуты БД, затем на основе анализа связей между атрибутами осуществляется (или – делается попытка осуществить) декомпозиция универсального отношения, т.е. переход к нескольким отношениям меньшей размерности, причем исходное отношение должно восстанавливаться с помощью операции естественного соединения.

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

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

первая нормальная форма (1 NF );

· вторая нормальная форма (2 NF );

· третья нормальная форма (3 NF );

· нормальная форма Байса-Кодда (BCNF );

· четвертая нормальная форма (4 NF );

· пятая нормальная форма или форма проекции - соединения (5 NF или PYNF ).

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

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

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

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

7. Нормальные формы отношений.

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

· Аномалии вставки (INSERT) – хранение в одном отношении разнородной информации.

· Аномалии обновления (UPDATE) –избыточность данных отношения из-за хранения разнородной.

· Аномалии удаления (DELETE) – хранение разнородной информации в одном отношении.

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

Нормализация – разбиение таблицы на несколько, которые обладают лучшими свойствами при обновлении, вставке и удалении данных. Т.е. нормализация представляет собой процесс последовательной замены таблицы ее полными декомпозициями до тех пор, пока все они не будут находиться в 5НФ, однако, на практике достаточно привести таблицы к НФБК.

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

Если заменить на время нормализации коды первичных (внешних) ключей, то следует рассмотреть 2 случая:

1. Таблица имеет составной первичный ключ, например и поле , которое функционально зависит от части этого ключа, например, от (от полного ключа не зависит). Рекомендуется сформировать другую таблицу, содержащую и ( – первичный ключ), и удалить из первоначальной таблицы:

Заменить , первичный ключ , ФЗ

на , первичный ключ

и , первичный ключ .

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

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

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

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

Если потенциальный ключ является простым, то отношение автоматически находится в 2НФ.

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

Атрибуты отношения называются взаимно-независимыми , если ни один из них не является функционально зависимым от другого.

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

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

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

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

Если отношение находится в НФБК, то оно автоматически находится в 3НФ, что следует из определения 4. Чтобы устранить зависимость от детерминантов, не являющихся потенциальными ключами, следует провести декомпозицию, вынося эти детерминанты и зависимые от них части в отдельное отношение.

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

Опр.5. Отношение находится в четвертой нормальной форме (4НФ) тогда и только тогда, когда отношение находится в НФБК и не содержит нетривиальных многозначных зависимостей.

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

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

Опр.6. Отношение находится в пятой нормальной форме (5НФ) тогда и только тогда, когда любая имеющаяся зависимость соединения является тривиальной.

Опр.6. тождественно также следует определению.

Опр.7. Отношение не находится в 5НФ, если в отношении найдется нетривиальная зависимость соединения.

Т.о. если в каждой полной декомпозиции все проекции исходного отношения содержат возможный ключ, можно сделать вывод о том, что отношение находится в 5НФ. Отношение, не имеющее ни одной полной декомпозиции также находится в 5НФ.

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

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

Взаимно-независимые атрибуты это атрибуты, не зависящие один от другого. Если в отношение существует несколько ФЗ, то каждый атрибут или набор атрибутов, от которого зависит другой атрибут, называется детерминантом отношения.

9. Реляционная алгебра.

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

· определения области выборки , т.е. определения данных для их выбора, как результата операции выборки;

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

· определение (именованных) виртуальных отношений , т.е. представление данных для их визуализации через представления;

· определение снимка, т.е. определение данных для сохранения в виде «мгновенного снимка» отношения;

· определение правил безопасности, т.е. определение данных, для которых осуществляется контроль доступа;

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

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

В реализациях конкретных реляционных СУБД сейчас не используется в чистом виде ни реляционная алгебра, ни реляционное исчисление. Фактическим стандартом доступа к реляционным данным стал язык SQL (Structured Query Language).

Реляционная алгебра, определенная Коддом состоит из 8 операторов, составляющих 2 группы:

  • традиционные операции над множествами (объединение, пересечение, вычитание, декартово произведение);
  • специальные реляционные операции (выборка, проекция, соединение, деление).

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

Краткий обзор операторов реляционной алгебры.

Выборка возвращает отношение, которое содержит все кортежи определенного отношения, удовлетворяющие некоторым условиям. Операция выборки называется также операцией ограничения (restrict - ограничение, сейчас чаще принимается выборка - SELECT ).

Проекция возвращает отношение, содержащее все кортежи (т.е. - под кортежи) определенного отношения после исключения из него некоторых атрибутов.

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

Объединение возвращает отношение, содержащее все кортежи, которые принадлежат или одному из двух определенных отношений, или обоим.

Пересечение – возвращает отношение, содержащее все кортежи, которые принадлежат одновременно двум определенным отношениям.

Вычитание – возвращает отношение, содержащее все кортежи, которые принадлежат первому из двух определенных отношений и не принадлежат второму.

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

Деление – для двух отношений, бинарного и унарного, возвращает отношение, содержащее все значения одного атрибута бинарного отношения, которые соответствуют (в другом атрибуте) всем значениям в унарном отношении.

ЛИТЕРАТУРА

1. Дейт К.Дж. Введение в системы баз данных, 6-е издание: Пер. с англ. – К.; М.; СПб.: Издательский дом «Вильямс», 2000. – 848 с.

2. Конноли Т., Бегг К., Страчан А. Базы данных: проектирование, реализация и сопровождение. Теория и практика, 2-е изд.: Пер. с англ. – М.: Издательский дом «Вильямс», 2000. – 1120 с.

3. Карпова Т.С. Базы данных: модели, разработка, реализация. – СПб.: Питер, 2001. – 304 с.

4. Фаронов В.В., Шумаков П.В. Delphi 4. Руководство разработчика баз данных. – М.: «Нолидж», 1999. – 560 с.

5. Дж. Грофф, П.Вайнберг. SQL: Полное руководство: Пер. с англ. – К.: Издательская группа BHV, 2001. – 816 с.

6. Кен Гетц, Пол Литвин, Майк Гилберт. Access 2000. Руководство разработчика. Т.1, 2. Пер. с англ. – К.: Издательская группа BHV, 2000. – 1264 с, 912 c.

7. Маклаков С.В BPwin и EPwin. CASE-средства разработки информационных систем. – М.: ДИАЛОГ-МИФИ, 2001. – 304 с.

8. Ульман Д., Уидом Д. Введение в системы баз данных / Пер. с англ. – М.: «Лори», 2000. – 374 с.

9. Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. Базы данных: Учебник для высших учебных заведений / Под ред. Проф. А.Д.Хомоненко. – Спб.: КОРОНА принт, 2000. – 416 с.

7.2. Концептуальное проектирование с использованием методологии IDEF1X

Цель концептуального проектирования – создание концептуальной схемы данных на основе представлений о предметной области каждого отдельного типа пользователей. Концептуальная схема представляет собой описание основных сущностей (таблиц) и связей между ними без учета принятой модели БД и синтаксиса целевой СУБД. Часто на такой схеме отображаются только имена сущностей (таблиц) без указания их атрибутов. Представление пользователя включает в себя данные, необходимые конкретному пользователю для принятия решений или выполнения некоторого задания.

Ниже рассматривается последовательность шагов при концептуальном проектировании [ , ].

1. Выделение сущностей.

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

Возможные трудности в определении объектов связаны с использованием постановщиками задачи:

Примеров и аналогий при описании объектов (например, вместо обобщающего понятия «работник» они могут упоминать его функции или занимаемую должность: «руководитель», «ответственный», «контролер», «заместитель»);

Синонимов (например, «допускаемая скорость» и «установленная скорость», «разработка» и «проект», «барьерное место» и «ограничение скорости»);

Омонимов (например, «программа» может обозначать компьютерную программу, план предстоящей работы или программу телепередач).

Далеко не всегда очевидно то, чем является определенный объект – сущностью, связью или атрибутом. Например, как следует классифицировать «семейный брак»? На практике это понятие можно вполне обоснованно отнести к любой из упомянутых категорий. Анализ является субъективным процессом, поэтому различные разработчики могут создавать разные, но вполне допустимые интерпретации одного и того же факта. Выбор варианта в значительной степени зависит от здравого смысла и опыта проектировщика.

Каждая сущность должна обладать некоторыми свойствами:

Должна иметь уникальное имя, и к одному и тому же имени должна всегда применяться одна и та же интерпретация;

Обладать одним или несколькими атрибутами, которые либо принадлежат сущности, либо наследуются через связь;

Обладать одним или несколькими атрибутами (первичным ключом), которые однозначно идентифицируют каждый экземпляр сущности, т. е. делают уникальной каждую строку таблицы;

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

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

а) независимая б) зависимая

Рис. 7.1. Сущности

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

2. Определение атрибутов.

Как правило, атрибуты указываются только для сущностей. Если у связи имеются атрибуты, то это указывает на тот факт, что связь является сущностью. Самый простой способ определения атрибутов – после идентификации сущности или связи, задать себе вопрос «Какую информацию требуется хранить о …?». Существенно помочь в определении атрибутов могут различные бумажные и электронные формы и документы, используемые в организации при решении задачи. Это могут быть формы, содержащие как исходную информацию (например, «Ведомость возвышений наружного рельса в кривых»), так и результаты обработки данных (например, «Форма № 1»).

Выявленные атрибуты могут быть следующих видов:

Простой (атомарный, неделимый) – состоит из одного компонента с независимым существованием (например, «должность работника», «зарплата», «норма непогашенного ускорения», «радиус кривой» и т.д.);

Составной (псевдоатомарный) – состоит из нескольких компонентов (например, «ФИО», «адрес», и т. д.). Степень атомарности атрибутов, закладываемая в модель, определяется разработчиком. Если от системы не требуется выборки всех клиентов с фамилией Иванов или проживающих на улице Комсомольской, то составные атрибуты можно не разбивать на атомарные;

Однозначный – содержит только одно значение для одного экземпляра сущности (например, у кривой в плане может быть только одно значение радиуса, угла поворота, возвышения наружного рельса и т.д.);

Многозначный – содержит несколько значений (например, у одного отделения компании может быть несколько контактных телефонов);

Производный (вычисляемый) – значение атрибута может быть определено по значениям других атрибутов (например, «возраст» может быть определен по «дате рождения» и текущей дате, установленной на компьютере);

Ключевой – служит для уникальной идентификации экземпляра сущности (входит в состав первичного ключа), быстрого поиска экземпляров сущности или задания связи между экземплярами родительской и дочерней сущностей;

Неключевой (описательный);

Обязательный – при вводе нового экземпляра в сущность или редактировании обязательно указывается допустимое значение атрибута, т.е. после указанных действий оно не может быть неопределенным (NOT NULL). Атрибуты, входящие в первичный ключ сущности, являются обязательными.

После определения атрибутов задаются их домены (области допустимых значений) , например:

Наименование участка – набор из букв русского алфавита длиной не более 60 символов;

Поворот кривой – допустимые значения «Л» (влево) и «П» (вправо);

Радиус кривой – положительное число не более 4 цифр.

Задание доменов определяет набор допустимых значений для атрибута (нескольких атрибутов), а также тип, размер и формат атрибута (атрибутов).

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

- суперключ (superkey) – атрибут или множество атрибутов, которое единственным образом идентифицирует экземпляр сущности. Суперключ может содержать «лишние» атрибуты, которые необязательны для уникальной идентификации экземпляра. При правильном проектировании структуры БД суперключом в каждой сущности (таблице) будет являться полный набор ее атрибутов;

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

- первичный ключ (primary key) – потенциальный ключ, который выбран для уникальной идентификации экземпляров внутри сущности;

- альтернативные ключи (alternative key) – потенциальные ключи, которые не выбраны в качестве первичного ключа.

Рассмотрим пример. Пусть имеется таблица, содержащая сведения о студенте, со следующими столбцами:

Фамилия;

Отчество;

Дата рождения;

Место рождения;

Номер группы;

Номер пенсионного страхового свидетельства (НПСС);

Номер паспорта;

Дата выдачи паспорта;

Организация, выдавшая паспорт.

Для каждого экземпляра (записи) в качестве суперключа может быть выбран весь набор атрибутов. Потенциальными ключами (уникальными идентификаторами) могут быть:

Номер пенсионного страхового свидетельства;

Номер паспорта.

В качестве уникального идентификатора можно было бы выбрать совокупность атрибутов «Фамилия»+«Имя»+«Отчество», если вероятность учебы в вузе двух полных тезок была бы равна нулю.

Если в сущности нет ни одной комбинации атрибутов, подходящей на роль потенциального ключа, то в сущность добавляют отдельный атрибут – суррогатный ключ (искусственный ключ, surrogate key) . Как правило, тип такого атрибута выбирают символьный или числовой. В некоторых СУБД имеются встроенные средства генерации и поддержания значений суррогатных ключей (например, MS Access). Также стоит отметить, что некоторые разработчики вместо поиска потенциальных ключей и выбора из них первичного в каждую сущность добавляют искусственный атрибут, который в дальнейшем и используют в качестве первичного ключа.

Если потенциальных ключей несколько, то для выбора первичного ключа рекомендуется придерживаться следующих правил:

Количество атрибутов, входящих в ключ, должно быть минимальным (желательно, чтобы ключ был атомарным, т.е. состоял из одного атрибута);

Размер ключа в байтах должен быть как можно короче;

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

Вероятность изменения значений ключа была наименьшей (например, «Номер пенсионного страхового свидетельства» более постоянный параметр, чем «ИНН» или «Номер паспорта»);

С ключом проще всего работать пользователям (например, «Номер пенсионного страхового свидетельства» – это набор из 11 цифр, а «Номер паспорта» зависит от его вида: гражданина СССР, гражданина РФ или зарубежный).

Если некий атрибут (набор атрибутов) присутствует в нескольких сущностях, то его наличие обычно отражает наличие связи между экземплярами этих сущностей. В каждой связи одна сущность выступает как родительская, а другая – в роли дочерней. Это означает, что один экземпляр родительской сущности может быть связан с несколькими экземплярами дочерней. Для поддержки этих связей обе сущности должны содержать наборы атрибутов, по которым они связаны. В родительской сущности это первичный ключ. В дочерней сущности для моделирования связи должен присутствовать набор атрибутов, соответствующий первичному ключу родительской. Этот набор атрибутов в дочерней сущности принято называть внешним ключом (foreign key) .

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

Рис. 7.2. Примеры сущностей

У независимой сущности «Участки» в качестве первичного ключа назначен суррогатный ключ, у зависимой сущности «План» – первичный ключ составной, состоящий из пяти атрибутов.

3. Определение связей.

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

Связи типа «часть–целое», определяемые обычно глаголами «состоит из», «включает» и т.п.;

Классифицирующие связи (например, «тип – подтип», «множество – элемент», «общее – частное» и т. п.);

Производственные связи (например, «начальник–подчиненный»);

Функциональные связи, определяемые обычно глаголами «производит», «влияет», «зависит от», «вычисляется по» и т. п.

Среди них выделяются только те связи, которые необходимы для удовлетворения требований к разработке БД.

Связь характеризуется следующим набором параметров:

Именем – указывается в виде глагола и определяет семантику (смысловую подоплеку) связи;

Кратностью (кардинальность, мощность): один-к-одному (1:1), один-ко-многим (1:N) и многие-ко-многим (N:M, N = M или N <> M). Кратность показывает, какое количество экземпляров одной сущности определяется экземпляром другой. Например, на одном участке (описывается строкой таблицы «Участки») может быть один, два и более путей (каждый путь описывается отдельной строкой в таблице «Пути»). В данном случае связь 1:N. Другой пример: один путь проходит через несколько раздельных пунктов и через один раздельный пункт может проходить несколько путей – cвязь N:M;

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

Обязательностью: обязательная (при вводе нового экземпляра в дочернюю сущность заполнение атрибутов внешнего ключа обязательно и введенные значения должны совпадать со значениями атрибутов первичного ключа какого-либо экземпляра родительской сущности) и необязательная (заполнение атрибутов внешнего ключа в экземпляре дочерней сущности необязательно или введенные значения не совпадают со значениями атрибутов первичного ключа ни одного экземпляра родительской сущности);

Степенью участия – количеством сущностей, участвующих в связи. В основном между сущностями существуют бинарные связи, т.е. ассоциации, связывающие две сущности (степень участия равна 2). Например, «Участок» состоит из «Путей». В то же время по степени участия возможны следующие типы связей:

o унарная (рекурсивная) – сущность может быть связана сама с собой. Например, в таблице «Работники» могут быть записи и по подчиненным, и по их начальникам. Тогда возможна связь «начальник» – «подчиненный», определенная на одной таблице;

o тернарная – связывает три сущности. Например, «Студент» на «Сессии» получил «Оценку по дисциплине»;

o кватернарная и т.д.

В методологии IDEF1X степень участия может быть только унарной или бинарной. Связи большей степени приводятся к бинарному виду.

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

Таблица 7.1. Типы связей

Внешний вид Тип и обязательность связи Мощность связи справа
1
Обязательная, идентифицирующая 0 .. ∞

Z
Обязательная, идентифицирующая 0 или 1

P
Обязательная, идентифицирующая 1 .. ∞

<число>
Обязательная, идентифицирующая <число>
Обязательная, неидентифицирующая 0 .. ∞
Необязательная, неидентифицирующая 0 .. ∞

Примечания.

1. Идентифицирующая связь отображается сплошной линией, неидентифицирующая – пунктирной.

2. Необязательность обозначается ромбиком.

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

а) идентифицирующая

б) неидентифицирующая

в) рекурсивная

Рис.7.3. Примеры связей

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

4. Определение суперклассов и подклассов.

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

Суперкласс – сущность, включающая в себя подклассы.

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


Рис. 7.4. Иерархия наследования (неполная категория)

Обычно иерархию наследования создают, когда несколько сущностей имеют общие по смыслу атрибуты, либо когда сущности имеют общие по смыслу связи (например, если бы «Постоянный сотрудник» и «Совместитель» имели бы сходную по смыслу связь «работает в» с сущностью «Организация»).

Для каждой категории требуется указать дискриминатор – атрибут родового предка, который показывает, как отличить одну сущность от другой. В приведенном примере дискриминатор – атрибут «Тип».


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

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

7.3. Пример построения концептуальной схемы

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

Рис. 7.6. Фрагмент концептуальной схемы информационной модели

В концептуальной схеме выделены следующие логические блоки данных:

Нормативно-справочная информация;

Информация об участках дороги;

Задание на расчет;

Ведомости допускаемых скоростей;

Проект Приказа «Н» (на рис. 7.6 не показан);

Формы № 1, 1а и 2 (на рис. 7.6 не показан).

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