Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Создание информационной системы
Практическая работа 1 «Приемная комиссия в ВУЗ» Анализ предметной области Разработка базы данных состоит их двух этапов: проектирования БД и создания БД. Проектирование включает в себя: · Системный анализ предметной области · Анализ данных и построение модели данных Создание БД в памяти ЭВМ происходит в среде определенной СУБД и состоит из: · создания структуры базы данных; · заполнения базы данными. Дальнейшее изучение информационных систем и баз данных будем проводить на примере разработки информационной системы для приемной комиссии вуза. Пусть это будет классический университет. Назовем создаваемую информационную систему «ИС Приемная комиссия». Работа начинается с системного анализа предметной области. В данном случае предметной областью является приемная кампания в университете. Представим себя в роли системных аналитиков и начнем работу. Во-первых, опишем исследуемую систему, которую назовем «Приемная кампания в университете». В этой системе выделим следующие элементы: «Абитуриенты», «Приемная комиссия». Абитуриенты — это выпускники школ и других средних учебных заведений, решившие поступать в данный университет. Приемная комиссия — это административное подразделение университета, занимающееся организацией приема в вуз. Весь процесс взаимодействия в ходе приемной кампании между абитуриентами и приемной комиссией будем рассматривать как сложное информационное взаимодействие, включающее передачу абитуриентами анкетных данных приемной комиссии, информирование абитуриентов об условиях приема, прием экзаменов и выставление оценок и пр. (подробнее об этом будет сказано позже). В самом общем виде схема такой системы выглядит следующим образом:
Здесь стрелки обозначают двунаправленный информационный обмен. Во-вторых, определим в данной системе место нашей будущей компьютерной информационной системы (ИС). Проектируемая ИС является средством информационного обеспечения работы членов приемной комиссии и может рассматриваться в качестве ее подсистемы. Уточненная схема представлена на рис.1: Члены приемной комиссии — это персонал, включающий в себя административных работников (председателя, секретарей и др.) и экзаменаторов. Для упрощения задачи мы не будем далее углубляться в структуру приемной комиссии. Основная функция информационной системы — обеспечить хранение и оперативную обработку всей поступающей информации в ходе приемной кампании, а также подготовку документов: списков, справок, ведомостей, отчетов и пр. В прежние времена вся эта рутинная работа выполнялась вручную, теперь ее практически во всех вузах выполняют с помощью компьютерных информационных систем. Отметим, что информационная система сама никаких решений о зачислении в вуз не принимает. Она лишь содействует в этом членам приемной комиссии. Приемная кампания в вузе — это процесс, происходящий во времени. Разделим его на последовательные этапы. Таких этапов четыре: 1. Подготовительный этап. 2. Этап приема документов у абитуриентов. 3. Этап приема экзаменов. 4. Этап зачисления в университет.
Отметим для каждого из этих четырех этапов происходящие информационные процессы:
Анализ данных Ядром будущей информационной системы является база данных. Мы будем использовать табличную модель данных и, следовательно, строить реляционную БД. Определим необходимый набор данных для информационного обеспечения каждого этапа работы. Так как наш пример учебный, то задачу будем решать в упрощенном варианте. 1. Подготовительный этап. На этом этапе от нашей ИС в первую очередь потребуются сведения о плане приема в университет: на каких факультетах какие специальности открыты для поступления; сколько человек принимается на каждую специальность. Кроме того, абитуриентов (и их родителей) интересует, какие вступительные экзамены сдаются на каждом факультете. Рис. 2. Иерархическая структура университета Будущая структура базы данных должна отражать организационную структуру университета. Эта структура представлена на рис.2. Структура университета имеет иерархический тип: в университете множество факультетов; на каждом факультете несколько специальностей, по каждой специальности учится множество студентов (а во время вступительных экзаменов поступает множество абитуриентов). Два верхних уровня этой иерархии — факультеты и специальности. Спланируем две таблицы, которые войдут в базу данных, указав названия таблиц и имена полей: Из этих таблиц можно извлечь ответы на все поставленные выше вопросы, интересующие абитуриентов и их родителей. Здесь сделано два упрощающих допущения: пусть на разных специальностях одного факультета сдаются одни и те же экзамены, а число экзаменов на всех факультетах равно трем (за небольшим исключением, это справедливо). Введение кодов факультета и специальности создает определенные удобства. Название может быть достаточно длинным (например «Радиофизика и электроника»), а код — короткий. Длинные названия факультетов и специальностей записаны только в таблицах «Факультеты» и «Специальности». Во всех других таблицах их можно заменить кодами, которые всегда можно расшифровать. 2. Этап приема документов у абитуриентов. В это время абитуриенты пишут заявления о допуске к поступлению, сдают необходимые документы (копию паспорта, школьного аттестата и другие), заполняют анкету. Каждому абитуриенту присваивается его личный идентификатор — регистрационный номер. Далее под этим номером он будет фигурировать во всех документах. Многочисленную информацию об абитуриенте сведем в две таблицы. Первая будет содержать анкетные данные (включим лишь их часть). Вторая — данные, которые потребуются в ходе экзаменов и могут потребоваться при зачислении: В таблице «Абитуриенты» поле «Медаль» имеет логический тип. Значение «ИСТИНА» этого поля будет отмечать абитуриентов, получивших золотую или серебряную медаль по окончании школы. Медалисты имеют льготы при поступлении: если медалист сдаст профилирующий предмет (а экзамен по нему обычно бывает первым) на 5, то остальные экзамены ему не надо сдавать (за них он автоматически получает пятерки). 3. Этап приема экзаменов. Основная информация, представляющая интерес на этом этапе, — результаты сдачи экзаменов абитуриентами. Безусловно, в реальной системе фигурируют данные о делении абитуриентов на экзаменационные группы, о датах и месте проведения экзаменов, об экзаменаторах и пр. Но мы ограничимся лишь одной таблицей, содержащей оценки, полученные каждым абитуриентом: 4. Этап зачисления в университет. Здесь нас будет интересовать окончательный список с информацией о том, кто из абитуриентов принят в университет, а кто — нет:
Построение модели данных Теперь перейдем к построению реляционной модели данных. Для этого нужно описать все отношения с указанием главных ключей, а также представить схему БД — структуру связей между таблицами. Каждая из запланированных выше таблиц будет представлена в БД отдельным отношением. Опишем все их в строчной форме, определив в некоторых случаях сокращенные имена полей и подчеркнув главные ключи. Факультеты (КОД_ФАК, ФАКУЛЬТЕТ, ЭКЗАМЕН_1, ЭКЗАМЕН 2, ЭКЗАМЕН З) Специальности (КОД_СПЕЦ, СПЕЦИАЛЬНОСТЬ, КОД_ФАК, ПЛАН) Абитуриенты (РЕГ_НОМ, КОД_СПЕЦ, МЕДАЛЬ, СТАЖ) Анкеты (РЕГ_НОМ, ФАМИЛИЯ, ИМЯ, ОТЧЕСТВО, ДATА_РОЖД, ГОРОД, УЧЗАВЕДЕНИЕ) Оценки (РЕГ _НОМ, ОЦЕНКА_1, ОЦЕНКА_2, ОЦЕН- КА_3) Итоги (РЕГ_ НОМ, ЗАЧИСЛЕНИЕ) Чтобы эти шесть таблиц представляли собой систему, между ними должны быть установлены связи. Фактически связи уже имеются через общие имена полей. Первые два отношения связаны между собой кодом факультета, второе и третье — кодом специальности, а три последних — регистрационным номером. Связи позволяют определить соответствия между любыми данными в этих таблицах, например: между фамилией некоторого абитуриента и его оценкой по математике; между названием города и результатами экзамена по русскому языку выпускников школ этого города и пр. Благодаря этим связям становится возможным получение ответов на запросы, требующие поиска информации в нескольких таблицах одновременно. Для явного указания связей между таблицами должна быть построена схема базы данных. В схеме указывается наличие связей между таблицами и тип связей. Схема для нашей системы представлена на рис. 3. Рис. 3. Схема базы данных В схеме использованы два типа связей: один к одному и один ко многим. Первый обозначен двунаправленной одинарной стрелкой, второй — одинарной стрелкой в одну и двойной в другую сторону. При связи «один к одному» с одним экземпляром записи в одной таблице связан один экземпляр записи в другой таблице. Например, одна запись об абитуриенте связана с одним списком оценок. При наличии связи «один ко многим» одна запись в одной таблице связана с множеством записей в другой таблице. Например, с одним факультетом связано множество специальностей, а с одной специальностью — множество абитуриентов, поступающих на эту специальность. Связь «один ко многим» — это связь между двумя соседними уровнями иерархической структуры. А таблицы, связанные отношениями «один к одному», находятся на одном уровне иерархии. В принципе, все эти четыре таблицы могут быть объединены в одну таблицу, поскольку главный ключ у них один — «РЕГ_НОМ». Однако с такой таблицей работать будет неудобно — слишком много полей. Каждая из четырех таблиц в отдельности лучше обозревается, кроме того, каждая из них имеет самостоятельный смысл. Организация связей между таблицами обеспечивает одно важное качество базы данных, которое называется целостностью данных. Система не допустит, чтобы одноименные поля в разных связанных между собой таблицах имели разные значения. Ввод данных автоматически контролируется. В связанных таблицах может быть установлен режим каскадной замены: если в одной из таблиц изменяется значение поля, по которому установлена связь, то в других таблицах автоматически изменятся значения одноименных полей. Аналогично действует режим каскадного удаления: достаточно удалить запись из одной таблицы, чтобы связанные записи исчезли из всех остальных таблиц. Это естественно, поскольку, например, если закрывается какой-то факультет, то исчезают и все его специальности. Или если у абитуриента сменили регистрационный номер в таблице «Абитуриенты», то автоматически его номер должен обновиться и в других таблицах. Построение реляционной модели данных заключается в описании всех используемых в ней отношений (таблиц) и построении схемы данных, то есть системы связей между таблицами. Связь между таблицами осуществляется через одноименные поля. Связь «один к одному» - через общий главный ключ; связь «один ко многим» - через главный ключ в одной таблице и одноименное поле в другой таблице – такое поле называют внешним ключом. На этом проектирование базы данных завершено. Это был теоретический этап. Дальнейшая работа будет происходить в среде СУБД MS Access. Создание базы данных в среде MS Access Создание базы данных начинается с открытия файла, в котором она будет храниться. Для этого в MS Access нужно произвести следующие действия: выполнить команду => Файл => Создать БД => Новая БД; => в файловом окне указать путь и имя файла «Приемная комиссия». После этого на экране откроется основное окно с заголовком «Приемная комиссия: база данных». Дальнейшая работа состоит из двух этапов: · построение структур таблиц; · ввод данных в таблицы. Сначала надо описать структуры таблиц. Следует начать с таблиц, которые создаются на первом, подготовительном этапе работы приемной комиссии. Главной здесь является таблица «Факультеты». Описать структуру таблицы — значит указать имена всех полей, а также тип и свойства каждого поля; назначить главный ключ. В режиме Таблица надо выполнить команду => Создать. Из списка предлагаемых способов создания таблицы следует выбрать => Конструктор. На экране откроется окно конструктора таблиц. На рис. 4 показано заполненное окно конструктора для таблицы «Факультеты».
Имена полей указываются в графе «Имя поля», соответствующие им типы — в графе «Типы данных». Графу «Описание» заполнять не обязательно. В нижней половине окна конструктора присутствует таблица «Свойства поля». В ней указываются размер поля, формат поля и некоторые другие свойства. Смысл каждого параметра поясняется комментирующим текстом. Кроме того, всегда можно обратиться к справочнику, нажав на клавишу F1. На рис. 1.8 отражены свойства поля «Факультет». Основным свойством текстового поля является его длина. Предельное значение длины — 255 символов. В данном случае выбрана длина 30. С одной стороны, длину текстового поля нужно задавать такой, чтобы в него поместилось любое возможное значение этого поля, с другой стороны, нужно помнить, что лишняя длина – это расход памяти компьютера, которая конечна. Для поля КОД_ФАК указан текстовый тип и длина, равная 2. Значениями этого поля будут числа, поэтому для него можно было бы выбрать и числовой тип в целом формате. Однако числовой тип обычно присваивают тем полям, со значениями которых возможны в дальнейшем какие-то вычислительные действия, полям, обозначающим размерные величины. Над кодом специальности не имеет смысла выполнять вычисления, поэтому его можно определить как двухсимвольное поле (цифры – тоже символы). Все остальные поля имеют текстовый тип и длину 30 символов. Выбор главного ключа производится следующим образом: указатель устанавливается на ключевое поле «КОД_ФАК» и выполняется команда: | Правка, Ключевое поле. То же самое происходит, если щелкнуть по кнопке с изображением ключа на панели инструментов. В дальнейшем информацию о структуре каждой таблицы будем представлять в табличной форме. На примере таблицы «Факультеты» она выглядит так: После выполненных действий на вкладке «Таблицы» окна базы данных появятся названия созданных таблиц: «Факультеты» и «Специальности». Теперь организуется ввод данных в эти таблицы. Вводить данные можно непосредственно в бланк таблицы или в режиме формы. Использовать форму для ввода данных и просмотра таблицы удобно в тех случаях, когда в таблице очень много полей и запись в развернутом виде не помещается на экране. Две первые таблицы небольшие, поэтому можно обойтись без формы. Чтобы начать ввод данных в таблицу «Факультеты», нужно выделить название таблицы на экране и выполнить команду => Открыть. На экране появится бланк таблицы, содержащий заголовки столбцов и пустую строку. Далее следует заполнять таблицу. После заполнения она примет вид, представленный в табл. 5 Таблица 5. Факультеты Последнее действие на подготовительном этапе заключается в организации связи между таблицами — построении схемы. Обратим внимание на то, что это будет лишь часть будущей полной схемы. Но именно так и бывает на практике: со временем база данных разрастается, в ней появляются новые таблицы, подключаемые к существующей схеме. Для связывания таблиц надо: выполнить команду => Сервис => Схема данных; => откроется окно «Добавление таблицы»; выделить название таблицы «Факультеты»; выполнить команду => Добавить; => выделить название таблицы «Специальности»; выполнить команду => Добавить => Закрыть. В результате на поле окна «Схема данных» появятся образы двух таблиц. Нажав левую клавишу мыши, следует перетащить имя ключевого поля «КОД_ФАК» из образа таблицы «Факультеты» на это же имя в образе таблицы «Специальности»:
Откроется окно «Связи». Надо последовательно активизировать флажки «Обеспечить целостность данных», «Каскадное обновление связанных полей» и «Каскадное удаление связанных записей». Тип связи «один ко многим» будет выбран автоматически. Далее следует выполнить команду => Создать. Схема готова! Осталось ее сохранить и закрыть окно. Теперь, чтобы вывести на экран любую из созданных таблиц, нужно щелкнуть мышью по ее имени на закладке «Таблицы» и выполнить команду => Открыть. Открытую таблицу можно просматривать, редактировать, можно добавлять в нее новые записи. Если вам потребуется изменить структуру таблицы, то нужно перейти в режим конструктора и внести изменения.
|