Разработка информационной системы института заочного и дополнительного профессионального образования
Информационная система и ее виды. Общие понятия реляционного подхода к организации баз данных. Функциональное описание разрабатываемого программного обеспечения "База ИДПО". Определение стоимости и трудоёмкости разработки данного программного средства.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 15.06.2013 |
Размер файла | 2,1 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
3
- СОДЕРЖАНИЕ
- ВВЕДЕНИЕ
- 1. ОБЩЕСИСТЕМНЫЙ РАЗДЕЛ
- 1.1 Информационная система и ее виды
- 1.2 Модели баз данных. Их преимущества и недостатки
- 1.2.1 Концептуальная модель
- 1.2.2 Инфологическая модель "Сущность-связь"
- 1.2.3 Реляционная модель
- 1.2.4 Иерархическая модель
- 1.2.5 Сетевая модель
- 1.2.6 Объектно-ориентированная модель
- 1.3 Общие понятия реляционного подхода к организации БД. Основные концепции и термины
- 1.3.1 Базовые понятия реляционных баз данных
- 1.3.2 Проектирование реляционных баз данных с использованием нормализации
- 1.3.3 Цели проектирования реляционных баз данных
- 1.4 Цель и задачи дипломного проекта
- 2. СПЕЦИАЛЬНЫЙ РАЗДЕЛ
- 2.1 Анализ предметной области
- 2.2 Разработка базы данных
- 2.2.1 Определение связей между сущностями
- 2.2.2 Определение атрибутов сущностей
- 2.2.3 Графическое представление кардинальностей связей между сущностями
- 2.3 Функциональное описание разрабатываемого программного обеспечения «База ИДПО»
- 2.4 Пользовательский интерфейс
- 2.5 Выводы по разделу
- 3. ЭКОНОМИКО - ОРГАНИЗАЦИОННЫЙ РАЗДЕЛ
- 3.1 Определение трудоёмкости разработки программного средства.
- 3.2 Определение стоимости разработки и освоения ПС ВТ
- 3.3 Расчёт показателей экономической эффективности ПС ВТ
- 3.4 Сводные показатели экономической эффективности
- 3.5 Вывод по разделу
- 4. БЕЗОПАСНОСТЬ И ЭКОЛОГИЧНОСТЬ
- 4.1 Охрана труда в помещении с пэвм (эвт)
- 4.2 Гигиеническая сертификация используемого оборудования (ПЭВМ,ЭВТ) и аттестация рабочих мест с ПЭВМ
- 4.3 Санитарно-гигиенические и психофизиологические факторы условий труда в помещении с ПЭВМ (ЭВТ), мероприятия и технические средства по снижению их негативного влияния
- 4.4 Характеристика выполняемой на ПЭВМ работы и рекомендации по улучшению ее организации
- 4.5 Профессионально-обусловленные заболевания и медицинское обслуживание пользователей ПЭВМ
- 4.6 Характеристика помещения с ПЭВМ (ЭВТ) по электроопасности и обеспечение электробезопасности в данном помещении
- 4.7 Характеристика помещения с пэвм (эвт) по взрывопожароопасности и обеспечение пожаровзрывобезопасности в данном помещении
- 4.8 Мероприятия и технические средства по предупреждению чрезвычайных ситуаций и ликвидации их последстви
- 4.9 Мероприятия и технические средства по охране окружающей среды в районе расположения объекта исследования
- 4.10 Детальная разработка вопроса бжд
- 4.10.1 Устройство защитного отключения
- 4.10.2 Назначение
- 4.10.3 Цели и принцип работы
- 4.11 Выводы по разделу
- ЗАКЛЮЧЕНИЕ
- СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
- ПРИЛОЖЕНИЕ
- ВВЕДЕНИЕ
- Разработка информационных систем является одним из наиболее приоритетных и востребованных направлений в сфере разработки программного обеспечения. Существует огромное множество как самих сред создания приложений, так и универсальных СУБД со встроенным языком (зачастую высокого уровня). Это и Borland Delphi, и Microsoft Visual Studio, и C++ Builder, и Visual FoxPro, и многие другие. Каждый из таких продуктов содержит широкий набор компонентов, методов и процедур для обработки сложнейших структурированных систем данных.
- Использование так называемых RAD-систем, т.е. систем мгновенной разработки приложений, значительно ускоряет процесс разработки и является более простым и выгодным способом, нежели использование иных сред. К примеру, в Microsoft Visual Studio 2005 реализовано как использование готовых компонентов (MFC) и добавление своих, так и создание приложений с нуля, т.е. программисту придется вручную предусматривать обработку сообщений операционной системы, создавать GUI интерфейс вручную на основе WinAPI функций. Вследствие чего разработка конечного проекта становиться тяжелым процессом. Поэтому применение RAD-систем оправданно с точки зрения времени создания проекта, а также простоты разработки.
- Операционные системы WindowsNT обеспечивают для интегрированного в С++Builder отладчика возможность поиска ошибок в создаваемых приложениях. Если при выполнении приложения возникнут какие-либо конфликты с операционной системой, то Windows Program Registry может автоматически запустить встроенный отладчик, который выведет на экран в специальное окно редактирования исходную строку приложения и предоставит возможность продолжить отладку с этого места. Мощный отладчик позволяет легко найти и зафиксировать все ошибки в тексте программы.
- Настоящий дипломный проект посвящен решению задачи разработки информационной системы института заочного и дополнительного профессионального образования.
- 1. ОБЩЕСИСТЕМНЫЙ РАЗДЕЛ
1.1 Информационная система и ее виды
Информационная система (ИС) является системой информационного обслуживания работников управленческих служб и выполняет технологические функции по накоплению, хранению, передаче и обработке информации. Она складывается, формируется и функционирует в регламенте, определенном методами и структурой управленческой деятельности, принятой на конкретном экономическом объекте, реализует цели и задачи, стоящие перед ним. Информационные системы разнообразны и могут классифицироваться по нескольким признакам.
Примерами информационных систем являются:
- банковские ИС;
- ИС фондового рынка;
- финансовые ИС;
- страховые ИС;
- ИС налоговых органов;
- ИС таможенной службы;
- государственные статистические ИС;
- ИС управления предприятий и организаций; особое место по значимости и распространенности в них занимают бухгалтерские, справочно-правовые, кадровые информационные системы, а также системы делопроизводства, информационно-аналитические системы;
- другие информационные системы.
Информационная система есть совокупность технического, программного и организационного обеспечения, а также персонала, предназначенная для того, чтобы своевременно обеспечивать надлежащих людей надлежащей информацией. Подмножество компонентов информационной системы в широком смысле, включающее базы данных, СУБД и специализированные прикладные программы.
В любом случае основной задачей информационной системы является удовлетворение конкретных информационных потребностей в рамках конкретной предметной области. Современные информационные системы де-факто немыслимы без использования баз данных и СУБД, поэтому термин «информационная система» на практике сливается по смыслу с термином «система баз данных».
1.2 Модели баз данных. Их преимущества и недостатки
1.2.1 Концептуальная модель
Концептуальная модель - это определённое множество понятий и связей между ними, являющихся смысловой структурой рассматриваемой предметной области.
Концептуальная модель -- модель предметной области, состоящей из перечня взаимосвязанных понятий, используемых для описания этой области, вместе со свойствами и характеристиками, классификацией этих понятий, по типам, ситуациям, признакам в данной области и законов протекания процессов в ней.
Концептуальная (содержательная) модель -- это абстрактная модель, определяющая структуру моделируемой системы, свойства её элементов и причинно-следственные связи, присущие системе и существенные для достижения цели моделирования.
В отличие от концептуальной модели, модель реализации ставит во главу угла способ представления данных в БД или то, как реализовать структуры данных, чтобы получить представления о том, что мы моделируем. К моделям реализации относятся иерархическая модель, сетевая модель, реляционная модель и объектно-ориентированная модель.
1.2.2 Инфологическая модель "Сущность-связь"
Конструктивными, основными элементами инфологических моделей являются сущности, связи между ними и их свойства.
Сущность - любой различимый объект. Самолет, машина, крыло, колесо - это сущности. Как и в концептуальной модели есть тип сущности и его экземпляр. Например, тип сущности - машина, а экземпляр - Москвич.
Атрибут - поименованная характеристика сущности. Например, у машины есть атрибуты: мотор, кузов, шасси и т.д. Атрибуты используются для определения того, какая информация должна быть собрана о сущности. Любой атрибут может быть сущностью, в зависимости от точки зрения на него. Так ошейник - это сущность, но на собаке - это уже ее атрибут.
Связь - ассоциирование двух или более сущностей.
Первый тип связи - связь ОДИН-К-ОДНОМУ (1:1): в каждый момент времени каждому представителю (экземпляру) сущности А соответствует 1 или 0 представителей сущности В (рисунок 1.1). Например, работник и его ставка.
Рисунок 1.1 - Связь один-к-одному
В концептуальной модели можно было бы наследовать от типа работник тип строчка в ведомости, где добавить свойство сумма зарплаты, тогда указав должность работника можно узнать какие зарплаты, получают работники, занимающие или занимавшие эту должность.
Второй тип - связь ОДИН-КО-МНОГИМ (1:М): одному представителю сущности «А» соответствуют 0, 1 или несколько представителей сущности «В» (рисунок 1.2). В концептуальной модели это соответствует включению.
Рисунок 1.2 - Cвязь один-ко-многим
На основе этих двух видов связей возможно составление более сложных связей.
Ключ - минимальный набор атрибутов, по значениям которых можно однозначно найти требуемый экземпляр сущности. Как правило - это первичный ключ в таблице базы данных.
Если сущность «С» связывает сущности «А» и «В», то она должна включать внешние ключи, соответствующие первичным ключам сущностей «А» и «В».
Если сущность «В» обозначает сущность «А», то она должна включать внешний ключ, соответствующий первичному ключу сущности «А».
К.Дейт определяет три основные класса сущностей: стержневые, ассоциативные и характеристические, а также подкласс ассоциативных сущностей - обозначения.
Стержневая сущность (стержень) - это независимая сущность. Например, при описании накладной, стержневой сущностью является шапка накладной.
Ассоциативная сущность (ассоциация) - это связь вида "многие-ко-многим". Например, товар в накладной - это связь с шапкой накладной и справочником наименований товара, справочником единиц измерения.
Характеристическая сущность (характеристика) - это связь вида "многие-к-одной" или "одна-к-одной" между двумя сущностями (частный случай ассоциации). Единственная цель характеристики в рамках рассматриваемой предметной области состоит в описании или уточнении некоторой другой сущности. Это что-то вроде перечисления. Например, Список поставщиков - это список указателей на отдельные записи из справочника организаций. При указании поставщика в накладной, Вы выбираете его из списка поставщиков, но реально указываете организацию из справочника организаций. Просто организация может быть и поставщиком, и покупателем, и налоговым органом, но Вам удобнее будет выбирать из более короткого списка.
Обозначающая сущность или обозначение - это связь вида "многие-к-одной" или "одна-к-одной" между двумя сущностями и отличается от характеристики тем, что не зависит от обозначаемой сущности. Например, зачисление народных депутатов в разные комитеты. Один народный депутат может входить в разные комитеты.
1.2.3 Реляционная модель
Термин «реляционный» означает, что теория основана на математическом понятии отношений (relation). В качестве неформального синонима термину «отношение» часто встречается слово таблица. Необходимо помнить, что «таблица» есть понятие нестрогое и неформальное и часто означает не «отношение» как абстрактное понятие, а визуальное представление отношения на бумаге или экране. Некорректное и нестрогое использование термина «таблица» вместо термина «отношение» нередко приводит к недопониманию. Наиболее частая ошибка состоит в рассуждениях о том, что РМД имеет дело с «плоскими», или «двумерными» таблицами, тогда как таковыми могут быть только визуальные представления таблиц. Отношения же являются абстракциями, и не могут быть ни «плоскими», ни «неплоскими».
Для лучшего понимания РМД следует отметить три важных обстоятельства:
· модель является логической, то есть отношения являются логическими (абстрактными), а не физическими (хранимыми) структурами;
· для реляционных баз данных верен информационный принцип: всё информационное наполнение базы данных представлено одним и только одним способом, а именно -- явным заданием значений атрибутов в кортежах отношений; в частности, нет никаких указателей (адресов), связывающих одно значение с другим;
· наличие реляционной алгебры позволяет реализовать декларативное программирование и декларативное описание ограничений целостности, в дополнение к навигационному (процедурному) программированию и процедурной проверке условий.
Концептуальная модель и модель “Сущность-связь” - это общие рассуждения о принципах построения модели данных, как бы рекомендации. В современных условиях, часто приходится использовать реляционную модель, на которой (как инструмент) возможно создание и концептуальной модели, и модели “Сущность-связь”. Это связано с тем, что современные серверы базы данных используют именно реляционную модель и язык SQL для организации работы с данными.
Э.Кодд предложил использовать для обработки данных аппарат теории множеств (объединение, пересечение, разность, декартово произведение). Он показал, что любое представление данных сводится к совокупности двумерных таблиц особого вида, известного в математике как отношение - relation.
Наименьшая единица данных реляционной модели - это отдельное атомарное (неразложимое) для данной модели значение данных. Так, в одной предметной области фамилия, имя и отчество могут рассматриваться как единое значение, а в другой - как три различных значения.
Степень отношения - это число атрибутов домена. Отношение степени один называют унарным, степени два - бинарным, степени три - тернарным, ..., а степени n - n-арным. Повышение степени отношения влечет за собой увеличение дублирующейся информации, хранимой в базе данных, т.к. в теле домена нужно хранить большее количество значений, указывающих на заголовок. Поэтому лучше, если будут использоваться суррогатные вместо естественных ключей. Естественный ключ обычным образом описывает первичный ключ заголовка. Например, для платежного поручения первичный ключ мог бы содержать отчетный год, номер и плательщика. Если список платежных поручений нужно было бы рассматривать как заголовок домена, то все эти атрибуты копировались бы в теле домена. Поэтому лучше использовать суррогатные ключи, которые формируют как случайное целое число или как последовательность целых чисел. Поэтому всегда получается унарная степень отношения.
Кардинальное число или мощность отношения - это число его кортежей. Кардинальное число отношения изменяется во времени в отличие от его степени. Практически кардинальное число - это количество строк в заголовке.
Нормализация - это разбиение таблицы на две или более, обладающих лучшими свойствами при включении, изменении и удалении данных. Окончательная цель нормализации сводится к получению такого проекта базы данных, в котором каждый факт появляется лишь в одном месте, т.е. исключена избыточность информации. Это делается не столько с целью экономии памяти, сколько для исключения возможной противоречивости хранимых данных и предсказуемости поведения системы во время эксплуатации. Последний факт полезен для понимания структуры данных пользователем, а значит ускорения обучаемости и исключения случайных ошибок в работе.
Каждая таблица в реляционной БД удовлетворяет условию, в соответствии с которым в позиции на пересечении каждой строки и столбца таблицы всегда находится единственное атомарное значение, и никогда не может быть множества таких значений. Любая таблица, удовлетворяющая этому условию, называется нормализованной или первой нормальной формой. Т.е. нельзя вносить в одну ячейку таблицы информацию о двух и более атрибутах объекта. Фактически, ненормализованные таблицы, даже не допускаются в реляционной БД.
Теория нормализации основывается на наличии той или иной зависимости между полями таблицы. Определены два вида таких зависимостей: функциональные и многозначные.
Функциональная зависимость. Поле «В» таблицы функционально зависит от поля «А» той же таблицы в том и только в том случае, когда в любой заданный момент времени для каждого из различных значений поля «А» обязательно существует только одно из различных значений поля «В». Отметим, что здесь допускается, что поля «А» и «В» могут быть составными. Например, единица измерения списка товара в накладной зависит от наименования.
Полная функциональная зависимость. Поле «В» находится в полной функциональной зависимости от составного поля «А», если оно функционально зависит от «А» и не зависит функционально от любого подмножества поля «А».
Многозначная зависимость. Поле «А» многозначно определяет поле В той же таблицы, если для каждого значения поля «А» существует хорошо определенное множество соответствующих значений «В». Например, поле страна поставки в шапке накладной зависит от поля поставщик, т.к. в каждой стране есть определенное количество поставщиков.
1.2.4 Иерархическая модель
Иерархическая модель баз данных состоит из объектов с указателями от родительских объектов к потомкам, соединяя вместе связанную информацию.
Иерархические базы данных могут быть представлены как дерево, состоящее из объектов различных уровней. Верхний уровень занимает один объект, второй -- объекты второго уровня и т.д.
Между объектами существуют связи, каждый объект может включать в себя несколько объектов более низкого уровня. Такие объекты находятся в отношении предка (объект более близкий к корню) к потомку (объект более низкого уровня), при этом возможна ситуация, когда объект-предок не имеет потомков или имеет их несколько, тогда как у объекта-потомка обязательно только один предок. Объекты, имеющие общего предка, называются близнецами.
Структурная часть иерархической модели.
Основными информационными единицами в иерархической модели данных являются сегмент и поле. Поле данных определяется как наименьшая неделимая единица данных, доступная пользователю. Для сегмента определяются тип сегмента и экземпляр сегмента. Экземпляр сегмента образуется из конкретных значений полей данных. Тип сегмента -- это поименованная совокупность входящих в него типов полей данных.
Как и сетевая, иерархическая модель данных базируется на графовой форме построения данных, и на концептуальном уровне она является просто частным случаем сетевой модели данных. В иерархической модели данных вершине графа соответствует тип сегмента или просто сегмент, а дугам -- типы связей предок -- потомок. В иерархических структурах сегмент -- потомок должен иметь в точности одного предка.
Иерархическая модель представляет собой связный неориентированный гpaф древовидной структуры, объединяющий сегменты. Иерархическая БД состоит из упорядоченного набора деревьев.
Управляющая часть иерархической модели.
В рамках иерархической модели выделяют языковые средства описания данных (ЯОД) и средства манипулирования данными (ЯМД). Каждая физическая база описывается набором операторов, обусловливающих как ее логическую структуру, так и структуру хранения БД. При этом способ доступа устанавливает способ организации взаимосвязи физических записей.
Определены следующие способы доступа:
· иерархически последовательный;
· иерархически индексно-последовательный;
· иерархически прямой;
· иерархически индексно-прямой;
· индексный.
Помимо задания имени БД и способа доступа описания должны содержать определения типов сегментов, составляющих БД, в соответствии с иерархией, начиная с корневого сегмента. Каждая физическая БД содержит только один корневой сегмент, но в системе может быть несколько физических БД.
Среди операторов манипулирования данными можно выделить операторы поиска данных, операторы поиска данных с возможностью модификации, операторы модификации данных. Набор операций манипулирования данными в иерархической БД невелик, но вполне достаточен.
1.2.5 Сетевая модель
Сетевая модель данных -- логическая модель данных, являющаяся расширением иерархического подхода, строгая математическая теория, описывающая структурный аспект, аспект целостности и аспект обработки данных в сетевых базах данных.
Разница между иерархической моделью и сетевой состоит в том, что в иерархических структурах запись-потомок должна иметь в точности одного предка, а в сетевой структуре данных у потомка может иметься любое число предков.
Сетевая БД состоит из набора экземпляров определенного типа записи и набора экземпляров определенного типа связей между этими записями.
Тип связи определяется для двух типов записи: предка и потомка. Экземпляр типа связи состоит из одного экземпляра типа записи предка и упорядоченного набора экземпляров типа записи потомка. Для данного типа связи L с типом записи предка P и типом записи потомка C должны выполняться следующие два условия:
· каждый экземпляр типа записи P является предком только в одном экземпляре типа связи L;
· каждый экземпляр типа записи C является потомком не более чем в одном экземпляре типа связи L.
Достоинством сетевой модели данных является возможность эффективной реализации по показателям затрат памяти и оперативности.
Недостатком сетевой модели данных являются высокая сложность и жесткость схемы БД, построенной на ее основе.
1.2.6 Объектно-ориентированная модель
Все более усложняющиеся практические задачи стимулируют появление иных моделей данных, точнее отображающих реальный мир. Первой из таких моделей стала семантическая модель данных (semantic database model -- SDM). SDM позволяет моделировать как данные, так и их отношения в единой структуре, называемой объектом. Поскольку основной структурой модели является объект, модель SDM получила название объектно-ориентированной модели базы данных (object oriented database model, OODM). В свою очередь OODM стала основой создания объектно-ориентированной модели базы данных (OODBM), управление которой осуществляется с помощью системы управления объектно-ориентированной базой данных (ООСУБД, OODBMS).
Объектно-ориентированная модель базы данных отражает совершенно иной способ определения и использования сущностей. Как и сущность в реляционной моде базы данных, объект определяется своим фактическим содержанием. Но в отличие от сущности, в объект включается информация о связях, существующих внутри объекта, а также информация о его связях с другими объектами. Поэтому фактически сведения внутри объекта более значимы.
Объектно-ориентированная модель данных имеет несколько важнейших преимуществ перед ER-моделью:
- добавление семантического наполнения. Добавление семантического наполнения делает модель данных более значимой;
- во внешнее представление включено семантическое наполнение.
Как и ER-диаграммы, объектно-ориентированная модель представляет отношения в наглядной форме. Однако в наглядное представление объектно-ориентированной модели включается семантическое наполнение, что упрощает визуализацию сложных отношений внутри и между объектами;
- целостность базы данных. Так же как и иерархическая, объектно-ориентированная модель использует наследование для защиты целостности базы данных.
Однако объекты OODM содержат большее число типов связей и более сложные связи:
- структурная независимость и независимость по данным.
Автономия объекта объектно-ориентированной модели гарантирует структурную независимость и независимость по данным.
Несмотря на многие достоинства объектно-ориентированной модели, она все же не смогла противостоять реляционным базам данных. Основным из недостатков является то, что нет стандартного метода доступа к данным. Этот недочет создает проблемы при доступе к данным от различных источников (различные поставщики поддерживают различные методы доступа к данным, как правило, несовместимые). Так же присутствует сложная навигация доступа к данным (метод доступа к данным похож на стиль иерархической и сетевой модели).
Недостаток стандартизации и трудности, вызванные навигационным стилем доступа к данным, приводят к затруднениям в изучении объектно-ориентированной модели, даже большим, чем при изучении реляционной модели. Объекты очень сложны, и тот факт, что они могут иметь большое семантическое наполнение, делает их трудными для проектирования и реализации. Так "программистское" происхождение привело к тому, что конечные пользователи считают объектно-ориентированные системы трудными для понимания и пользования.
Объектно-ориентированные системы сложнее, чем реляционные модели. Поэтому реализация такой модели требует солидных затрат на приобретение оборудования и операционной системы. Сложность конфигурации и повышенные системные требования приводят к замедлению выполнения транзакций. И поскольку транзакции являются основой рабочих данных, медленные транзакции для них просто недопустимы.
Поскольку реляционная модель базы данных наиболее распространена в настоящее время и имеет много достоинств, по сравнению с другими моделями, в проектировании учетной базы данных будем использовать реляционную модель.
1.3 Общие понятия реляционного подхода к организации БД. Основные концепции и термины
1.3.1 Базовые понятия реляционных баз данных
Основными понятиями реляционных баз данных являются тип данных, домен, атрибут, кортеж, первичный ключ и отношение.
Основы реляционной модели данных были впервые изложены в статье Е.Кодда в 1970 г. Эта работа послужила стимулом для большого количества статей и книг, в которых реляционная модель получила дальнейшее развитие. Наиболее распространенная трактовка реляционной модели данных принадлежит К.Дейту . Согласно Дейту, реляционная модель состоит из трех частей:
· структурной части;
· целостной части;
· манипуляционной части.
Структурная часть описывает, какие объекты рассматриваются реляционной моделью. Постулируется, что единственной структурой данных, используемой в реляционной модели, являются нормализованные
n-арные отношения.
Целостная часть описывает ограничения специального вида, которые должны выполняться для любых отношений в любых реляционных базах данных. Это целостность сущностей и целостность внешних ключей.
Манипуляционная часть описывает два эквивалентных способа манипулирования реляционными данными - реляционную алгебру и реляционное исчисление.
Потенциальные ключи
По определению, тело отношения есть множество кортежей, поэтому отношения не могут содержать одинаковые кортежи. Это значит, что каждый кортеж должен обладать свойством уникальности. На самом деле, свойством уникальности в пределах отношения могут обладать отдельные атрибуты кортежей или группы атрибутов. Такие уникальные атрибуты удобно использовать для идентификации кортежей.
Определение 1. Пусть дано отношение «R». Подмножество атрибутов «К» отношения «R» будем называть потенциальным ключом, если «R» обладает следующими свойствами:
- Свойством уникальности - в отношении не может быть двух различных кортежей, с одинаковым значением «K»;
- Свойством неизбыточности - никакое подмножество в «К» не обладает свойством уникальности.
Любое отношение имеет, по крайней мере, один потенциальный ключ. Действительно, если никакой атрибут или группа атрибутов не являются потенциальным ключом, то, в силу уникальности кортежей, все атрибуты вместе образуют потенциальный ключ.
Потенциальный ключ, состоящий из одного атрибута, называется простым. Потенциальный ключ, состоящий из нескольких атрибутов, называется составным.
Отношение может иметь несколько потенциальных ключей. Традиционно, один из потенциальных ключей объявляется первичным, а остальные - альтернативными. Различия между первичным и альтернативными ключами могут быть важны в конкретной реализации реляционной СУБД, но с точки зрения реляционной модели данных, нет оснований выделять таким образом один из потенциальных ключей.
Потенциальные ключи служат средством идентификации объектов предметной области, данные о которых хранятся в отношении. Объекты предметной области должны быть различимы.
Так же потенциальные ключи служат единственным средством адресации на уровне кортежей в отношении. Точно указать какой-нибудь кортеж можно, только зная значение его потенциального ключа.
1.3.2 Проектирование реляционных баз данных с использованием нормализации
Для начала будет рассмотрен классический подход, при котором весь процесс проектирования производится в терминах реляционной модели данных методом последовательных приближений к удовлетворительному набору схем отношений. Исходной точкой является представление предметной области в виде одного или нескольких отношений, и на каждом шаге проектирования производится некоторый набор схем отношений, обладающих лучшими свойствами. Процесс проектирования представляет собой процесс нормализации схем отношений, причем каждая следующая нормальная форма обладает свойствами лучшими, чем предыдущая.
Каждой нормальной форме соответствует некоторый определенный набор ограничений, и отношение находится в некоторой нормальной форме, если удовлетворяет свойственному ей набору ограничений. Примером набора ограничений является ограничение первой нормальной формы - значения всех атрибутов отношения атомарны. Поскольку требование первой нормальной формы является базовым требованием классической реляционной модели данных, мы будем считать, что исходный набор отношений уже соответствует этому требованию.
В теории реляционных баз данных обычно выделяется следующая последовательность нормальных форм:
- первая нормальная форма (1NF);
- вторая нормальная форма (2NF);
- третья нормальная форма (3NF);
- нормальная форма Бойса-Кодда (BCNF);
- четвертая нормальная форма (4NF);
- пятая нормальная форма, или нормальная форма проекции-соединения (5NF или PJ/NF).
Основные свойства нормальных форм:
- каждая следующая нормальная форма в некотором смысле лучше предыдущей;
- при переходе к следующей нормальной форме свойства предыдущих нормальных свойств сохраняются.
1.3.2.1 Первая нормальная форма
Таблица находится в первой нормальной форме, если каждый её атрибут атомарен. Под выражением «атрибут атомарен» понимается, что атрибут может содержать только одно значение. Таким образом, не существует 1NF таблицы, в полях которых могут храниться списки значений. Для приведения таблицы к 1NF обычно требуется разбить таблицу на несколько отдельных таблиц.
1.3.2.2 Вторая нормальная форма
Таблица находится во второй нормальной форме, если она находится в первой нормальной форме, и при этом любой её атрибут, не входящий в состав возможного ключа, функционально полно зависит от каждого возможного ключа. Функционально полная зависимость означает, что атрибут функционально зависит от всего составного ключа, но при этом не находится в функциональной зависимости от какой-либо из входящих в него атрибутов (частей). Или другими словами: в 2NF нет не ключевых атрибутов, зависящих от части составного ключа (плюс выполняются условия 1НФ).
1.3.2.3 Третья нормальная форма
Согласно определению Кодда, таблица находится в 3НФ тогда и только тогда, когда выполняются следующие условия:
· отношение R (таблица) находится во второй нормальной форме;
· каждый непервичный атрибут R находится в нетранзитивной (то есть прямой) зависимости от каждого ключа R.
Непервичный (неключевой) атрибут R -- это атрибут, который не принадлежит ни одному из возможных (альтернативных) ключей R. Транзитивная зависимость -- это функциональная зависимость, при которой X > Z (X определяет Z) не напрямую, а посредством отношения X > Y и Y > Z (отношение Y > X не является обязательным условием).
Определение 3НФ, эквивалентное определению Кодда, но по-другому сформулированное, дал Карло Заниоло в 1972 году. Согласно ему, таблица находится в 3НФ тогда и только тогда, когда для каждой из ее функциональных зависимостей X > A выполняется хотя бы одно из следующих условий:
· Х содержит А (то есть X > A -- тривиальная функциональная зависимость)
· Х -- суперключ
· А -- первичный атрибут (то есть А входит в состав альтернативного ключа).
Определение Заниоло четко определяет разницу между 3НФ и более строгой нормальной формой Бойса-Кодда (НФБК): НФБК исключает третье условие («А -- первичный атрибут»).
1.3.3 Цели проектирования реляционных баз данных
Только небольшие организации могут обобществить данные в одной полностью интегрированной базе данных. Чаще всего администратор баз данных (даже если это группа лиц) практически не в состоянии охватить и осмыслить все информационные требования сотрудников организации (т.е. будущих пользователей системы). Поэтому информационные системы больших организаций содержат несколько десятков БД, нередко распределенных между несколькими взаимосвязанными ЭВМ различных подразделений. (Так в больших городах создается не одна, а несколько овощных баз, расположенных в разных районах.)
Отдельные БД могут объединять все данные, необходимые для решения одной или нескольких прикладных задач, или данные, относящиеся к какой-либо предметной области (например, финансам, студентам, преподавателям, кулинарии и т.п.). Первые обычно называют прикладными БД, а вторые - предметными БД (соотносящимся с предметами организации, а не с ее информационными приложениями). (Первые можно сравнить с базами материально-технического снабжения или отдыха, а вторые - с овощными и обувными базами.)
Предметные БД позволяют обеспечить поддержку любых текущих и будущих приложений, поскольку набор их элементов данных включает в себя наборы элементов данных прикладных БД. Вследствие этого предметные БД создают основу для обработки неформализованных, изменяющихся и неизвестных запросов и приложений (приложений, для которых невозможно заранее определить требования к данным). Такая гибкость и приспособляемость позволяет создавать на основе предметных БД достаточно стабильные информационные системы, т.е. системы, в которых большинство изменений можно осуществить без вынужденного переписывания старых приложений.
Основывая же проектирование БД на текущих и предвидимых приложениях, можно существенно ускорить создание высокоэффективной информационной системы, т.е. системы, структура которой учитывает наиболее часто встречающиеся пути доступа к данным. Поэтому прикладное проектирование до сих пор привлекает некоторых разработчиков. Однако по мере роста числа приложений таких информационных систем быстро увеличивается число прикладных БД, резко возрастает уровень дублирования данных и повышается стоимость их ведения.
Таким образом, каждый из рассмотренных подходов к проектированию воздействует на результаты проектирования в разных направлениях. Желание достичь и гибкости, и эффективности привело к формированию методологии проектирования, использующей как предметный, так и прикладной подходы. В общем случае предметный подход используется для построения первоначальной информационной структуры, а прикладной - для ее совершенствования с целью повышения эффективности обработки данных.
При проектировании информационной системы необходимо провести анализ целей этой системы и выявить требования к ней отдельных пользователей (сотрудников организации). Сбор данных начинается с изучения сущностей организации и процессов, использующих эти сущности (подробнее в приложении Б). Сущности группируются по "сходству" (частоте их использования для выполнения тех или иных действий) и по количеству ассоциативных связей между ними (самолет - пассажир, преподаватель - дисциплина, студент - сессия и т.д.). Сущности или группы сущностей, обладающие наибольшим сходством и (или) с наибольшей частотой ассоциативных связей объединяются в предметные БД. (Нередко сущности объединяются в предметные БД без использования формальных методик - по "здравому смыслу".) Для проектирования и ведения каждой предметной БД (нескольких БД) назначается АБД, который далее занимается детальным проектированием базы.
Далее будут рассматриваться вопросы, связанные с проектированием отдельных реляционных предметных БД.
Основная цель проектирования БД - это сокращение избыточности хранимых данных, а следовательно, экономия объема используемой памяти, уменьшение затрат на многократные операции обновления избыточных копий и устранение возможности возникновения противоречий из-за хранения в разных местах сведений об одном и том же объекте. Так называемый, "чистый" проект БД ("Каждый факт в одном месте") можно создать, используя методологию нормализации отношений. И хотя нормализация должна использоваться на завершающей проверочной стадии проектирования БД, мы начнем обсуждение вопросов проектирования с рассмотрения причин, которые заставили Кодда создать основы теории нормализации.
1.3.3.1 Нормализации, функциональных и многозначных зависимостях
Нормализация - это разбиение таблицы на две или более, обладающих лучшими свойствами при включении, изменении и удалении данных. Окончательная цель нормализации сводится к получению такого проекта базы данных, в котором каждый факт появляется лишь в одном месте, т.е. исключена избыточность информации. Это делается не столько с целью экономии памяти, сколько для исключения возможной противоречивости хранимых данных.
Как указывалось выше, каждая таблица в реляционной БД удовлетворяет условию, в соответствии с которым в позиции на пересечении каждой строки и столбца таблицы всегда находится единственное атомарное значение, и никогда не может быть множества таких значений. Любая таблица, удовлетворяющая этому условию, называется. Фактически, ненормализованные таблицы, т.е. таблицы, содержащие повторяющиеся группы, даже не допускаются в реляционной БД.
Всякая нормализованная таблица автоматически считается таблицей в первой нормальной форме, сокращенно 1НФ. Таким образом, строго говоря, "нормализованная" и "находящаяся в 1НФ" означают одно и то же. Однако на практике термин "нормализованная" часто используется в более узком смысле - "полностью нормализованная", который означает, что в проекте не нарушаются никакие принципы нормализации.
Теперь в дополнение к 1НФ можно определить дальнейшие уровни нормализации - вторую нормальную форму (2НФ), третью нормальную форму (3НФ) и т.д. По существу, таблица находится в 2НФ, если она находится в 1НФ и удовлетворяет, кроме того, некоторому дополнительному условию, суть которого рассмотрена в пункте 1.2.2.2. Таблица находится в 3НФ, если она находится в 2НФ и, помимо этого, удовлетворяет еще другому дополнительному условию и т.д (пункт 1.2.2.3).
Таким образом, каждая нормальная форма является в некотором смысле более ограниченной, но и более желательной, чем предшествующая. Это связано с тем, что "(N+1)-я нормальная форма" не обладает некоторыми непривлекательными особенностями, свойственным "N-й нормальной форме". Общий смысл дополнительного условия, налагаемого на (N+1)-ю нормальную форму по отношению к N-й нормальной форме, состоит в исключении этих непривлекательных особенностей.
Теория нормализации основывается на наличии той или иной зависимости между полями таблицы. Определены два вида таких зависимостей: функциональные и многозначные.
Функциональная зависимость. Поле «В» таблицы функционально зависит от поля «А» той же таблицы в том и только в том случае, когда в любой заданный момент времени для каждого из различных значений поля «А» обязательно существует только одно из различных значений поля «В». Отметим, что здесь допускается, что поля «А» и «В» могут быть составными.
Полная функциональная зависимость. Поле «В» находится в полной функциональной зависимости от составного поля «А», если оно функционально зависит от «А» и не зависит функционально от любого подмножества поля «А».
Многозначная зависимость. Поле «А» многозначно определяет поле «В» той же таблицы, если для каждого значения поля «А» существует хорошо определенное множество соответствующих значений «В».
1.4 Цель и задачи дипломного проекта
Целью данного дипломного проекта является повышение эффективности работы деканата Института заочного и дополнительного профессионального образования Тверского государственного технического университета за счет разработки информационной системы.
Для реализации цели необходимо решить следующие задачи:
1) выполнить анализ предметной области и собрать информацию, необходимую для проектирования программного продукта;
2) спроектировать базу данных на основе собранной информации;
3) разработать пользовательский интерфейс;
4) рассчитать экономическую целесообразность проектирования и реализации создаваемого программного продукта;
5) рассмотреть вопросы охраны труда в помещении с ПЭВМ.
2. СПЕЦИАЛЬНЫЙ РАЗДЕЛ
2.1 Анализ предметной области
Институт заочного и дополнительного профессионального образования (ИДПО) ведет образовательную подготовку в соответствии с учебными планами и календарными графиками, обеспечивая необходимый уровень подготовки для проведения теоретических и практических занятий со студентами различных специальностей и направлений. В ИДПО обучение ведется за счет средств федерального бюджета и на платной основе (с оплатой в течение учебного года). Студенты могут получить первое высшее образование с полным сроком обучения от 5 до 6 лет для имеющих среднее полное общее образование; первое высшее образование в сокращенные сроки от 3,5 до 4 лет в зависимости от направления (для окончивших техникумы и колледжи); второе высшее образование от 3,5 до 4 лет в зависимости от направления.
Обучение по полному сроку ведется по 18 направлениям бакалавриата - 1 и 2 курсы, по 19 специальностям - 3 и 6 курсы, а также по специальности Наземные транспортно-технологические средства - 1 и 2 курсы.
Направления бакалавриата следующие:
- экономика;
- прикладная информатика;
- социология;
- психология;
- сервис;
- гостиничное дело;
- управление персоналом;
- управление в технических системах;
-техносферная безопасность;
- информационные системы и технологии;
- строительство;
- электроэнергетика и электротехника;
- конструкторско-технологическое обеспечение машиностроительных производств;
- эксплуатация транспортно-технологических машин и комплексов;
- теплоэнергетика и теплотехника;
- стандартизация и метрология;
- наземные транспортно-технологические комплексы;
- наземные транспортно-технологические средства;
Информация о студенте - фамилия, имя, отчество, дата рождения, адрес, телефон, форма обучения и т.д. - заносится в учебную карточку, в ней также записаны номера приказов о зачислении, восстановлении, предоставлении академического отпуска, отчислении и др. На основании сведений, содержащихся в учебной карточке по завершении обучения составляется оценочный лист и приложение к диплому. Работа по заполнению учебных карточек, составлению сводных ведомостей по окончании сессии и составление оценочного листа осуществляется сотрудниками деканата - специалистами по учебно-методической работе вручную.
Начиная с третьего курса обучения по направлениям бакалавриата выполняется деление групп студентов на профили. Деление осуществляется в соответствии с рейтингом студентов, в первую очередь, по успеваемости. Наличие сводных ведомостей в электронном виде позволяет специалисту по учебно-методической работе эффективно провести такую работу.
При отчислении студентов (за невыполнение учебного плана, по собственному желанию, при переводе в другое образовательное учреждение) выдается документ - академическая справка или диплом о неполном высшем образовании. Бланки перечисленных документов также заполняются вручную.
При восстановлении на специальность или направление академическая справка или диплом о неполном высшем образовании являются обязательными. При восстановлении выполняется сверка учебных планов (наименование дисциплины, количество часов, форма отчетности) и принимается решение, на какую образовательную программу можно восстановить бывшего студента. При переходе с одной образовательной программы на другую или с очного отделения на заочное студенту достаточно иметь копию учебной карточки, заверенную деканом факультета.
Разрабатываемая информационная система позволяет произвести выборку информации по группе, направлению обучения или специальности, по курсу, по полу, по году рождения (возрасту), определить количество студентов, обучающихся на бюджетной и договорной основе и т.д. Все сведения необходимы не только для ведения учета обучающихся и их успеваемости, но и для ежегодного составления форм и справок определенного образца.
2.2 Разработка базы данных
Исходя из правил нормализации и определения нормальных форм представим базу данных как обладающую сущностями:
- Студент (ФИО);
- Дата рождения;
- Группа;
- Пол;
- Основа обучения;
- Направление;
- Шифр группы;
- Профиль/не профиль;
- Номер договора;
- Номер приказа;
- Стоимость обучения;
- Код направления;
- Адрес;
- Телефон;
- Иногородние;
- Академический отпуск;
- Фотография.
2.2.1 Определение связей между сущностями
Для того, чтобы связать полученные отношения (сущности), необходимо определить связи между ними. Список связей между сущностями исследуемой предметной области следующий:
Студенты имеют дату рождения;
Студенты имеют пол;
Студенты разделены на группы;
Студенты имеют основу обучения;
Студенты имеют направление;
Студенты обучаются по профилю или нет;
Студенты имеют адрес;
Студенты имеют телефон;
Студенты могут быть иногородними;
Студенты имеют фотографию.
2.2.2 Определение атрибутов сущностей
После определения сущностей и связей необходимо определить атрибуты сущностей. Атрибут - это свойство типа сущности или типа связи. Определение атрибутов сущностей происходит следующим образом:
1- Студент (ФИО): Общая информация о студенте.
Фамилия, Имя, Отчество, Пол, Дата рождения, Направление, Профиль/Не профиль, Иногородний/Не иногородний, Стоимость обучения, Адрес проживания, Домашний телефон, Рабочий телефон, Мобильный телефон, Фотография.
2 - Группа: Студент проходит обучение в группе.
Шифр группы.
3- Направление: Студент проходит обучение по направлению.
Код направления.
4 - Основа обучения: При поступлении студент начинает обучение на бюджетной основе или на договорной.
Номер договора. Номер приказа
Набор полученных отношений будет выглядеть следующим образом:
1- Студент(ФИО):
ID студента, Фамилия, Имя, Отчество, Пол, Дата рождения, Направление, Профиль/Не профиль, Иногородний/Не иногородний, Адрес проживания, Домашний телефон, Рабочий телефон, Мобильный телефон, Фотография.
2 - Группа:
ID группы, Группа, Шифр группы
3 - Направление:
ID направления, Направление, Код направления
4 - Основа обучения:
ID основы обучения, Основа обучения, Номер договора, Номер приказа, Стоимость.
После проведения анализа был сделан вывод, что таблицы находятся во 2 НФ и отсутствуют транзитивные зависимости не ключевых атрибутов от ключевых, что позволяет сказать - таблицы находятся в 3 НФ.
Дальнейшую нормализацию производить не требуется, так как полученные отношения позволяют избежать аномалий в данных. Данные отношения заложены в базу данных.
Связь между таблицами осуществляется путем сопоставления данных в ключевых столбцах; обычно это столбцы, имеющие в обеих таблицах одинаковые названия. В большинстве случаев сопоставляются первичный ключ одной таблицы, содержащий для каждой из строк уникальный идентификатор, и внешний ключ другой таблицы.
1- Студент:
ID студента (первичный ключ).
Связана с таблицами: Группа, Направление, Основа обучения.
2 - Группа:
ID студента (внешний ключ).
Связана с таблицами: Студент.
3 - Направление:
ID студента (внешний ключ).
Связана с таблицами: Студент.
4 - Основа обучения:
ID студента (внешний ключ).
Связана с таблицами: Студент.
2.2.3 Графическое представление кардинальностей связей между сущностями
Размещено на http://www.allbest.ru/
3
Степень: 1 : 1
Класс левой сущности: 1 - обязательный
Класс правой сущности: 1 - обязательный
Размещено на http://www.allbest.ru/
3
Степень: 1 : 1
Класс левой сущности: 1 - обязательный
Класс правой сущности: 1 - обязательный
Размещено на http://www.allbest.ru/
3
Степень: 1 : N
Класс левой сущности: 1 - обязательный
Класс правой сущности: 1 - обязательный, студент может учиться на бюджетной или договорной основе.
Подобные документы
Анализ и разработка информационной системы, структура сети предприятия. Описание процесса разработки конфигураций и выявление потребностей в автоматизации функций. Средства разработки проектирования и архитектура базы данных. Разработка модели угроз.
дипломная работа [1,4 M], добавлен 13.07.2011Общие требования к информационной системе, основные этапы ее разработки и оценка практической эффективности. Проектирование базы данных и технология доступа к ним. Разработка клиентского программного обеспечения, средства, защита и сохранность данных.
курсовая работа [720,7 K], добавлен 09.04.2013Требования к информационной системе интернет-магазина на базе "1С:Предприятие 8". Выбор средства для разработки. Реализация и тестирование программного средства. Редактирование базы данных. Оценка функционального качества программного средства.
курсовая работа [1,7 M], добавлен 07.09.2012Проектирование базы данных, информационной подсистемы PLC-Tester, модуля тестирования и web-приложения. Разработка логической структуры программного продукта и общие требования к техническому обеспечению. Запуск программы и описание тестовых прогонов.
дипломная работа [3,2 M], добавлен 30.06.2011Выбор методологии проектирования и разработка информационной системы "Расчёт зарплаты" для предприятия ОАО РТП "Авторемонтник". Архитектурное проектирование базы данных информационной системы и разработка её интерфейса. Тестирование программного модуля.
дипломная работа [2,3 M], добавлен 25.05.2014Определение доменов для схем отношений. Уточнение типов данных для атрибутов. Реализация ссылочной целостности. Описание разработанного программного обеспечения. Исследование операционных характеристик ИСС. Описание базы данных контрольного примера.
курсовая работа [395,9 K], добавлен 01.09.2010Инструментальные средства разработки сайта. Таблицы базы данных, их описание. Общие принципы разработки программного продукта. Структура программного продукта клиента. Страница информации о пользователе и его заказов, информационная безопасность.
дипломная работа [3,5 M], добавлен 14.06.2012Общее описание разрабатываемого программного обеспечения, требования к его функциональности и сферы практического применения. Выбор инструментальных средств разработки. Проектирование структур баз данных и алгоритмов, пользовательского интерфейса.
дипломная работа [3,1 M], добавлен 19.01.2017Изучение понятия, типов и возможностей педагогического программного средства. Технология проектирования программно-методического обеспечения. Классификация образовательных сайтов. Средства разработки электронного образовательного ресурса учреждения.
курсовая работа [1,6 M], добавлен 10.01.2015Проект системы автоматизированного аудита программного обеспечения вычислительного центра ЛГТУ; функциональное назначение, методы и средства разработки концептуальных статических и динамических моделей пользовательского интерфейса; технические средства.
курсовая работа [4,2 M], добавлен 04.01.2012