Этапы создания базы данных

Автор работы: Пользователь скрыл имя, 09 Декабря 2017 в 13:31, реферат

Описание работы

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

Файлы: 1 файл

база данных.docx

— 898.67 Кб (Скачать файл)

 

Рисунок 18. Главная форма

 

Для того чтобы добавить группы, необходимо нажать кнопку «Группы». В этой форме (форма№2) располагается группа компонентов TTable, DataSource, DBGrid1и DBNavigator1.

Для того чтобы посмотреть информацию о всех студентах необходимо нажать на кнопку «Все студенты». Здесь располагается группа компонентов Ttable, Query1, DataSource, DBGrid1и Navigator1, Combobox, Label, TText.

Для Student в свойствах указывается DatabaseName, которая связывает наборы данных с псевдонимом BDE (имя псевдонима lab3) и TableName задается Student.db. Далее активизируется компонент, т.е. Active=True.

Для DataSource в свойствах указывается DataSet= Table1 для связи визуальных компонентов с набором записей.

Компонент DBGrid1 отображает содержимое таблицы БД в виде сетки, в которой столбцы соответствуют полям, а строки - записям. По умолчанию пользователь может просматривать и редактировать данные. Компонент DBNavigator1 предоставляет возможность перемещаться по таблице, редактировать, вставлять и удалять записи. Компоненты DBGrid1 и DBNavigator1 связываются со своим источником данных - компонентом DataSourse1 через свои свойства DataSource.

На этой же форме располагаются четыре компоненты BitBtns с измененным свойством Caption: Добавить, Изменить, Сохранить, Удалить, которым соответствуют процедуры с необходимыми функциями Table1.Insert; Table1.Delete; Table1.Edit; Table1.Post. Далее в свойствах VisibleButtons для компонента DBNavigator1 устанавливается значение true для nbInsert, nbDelete, nbEdit, nbPost.

Для настройки внешнего вида компоненты DBGrid1 используется встроенный редактор столбцов Columns Editor, который вызывается двойным щелчком по компоненту DBGrid1, команда Add All Fields контекстного меню, для каждого поля меняется значение на кириллицу.

Для реализации поиска по значениям неиндексированных полей применяется метод Locate. На форме размещаются компоненты Edit1, Label2 и кнопка BitBtn1. Свойство Caption кнопки BitBtn1 устанавливается равным «Поиск». Далее в обработчике события OnClick кнопки BitBtn1 организууется вызов метода Locate. Код обработчика события представлен в листинге программы в приложение Б.

Для реализации сортировки по ФИО студента или комнате, на форме располагаются компоненты ComboBox1 и Lable1. Сортировка производится согласно вторичным индексам FIОst и Komnata. Для ComboBox1 устанавливается свойство Items в соответствии с рисунком 19.

 

Рисунок 19. Окно редактора строк

Для реализации фильтрации по группам на форме располагаются компоненты ComboBox1 и Lable1. Для Table1 установлено свойство Filtered=true, для Lable1 установлено свойство Caption=Группа. Для ComboBox1 устанавливается свойство Items в соответствии с рисунком 19.

 

Рисунок 20. Окно редактора строк

 

Аналогичным образом создается новая форма «Комната», «Группа», которые также расположены во второй и третьей форме, и на которой таккже располагаются компоненты Table1, DataSource, DBGrid1и DBNavigator.

Компонент Tablel обеспечивает взаимодействие с таблицей БД. Для связи с требуемой таблицей устанавливается соответствующее значение свойствам DataBaseName, указывающему путь к БД, и TableName, указывающему имя таблицы. После задания таблицы для открытия набора данных свойству Active присваивается значение True.

Изображение формы «Все студенты» представлено на рисунке 21.

Изображение формы «Группы» представлено на рисунке 22.

Рисунок 21 – Форма «Все студенты»

 

Создается новая форма (Комнаты), которая расположена в третьей форме. Здесь располагается группа компонентов TTable, DataSource_Student, DBGrid1и DBNavigator1.

