Главная страница

Основное ПЗ. С каждым днём компьютер всё больше и больше внедряется в нашу деятельность и находит применение в любой её области


Скачать 2.87 Mb.
НазваниеС каждым днём компьютер всё больше и больше внедряется в нашу деятельность и находит применение в любой её области
Дата08.05.2023
Размер2.87 Mb.
Формат файлаdoc
Имя файлаОсновное ПЗ.doc
ТипДокументы
#1115316
страница2 из 9
1   2   3   4   5   6   7   8   9

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.


Продолжение таблицы 1 – Базы данных

Название таблицы

Поле таблицы

Тип данных и их размер

Описание поля

Specialities

SpecId

Счетчик

идентификационный номер специальности (ключевое поле)

SpecCode

Текстовый

(50)

код специальности

SpecName

Текстовый (50)

наименование специальности

SpecialisationNameId

Числовой

(длинное целое)

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

QualificId

Числовой

(длинное целое)

идентификационный номер квалификации

Qualifications

QualificId

Счетчик

идентификационный номер квалификации (ключевое поле)

QualificName

Текстовый (255)

название квалификации

Specialisations

SpecialNameId

Счетчик

идентификационный номер специализации (ключевое поле)

SpecialName

Текстовый (255)

наименование специализации

Groups

GroupId

Счетчик

идентификационный номер группы (ключевое поле)

GroupName

Текстовый (50)

название группы

SpecId

Числовой

(длинное целое)

идентификационный номер специальности

GiveOutDocDate

Дата/Время

дата выдачи документа

PeriodInstrasction

Числовой

(длинное целое)

нормативный период обучения по очной форме

FormInstraction

Текстовый (50)

форма обучения

Hours

HourId

Счетчик

идентификатор количества часов (ключевое поле)

GroupId

Числовой

(длинное целое)

идентификационный номер группы

SubId

Числовой

(длинное целое)

идентификационный номер дисциплины

HourCount

Числовой

(длинное целое)

количество часов

AudHourCount

Числовой

(длинное целое)

количество аудиторных часов

SubjectNames

SubId

Счетчик

идентификационный номер дисциплины (ключевое поле)

SubName

Текстовый (50)

название дисциплины

Students

StudentId

Счетчик

идентификационный номер студента (ключевое поле)

StudentSurname

Текстовый (50)

фамилия студента

StudentName

Текстовый (50)

имя студента

StudentSecondName

Текстовый (50)

отчество студента

GroupId

Числовой

(длинное целое)

идентификационный номер группы

BirthDate

Дата/Время

дата рождения студента

Pol

Текстовый (50)

пол

LastDocId

Числовой

(длинное целое)

идентификационный номер предыдущего документа об образовании

DateGiveLastDoc

Дата/Время

год выдачи предыдущего документа об образовании

EntranceTests

Текстовый (50)

информация о вступительных испытаниях (прошел/прошла)

EnteredIn

Текстовый (50)

поле «поступил(а) в…»

EntetingYear

Числовой

(длинное целое)

год поступления

ExitIn

Текстовый (50)

поле «завершил(а) обучение в…»

ExitingYear

Числовой

(длинное целое)

год окончания обучения

DateGAK

Дата/Время

дата решения ГАК

GiveOutDocNameId

Числовой

(длинное целое)

идентификационный номер выданного документа

GiveOutDocNumber

Числовой

(длинное целое)

номер выданного документа (диплома или академической справки)

RegNumber

Текстовый (50)

регистрационный номер

Comments

Текстовый (50)

комментарий в конце документа

Status

Текстовый (50)

статус студента (обучается/отчислен)

LastDocuments

LastDocId

Счетчик

идентификационный номер предыдущего документа об образовании (ключевое поле)




LastDocName

Текстовый (255)

наименование предыдущего документа об образовании

CourseWorks

CourseWorkId

Счетчик

идентификационный номер курсовой работы (ключевое поле)

StudentId

Числовой

(длинное целое)

идентификационный номер студента

CourseWorkName

Текстовый (50)

название курсовой работы

MarkNameId

Числовой

(длинное целое)

идентификационный номер названия оценки

MarkNames

MarkNameId

Счетчик

идентификационный номер названия оценки (ключевое поле)

MarkName

Текстовый

(255)

название оценки

Marks

MarkId

Счетчик

идентификационный номер оценки (ключевое поле)

StudentId

Числовой

(длинное целое)

идентификационный номер студента

SubId

Числовой

(длинное целое)

идентификационный номер дисциплины

MarkNameId

Числовой

(длинное целое)

идентификационный номер названия оценки

DiplomWorks

DiplomWorkId

Счетчик

идентификационный номер выпускной квалификационной работы (ключевое поле)

StudentId

Числовой

(длинное целое)

идентификационный номер студента

DiplomWorkName

Текстовый (255)

тема выпускной квалификационной работы

DiplomWeekCount

Числовой

(длинное целое)

количество недель для выполнения выпускной квалификационной работы

MarkNameId

Числовой

(длинное целое)

идентификационный

номер названия оценки

Practice

PracticeId

Счетчик

идентификационный номер практики (ключевое поле)

StudentId

Числовой

(длинное целое)

идентификационный номер студента

PracticeNameId

Числовой

(длинное целое)

идентификационный номер практики

WeekCount

Числовой

(длинное целое)

количество недель для выполнения практики

MarkNameId

Числовой

(длинное целое)

идентификационный номер названия оценки

PracticeNames

PracticeNameId

Счетчик

идентификационный номер практики (ключевое поле)

PracticeName

Текстовый (50)

наименование практики

StateExaminations

StateExamId

Счетчик

идентификационный номер государственных экзаменов (ключевое поле)

StudentId

Числовой

(длинное целое)

идентификационный номер студента

StateExamName

Текстовый (255)

название итоговых государственных экзаменов

MarkNameId

Числовой

(длинное целое)

идентификационный номер названия оценки

GiveOutDocs

GiveOutDocNameId

Счетчик

идентификационный номер выданного документа (ключевое поле)




GiveOutDocName

Текстовый (255)

наименование выданного документа


Теперь на основании созданных таблиц разработаем структурную схему данных. Построение схемы данных состоит в добавлении в неё таблиц и установлении связей между ними.

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

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

Тип отношения в создаваемой Microsoft Access связи зависит от способа определения связываемых полей:

  • отношение «один-ко-многим» создается в том случае, когда только одно из полей является ключевым или имеет уникальный индекс;

  • отношение «один-к-одному» создается в том случае, когда оба связываемых поля являются ключевыми или имеют уникальные индексы;

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

Согласно вышеуказанным положениям разработаем структурную схему данных, при этом установим для связанных таблиц отношение «один-ко-многим».

Структурная схема данных, разработанная в MS Access, представлена в Приложении А.
1   2   3   4   5   6   7   8   9


написать администратору сайта