Инфологическая модель
«Учет абонентов библиотеки»
Даталогическая модель
«Учет абонентов библиотеки»
Даталогическая модель«Абонент»
Fields Name | Type | Size | |
1 | N_vidachi | A | 6 |
2 | D_vidachi | D | |
3 | Kod_abon | A | 6 |
4 | N_doc | A | 6 |
5 | D_vozvrata | D | |
6 | Flag_vozvrata | L | |
7 | Shtraf | $ |
Даталогическая модель «Код абонента»
Fields Name | Type | Size | |
1 | Kod_abon | A | 6 |
2 | Fam | A | 25 |
3 | Im | A | 25 |
4 | Otch | A | 25 |
5 | D_R | D | |
6 | Adres | A | 25 |
7 | Pasp_dan | N |
Даталогическая модель «Номер документа»
Fields Name | Type | Size | |
1 | N_doc | A | 6 |
2 | Nazvanie | A | 50 |
3 | Avtor | A | 30 |
4 | Type | A | 30 |
5 | Izdatelstvo | A | 25 |
6 | God_izdaniya | A | 10 |
Модель физического уровня
С помощью инструментов DataBaseDesktop создаем файл таблиц БД. Задаем им имена – Abonent.db, Kod_abon.db и N_doc.db. Далее откроем таблицы в режиме структуризации и в окне TableProperties выберем SecondaryIndexes. Нажимаем Define. Откроется окно, в котором слева расположены поля таблицы, а справа пустое окно, в которое заносятся поля, по которым создается индекс. Зададим следующие индексы – по № выдачи, зададим имя N_vidachi; по коду абонента, зададим имя Kod_abonи по номеру документа, зададим имя N_doc. После сохранения вторичных индексов, в окне высвечиваются их названия. Сохраним наши таблицы в папке «Наида» на диске D. Таким образом, путь к нашим таблицам будет D: Наида.
2.2 Машинная реализация
Для удобства работы и наглядности вводимых данных создадим автоматизированную систему «Учета абонентов библиотеки», которая должна выполнять следующие функции:
- Операции:
- Документы;
- Фильтрация;
- Поиск;
- Просмотр;
- Цвет фона
- По умолчанию;
- Черный;
- Красный;
- Синий;
- Голубой;
- Зеленый;
- Желтый
- Выход
ЗапускаемBorland C++ Builder. СоздаемновоеприложениеFile -> New -> Application.Далее появляется форма (Form1). Установим на нее компонент MainMenu из библиотеки Standart. Щелкаем на нее двойным щелчком, и появится окно для ввода меню. Введем в него наше выше перечисленное меню.
Рис. 2
Создаем новую форму (Form2) для ввода нового абонента, на которой будет осуществляться ввод нового абонента. Для этого устанавливаем на форму по 3 компоненты DataSourse, Table, DBGrid и DBNavigator. В компоненте Table устанавливаем свойства DataBaseName – Abonent, а TableName – abonent.db, kod_abon.db и n_doc.db; в компоненте DataSourse свойство DataSet – Table; в компоненте DBGrid свойство DataSourse – DataSourse1,2,3. Для управления перемещением используем компоненту DBNavigator, причем используем только кнопки перемещения, заблокировав остальные (VisibleButton).Для работы установим основное свойство DataSource- DataSource. Установим также две кнопки (TButton) для ввода и редактирования записей.
Для улучшения внешнего вида расставим метки (Label) отображающие названия полей нашей таблицы на приложении, а также настроим таблицу DBGrid. Для этого выполним двойной щелчок на компоненте Table, что приведет к открытию окна. Указав на поле окна, и нажав на правую кнопку мыши, выберем пункт «Добавить все поля». Используя свойства Alignment, DisplayLabel (заголовок столбца), DisplayWidth (ширина столбца), DisplayValues(отображаемые значения), ReadOnly (только для чтения), Visible (видимость поля), делаем настройку окна приложения.
Для фильтрации данных мы создаем новую форму File -> New -> Form3. Далее устанавливаем на форму компоненты DataSourse, Table, DBGrid, DBNavigator, RadioGroup, Label, 2 компоненты Edit,.
Устанавливаем следующие свойства:
· Вкомпоненте DataSourse1: DataSet – Table1;
· Вкомпоненте Table1: DatabaseName - Abonent; TableName – abonent.db;
· Вкомпоненте DBGrid: DataSourse - DataSourse1;
· Вкомпоненте DBNavigator: DataSourse – DataSourse1;
· В компоненте Label: Caption – “Фильтрация данных”;
Далее в компоненте Table1 делаем свойство Active равным True.
Для поиска данных мы создаем новую форму File -> New -> Form3. Далее устанавливаем на форму компоненты DataSourse, Table, DBGrid, DBNavigator, Label и Edit.
Устанавливаем следующие свойства:
· Вкомпоненте DataSourse1: DataSet – Table1
· Вкомпоненте Table1: DatabaseName - Abonent; TableName – kod_abon.db
· Вкомпоненте DBGrid: DataSourse - DataSourse1
· Вкомпоненте DBNavigator: DataSourse - DataSourse1
· В компоненте Label: Caption – “Поиск данных”
Далее в компоненте Table1 делаем свойство Active равным True.
Для печати и просмотра списка абонентов создаем новую форму File -> New -> Form5. В окно формы установим следующие компоненты: Table (DatabaseName - Abonent; TableName – kod_abon.db); QuickRep (DataSet – Table1); DataSourse (DataSet – Table1).
На верхней строке отчета размещаем компоненту QRSysData. В свойстве Data устанавливаем qrsData. C помощью QRLabel делаем заголовок (Caption – “Список абонентов”). Далее в отчет перенесем компоненту QRSubDetail, которая осуществляет циклический вывод записей на печать. Вставляем компоненты QRDText и задаем им свойства DataSet и DataField – Table1, и имена соответствующих полей, с помощью QRLabel.
Далее создаем главную форму, с которой будет вызываться модуль печати. Перенесем на форму две компоненты Button, обозначим их как «Печать» и «Просмотр». Выполним команду Alt+F11, выберем модуль формы нашего отчета и нажмем «ОК».
2.3 Описание работы программы
На диске D находим папку «Наида» Щелкаем дважды на файле Project1.exe. Откроется главное окно нашей программы:
· Для ввода нового абонента открываем пункт меню Операции -> Документы. Перед нами откроется форма. Для того чтобы ввести данные о новом абоненте нажимаем на кнопку «Вставить». Появится новая строка. После ввода нажимаем кнопку «Записать». Подтверждаем изменения кнопкой «Ок».
· Для того чтобы найти интересующего нас абонента, мы выполняем команду Операции -> Поиск. Перед нами открывается окно с таблицей данных и окошками для ввода кода абонента и фамилии. Для осуществления поиска просто вводим нужный нам код абонента или фамилию абонента в эти окошки.