Для Table1 в свойствах указывается DatabaseName, которая связывает наборы данных с псевдонимом BDE (имя псевдонима Lab3) и TableName задается Komnats.db. Далее активизируется компонент, т.е. Active=True.

Для DataSource в свойствах указывается DataSet=Table1 для связи визуальных компонентов с набором записей. Изображение формы студенты представлено на рисунке 22.

Для связи между таблицами Komnats и Student по ключевому полю используются свойства MasterSource и MasterFields подчиненного набора данных. При этом в свойстве MasterSource подчиненного компонента Table1, который находится на форме «Главная», указывается источник данных Form1.DataSource1, соответствующей главной таблице, на записи которой ссылается подчиненная таблица( в данной базе всего шесть связей). При обращении в инспекторе объектов к свойству MasterFields подчиненного компонента Table1, который находится на форме «Главная», вызывается специальный редактор отношений, изображенный на рисунке 23.

 

Рисунок 23. Поиск информации

 

На этой же форме применяется поиск методом Lookup. Двойным щелчком мыши на компоненте Table1, командой AddallFields/NewFields появляется окно, представленная на рисунке 25, в котором устанавливаются следующие значения:

- поле Name – имя нового поля(Группа);

-поле Type – тип создаваемого поля (String);

-поле Field type – значение lookup;

-в выпадающем списке  KeyFields выбирается ключевое поле (IDgroup);

- в выпадающем списке  Dataset выбирается – связываемый набор данных (table6);

- в выпадающем списке  Lookup Keys выбирается ключевое поле (IDgroup);

- в выпадающем списке  Result Field выбирается просматриваемое поле (IDgroup).

Аналогичным образом создается поиск методом Lookup для других полей.

На форме «Все студенты» расположена таблица, которая осуществляется подсчет количества студентов каждой группы. Подсчет производиться при помощи SQL-запроса.

При нажатии на «Отчет» осуществляется переход к новой форме (рисунок 24). На данной форме можно просмотреть студентов для любой

 

группы. Основным компонентом, на котором строится весь отчет, является QuickRep. Он предоставляет ряд возможностей по управлению создаваемым отчетом, включая формирование заголовка.

Компонент QuickRep имеет ряд свойств, определяющих характеристики печати отчета:

- Printer – задает число копий отчета и диапазон печатаемых страниц;

- Page – задает размер страницы;

- Zoom – масштаб печати в процентах.

 


Рисунок 24. Форма «Отчет»

 

Листинг программы представлен в приложении В.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ЗАКЛЮЧЕНИЕ

 

Данный отчет учебной практики является актуальным и отвечает предъявленным к нему требованиям. Была разработана и написана база данных Студенческое общежитие, на языке программирования высокого уровня Borland Delphi 7.0, с использованием баз данных.

Программа "Студенческое общежитие", предназначена для коменданта

общежития.

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

В теоретической части работы было установлено, что в общем случае база данных – это систематизированный набор любых данных. В простейшем случае систематизация строится так, чтобы облегчить поиск требуемых данных.

Технология разработки базы данных делится на два этапа: 

На этапе технического задания выявлены входные и выходные данные;

    • Построена концептуальная модель;
    • Изучены метода тестирования;
    • Этапы проектирования базы данных;
    • Разработка тестов.

На этапе технического проектирования проведена нормализация базы данных;

  • Построены таблицы с входными данными;
  • Построена UML модель данных;
  • Разработан алгоритм проектирования базы данных;
  • Организованы формы для выходных данных;
  • Спроектирована база данных.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

 

  1. Лекции по дисциплине «Высокоуровневые методы информатики и программирования» Исавнина А.Г.

  1. Работа с СУБД Microsoft Access и SQL Server  в среде Delphi: Учебное пособие для специальностей 0811665 – «Математические методы в экономике» и 08080165 – «Прикладная информатика в экономике» дневной, заочной и дистанционной форм обучения / Составитель – А.Г. Исавнин. Набережные Челны: Изд-во ИНЭКА, 2008.

  1. Исавнин А.Г., Макарова И.В., Лысанов Д.М. Язык структурированных запросов, Учебное пособие. Набережные Челны: Изд-во КамПи, 2004.

  1. Создание отчетов с помощью RAVE-компонентов Delphi: Учебное пособие для студентов специальностей 08011665 – «Математические методы в экономике» и 08080165 – «Прикладная информатика в экономике» дневной, заочной и дистанционной форм обучения/ Составители: Исавнин А.Г., Фрикк В.С., Лысанов Д.М. Набережные Челны: Изд-во ИНЭКА, 2006. – 39с.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ПРИЛОЖЕНИЕ А

 

