48132 (Построение модели DFD и реализация в СУБД Visual FoxPro), страница 5

2016-07-30СтудИзба

Описание файла

Документ из архива "Построение модели DFD и реализация в СУБД Visual FoxPro", который расположен в категории "". Всё это находится в предмете "информатика" из , которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "48132"

Текст 5 страницы из документа "48132"

Функциональная модель представлена при помощи диаграмм потоков данных (DFD).

Контекстная диаграмма приведена на рисунке 2.17.1, а её детализация на рисунке 2.17.2.

Рис. 2.17.1.Контекстная диаграмма

Рис. 2.17.2.Детализированная диаграмма потоков данных


Словарь данных

@ИМЯ = ДАННЫЕ О СТУДЕНТЕ

@ТИП = дискретный поток

@БНФ = Номер зачётки + Название группы + ФИО + Год рождения + Адрес

@ИМЯ = ДАННЫЕ О ГРУППЕ

@ТИП = дискретный поток

@БНФ = Название группы + Название кафедры + Зав. кафедрой

@ИМЯ = ПОИСК СТУДЕНТА

@ТИП = дискретный поток

@БНФ = Номер зачётки

@ИМЯ = СВЕДЕНИЯ О СТУДЕНТЕ И ГРУППЕ

@ТИП = дискретный поток

@БНФ = ДАННЫЕ О СТУДЕНТЕ + ДАННЫЕ О ГРУППЕ

@ИМЯ = ИНФОРМАЦИЯ О СТУДЕНИЕ

@ТИП = внутренний поток

@БНФ = ДАННЫЕ О СТУДЕНТЕ

@ИМЯ = ИНФОРМАЦИЯ О ГРУППЕ

@ТИП = внутренний поток

@БНФ = ДАННЫЕ О ГРУППЕ

@ИМЯ = НАЙТИ ГРУППУ

@ТИП = внутренний поток

@БНФ = Название группы

@ИМЯ = РЕЗУЛЬТАТ ПОИСКА ГРУППЫ

@ТИП = внутренний поток

@БНФ = НАЙТИ ГРУППУ

@ИМЯ = ПОИСК ИНФОРМАЦИИ О СТУДЕНТЕ

@ТИП = внутренний поток

@БНФ = ПОИСК СТУДЕНТА

@ИМЯ = ИНФОРМАЦИЯ О СТУДЕНТАХ И ГРУППАХ

@ТИП = внутренний поток

@БНФ = СВЕДЕНИЯ О СТУДЕНТЕ И ГРУППЕ


Спецификация процессов

Спецификация процесса A0.1

@ВХОД = ДАННЫЕ О СТУДЕНТЕ

@ВХОД = РЕЗУЛЬТАТ ПОИСКА ГРУППЫ

@ВЫХОД = ДАННЫЕ О СТУДЕНТЕ

@ВЫХОД = НАЙТИ ГРУППУ

@СПЕЦПРОЦ A0.1 ПРОВЕРИТЬ НАЛИЧИЕ ГРУППЫ

НАЙТИ ГРУППУ = Название группы из ДАННЫХ О СТУДЕНТЕ

ЕСЛИ РЕЗУЛЬТАТ ПОИСКА ГРУППЫ не равен NULL ТО

ДАННЫЕ О СТУДЕНТЕ = ДАННЫЕ О СТУДЕНТЕ

КОНЕЦ ЕСЛИ

Спецификация процесса A0.2

@ВХОД = ДАННЫЕ О СТУДЕНТЕ

@ВЫХОД = ИНФОРМАЦИЯ О СТУДЕНТЕ

@СПЕЦПРОЦ A0.2 ФОРМИРОВАТЬ ИНФОРМАЦИЮ О СТУДЕНТЕ

ЕСЛИ добавить ИНФОРМАЦИЮ О СТУДЕНТЕ ТО

ИНФОРМАЦИЯ О СТУДЕНТЕ = ДАННЫЕ О СТУДЕНТЕ

КОНЕЦ ЕСЛИ

ЕСЛИ изменить ИНФОРМАЦИЮ О СТУДЕНТЕ ТО

ВЫПОЛНИТЬ редактировать ИНФОРМАЦИЮ О СТУДЕНТЕ

КОНЕЦ ЕСЛИ

ЕСЛИ удалить ИНФОРМАЦИЮ О СТУДЕНТЕ ТО

ВЫПОЛНИТЬ удалить ИНФОРМАЦИЮ О СТУДЕНТЕ

КОНЕЦ ЕСЛИ

Спецификация процесса A0.3

@ВХОД = ДАННЫЕ О ГРУППЕ

@ВЫХОД = ИНФОРМАЦИЯ О ГРУППЕ

@СПЕЦПРОЦ A0.3 ФОРМИРОВАТЬ ИНФОРМАЦИЮ О ГРУППЕ

