Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Автоматизированное рабочее место специалиста по формированию программ радиовещания.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
2 Мб
Скачать
☆

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

3.1 Описание структуры базы данных

Программный продукт был создан с помощью языка программирования Visual fox pro 6.0.

Visual FoxPro состоит из отдельных компонентов, которые используются для хранения информации, ее отображения и редактирования. В Visual FoxPro вся информация хранится в базе данных, которая состоит из таблиц, отношений между таблицами, индексов, триггеров и хранимых процедур. Каждая таблица имеет уникальное имя и хранится в отдельном файле, наименование которого совпадает с именем таблицы. Созданный файл имеет расширение DBF.

Каждая создаваемая таблица может иметь связанные с ней индексы, используемые для упорядочения данных и быстрого поиска необходимых записей, причем каждая таблица может иметь несколько индексов. Для хранения значений полей типа Memo и General применяются отдельные файлы. Memo-поля таблиц содержат текстовую информацию, а поля типа General используются, как правило, для хранения двоичной информации и данных других приложений, работающих в среде Windows [6,7]. В Visual FoxPro реализованы триггеры, которые позволяют централизованно обрабатывать события, возникающие при любых изменениях в базе данных. Вы также можете создавать хранимые процедуры, которые являются частью базы данных и могут использоваться при описании таблиц, для проверки введенных данных, определения значения по умолчанию и т. п.

Чрезвычайно удобным и полезным средством доступа к базе данных являются представления данных. Представления данных позволяют объединять данные таблиц и отображать их в более удобном виде. Вы можете выбрать только интересующие вас поля таблиц, объединить несколько полей в одно поле, вычислить итоговые значения и задать новые имена полей таблицы. Как правило, количество представлений в базе данных намного превосходит количество таблиц. По мере эксплуатации базы данных их количество непрерывно растет. Во многих информационных системах доступ к данным, включая просмотр, добавление и редактирование, осуществляется только с помощью представлений данных. Данный подход позволяет осуществить гибкое управление доступом к информации. При использовании представлений для выборки данных в формах, отчетах, при создании запросов и в программах применяются те же правила, что и для таблиц. Редактирование данных, включенных в представление, возможно только при определенных условиях. Например, в том случае, если оно создано на основе только одной таблицы.

Для отображения и редактирования данных используются формы, отчеты, запросы и программы. При создании форм, отчетов и запросов применяются конструкторы. Поэтому эти компоненты часто называют конструкторскими объектами. Формы и отчеты являются составными объектами, т. к. они состоят из более мелких объектов (таких как поля, кнопки, диаграммы, рамки, OLE - компоненты и т. п.), которые называются объектами интерфейса.

Формы используются для просмотра или ввода данных в таблицы. Данные можно вводить непосредственно в таблицы, но использование формы является более быстрым и более эффективным способом ввода. Форма содержит некоторые или все поля таблиц, в которые вы вводите информацию. Для создания форм вы можете использовать мастер создания форм или конструктор форм. Мастер форм содержит целый ряд шаблонов, которые определяют соотношение между помещаемыми в форму таблицами, вид отображения данных и порядок размещения полей. Для создания сложных форм применяется конструктор форм.

Отчеты используются для просмотра и вывода на печать содержащейся в базе данных информации. Примерами отчетов являются прайс-лист товаров, список покупателей, оборотная складская ведомость. Как правило, отчеты создаются в том случае, если информацию необходимо передавать кому-либо в печатном виде. Для создания отчетов в Visual FoxPro, как и для форм, используются мастер и конструктор отчетов. С помощью мастера отчетов вы можете быстро создать собственный отчет на основе имеющихся шаблонов. Применение конструктора отчетов позволяет создавать отчеты произвольной сложности, включая многоуровневую группировку данных и размещение вычисляемых полей.