Рисунок А.1 – Схема функциональных зависимостей

 

 

 

 

 

 

 

г  
ПРИЛОЖЕНИЕ Б

 

 

 

ПРИЛОЖЕНИЕ Б

(ПРОДОЛЖЕНИЕ)

 

Рисунок Б.1 – Общая блок-схема алгоритма работы программы

 

 

ПРИЛОЖЕНИЕ В

 

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Mask, DBCtrls, DB, ExtCtrls, Grids, DBGrids, DBTables,

Buttons, ComCtrls;

type

TForm1 = class(TForm)

DataSource1: TDataSource;

Table1: TTable;

DBNavigator1: TDBNavigator;

DataSource2: TDataSource;

DataSource3: TDataSource;

Table3: TTable;

Table3Komnata: TSmallintField;

Label5: TLabel;

Label6: TLabel;

Label10: TLabel;

DataSource4: TDataSource;

Table4: TTable;

Table5: TTable;

DBGrid4: TDBGrid;

DataSource5: TDataSource;

Label11: TLabel;

DBGrid7: TDBGrid;

DBNavigator3: TDBNavigator;

Label13: TLabel;

DataSource6: TDataSource;

Table6: TTable;

DBGrid1: TDBGrid;

DBGrid3: TDBGrid;

DBGrid2: TDBGrid;

Table2: TTable;

DBNavigator2: TDBNavigator;

DBNavigator4: TDBNavigator;

DBNavigator5: TDBNavigator;

Table4Invent_nomer: TStringField;

Table4Nazv_meb: TStringField;

Table4Komnata: TSmallintField;

Table1FIOst: TStringField;

Table1IDgroup: TStringField;

Table1Adress: TStringField;

Table1Komnata: TSmallintField;

Table1God_rojd: TDateField;

Table5FIOrod: TStringField;

Table5Nomer_tel: TStringField;

Table5Mesto_rab: TStringField;

Table5FIOst: TStringField;

Table6IDgroup: TStringField;

Table6Kurs: TSmallintField;

Table6Spec: TStringField;

Table1gruppa: TStringField;

Table5stud: TStringField;

BitBtn1: TBitBtn;

BitBtn2: TBitBtn;

BitBtn3: TBitBtn;

Label1: TLabel;

DBEdit1: TDBEdit;

Label2: TLabel;

DBLookupComboBox1: TDBLookupComboBox;

Label3: TLabel;

DBEdit2: TDBEdit;

Label4: TLabel;

DBEdit3: TDBEdit;

BitBtn4: TBitBtn;

BitBtn5: TBitBtn;

BitBtn6: TBitBtn;

BitBtn7: TBitBtn;

procedure BitBtn1Click(Sender: TObject);

procedure BitBtn2Click(Sender: TObject);

procedure BitBtn3Click(Sender: TObject);

procedure BitBtn4Click(Sender: TObject);

procedure BitBtn5Click(Sender: TObject);

procedure BitBtn7Click(Sender: TObject);

procedure BitBtn6Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

uses Unit2, Unit3, Unit4, Unit5, Unit6;

{$R *.dfm}

procedure TForm1.BitBtn1Click(Sender: TObject);

begin

form2.ShowModal;

end;

procedure TForm1.BitBtn2Click(Sender: TObject);

begin

form3.ShowModal;

end;