ЕСЛИ добавить ИНФОРМАЦИЮ О ГРУППЕ ТО

ИНФОРМАЦИЯ О ГРУППЕ = ДАННЫЕ О ГРУППЕ

КОНЕЦ ЕСЛИ

ЕСЛИ изменить ИНФОРМАЦИЮ О ГРУППЕ ТО

ВЫПОЛНИТЬ редактировать ИНФОРМАЦИЮ О ГРУППЕ

КОНЕЦ ЕСЛИ

ЕСЛИ удалить ИНФОРМАЦИЮ О ГРУППЕ ТО

ВЫПОЛНИТЬ удалить ИНФОРМАЦИЮ О ГРУППЕ

КОНЕЦ ЕСЛИ

Спецификация процесса A0.4

@ВХОД = ПОИСК СТУДЕНТА

@ВХОД = ИНФОРМАЦИЯ О СТУДЕНТАХ И ГРУППАХ

@ВЫХОД = ПОИСК ИНФОРМАЦИИ О СТУДЕНТЕ

@ВЫХОД = СВЕДЕНИЯ О СТУДЕНТЕ И ГРУППЕ

@СПЕЦПРОЦ A0.4 ПОИСК СТУДЕНТА

ПОИСК ИНФОРМАЦИИ О СТУДЕНТЕ = ПОИСК СТУДЕНТА

ВЫПОЛНИТЬ ПОИСК ИНФОРМАЦИИ О СТУДЕНТЕ в БД

СВЕДЕНИЯ О СТУДЕНТЕ И ГРУППЕ = найденная в БД ИНФОРМАЦИЯ О СТУДЕНТАХ И ГРУППАХ


Проектирование структуры базы данных

Выделим три сущности: Студент, Кафедра и Группа.

Связь Студент – Группа имеет тип «Многие к одному» так как в одной группе могут учиться несколько студентов, но каждый студент учится только в одной группе. Связь Группа – Кафедра имеет тип «Многие к одному» так как к одной кафедре относится несколько групп и каждая группа относится к одной кафедре.

Рис. 2.17.3.Структура связей между сущностями

Сущность «Студент» имеет атрибуты: «Номер зачётки», «ФИО», «Год рождения», «Адрес», «Название группы».

Сущность «Группа» имеет атрибуты «Название группы», «Название кафедры».

Сущность «Кафедра» имеет атрибуты «Название кафедры», «Зав кафедрой».

Сущности «Студент» и «Группа» связаны по полю «Название группы», значение которого для сущности «Группа» уникально и является её первичным ключом.

Сущности «Группа» и «кафедра» связаны по полю «Название кафедры», значение которого для сущности «Кафедра» уникально и является её первичным ключом.

Рис. 2.17.4.Структура БД

Для каждой сущности все атрибуты функционально и не транзитивно зависят от первичного ключа и не зависят от части ключа, следовательно, структура базы данных находится в третьей нормальной форме. Атрибут функционально зависит от ключа, когда каждому значению ключа соответствует не более одного значения зависимого атрибута. Например, для ключевого поля «Номер зачётки» значение поля «ФИО» единственно, т. е. один и тот же номер зачётки не может быть более чем у одного студента. Атрибут транзитивно зависит от ключа, если он функционально зависит от ключа, а также от другого атрибута, функционально зависящего от ключа. Например, если объединить таблицы «Студент» и «Группа», то значения атрибута «Название кафедры» зависели бы функционально как от значений первичного ключа «Номер зачётки», так и от значений неключевого атрибута «Название группы». Так как студент учится только в одной кафедре и только в одной группе, и притом каждая группа относится только к одной кафедре.

Опишем структуру каждой таблицы.

Таблица «Студент» (student)

Наименование поля

Тип данных

Ограничения

Номер зачётки (ID_zach)

Целое число

Первичный ключ

Название группы (name_group)

Строка (15)

NOT NULL

Внешний ключ

ФИО (FIO)

Строка (30)

NOT NULL

Год рождения (Year_birth)

Дата

Адрес (Address)

Строка (30)

Таблица «Группа» (Groups)

Наименование поля

Тип данных

Ограничения

Название группы (name_group)

Строка (15)

Первичный ключ

Название кафедры (name_Pulpit)

Строка (15)

NOT NULL

Внешний ключ

Таблица «Кафедра» (Pulpit)

Наименование поля

Тип данных

Ограничения

Название кафедры (name_Pulpit)

Строка (15)

Первичный ключ

Зав кафедрой (Zav_Pulpit)

Строка (30)

NOT NULL


Реализация спроектированной базы данных при помощи СУБД Visual FoxPro