Запросы являются средством выборки данных из одной или нескольких таблиц. В Visual FoxPro для создания запроса вы можете использовать как конструктор запросов, так и специализированный язык Structured Query Language (SQL). Результаты выполнения запроса могут отображаться в форме, выводиться в виде отчетов и диаграмм или сохраняться в указанной вами таблице.

Программы, написанные на языке Visual FoxPro, являются объектно-ориентированными. С помощью них вы обрабатываете события в форме, создаете объекты, осуществляете различные вычисления, управляете базой данных. Для удобства работы вы можете объединить программы в библиотеки.

Для создания форм в Visual FoxPro можно использовать не только базовые классы, но и создавать собственные. Например, вы можете определить класс форм, в котором задан определенный цвет фона и стандартный набор кнопок для управления данными. Чтобы стандартизировать разработку, полезно иметь один или несколько пользовательских классов для каждого базового класса. Классы, созданные в Visual FoxPro, хранятся в библиотеках классов.

Для объединения компонентов создаваемого приложения используется проект, в который включаются все перечисленные выше компоненты. Использование проекта упрощает разработку приложения и его сопровождение.

В Visual FoxPro имеется возможность сохранять параметры основного окна Visual FoxPro, настройки таблиц, параметры диалоговых окон и панели инструментов с помощью файла параметров настройки.

Каждый компонент хранится в отдельном файле, причем имена файлов, содержащих основные компоненты, вы задаете самостоятельно, а наименования файлов, содержащих объекты, связанные с таблицей, совпадают с именем таблицы. В зависимости от типа, содержащегося в нем объекта, Visual FoxPro автоматически присваивает каждому файлу расширение, которое помогает в идентификации объекта.

Список расширений файлов приведен в следующей таблице.

Таблица 3.1

Таблица расширений файлов проекта FoxPro

Наименование объекта

Расширение файла

Проект

PRJ,FPC,CAT,PJX,PJT

База данных

DBC

Таблица Visual FoxPro

DBF

Составной индексный файл

CDX

Memo-поле и поле типа General

FRT

Форма

SCX

Запрос

QPR

Отчет

FRX,FRM

Почтовая наклейка

LBX,LBL

Меню

MNX

Библиотека класса

VCX

Программа, библиотека программ, текст меню, текст запроса

PRG,FXP,MPR,QPR

Рисунок

BMP,JPG,GIF,ICO,DIB,CUR,ANI

Звукозапись

WAV

Описание запросов к базе данных

Запрос Передачи.qpr.

SELECT Передачи.*, Передачи.вид_передачи, Передачи.код_передачи;

FROM ;

dbf!Передачи ;

INNER JOIN <Undefined> ;

ON Передачи.длительность = Передачи.длительность;

WHERE Передачи.длительность = 0;

GROUP BY Передачи.код_передачи, Передачи.вид_передачи,;

Передачи.наименование_передачи, Передачи.длительность;

ORDER BY Передачи.длительность, Передачи.вид_передачи – отображает те передачи, которые войдут в эфир, в данном коде реализуется отображение программой таблицы с полями код передачи, вид передачи, наименование передачи, длительность, где выводит те записи, где значение поля длительность входят в пределы от 4 до 100.

Запрос Элементы вещания.qpr

SELECT Элементы_вещания.*;

FROM ;

"dbf!Элементы вещания" Элементы_вещания ;

INNER JOIN <Undefined> ;

ON Элементы_вещания.код_элемента = Элементы_вещания.код_элемента;

WHERE Элементы_вещания.наименование_элемента = 0;

GROUP BY Элементы_вещания.код_элемента,;

Элементы_вещания.вид_элемента,;

Элементы_вещания.наименование_элемента,;

Элементы_вещания.формат_хранения, Элементы_вещания.еденица_измерения,;

Элементы_вещания.объем, Элементы_вещания.код_поставщика – структура запроса аналогична первой, только в данной процедуре изменены параметры запроса, т.е. значения поля по которому и происходит запрос, значения равны от 5 до 20 и данный запрос выводит те фамилии и их данные которые поступили на коммерческую основу обучения.