procedure TForm1.BitBtn3Click(Sender: TObject);

begin

form4.ShowModal

end;

procedure TForm1.BitBtn4Click(Sender: TObject);

begin

table1.Insert;

end;

procedure TForm1.BitBtn5Click(Sender: TObject);

begin

table1.Edit;

end;

procedure TForm1.BitBtn7Click(Sender: TObject);

begin

table1.Delete;

end;

procedure TForm1.BitBtn6Click(Sender: TObject);

begin

table1.Post;

end;

end.

unit Unit2;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, DB, ExtCtrls, DBCtrls, Grids, DBGrids, DBTables, StdCtrls,

Buttons, QRCtrls, QuickRpt;

type

TForm2 = class(TForm)

DataSource1: TDataSource;

DBGrid1: TDBGrid;

DBNavigator1: TDBNavigator;

Table1: TTable;

BitBtn1: TBitBtn;

ComboBox1: TComboBox;

Edit1: TEdit;

ComboBox2: TComboBox;

Label1: TLabel;

Label2: TLabel;

DataSource2: TDataSource;

DBGrid3: TDBGrid;

LabelKol: TLabel;

Query1: TQuery;

Query1kurs: TSmallintField;

Query1COUNTOFFIOst: TIntegerField;

QuickRep1: TQuickRep;

TitleBand1: TQRBand;

ColumnHeaderBand1: TQRBand;

DetailBand1: TQRBand;

QRLabel1: TQRLabel;

BitBtn2: TBitBtn;

QRDBText1: TQRDBText;

QRDBText2: TQRDBText;

QRDBText3: TQRDBText;

QRLabel2: TQRLabel;

QRLabel3: TQRLabel;

QRLabel4: TQRLabel;

QRDBText4: TQRDBText;

QRLabel5: TQRLabel;

QRDBText5: TQRDBText;

QRLabel6: TQRLabel;

procedure BitBtn1Click(Sender: TObject);

procedure ComboBox1Change(Sender: TObject);

procedure ComboBox2Change(Sender: TObject);

procedure BitBtn2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form2: TForm2;

implementation

uses Unit1;

{$R *.dfm}

procedure TForm2.BitBtn1Click(Sender: TObject);

begin

table1.Locate('FIOst',edit1.Text,[loCaseInsensitive,loPartialKey])

end;

procedure TForm2.ComboBox1Change(Sender: TObject);

var

i:string;

begin

if combobox1.ItemIndex=0 then form2.Table1.Filter:=''

else form2.Table1.Filter:='IDgroup='+QuotedStr(combobox1.Text);

i:=QuotedStr(combobox1.Text);

end;

procedure TForm2.ComboBox2Change(Sender: TObject);

begin

if ComboBox2.ItemIndex=0 then table1.IndexName:=''

else table1.IndexName:='Komnata' ;

end;

procedure TForm2.BitBtn2Click(Sender: TObject);

begin

quickrep1.Preview;

end;

end.

unit Unit3;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, DB, DBTables, ExtCtrls, DBCtrls, Grids, DBGrids;

type

TForm3 = class(TForm)

DataSource1: TDataSource;

DBGrid1: TDBGrid;

DBNavigator1: TDBNavigator;

Table1: TTable;

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form3: TForm3;

implementation

{$R *.dfm}

end.

unit Unit4;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, DB, DBTables, ExtCtrls, DBCtrls, Grids, DBGrids, StdCtrls,

Buttons;

type

TForm4 = class(TForm)

DataSource1: TDataSource;

DBGrid1: TDBGrid;

DBNavigator1: TDBNavigator;

Table1: TTable;

Table2: TTable;

DBGrid2: TDBGrid;

DBNavigator2: TDBNavigator;

DataSource2: TDataSource;

Table1IDgroup: TStringField;

Table1Kurs: TSmallintField;

Table1Spec: TStringField;

Table1special: TStringField;

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form4: TForm4;

implementation

{$R *.dfm}

 

 

 


Информация о работе Этапы создания базы данных