Министерство общего и профессионального образования
Уральский государственный профессионально- педагогический университет
Кафедра информационных технологий
| |
|К защите допускаю: |
| |
|зав. кафедрой ИТ |
|С.Б.Петров |
Базы данных. Создание форм и отчетов (на примере ACCESS).
Описание программы ведения электронной школьной документации.
Пояснительная записка к дипломной работе
030504.05.ПЗ
|Разработчик: |Т.П. Волошина |
|Научный руководитель: | |
|ассистент кафедры ИТ |Н.Н. Зиновьева |
|Нормоконтроллер: |Н.Н. Зиновьева |
Екатеринбург
1999 год
Р Е Ф Е Р А Т
В дипломной работе
*****листов машинописного текста,
*****иллюстраций,
*****таблиц,
*****использованных источников,
*****приложений.
В дипломной работе рассмотрены общие вопросы баз данных различных моделей, принципы организации текстовых, сетевых и реляционных баз. Описан подход к проектированию баз данных. На конкретном примере базы данных для ведения электронной школьной документации показан процесс конструирования и построения базы данных. Раскрыты приемы создания экранных форм и отчетов.
Подробно описана методика работы с программой. Программа может быть использована для практической работы в школах и других учебных заведениях в помощь школьному администратору.
Рассмотрены вопросы санитарно-гигиенических требований при работе с компьютером.
СОДЕРЖАНИЕ
Введение
БАЗЫ ДАННЫХ
1. Текстовые базы данных
2. Сетевые базы данных
3. Реляционные базы данных
4. Проектирование баз данных
5. Анализ предметной области и запросов к БД
1. Анализ концептуальных требований
2. Выявление информационных объектов и связей между ними
3. Построение концептуальной модели
6. Логическое проектирование
1. Выбор конкретной СУБД
2. Отображение концептуальной схемы на логическую схему
3. Выбор языка манипулирования данными
ACCESS
1. Таблицы
2. Формы
3. Отчеты
Описание работы программы ведения электронной школьной документации
1. НАСТРОЙКА ПРОГРАММЫ
1. ЗАПОЛНЕНИЕ ТИТУЛЬНОГО ЛИСТА
2. Заполнение таблицы Классы
3. Заполнение таблицы Предметы
4. Заполнение таблицы Ученики
5. Заполнение таблицы Кабинеты
6. И т д …..
2. Работа программы
1. Классные журналы
2. Расписание
3. Регистрация выполненной работы
4. Сервис
1. Создание резервной копии
2. Восстановление
3. Контроль целостности
4. Тестирование БД
5. Перевод на новый учебный год
6. Работа в архиве
7. Согласование с бухг. Программой
8. Организация контроля доступа
9. Работа с SQL запросами
5. Отчеты
Санитарно-гигиенические требования при работе на Пэвм
ЭКОНОМИЧЕСКАЯ ЧАСТЬ ДИПЛОМНОЙ РАБОТЫ
Заключение
ГлоССАРИЙ
Литература
Приложение 1
Приложение 2
Приложение
Приложение
Приложение
Приложение
Приложение
Введение
Дипломная работа посвящена анализу проектирования баз данных, а также
освещению методов построения форм и отчетов на примере построения программы
ведения электронной документации учебного заведения. В качестве инструмента
построения базы данных использован Microsoft Access. С самого начала эту
СУБД отличала простота использования в сочетании с широкими возможностями
по разработке законченных приложений.
Актуальность темы
В настоящее время, несмотря на повышение компьютеризации общества, в сфере образования до сих пор нет средств, позволяющих в достаточной мере автоматизировать процесс ведения документации и отчетности.
Одной из составных задач можно рассматривать проблему составления расписания учебного процесса, а так же оперативную корректировку расписания при возникновении необходимости в этом.
О своевременности и актуальности рассматриваемой проблемы говорит тот
факт, что большую часть своего времени администраторы заведений и
преподаватели тратят на оформление различной документации и отчетов.
Огромное количество учебных заведений и отсутствие предложений в данной
сфере гарантируют высокую потребность в данном продукте.
Базы данных (БД) составляют в настоящее время основу компьютерного обеспечения информационных процессов, входящих практически во все сферы человеческой деятельности.
Действительно, процессы обработки информации имеют общую природу и опираются на описание фрагментов реальности, выраженное в виде совокупности взаимосвязанных данных. Базы данных являются эффективным средством представления структур данных и манипулирования ими. Концепция баз данных предполагает использование интегрированных средств хранения информации, позволяющих обеспечить централизованное управление данными и обслуживание ими многих пользователей. При этом БД должна поддерживаться в среде ЭВМ единым программным обеспечением, называемым системой управления базами данных (СУБД). СУБД вместе с прикладными программами называют банком данных.
Одно из основных назначений СУБД – поддержка программными средствами представления, соответствующего реальности.
Предметной областью называется фрагмент реальности, который описывается или моделируется с помощью БД и ее приложений. В предметной области выделяются информационные объекты – идентифицируемые объекты реального мира, процессы, системы, понятия и т.д., сведения о которых хранятся в БД.
Некоторые сведения о типах данных
Этапам реализации баз данных соответствуют уровни описания предметной области: реальность в том виде, как она существует; концептуальное описание реальности; представление описания в виде формального текста и физическая реализация БД на машинных носителях.
Для ввода в ПК полученное описание должно быть представлено в терминах специального языка описания данных, который входит в комплекс средств СУБД.
Простое (элементарное) данное – это наименьшая семантически значимая
поименованная единица данных (например, ФИО, должность, адрес и т.д.).
Значения простого данного описывает представленную им характеристику
объекта для каждого экземпляра объекта. Имена простых данных хранятся в
описании БД, в то время как их значения запоминаются в самой БД.
Совокупность простых данных можно объединить в составное данное двумя способами. Во-первых, можно соединить несколько разнотипных данных.
Например, данное АНКЕТА состоит из данных ТАБЕЛЬНЫЙ НОМЕР, ФИО, ГОД
РОЖДЕНИЯ, ПОЛ, ДОЛЖНОСТЬ, ЗАРПЛАТА. По этому принципу образуется
структурное данное или данное типа структура. Описание структуры состоит из
перечисления ее составных частей, значение – из значений составляющих ее
данных. Во-вторых, составное данное может объединять совокупность
однотипных данных(список сотрудников, послужной список сотрудника и т.п.).
Составное данное этого типа называется массивом. В описании массива
достаточно указать описание одного элемента, значение массива
представляется однородным списком значений его элементов.
В общем случае составные данные представляют собой объединенную под одним именем совокупность данных любых типов, в том числе структур и массивов, с произвольной глубиной вложенности составных данных (рис.1).
Послужной список
Анкета
Зарплата
Дата Работа
Таб.номер Должность
ФИО Пол Должность Организация
Год рождения
Массив
Структура
Сотрудники
Анкета
Зарплата
Таб. номер
Послужной список
ФИО
Дата
Дата Работа рождения
Число
Должность Организация
Месяц Год
Многоуровневое данное
Рис.1
Элементы массива могут идентифицироваться ключом - данным, значения которого взаимно однозначно определяют экземпляры элементов.
Составные типы данных представляют иерархические связи значений данных в БД. Представление предметной области в виде структур данных с иерархическими связями носит название иерархической модели данных. В общем случае в базе могут быть определены также сетевые связи, позволяющие описать сеть – ориентированный граф произвольного вида. Представление предметной области в виде сетевых структур данных общего вида называется сетевой моделью данных. Сетевые связи реализуются путем отождествления отдельных данных БД.
Процесс построения концептуального описания с учетом всех необходимых факторов называется процессом проектирования БД.
Интерфейс с БД.
Интерфейс определяет переход от представления данных в БД к представлению, принятому среди пользователей, и обратно. В общем случае пользователи представляют данные в виде документов различных видов, от произвольных текстов до справок и таблиц фиксированного формата.
Интерфейс доступа конечного пользователя охватывает комплекс технических, организационных и программных решений, обеспечивающих в итоге унифицированность, хорошую понимаемость и надежность взаимодействия конечного пользователя с различными моделями персональных компьютеров.
Под документом понимается произвольный структурированный текст, который может быть представлен на алфавитно – цифровых печатающих устройствах. При этом под структурой текста понимается структура взаимосвязей данных, составляющих текст.
В процессе проектирования, как правило, возникает необходимость точного учета структур документов. Для полного представления этих структур могут использоваться средства описания данных БД. Тем самым облегчается процесс сопоставления БД и документов при организации интерфейса.
Совместная реализация БД и интерфейса на единой концептуальной основе предполагает сопоставление соответствующих понятий концептуального описания с понятиями пользователей.
Конкретные функциональные требования пользователей и предполагаемое их обеспечение отображаются понятием пользовательского представления данных. В общем случае пользовательское представление включает так называемое локальное внешнее представление функций обработки данных, а также определение форматов входных и выходных данных.
База данных (БД) – именованная совокупность данных, отражающая состояние объектов и их отношений в рассматриваемой предметной области;
- система управления базами данных (СУБД) – совокупность языковых и программных средств, предназначенных для создания, ведения и совместного применения БД многими пользователями;
- банк данных (БнД) – основанная на технологии БД система программных, языковых, организационных и технических средств, предназначенных для централизованного накопления и коллективного использования данных;
- информационная система (ИС) – система, реализующая автоматизированный сбор, обработку и манипулирование данными и включающая технические средства обработки данных, программное обеспечение и соответствующий персонал.
Функционально – полная СУБД должна включать в свой состав средства, обеспечивающие потребности пользователей различных категорий на всех этапах жизненного цикла систем БД: проектирования, создания, эксплуатации.
БАЗЫ ДАННЫХ
Текстовые базы данных.
Объектами хранения в текстовых БД являются тексты. Под текстом будут пониматься неструктурированные данные, построенные из строк.
Основной целью любой текстовой БД является хранение, поиск и выдача документов, соответствующих запросу пользователя. Такие документы принято называть релевантными. Ввиду того, что автоматизированный поиск документов на естественных языках достаточно затруднен, возникает вопрос о проектировании некоторых формальных языков, предназначенных для отображения основного смыслового содержания документов и запросов в БД.
Такие языки называют информационно-поисковыми. В настоящее время разработано достаточно большое количество информационно-поисковых языков, которые отличаются не только по своим изобразительным свойствам, но и по степени семантической силы.
В основе подхода к построению классификационных языков лежит
представление о том, что накопленные знания могут быть разделены на
взаимоисключающие классы и подклассы. Существует система правил, которой
должен подчиняться любой язык классификационного типа, в частности:
- Деление отраслей знаний на классы и подклассы проводится по одному основанию;
- Подклассы должны исключать друг друга;
- При делении классов на подклассы должна соблюдаться непрерывность.
Информационно – поисковые языки, получившие название дескрипторных, основаны на применении принципов координатного индексирования, при котором смысловое содержание документа может быть с определенной степенью точности и полноты задано списком ключевых слов, содержащихся в тексте.
Дескрипторные языки привязаны к лексике текстов. Ключевые слова из текстов выбираются исходя из разных целей, соответственно, критерии выбора могут различаться. Для построения дескрипторного языка критерием отбора ключевых слов, как правило, служат информативность слова и частота его встречаемости в тексте.
Универсальными структурами дескрипторного языка являются лексические единицы, парадигматические и синтагматические отношения.
Лексическая единица – наименьшая смысловая единица, задаваемая при построении языка.
В большинстве автоматизированных информационных систем при
индексировании документов и запросов применяется контроль с помощью
тезауруса. Контроль может осуществляться в автоматизированном или ручном
режиме. По сути дела тезаурус представляет собой словарь – справочник, в
котором присутствуют все лексические единицы дескрипторного информационно
поискового языка с введенными парадигматическими отношениями.
Парадигматические отношения могут задаваться как:
. Отношения вид – род (вышестоящий дескриптор);
. Отношения род – вид (нижестоящие дескрипторы);
. Синонимы;
. Ассоциативные связи
В тезаурусы помещаются дескрипторы и недескрипторы, хотя существуют тезаурусы только из дескрипторов.
Как дескрипторы, так и недескрипторы приводят к единой грамматической
форме. Как правило, дескрипторы употребляются в форме существительных или
именных словосочетаний. Тезаурус может быть построен по принципу
дескрипторных статей, состоявших из заглавного дескриптора и списка
дескрипторов и недескрипторов с обозначением парадигматических отношений.
Тезаурус может быть двуязычным. В этом случае эквивалентный дескриптор на
иностранном языке должен быть обозначен.
Парадигматические отношения представляют собой внетекстовые отношения между лексическими единицами. На их основании происходит группировка лексических единиц в парадигмы.
Синтагматические отношения представляют собой отношения лексических единиц в тексте, т.е. они выражают семантику контекста.
При переводе основного смыслового содержания документов и запросов с
естественного языка на дескрипторный информационно – поисковый язык
существуют определенные правила, называемые системой индексирования.
Результатом перевода документа является поисковый образ документа, а
запроса – поисковый образ запроса.
Из перечисленных информационно – поисковых языков именно дескрипторные языки наилучшим образом приспособлены для описания документов и запросов при автоматизированном поиске в текстовых БД. Языки эти обладают таким преимуществом, как гибкость, открытость, близость к естественному языку; это языки двухуровневые (уровень ключевых слов и уровень дескрипторов). Дескрипторные информационно – поисковые языки позволяют формулировать документы и запросы в разных терминах. К основным недостаткам языков данного класса можно отнести недостаточную полноту описания смыслового содержания документов и запросов.
Системы, контролируемые тезаурусом, содержат процедуры как морфологического, так и синтаксического анализа текстов. Однако при проектировании ряда БД возникает необходимость в добавлении еще одного этапа анализа текста на естественном языке – анализа его семантической структуры. Примером таких баз могут быть БД, ориентированные на поиск по образцам. В подобных семантических системах пытаются моделировать процесс понимания законченных описаний фрагментов действительности, например патентов, рассказов, эпизодов и др., выраженных в виде текстов. Как правило, понимание текста трактуется как процесс извлечения из него существенной с точки зрения системы информации. Извлеченная информация вводится в базу знаний, представляющую собой динамическую информационную модель реального мира. Затем система способна отвечать на запросы относительно событий, фактов, явлений, изложенных в текстах.
Пакеты прикладных программ, предназначенные для ввода, обработки,
поиска и обновления текстов, называют информационно-поисковой системой
(ИПС).
Сетевые базы данных.
Одним из наиболее эффективных методов представления знаний являются сетевые модели.
В основе моделей лежит понятие сети, вершинами которой являются
понятия, соответствующие объектам, событиям, процессам, явлениям, а дугами
– отношения между этими понятиями.
Узлы и связи можно наглядно изображать в виде диаграмм.
Если вершины сети не имеют своей внутренней структуры, то сеть будет
простой. Если же вершины обладают некоторой структурой в виде сети, то сеть
называется иерархической. Если отношения между вершинами одинаковые, то
сеть однородна, в противном случае – сеть неоднородна. Характер отношений,
приписываемый дугам, может быть различен. В соответствии с этим выделяют
следующие типы сетей:
. Функциональные сети отражают декомпозицию определенной вычислительной или информационной процедуры, а дуги показывают функциональную связь между декомпонированными частями; этот язык недостаточно богат для представления знаний;
. Сценарии, представляющие собой однородные сети с единственным отношением в виде нестрогого порядка. Семантика отношений может быть различной.
Отношение может трактоваться как классифицирующее, временное и т.п.
Сценарии часто используются при формировании допустимых планов по достижению цели;
. Семантические сети используют отношения разных типов, а вершины в них могут иметь разную интерпретацию, По сути дела семантическая сеть является классом, в который включаются как сценарии, так и функциональные сети. Наиболее часто используются в сети связи типа «это есть». Они позволяют построить в виде сети иерархию понятий, в которых узлы низших уровней наследуют свойства узлов более высоких уровней. Именно таким механизмом переноса свойств обусловлена эффективность семантических сетей.
Реляционные базы данных.
Базы данных называются реляционными, если управление ими основано на
математической модели, использующей методы реляционной алгебры и
реляционного исчисления. С. Дейт дает следующее неформальное определение
реляционных баз данных:
. Вся информация в базе данных представлена в виде таблиц.
. Поддерживаются три реляционных оператора – выбора, проектирования и объединения, с помощью которых можно получить любые необходимые данные , заложенные в таблицы.
Доктор И.Ф. Кодд, автор реляционной модели, разработал целый список
критериев, которым должна удовлетворять реляционная модель. Описание этого
списка, часто называемого «12 правилами Кодда», требует введения сложной
терминологии и выходит за рамки дипломной работы. Тем не менее можно
назвать некоторые правила Кодда для реляционных систем. Чтобы считаться
реляционной по Кодду, система управления базами данных должна:
. Представлять всю информацию в виде таблиц;
. Поддерживать логическую структуру данных, независимо от их физического представления;
. Использовать язык высокого уровня для структурирования, выполнения запросов и изменения информации в базах данных;
. Поддерживать основные реляционные операции (выбор, проектирование и объединение), а также теоретико-множественные операции, такие как объединение, пересечение и дополнение;
. Поддерживать виртуальные таблицы, обеспечивая пользователям альтернативный способ просмотра данных в таблицах;
. Различать в таблицах неизвестные значения (nulls), нулевые значения и пропуски в данных;
. Обеспечивать механизмы для поддержки целостности, авторизации, транзакций и восстановления данных.
Первое правило Кодда гласит, что вся информация в реляционных базах
данных представляется значениями в таблицах. В реляционных системах таблицы
состоят из горизонтальных строк и вертикальных столбцов. Все данные
представляются в табличном формате – другого способа просмотреть информацию
в базе данных не существует. Набор связанных таблиц образует базу данных.
Таблицы в реляционной базе разделены, но полностью равноправны. Между ними
не существует никакой иерархии.
Каждая таблица состоит из строк и столбцов. Каждая строка описывает отдельный объект или сущность – ученика, предмет, день недели или что- нибудь другое. Каждый столбец описывает одну характеристику объекта – имя или фамилию ученика, его адрес, оценку, дату. Каждый элемент данных, или значение, определяется пересечением строки и столбца. Чтобы найти требуемый элемент данных, необходимо знать имя содержащей его таблицы, столбец и значение его первичного ключа, или уникального идентификатора.
В реляционной базе данных существует два типа таблиц –
пользовательские таблицы и системные таблицы. Пользовательские таблицы
содержат информацию, для поддержки которой собственно и создавались
реляционные базы данных. Системные таблицы обычно поддерживаются самой
СУБД, однако доступ к ним можно получить так же, как и к любым другим
таблицам. Возможность получения доступа к системным таблицам, по аналогии с
любыми другими таблицами, составляет основу другого правила Кодда для
реляционных систем.
Реляционная модель обеспечивает независимость данных на двух уровнях
– физическом и логическом. Физическая независимость данных означает с точки
зрения пользователя, что представление данных абсолютно не зависит от
способа их физического хранения. Как следствие этого, физическое
перемещение данных никоим образом не может повлиять на логическую структуру
базы данных. Другой тип независимости, обеспечиваемый реляционными
системами - логическая независимость – означает, что изменение
взаимосвязей между таблицами и строками не влияет на правильное
функционирование программных приложений и текущих запросов.
В определении системы управления реляционными базами данных упоминаются три операции по выборке данных – проектирование, выбор и объединение, которые позволяют строго указать системе, какие данные необходимо показать. Операция проектирования выбирает столбцы, операция выбора – строки, а операция объединения собирает вместе данные из связанных таблиц.
Виртуальные таблицы можно рассматривать как некоторую перемещаемую по таблицам рамку, через которую можно увидеть только необходимую часть информации. Виртуальные таблицы можно получить из одной или нескольких таблиц базы данных ( включая и другие виртуальные таблицы), используя любые операции выбора, проектирования и объединения. Виртуальные таблицы, в отличие от «настоящих», или базовых таблиц, физически не хранятся в базе данных. В то же время необходимо осознавать, что виртуальные таблицы это не копия некоторых данных, помещаемая в другую таблицу. Когда вы изменяете данные в виртуальной таблице, то тем самым изменяете данные в базовых таблицах. В идеальной реляционной системе с виртуальными таблицами можно оперировать как и с любыми другими таблицами. В реальном мире на виртуальные таблицы накладываются определенные ограничения, в частности на обновление. Одно из правил Кодда гласит, что в истинно реляционной системе над виртуальными таблицами можно выполнять все «теоретически» возможные операции. Большинство современных систем управления реляционными базами данных не удовлетворяют этому правилу полностью.
В реальном мире управления информацией данные часто являются
неизвестными или неполными: неизвестен телефонный номер, не захотели
указать возраст. Такие пропуски информации создают «дыры» в таблицах.
Проблема, конечно, состоит не в простой неприглядности подобных дыр.
Опасность состоит в том, что из-за них база данных может стать
противоречивой. Чтобы сохранить целостность данных в реляционной модели,
так же, как и в правилах Кодда, для обработки пропущенной информации
используется понятие нуля.
«Нуль» не означает пустое поле или обычный математический нуль. Он
отображает тот факт, что значение неизвестно, недоступно или неприменимо.
Существенно, что использование нулей инициирует переход с двухзначной
логики (да/нет) на трехзначную (да/нет/может быть). С точки зрения другого
эксперта по реляционным системам, Дейта, нули не являются полноценным
решением проблемы пропусков информации. Тем не менее они являются составной
частью большинства официальных стандартов различных реляционных СУБД.
Целостность – очень сложный и серьезный вопрос при управлении
реляционными базами данных. Несогласованность между данными может возникать
по целому ряду причин. Несогласованность или противоречивость данных может
возникать вследствие сбоя системы – проблемы с аппаратным обеспечением,
ошибки в программном обеспечении или логической ошибки в приложениях.
Реляционные системы управления базами данных защищают данные от такого типа
несогласованности, гарантируя, что команда либо будет исполнена до конца,
либо будет полностью отменена. Этот процесс обычно называют управлением
транзакциями.
Другой тип целостности, называемый объектной целостностью, связан с корректным проектированием базы данных. Объектная целостность требует, чтобы ни один первичный ключ не имел нулевого значения.
Третий тип целостности, называемой ссылочной целостностью, означает
непротиворечивость между частями информации, повторяющимися в разных
таблицах. Например, если вы изменяете неправильно введенный номер карточки
страхового полиса в одной таблице, другие таблицы, содержащие эту же
информацию, продолжают ссылаться на старый номер, поэтому необходимо
обновить и эти таблицы. Чрезвычайно важно, чтобы при изменении информации в
одном месте, она соответственно изменялась и во всех других местах. Кроме
того, по определению Кодда, ограничения на целостность должны:
. Определяться на языке высокого уровня, используемом системой для всех других целей;
. Храниться в словаре данных, а не в программных приложениях.
Эти возможности в том или ином виде реализованы в большинстве систем.
Проектирование баз данных
Процесс, в ходе которого решается, какой вид будет у вновь создаваемой БД, называется проектированием базы данных. На этапе проектирования необходимо предусмотреть все возможные действия , которые могут возникнуть на различных этапах жизненного цикла БД (рис.2).
| |Процедуры, выполняемые на | |
| |этапах жизненного цикла БД | |
| | | | | | | | | |
|Проектирова| |Создание | | | |Эксплуатация| | |
|ние | | | | | | | | |
| | | | | | | | | |
|Анализ | |Генерация | |Реоргани| |Организация | |Контроль |
|предметной | |схемы БД | |зация БД| |доступа к | |состояния |
|области и | | | | | |базам данных| |БД |
|запросов к | | | | | | | | |
|БД | | | | | | | | |
| | | | | | | | | |
|Интеграция | |Подготовка| |Реструкт| |Поиск и | |Сбор и |
|пользовател| |среды | |уризация| |обновление | |анализ |
|ьских | |хранения | |БД | |данных | |статистики|
|представлен| | | | | | | |использова|
|ий | | | | | | | |ния БД |
| | | | | | | | | |
|Выбор | |Ввод и | |Реформат| |Вывод | |Контроль |
|средства | |контроль | |изация | |отчетов | |целостност|
|реализации | |данных | |БД | | | |и БД |
| | | | | | | | | |
|Логическое | |Загрузка и| | | |Разграничени| |Копировани|
|проектирова| |корректиро| | | |е доступа | |е и |
|ние | |вка БД | | | | | |восстановл|
| | | | | | | | |ение БД |
| | | | | | | | | |
|Физическое | | | | | |Инициировани| | |
|проектирова| | | | | |е и | | |
|ние | | | | | |завершение | | |
| | | | | | |работы с | | |
| | | | | | |СУБД | | |
Рис. 2
Анализ предметной области и запросов к БД.
На данном этапе необходимо проанализировать запросы пользователей, выбрать информационные объекты и их характеристики и на основе анализа структурировать предметную область (рис. 3).
Анализ предметной области целесообразно разбить на три фазы:
. Анализ концептуальных требований и информационных потребностей;
. Выявление информационных объектов и связей между ними;
. Построение концептуальной модели предметной области и проектирование концептуальной схемы БД
|Объекты реального| |Ограничения эксплуатации| |Входные / |
|мира | |(технология) | |выходные/ |
| | | | |документы |
| | |Уровень реальности |
|Описания объектов| | |Внешние пользовательские|
|предметной | | |представления (описание |
|области | | |функций приложений – |
| | | |задач) |
| | |Уровень концептуального проектирования |
|Описание предметной | |Описание входных и выходных |
|области на языке | |форм документов и функций |
|описания данных | |обработки данных на языках |
|выбранной СУБД | |описания входных и выходных |
| | |форм запросов выбранной СУБД|
| | |Уровень формальных текстов (логическое |
| | |проектирование) |
| | | | | |
Описание Уровень физической Библиотека
Библиотека базы реализации входных и запросов данных вых. форм
Рис. 3
Анализ концептуальных требований
На этапе анализа концептуальных требований и информационных
потребностей необходимо решить следующие задачи:
. Анализ требований пользователей к БД (концептуальных требований);
. Выявление имеющихся задач по обработке информации, которая должна быть представлена в БД (анализ приложений);
. Выявление перспективных задач (перспективных приложений);
. Документирование результатов анализа.
Требования пользователей к разрабатываемой БД представляют собой
список запросов с указанием их интенсивности и объемов данных. Эти сведения
разработчики получают в диалоге с будущими пользователями БД. Здесь же
выясняются требования к вводу, обновлению и корректировке информации.
Требования пользователей уточняются и дополняются при анализе имеющихся и
перспективных приложений.
Например, в случае разработки БД для ведения электронной документации
учебного заведения необходимо получить ответы на вопросы:
1. Сколько учеников учится в школе?
2. Сколько смен и классов в школе?
3. Как распределены учащиеся по классам и сменам?
4. Сколько предметов дается по каждой параллели и в каких объемах?
5. Сколько имеется учебных классов?
6. Сколько преподавателей в школе их специализация и классность?
7. Как часто обновляется информация в БД?
8. Какие существуют виды отчетов, справок и диаграмм?
Необходимо решить задачи:
1. Ведения личных дел учащихся
2. Ведения классных журналов
3. Составление расписания занятий
4. Ведения табеля рабочего времени преподавателей
На основе информации хранящейся в БД необходимо выдавать следующие
отчеты:
1. Табель успеваемости
2. Ведомость успеваемости и посещаемости класса
3. Динамика роста успеваемости по классам и школе
4. Отчет по успеваемости за год
5. Таблица мониторинга учебного процесса
6. Статистические данные по количеству учащихся
7. Результаты тестирования
8. Результаты работы учителей
9. Результаты выпускных экзаменов
10. Качество знаний учащихся
11. Отчет по предмету
12. Табель по питанию
13. Акт о несчастном случае
14. Протокол экзамена за курс средней школы
15. Сведения о травматизме за учебный год
16. Сведения подаваемые классным руководителем за четверть
17. Список выбывших учащихся
18. Движение за год
19. Список оставшихся на второй год
20. График результатов успеваемости по четвертям
21. График итогов успеваемости по годам
Выявление информационных объектов и связей между ними
Вторая фаза анализа предметной области состоит в выборе информационных объектов, задании необходимых свойств для каждого объекта, выявлении связей между объектами, определении ограничений, накладываемых на информационные объекты, типы связей между ним, характеристики информационных объектов.
При выборе информационных объектов необходимо ответить на ряд
вопросов:
1. На какие таблицы можно разбить данные, подлежащие хранению в БД?
2. Какое имя можно присвоить каждой таблице?
3. Какие наиболее интересные характеристики (с точки зрения пользователя) можно выделить?
4. Какие имена можно присвоить выбранным характеристикам?
В нашем случае предполагается завести следующие таблицы (рис 4):
|Школа |Класс |Предметы |Ученики |Учителя |Оценки |
|Номер |Класс |Предмет |Класс |Фамилия |Класс |
|Телефон |Смена | |Фамилия |Имя Отчест|Предмет |
|Директор | | |Имя |Предмет |Фамилия |
| | | | | |Имя |
| | | | | |Дата |
| | | | | |Оценка |
Рис. 4
Выделим связи между информационными объектами (рис.5)
Рис. 5
В ходе этого процесса необходимо ответить на следующие вопросы:
1. Какие типы связей между информационными объектами?
2. Какое имя можно присвоить каждому типу связей?
3. Каковы возможные типы связей, которые могут быть использованы впоследствии?
Попытка задать ограничения на объекты, их характеристики и связи
приводит к необходимости ответа на следующие вопросы:
1. Какова область значений для числовых характеристик?
2. Каковы функциональные зависимости между характеристиками одного информационного объекта?
3. Какой тип отображения соответствует каждому типу связей?
При проектировании БД существуют взаимосвязи между информационными
объектами трех типов: «один к одному», «один ко многим», «многие ко многим»
(рис.6).
Например:
| |Один к одному | |
|Ученик | |Личное дело |
| | | |
| |Один ко многим | |
|Класс | |Ученик |
| | | |
| |Многие к многим| |
|Ученик | |Преподаватель |
Рис. 6
Построение концептуальной модели
В простых случаях для построения концептуальной схемы используют
традиционные методы агрегации и обобщения. При агрегации объединяются
информационные объекты (элементы данных) в один в соответствии с
семантическими связями между объектами. Например, урок истории в 10 «а»
классе проводится в кабинете №7, начало в 9-30. Методом агрегации создаем
информационный объект (сущность) РАСПИСАНИЕ со следующими атрибутами:
«класс», «предмет», «кабинет», «время». При обобщении информационные
объекты (элементы данных) объединяются в родовой объект (рис.7):
|Русский язык | | |
|Литература | |Филология |
|Иностранные языки| | |
Рис. 7
Выбор модели диктуется прежде всего характером предметной области и требованиями к БД. Другим немаловажным обстоятельством является независимость концептуальной модели от СУБД, которая должна быть выбрана после построения концептуальной схемы.
Модели «сущность-связь», дающие возможность представлять структуру и ограничения реального мира, а затем трансформировать их в соответствии с возможностями промышленных СУБД, являются весьма распространенными.
Под сущностью понимают основное содержание того явления, процесса или объекта, о котором собирают информацию для БД. В качестве сущности могут выступать место, вещь, личность, явление и т.д. При этом различают тип сущности и экземпляр сущности. Под типом сущности обычно понимают набор однородных объектов, выступающих как целое. Понятие «экземпляр сущности» относится к конкретному предмету. Например:
Тип сущности - ученик
Экземпляр сущности - Иванов, Петров, Сидоров и др.
В нашем примере Школа, Класс, Предметы, Ученики, Учителя, Оценки – сущности. Проанализируем связи между сущностями (рис.8).
|Название связи |Между сущностями |
|Учится |Ученик |Класс |
|Изучает |Ученик |Предмет |
|Имеет |Школа |Класс |
|Преподает |Учитель |Предмет |
|Работает |Учитель |предмет |
Рис. 8
Теперь можно перейти к проектированию информационной (концептуальной) схемы БД (атрибуты сущностей на диаграмме не показаны) (рис.9).
| | | | | |
|принадлежит | |Школа | | |
| | | | | |
| | | | | |
|Класс | |Учится | |Ученик |
| | | | | |
| | | | | |
|работает | | | |изучает |
| | | | | |
| | | | | |
|Учитель | |Преподает | |Предмет |
| | | | | |
| | | | | |
| | | |экзамен | |
| | | | | |
| | | | | |
| | | |Ведомость | |
Рис. 9
Логическое проектирование
Логическое проектирование представляет собой необходимый этап при создании БД. Основной задачей логического проектирования является разработка логической схемы, ориентиро