Создадим проект приложения баз данных. Для чего выберем в главном меню File – New, затем выберем Project и укажем New File – введём имя проекта students и сохраним файл проекта (students.pjx). Далее откроется окно Project Manager (диспетчер проекта) в котором перейдём на вкладку Data (Данные) и выберем пункт Databases и нажмём кнопку New… (Новая). Появится окно, в котором выберем New Database (Новая база данных) и сохраним базу данных как students.dbc. В появившемся окне Database Designer (Построитель базы данных) выберем из контекстного меню New Table… (Новая таблица). Появится окно, в котором выберем New Table (Новая таблица) и сохраним таблицу как Student.dbf. После этого на экране появится диалоговое окно Table Designer (Конструктор таблиц) в котором введём названия всех полей таблицы Студент (Student), укажем их типы данных и ограничения. Создадим индексы для таблицы. Индексы нужны для определения первичного и внешнего ключей в базе данных. Для создания индекса перейдём на вкладку Indexes (Индексы). Сначала создадим индекс первичного ключа таблицы. В поле Name введём имя индекса PK_ Students, а из раскрывающегося списка Type (Тип) выберем тип индекса Primary (Первичный), затем нажмём кнопку справа от поля Expression (Выражение) и введём значение индексного выражения в окне построителя выражений «ID_zach», то есть укажем, что первичным ключом будет поле Номер зачётки. Теперь создадим регулярный индекс для определения внешнего ключа FK_Groups, тип – Regular, выражение – «name_group».

Аналогично создадим две другие таблицы Groups.dbf и Pulpit.dbf. Для таблицы Groups.dbf определим индексы первичного и внешнего ключа и назовём их PK_Groups и FK_Pulpit, а в выражении для первичного ключа проставим название поля первичного ключа name_group, для внешнего ключа – название поля внешнего ключа name_Pulpit. Для таблицы Pulpit.dbf определим индекс для первичного ключа PK_Pulpit, выражение – «name_Pulpit».

Создадим отношения между таблицами. Для этого в окне конструктора базы данных щёлкаем мышью на имени индекса PK_Groups таблицы Groups и переносим к индексу FK_Groups таблицы Student. Также создадим отношение между таблицами Pulpit и Groups, для чего перенесём поле PK_Pulpit из таблицы Pulpit к полю FK_Pulpit таблицы Groups.

Полученная схема базы данных представлена на рисунке 2.17.5.

Рис. 2.17.5. Схема отношений базы данных

Создадим представление, выводящее значения полей всех трёх связанных таблиц. В Диспетчере проекта перейдём на вкладку Data (Данные) – Database затем выберем базу данных studens, в которой выберем пункт Local Views (Локальные Виды) и нажмём на кнопку New, затем выберем New View (Новое представление). В появившемся окне Add Table or View (Добавить таблицу или представление) выберем поочерёдно все три таблицы и нажмем кнопку Add (Добавить). В окне View Designer (Конструктор представления) появятся все три таблицы и автоматически добавятся связи, так как мы их уже задавали при построении схемы базы данных. Выберем в контекстном меню View SQL (Просмотр SQL) и появится окно просмотра SQL запроса для вида, в котором уже будет задана связка таблиц, поэтому добавим только те поля какие мы будем выводить, для чего в разделе SELECT запроса на выборку введём список полей

Student.id_zach, Student.name_group, Student.fio,;

Student.year_birth, Student.address, Pulpit.name_pulpit,;

Pulpit.zav_pulpit;

Перейдём к окну конструктора представления и проверим правильность набранного кода, выбрав из контекстного меню Run Query (Выполнить запрос). Перейдём на вкладку Update General (Обновление) где выберем все поля для изменения, зададим ключевые поля для представления и поставим флажок Send SQL updates для того, чтобы можно было добавлять и редактировать значения полей в таблицах через это представление. Сохраним представление, выбрав File – Save. В появившемся окне View Name (Имя представления) введём Studens_View.


Создание форм

Создадим три формы по одной для каждой таблицы при помощи мастера форм. Для создания формы нужно в окне Диспетчера проектов перейти на вкладку Documents, где выбрать пункт Form и нажать кнопку New. Выберем Form Wizard, затем выберем мастера создания формы с одной таблицы Form Wizard. На первом шаге необходимо выбрать таблицу и поля, которые будут применяться в форме. Укажем таблицу Student базы данных Students и выберем все поля, переместив их в список Selected fields (Выбранные поля).

На втором шаге выберем стиль формы.

На третьем шаге укажем поля, по которым будет происходить упорядочение записи и порядок сортировки записей. Выберем упорядочение по значению поля Номер зачётки (ID_zach), для чего переместим его в список Selected fields (Выбранные поля). Укажем сортировку по возрастанию (Ascending).

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5250
Авторов
на СтудИзбе
422
Средний доход
с одного платного файла
Обучение Подробнее