Запрос Обработка элементов.qpr.qpr

SELECT Элементы_вещания.*, Элементы_вещания.код_элемента,;

Элементы_вещания.вид_элемента,;

Элементы_вещания.наименование_элемента,;

Элементы_вещания.формат_хранения, Элементы_вещания.еденица_измерения,;

Элементы_вещания.объем, Элементы_вещания.код_поставщика;

FROM ;

"dbf!Элементы вещания" Элементы_вещания ;

INNER JOIN <Undefined> ;

ON Элементы_вещания.наименование_элемента = Элементы_вещания.наименование_элемента;

WHERE Элементы_вещания.наименование_элемента = 0;

GROUP BY Элементы_вещания.код_поставщика,;

Элементы_вещания.код_элемента, Элементы_вещания.вид_элемента,;

Элементы_вещания.наименование_элемента,;

Элементы_вещания.формат_хранения, Элементы_вещания.еденица_измерения,;

Элементы_вещания.объем;

ORDER BY Элементы_вещания.код_элемента – данный запрос выводит таблицу, которая отображает те элементы, которые могут изменять формат хранения, т.е. в процессе выполнения запроса программа выбирает те элементы базы данных, в которых в поле «формат хранения» стоит значение «да».

Запрос Сотрудники радиостанции.qpr

SELECT Сотрудники_радиостанции.*;

FROM ;

"dbf!Сотрудники радиостанции" Сотрудники_радиостанции ;

INNER JOIN <Undefined> ;

ON Сотрудники_радиостанции.табуляционный_номер = Сотрудники_радиостанции.табуляционный_номер;

WHERE Сотрудники_радиостанции.должность = 0;

GROUP BY Сотрудники_радиостанции.табуляционный_номер,;

Сотрудники_радиостанции.фио, Сотрудники_радиостанции.должность,;

Сотрудники_радиостанции.образование,;

Сотрудники_радиостанции.характеристики;

ORDER BY Сотрудники_радиостанции.табуляционный_номер – здесь программа выводит таблицу со всеми полями которые имеются в главной таблицы и записи в которых в поле «табуляционный номер» значение входит в диапазон от 1 до 10.

Запрос Включение элементов.qpr

SELECT Включение_элементов.*;

FROM ;

"dbf!Включение элементов" Включение_элементов ;

INNER JOIN <Undefined> ;

ON Включение_элементов.номер_документа = Включение_элементов.номер_документа;

WHERE Включение_элементов.дата_принятия = 0;

GROUP BY Включение_элементов.код_передачи,;

Включение_элементов.код_элемента,;

Включение_элементов.номер_документа,;

Включение_элементов.дата_принятия,;

Включение_элементов.длительность_в_передаче,;

Включение_элементов.номер_по_порядку;

ORDER BY Включение_элементов.код_передачи – здесь программа выводит таблицу со всеми полями которые имеются в главной таблицы и записи в которых в поле «номер документа» значение входит в диапазон от 1 до 8.

Запрос Поставщики элементов вещания.qpr

SELECT Поставщики_элементов_вещания.*;

FROM ;

"dbf!Поставщики элементов вещания" Поставщики_элементов_вещания ;

INNER JOIN <Undefined> ;

ON Поставщики_элементов_вещания.характеристики = Поставщики_элементов_вещания.характеристики;

WHERE Поставщики_элементов_вещания.наименовани_поставщика = 0;

GROUP BY Поставщики_элементов_вещания.код_поставщика,;

Поставщики_элементов_вещания.вид_поставщика,;

Поставщики_элементов_вещания.наименовани_поставщика,;

Поставщики_элементов_вещания.характеристики;

ORDER BY Поставщики_элементов_вещания.код_поставщика – здесь программа выводит таблицу со всеми полями которые имеются в главной таблицы и записи в которых в поле «характеристики» значение входит в диапазон от 30 до 80.

Описание отчётов

Рисунок 3.1. Вывод отчета