Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Переход к реляционной моделиСтр 1 из 3Следующая ⇒
Содержание
Введение…………………………………………………………………………6 Переход к реляционной модели………………………………………………..8 Реляционная модель………………………………………………………….....9 Описание процесса реализации базы данных………………………………..10 Создание таблиц базы данных с помощью DataBase Desktop………………11 Определение ссылочной целостности между таблицами…………………...15 Создание приложения для работы с базой данных в среде Delphi…………16 Компоненты отображение данных……………………………………………18 Создание отчётов………………………………………………………………19 Запросы…………………………………………………………………………20 Внешний вид созданных в приложении форм……………………………….23 Листинг программы……………………………………………………………27 Список используемой литературы……………………………………………28
Введение Восприятие реального мира можно соотнести с последовательностью разных, хотя иногда и взаимосвязанных, явлений. С давних времен люди пытались описать эти явления (даже тогда, когда не могли их понять). Такое описание называют данными. С самого начала развития вычислительной техники образовались два основных направления ее использования. Первое направление - применение вычислительной техники для выполнения численных расчетов, которые слишком долго или вообще невозможно производить вручную. Становление этого направления способствовало интенсификации методов численного решения сложных математических задач, развитию класса языков программирования, ориентированных на удобную запись численных алгоритмов, становлению обратной связи с разработчиками новых архитектур ЭВМ. Второе направление, которое непосредственно касается темы моего домашнего задания, это использование средств вычислительной техники в автоматических или автоматизированных информационных системах. В самом широком смысле информационная система представляет собой программный комплекс, функции которого состоят в поддержке надежного хранения информации в памяти компьютера, выполнении специфических для данного приложения преобразований информации и/или вычислений, предоставлении пользователям удобного и легко осваиваемого интерфейса. Обычно объемы информации, с которыми приходится иметь дело таким системам, достаточно велики, а сама информация имеет достаточно сложную структуру. Классическими примерами информационных систем являются банковские системы, системы резервирования авиационных или железнодорожных билетов, мест в гостиницах и т.д.
Активная деятельность по отысканию приемлемых способов обобществления непрерывно растущего объема информации привела к созданию в начале 60-х годов специальных программных комплексов, называемых " Системы управления базами данных " (СУБД). Основная особенность СУБД – это наличие процедур для ввода и хранения не только самих данных, но и описаний их структуры. Файлы, снабженные описанием хранимых в них данных и находящиеся под управлением СУБД, стали называть банки данных, а затем " Базы данных " (БД). В моем курсовом проекте реализована базы данных «Иностранных актеров». На первоначальном этапе проектирования базы данных необходимо сначала дать краткое описание предметной области реализуемой базы данных. Переход к реляционной модели Для перехода к реляционной модели заменим все сущности соответствующими таблицами: Актер (ID, ФИ, Дата_рождение, Пол, Рост, ФИ_агента, Годовой_доход, Фото) Фильм (Название, Год выпуска, Длительность, Цвет, Официальный_постер) Агент (ФИ, Дата_рождения, Адрес, Телефон, Годовой_доход) Награда_номинация (ID, Название, Категория, Год, Итог) Актер_фильм (Название_фильма, ID) Актер_награда (ID_актера, ID)
Реляционная модель
Создание отчётов Генерация выходной документации осуществляется в Delphi с помощью компонентов с закладки QReport. На компонент TQuickRep помещаю ColumnHeaderBand и DetailBand, которые предоставляют собой области отображения информации в отчете. В эти области ставятся компоненты QRLabel и QRDBText. Для компонентов настраиваю шрифт, цвет. В QRDBText указывать DataSet и DataField. Для просмотра отчёта из приложения применяется процедура quickrep1.preview, помещённая в обработчик нажатие кнопки.
Запросы 1) Выводит всю информацию из таблицы актер: Select * From актер;
2) Находит актеров, рост которых лежит в пределе (180-185) и располагает в порядке возрастания: Select ФИ, Дата_рождения, Рост From актер Where (Рост between '180' and '185') Order BY Рост ASC 3) Находит всех актеров, имена которых начинаются на «Б»: Select ФИ From актер Where ФИ LIKE 'Б%'
4) Выводит агентов, работающих на актеров: Select актер.ФИ, агент.ФИ From актер INNER JOIN агент ON актер.ФИ_агента =агент.ФИ
5) Выводит названия фестивалей, успешных для актеров: Select Название, итог From награда_номинация Where Итог=’True’
6) Запрос с параметром: Можно найти актеров по имени. 7) Добавляет в таблицу агент атрибут Рост ALTER TABLE агент ADD Рост Varchar(3); 8) Удаляет из таблицы агент атрибут Рост ALTER TABLE агент DROP Рост; Внешний вид формы «Главная»
Внешний «М:М» Внешний вид формы «Запросы»
Внешний вид формы «Отчёт» Для работы с базой данных созданы кнопки по нажатию на которые вызывают формы содержащие инструменты для работы с базой данных.
Листинг программы: unit Unit1;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, jpeg, ExtCtrls, DB, DBTables;
type TForm1 = class(TForm) MainMenu1: TMainMenu; cgvb1: TMenuItem; bn2: TMenuItem; bnm1: TMenuItem; N1: TMenuItem; N2: TMenuItem; N3: TMenuItem; N4: TMenuItem; Image1: TImage; Image2: TImage; N5: TMenuItem; MM1: TMenuItem; procedure bn2Click(Sender: TObject); procedure N4Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure N3Click(Sender: TObject); procedure N1Click(Sender: TObject); procedure bnm1Click(Sender: TObject); procedure N5Click(Sender: TObject); procedure MM1Click(Sender: TObject); private { Private declarations } public { Public declarations } end;
var Form1: TForm1;
implementation
uses Unit2,unit3,unit4,unit5,unit6,unit7;
{$R *.dfm}
procedure TForm1.bn2Click(Sender: TObject); begin form2.show; end;
procedure TForm1.N4Click(Sender: TObject); begin close; end;
procedure TForm1.N2Click(Sender: TObject); begin form3.QuickRep1.Preview; end;
procedure TForm1.N3Click(Sender: TObject); begin MessageDlg('База данных "Иностранных актеров". Выполнил Белик В.И. ФИТ 3-2а', mtConfirmation, [mbYES], 0); end;
procedure TForm1.N1Click(Sender: TObject); begin form4.Show; end;
procedure TForm1.bnm1Click(Sender: TObject); begin form5.Show; end;
procedure TForm1.N5Click(Sender: TObject); begin form6.show; end;
procedure TForm1.MM1Click(Sender: TObject); begin form7.Show end;
end.
unit Unit2;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Grids, DBGrids, DB, DBTables, ExtCtrls, DBCtrls, StdCtrls, ExtDlgs, ADODB;
type TForm2 = class(TForm) DBGrid1: TDBGrid; DBNavigator1: TDBNavigator; DataSource1: TDataSource; Table1: TTable; Button1: TButton; DataSource2: TDataSource; DBGrid2: TDBGrid; Table2: TTable; DBGrid3: TDBGrid; DataSource3: TDataSource; Table3: TTable; DBNavigator2: TDBNavigator; DBGrid4: TDBGrid; DBNavigator3: TDBNavigator; Table4: TTable; DataSource4: TDataSource; DataSource5: TDataSource; DBGrid5: TDBGrid; Table5: TTable; Table6: TTable; DBNavigator4: TDBNavigator; DBNavigator5: TDBNavigator; DBGrid6: TDBGrid; DataSource6: TDataSource; Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Edit4: TEdit; Edit5: TEdit; Edit6: TEdit; private { Private declarations } public { Public declarations } end;
var Form2: TForm2;
implementation
{$R *.dfm}
end.
unit Unit3;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, QRCtrls, QuickRpt, ExtCtrls;
type TForm3 = class(TForm) QuickRep1: TQuickRep; DetailBand1: TQRBand; TitleBand1: TQRBand; QRLabel1: TQRLabel; QRLabel2: TQRLabel; QRLabel3: TQRLabel; QRLabel4: TQRLabel; QRDBText1: TQRDBText;
QRDBText2: TQRDBText; QRDBText3: TQRDBText; QRDBImage1: TQRDBImage; private { Private declarations } public { Public declarations } end;
var Form3: TForm3;
implementation uses unit2; {$R *.dfm}
end.
unit Unit4;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, TeEngine, Series, ExtCtrls, TeeProcs, Chart, DbChart, DB, DBTables, TeeFunci, StdCtrls;
type TForm4 = class(TForm) Table1: TTable; DataSource1: TDataSource; DBChart1: TDBChart; TeeFunction1: TAddTeeFunction; Series1: THorizBarSeries; Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end;
var Form4: TForm4;
implementation
{$R *.dfm}
procedure TForm4.Button1Click(Sender: TObject); begin Form4.Hide; end;
end.
unit Unit5;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DB, DBTables, ExtCtrls, DBCtrls, Grids, DBGrids, StdCtrls;
type TForm5 = class(TForm) Bevel1: TBevel; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel; Label7: TLabel; Label8: TLabel; Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Edit4: TEdit; Edit5: TEdit; Edit6: TEdit; Edit7: TEdit; Button1: TButton; DataSource1: TDataSource; DBGrid1: TDBGrid; DBNavigator1: TDBNavigator; Table1: TTable; Bevel2: TBevel; DataSource2: TDataSource; DBGrid2: TDBGrid; DBNavigator2: TDBNavigator; Table2: TTable; Label9: TLabel; Edit8: TEdit; Label10: TLabel; Label11: TLabel; Label12: TLabel; Label13: TLabel; Edit9: TEdit; Edit10: TEdit; Edit11: TEdit; Edit12: TEdit; Button2: TButton; Bevel3: TBevel; DBGrid3: TDBGrid; DBNavigator3: TDBNavigator; Edit13: TEdit; Label14: TLabel; Label15: TLabel; Label16: TLabel; Edit14: TEdit; Edit15: TEdit; Edit16: TEdit; Edit17: TEdit; DataSource3: TDataSource; Table3: TTable; Label17: TLabel; Label18: TLabel; Label19: TLabel; Button3: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); private { Private declarations } public { Public declarations } end;
var Form5: TForm5;
implementation
{$R *.dfm}
procedure TForm5.Button1Click(Sender: TObject); begin Table1.Insert; Table1.FieldByName('ID').AsString:=Edit1.Text; Table1.FieldByName('ФИ').AsString:=Edit2.Text; Table1.FieldByName('Рост').AsString:=Edit3.Text; Table1.FieldByName('Дата_рождения').AsString:=Edit4.Text; Table1.FieldByName('Пол').AsString:=Edit5.Text; Table1.FieldByName('ФИ_агента').AsString:=Edit6.Text; Table1.FieldByName('Годовой_доход').AsString:=Edit7.Text; Table1.Post; Table1.Refresh; end;
procedure TForm5.Button2Click(Sender: TObject); begin Table2.Insert; Table2.FieldByName('ФИ').AsString:=Edit8.Text; Table2.FieldByName('Дата_рождения').AsString:=Edit9.Text; Table2.FieldByName('Адрес').AsString:=Edit10.Text; Table2.FieldByName('Телефон').AsString:=Edit11.Text; Table2.FieldByName('Годовой_доход').AsString:=Edit12.Text; Table2.Post; Table2.Refresh; end;
procedure TForm5.Button3Click(Sender: TObject); begin Table3.Insert; Table3.FieldByName('Название').AsString:=Edit13.Text; Table3.FieldByName('ID_актера').AsString:=Edit14.Text; Table3.FieldByName('Год_выпуска').AsString:=Edit15.Text; Table3.FieldByName('Длительность').AsString:=Edit16.Text; Table3.FieldByName('Цвет').AsString:=Edit17.Text; Table3.Post; Table3.Refresh; end;
end.
unit Unit6;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, DB, DBTables, ExtCtrls, DBCtrls, Grids, DBGrids;
type TForm6 = class(TForm) DataSource1: TDataSource; DBGrid1: TDBGrid; DBNavigator1: TDBNavigator;
Query1: TQuery; GroupBox1: TGroupBox; RadioButton1: TRadioButton; Edit1: TEdit; Button1: TButton; Label1: TLabel; Memo1: TMemo; Button2: TButton; Button3: TButton; Button4: TButton; Button7: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button4Click(Sender: TObject); procedure Button7Click(Sender: TObject); private { Private declarations } public { Public declarations } end;
var Form6: TForm6;
implementation
{$R *.dfm}
procedure TForm6.Button1Click(Sender: TObject); begin Query1.SQL.Text:= Memo1.Text; Query1.Open end;
procedure TForm6.Button2Click(Sender: TObject); begin if RadioButton1.Checked=true then begin Form6.Query1.Close; Form6.Query1.SQL.Clear; Form6.Query1.SQL.Add('Select * From актер where актер."ФИ"=:Name1;'); Form6.Query1.Close; Form6.Query1.Prepare; Form6.Query1.Params[0].AsString:=Edit1.Text; Form6.Query1.Open; if (Form6.Query1.RecordCount <> 0)then ShowMessage('Актер найден') else ShowMessage('Актер не найден'); end end;
procedure TForm6.Button3Click(Sender: TObject); begin Form6.Hide; end;
procedure TForm6.Button4Click(Sender: TObject); begin Memo1.Clear; Memo1.Lines.Add('Select *'); Memo1.Lines.Append('From актер'); Button1Click(Self);
end; procedure TForm6.Button7Click(Sender: TObject); begin Memo1.Clear; Memo1.Lines.Add('Select актер.ФИ, агент.ФИ'); Memo1.Lines.Append('From актер INNER JOIN агент ON актер.ФИ_агента =агент.ФИ'); Button1Click(Self); end; end.
unit Unit7;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DB, DBTables, ExtCtrls, DBCtrls, Grids, DBGrids;
type TForm7 = class(TForm) DataSource1: TDataSource; DBGrid1: TDBGrid; DBNavigator1: TDBNavigator; DataSource2: TDataSource; DBGrid2: TDBGrid; DBNavigator2: TDBNavigator; DataSource3: TDataSource; DBGrid3: TDBGrid; DBNavigator3: TDBNavigator; DataSource4: TDataSource; DBGrid4: TDBGrid; DBNavigator4: TDBNavigator; Table1: TTable; Table2: TTable; Table3: TTable; Table4: TTable; private { Private declarations } public { Public declarations } end;
var Form7: TForm7;
implementation
{$R *.dfm}
end. Список используемой литературы 1. Базы данных в Delphi7, Пономарёв Вячеслав, 2003г. 2. Курс лекций по дисциплине «Базы Данных», Георгица Ирина Викторовна
3. Программирование в Delphi7, Дарахвилидзе Пётр, 2003г.
4. Понимание языка SQL, Груббер Мартин
Содержание
Введение…………………………………………………………………………6 Переход к реляционной модели………………………………………………..8 Реляционная модель………………………………………………………….....9 Описание процесса реализации базы данных………………………………..10 Создание таблиц базы данных с помощью DataBase Desktop………………11 Определение ссылочной целостности между таблицами…………………...15 Создание приложения для работы с базой данных в среде Delphi…………16 Компоненты отображение данных……………………………………………18 Создание отчётов………………………………………………………………19 Запросы…………………………………………………………………………20 Внешний вид созданных в приложении форм……………………………….23 Листинг программы……………………………………………………………27 Список используемой литературы……………………………………………28
Введение Восприятие реального мира можно соотнести с последовательностью разных, хотя иногда и взаимосвязанных, явлений. С давних времен люди пытались описать эти явления (даже тогда, когда не могли их понять). Такое описание называют данными. С самого начала развития вычислительной техники образовались два основных направления ее использования. Первое направление - применение вычислительной техники для выполнения численных расчетов, которые слишком долго или вообще невозможно производить вручную. Становление этого направления способствовало интенсификации методов численного решения сложных математических задач, развитию класса языков программирования, ориентированных на удобную запись численных алгоритмов, становлению обратной связи с разработчиками новых архитектур ЭВМ. Второе направление, которое непосредственно касается темы моего домашнего задания, это использование средств вычислительной техники в автоматических или автоматизированных информационных системах. В самом широком смысле информационная система представляет собой программный комплекс, функции которого состоят в поддержке надежного хранения информации в памяти компьютера, выполнении специфических для данного приложения преобразований информации и/или вычислений, предоставлении пользователям удобного и легко осваиваемого интерфейса. Обычно объемы информации, с которыми приходится иметь дело таким системам, достаточно велики, а сама информация имеет достаточно сложную структуру. Классическими примерами информационных систем являются банковские системы, системы резервирования авиационных или железнодорожных билетов, мест в гостиницах и т.д.
Активная деятельность по отысканию приемлемых способов обобществления непрерывно растущего объема информации привела к созданию в начале 60-х годов специальных программных комплексов, называемых " Системы управления базами данных " (СУБД). Основная особенность СУБД – это наличие процедур для ввода и хранения не только самих данных, но и описаний их структуры. Файлы, снабженные описанием хранимых в них данных и находящиеся под управлением СУБД, стали называть банки данных, а затем " Базы данных " (БД). В моем курсовом проекте реализована базы данных «Иностранных актеров». На первоначальном этапе проектирования базы данных необходимо сначала дать краткое описание предметной области реализуемой базы данных. Переход к реляционной модели Для перехода к реляционной модели заменим все сущности соответствующими таблицами: Актер (ID, ФИ, Дата_рождение, Пол, Рост, ФИ_агента, Годовой_доход, Фото) Фильм (Название, Год выпуска, Длительность, Цвет, Официальный_постер) Агент (ФИ, Дата_рождения, Адрес, Телефон, Годовой_доход) Награда_номинация (ID, Название, Категория, Год, Итог) Актер_фильм (Название_фильма, ID) Актер_награда (ID_актера, ID)
Реляционная модель
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2016-09-17; просмотров: 207; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.190.176.78 (0.272 с.) |