Основное ПЗ. С каждым днём компьютер всё больше и больше внедряется в нашу деятельность и находит применение в любой её области
Скачать 2.87 Mb.
|
2 Разработка структур базовых таблиц и общей структуры базы данных Правильно спроектированная структура базы данных является основой создания базы данных, успешно, точно и эффективно выполняющей поставленные задачи. Рассмотрим основные этапы проектирования базы данных: определение цели создания базы данных; определение таблиц, которые должна содержать база данных; определение необходимых в таблице полей; определение полей с уникальными значениями в каждой записи; определение связей между таблицами; усовершенствование структуры базы данных[7]. На первом этапе проектирования базы данных необходимо определить назначение базы данных, как она будет использоваться и какие сведения она должна содержать. Зная это, можно определить, какие сведения будут храниться в таблицах (темы) и в полях таблиц (подробности по темам). Как было сказано выше, программное обеспечение для подготовки приложений к диплому разрабатывается для сотрудников деканатов ВУЗов в целях помощи при подготовке выписок, прилагаемых к дипломам высшего государственного образца, или академических справок. Программное средство должно обеспечить сбор и хранение всей необходимой информации для её дальнейшего вывода на бланк документа посредством принтера. Для разрабатываемой в рамках дипломного проекта программного обеспечения нам потребуется создать базовые таблицы для хранения и использования следующей информации: информация о специальности – наименование специальности, специализации, квалификации, срок обучения; общая информация о студенте – фамилия, имя, отчество студента, дата его рождения, пол; информация об образовании студента – сведения о предыдущем документе об образовании, год поступления в высшее учебное заведение, форма обучения и год окончания учебного заведения, выполненные курсовые работы и практики, сведения о сдаче итоговых государственных экзаменов, сведения о выполнении и защите выпускной квалификационной работы; информация о дипломе – номер и серия диплома, регистрационный номер, дата выдачи диплома, дата решения ГАК; информация о дисциплинах – полный перечень изучаемых дисциплин с указанием количества часов, в том числе и аудиторных; информация об оценках – оценки в соответствии с наименованием дисциплины для каждого студента; информация о группах – сокращенные и полные наименования групп, коды групп, курс. На втором этапе проектирования структуры базы данных требуется определить необходимые таблицы, которые база данных должна содержать. Таблица представляет собой основную единицу хранения данных в базе. Понятие таблицы в Access полностью соответствует аналогичному понятию реляционной модели данных. Определение необходимых в базе данных таблиц может оказаться самым непростым этапом процесса проектирования базы данных, поскольку результаты, которые должна выдавать база данных – отчеты, формы и т.п. – не всегда дают полное представление о структуре таблиц, по которым они создаются. При разработке таблиц рекомендуется руководствоваться следующими основными принципами: сведения не должны дублироваться в таблице или между таблицами (в этом отношении таблицы в реляционной базе данных отличаются от таблиц в приложениях, работающих с таблицами в текстовом формате, таких как редакторы электронных таблиц); данные, хранящиеся только в одной таблице, обновляются только в этой таблице (это более эффективно и, кроме того, исключает возможность дублирования записей, содержащих разные сведения); каждая таблица должна содержать информацию только на одну тему. Когда каждая таблица содержит сведения только по одной теме, со сведениями по каждой теме можно работать независимо от остальных тем. Каждая таблица содержит сведения по конкретной теме, а каждое поле в таблице содержит конкретный факт по теме таблицы. При составлении схемы полей для каждой таблицы учитывайте следующее: каждое поле должно быть связано с темой таблицы; не рекомендуется включать в таблицу данные, которые являются результатом выражения; таблица должна содержать все необходимые сведения; данные следует разбить на наименьшие логические единицы[8]. Для связывания в Microsoft Access сведений, хранящихся в разных таблицах каждая таблица базы данных должна содержать поля или набор полей, однозначно определяющих каждую запись. Такое поле или набор полей называют первичным ключом. В соответствии с вышеизложенными требования в Microsoft Access создадим следующие таблицы: Specialities – таблица «Специальности», содержит поля: SpecId – идентификационный номер специальности (ключевое поле); SpecCode – код специальности; SpecName – наименование специальности; SpecialisationNameId – идентификационный номер наименования специализации; QualificId – идентификационный номер квалификации; Qualifications – таблица «Квалификация», содержит поля: QualificId – идентификационный номер квалификации (ключевое поле); QualificName – название квалификации; Specialisations – таблица «Специализации», содержит поля: SpecialNameId – идентификационный номер специализации (ключевое поле); SpecialName – наименование специализации; Groups – таблица «Группы», содержит поля: GroupId – идентификационный номер группы (ключевое поле); GroupName – название группы; SpecId – идентификационный номер специальности; GiveOutDocDate – дата выдачи документа; PeriodInstrasction – нормативный период обучения по очной форме; FormInstraction – форма обучения; Hours – таблица «Количество часов», содержит поля: HourId – идентификатор количества часов (ключевое поле); GroupId – идентификационный номер группы; SubId – идентификационный номер дисциплины; HourCount – количество часов; AudHourCount – количество аудиторных часов; SubjectNames – таблица «Дисциплины», содержит поля: SubId – идентификационный номер дисциплины (ключевое поле); SubName – название дисциплины; Students – таблица «Студенты», содержит поля: StudentId – идентификационный номер студента (ключевое поле); StudentSurname – фамилия студента; StudentName – имя студента; StudentSecondName – отчество студента; GroupId – идентификационный номер группы; BirthDate – дата рождения студента; Pol – пол; LastDocId – идентификационный номер предыдущего документа об образовании; DateGiveLastDoc – год выдачи предыдущего документа об образовании; EntranceTests – информация о вступительных испытаниях (прошел/прошла); EnteredIn – поле «поступил(а) в…»; EnteringYear – год поступления; ExitIn – поле «завершил(а) обучение в…»; ExitingYear – год завершения обучения; DateGAK – дата решения ГАК; GiveOutDocNameId – идентификационный номер выданного документа; GiveOutDocNumber – номер выданного документа (диплома или академической справки); RegNumber – регистрационный номер; Comments – комментарий в конце документа; Status – статус студента (обучается/отчислен); LastDocuments – таблица «Предыдущие документы об образовании», содержит поля: LastDocId – идентификационный номер предыдущего документа об образовании (ключевое поле); LastDocName – наименование предыдущего документа об образовании; CourseWorks – таблица «Курсовые работы/проекты», содержит поля: CourseWorkId – идентификационный номер курсовой работы (ключевое поле); StudentId – идентификационный номер студента; CourseWorkName – название курсовой работы; MarkNameId – идентификационный номер названия оценки; MarkNames – таблица «Названия оценок», содержит поля: MarkNameId – идентификационный номер названия оценки (ключевое поле); MarkName – название оценки; Marks – таблица «Оценки», содержит поля: MarkId – идентификационный номер оценки (ключевое поле); StudentId – идентификационный номер студента; SubId – идентификационный номер дисциплины; MarkNameId – идентификационный номер названия оценки; DiplomWorks – таблица «Выпускные квалификационные работы», содержит поля: DiplomWorkId – идентификационный номер выпускной квалифи-кационной работы (ключевое поле); StudentId – идентификационный номер студента; DiplomWorkName – тема выпускной квалификационной работы; DiplomWeekCount – количество недель для выполнения выпускной квалификационной работы; MarkNameId – идентификационный номер названия оценки; Practice – таблица «Практика», содержит поля: PracticeId – идентификационный номер практики (ключевое поле); StudentId – идентификационный номер студента; PracticeNameId – идентификационный номер практики; WeekCount – количество недель для выполнения практики; MarkNameId – идентификационный номер названия оценки; PracticeNames – таблица «Наименования практик», содержит поля: PracticeNameId – идентификационный номер практики (ключевое поле); PracticeName – наименование практики; StateExaminations – таблица «Итоговые государственные экзамены», содержит поля: StateExamId – идентификационный номер итоговых государственных экзаменов (ключевое поле); StudentId – идентификационный номер студента; StateExamName – название итоговых государственных экзаменов; MarkNameId – идентификационный номер названия оценки; GiveOutDocs – таблица «Тип выданного документа», содержит поля: GiveOutDocNameId – идентификационный номер выданного документа (ключевое поле); GiveOutDocName – наименование выданного документа. Структура таблиц базы данных сведена в таблицу 1.
Теперь на основании созданных таблиц разработаем структурную схему данных. Построение схемы данных состоит в добавлении в неё таблиц и установлении связей между ними. Связь между таблицами устанавливает отношения между совпадающими значениями в ключевых полях, обычно между полями, имеющими одинаковые имена в обеих таблицах. В большинстве случаев с ключевым полем одной таблицы, являющимся уникальным идентификатором каждой записи, связывается внешний ключ другой таблицы. Например, в нашем случае для связывания студентов с группой, за которой они закреплены, следует создать между таблицами «Students» и «Groups» связь с помощью полей «GroupId». Связь между таблицами определяется путем добавления связываемых таблиц в окно «Схема данных» с последующим перетаскиванием ключевого поля из одной таблицы в другую. Также можно определять связи с помощью клавиатуры. Тип отношения в создаваемой Microsoft Access связи зависит от способа определения связываемых полей: отношение «один-ко-многим» создается в том случае, когда только одно из полей является ключевым или имеет уникальный индекс; отношение «один-к-одному» создается в том случае, когда оба связываемых поля являются ключевыми или имеют уникальные индексы; отношение «многие-ко-многим» фактически является двумя отношениями «один-ко-многим» с третьей таблицей, первичный ключ которой состоит из полей — внешних ключей двух других таблиц. Согласно вышеуказанным положениям разработаем структурную схему данных, при этом установим для связанных таблиц отношение «один-ко-многим». Структурная схема данных, разработанная в MS Access, представлена в Приложении А. |