Высокоуровневые методы информатики и программирования. 2
Кафедра
Информационных технологий
Курсовая работа
Защищена с оценкой
__________________
_________________________
(подпись руководителя,
дата)
Курсовая работа
по дисциплине
«Высокоуровневые
методы информатики
и программирования»
Тема: Разработка интерактивной системы обработки
базы
данных со сведениями о художественной
литературе
Выполнила студентка группы ФИТ 11 В/С
Мотрук Р.В.
______________________________
(дата,
подпись)
Москва
– 2011
Содержание
Введение
Курсовая работа по дисциплине «Высокоуровневые методы информатики и программирования» выполняется с целью проверки того, насколько «мы –студенты», прослушавшие курс, владеем теоретическими знаниями в области методологии проектирования баз данных, обладаем знаниями и навыками, достаточными для самостоятельного решения небольшой по объему содержательной задачи.
Курсовая работа выполняется на заключительной стадии изучения дисциплины. К этому времени мы должны иметь представление о технологии баз данных в целом, о системе базы данных, о её архитектуре и жизненном цикле; знакомы с основными понятиями теории баз данных такими, как: модели базы данных, структуры данных того или иного типа, операции над данными.
База
данных спроектирована в СУБД Microsoft
Access. Для разработки самой системы, был
использован объектно- ориентированный
язык программирования Borland Delphi.
- Цель курсовой работы
Целью данной курсовой работы является разработка интерактивной системы обработки базы данных со сведениями о художественной литературе, освоение приемов разработки базы данных в Access и подключение базы в Delphi, размещение и настройка элементов записи базы данных, обработки элементов записи, поиска данных по заданным поисковым признакам.
К основным требованиям, предъявляемым к системе, относятся:
- возможность поиска необходимой книги в базе;
- возможность оформления и вывода на печать заказа;
- добавление новых записей в БД;
- удаление записей из БД.
- Задание на выполнение КР по разработке данных со сведениями о художественной литературе
Разработать базу данных в СУБД Microsoft Access для хранения и обработки данных заданной структуры. Записи должны содержать данные различных типов.
- Состав и назначения системы со сведениями о художественной литературе
Система обеспечивает:
- Просмотр, удаление, добавление необходимых данных.
- Поиск данных по заданным поисковым признакам.
- Формирование и вывод на печать заказа.
- Использование меню для управления процессом обработки данных.
- Возможность входа в систему под логином Администратор.
- Процесс разработки интерфейса проекта интерактивной системы процесса обработки данных со сведениями о художественной литературе.
4.1 Основные этапы процесса разработки проекта.
Процесс выполнения работы включает следующие этапы:
- Разработка структуры записи базы данных
- Разработка формы в составе: основное меню,компоненты доступа к базе данных, управление ведением базы данных и отображением данных.
- Разработка меню для управления приложением в процессе его использования
- Редактирование компонента типа TDBGrid для показа данных
- Разработка методов для:
- Отбора данных из базы данных по условию, определенных с помощью запросов.
- Непосредственного допуска к записям базы данных с целью:
- Удаления записей
- Добавления записей
- Разработка структуры записи таблицы базы данных.
Для разработки структуры записи базы данных надо войти в СУБД Microsoft Access. Выполнить команду Файл/Создать/Новая БД. Далее будет предложение сохранить новую базу данных. После сохранения необходимо перейти в режим конструктора для создания таблиц. При выборе режима конструктора таблиц выводится окно Таблица 1: таблица, в котором определяется структура таблицы базы данных.
Для определения поля в окне Таблица заполняются поля Имя поля, Тип данных, а также свойства поля в разделе Свойства поля . На вкладке Общие представлены строки свойств поля, в том числе максимальный размер, подпись, которая выводится в заголовке столбца, значение по умолчанию и другие. На вкладке Подстановка выбирается тип элемента управления: поле, список или поле со списком.
- Таблицы в Access
Рис.2. создание таблицы
№2 .
Рис.3.
создание таблицы №3.
Рис.4.
создание таблицы №4.
Рис.5.
создание таблицы №5.
Р
- Подключение базы данных в Delphi
Для подключения базы данных, необходимо выбрать элемент Adoconnection во вкладке ADO, разместить его на форме и в свойстве ConnectionString прописать путь к базе.
Рис.7. Элемент Adoconnection.
5.1 Методы для поиска данных
Поиск необходимой книги можно осуществить по выбору автора или по первой букве в названии книги.
Рис.8 Окно поиска необходимой книги.
5.2 Методы для оформления заказа
Для оформления заказа необходимо выбрать книгу и нажать кнопку "Оформить заказ". В появившемся окне заполнить личную информацию и нажать кнопку "Продолжить".
Рис.9 Окно оформления заказа.
Рис.9 Окно заполнения личных данных
5.3 Методы для добавления и удаления данных
Для редактирования базы данных необходимо зайти в программу под логином Администратор. После этого станет доступным меню "Редактирование БД".
Рис.10 Окно авторизации
Для добавления данных необходимо заполнить все поля и нажать кнопку "Сохранить".
Рис.11 Окно добавления
данных
Для удаления данных необходимо выбрать название книги и нажать кнопку "Удалить".
Рис.12 Окно добавления
данных
- Приложения
Приложение 1. Листинг программы.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Buttons, StdCtrls, Grids, DBGrids, ExtCtrls, DBCtrls, Menus, DB,
ADODB, Mask;
type
TForm1 = class(TForm)
Panel1: TPanel;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
SpeedButton3: TSpeedButton;
SpeedButton4: TSpeedButton;
SpeedButton5: TSpeedButton;
SpeedButton6: TSpeedButton;
SpeedButton7: TSpeedButton;
SpeedButton8: TSpeedButton;
SpeedButton9: TSpeedButton;
SpeedButton10: TSpeedButton;
SpeedButton11: TSpeedButton;
SpeedButton12: TSpeedButton;
SpeedButton13: TSpeedButton;
SpeedButton14: TSpeedButton;
SpeedButton15: TSpeedButton;
SpeedButton16: TSpeedButton;
SpeedButton17: TSpeedButton;
SpeedButton18: TSpeedButton;
SpeedButton19: TSpeedButton;
SpeedButton20: TSpeedButton;
SpeedButton21: TSpeedButton;
SpeedButton22: TSpeedButton;
SpeedButton23: TSpeedButton;
SpeedButton24: TSpeedButton;
SpeedButton25: TSpeedButton;
SpeedButton26: TSpeedButton;
SpeedButton27: TSpeedButton;
SpeedButton28: TSpeedButton;
SpeedButton29: TSpeedButton;
SpeedButton30: TSpeedButton;
DBGrid1: TDBGrid;
BitBtn1: TBitBtn;
MainMenu1: TMainMenu;
N1: TMenuItem;
Label2: TLabel;
DBLookupComboBox1: TDBLookupComboBox;
ADOQuery1: TADOQuery;
DataSource1: TDataSource;
DataSource3: TDataSource;
ADOQuery3: TADOQuery;
Button2: TButton;
Panel2: TPanel;
DBEdit1: TDBEdit;
Label1: TLabel;
Label3: TLabel;
Label4: TLabel;
DBEdit2: TDBEdit;
Label5: TLabel;
DBEdit3: TDBEdit;
Button1: TButton;
Label6: TLabel;
DBEdit4: TDBEdit;
Label7: TLabel;
DBEdit5: TDBEdit;
ADOConnection1: TADOConnection;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
procedure N3Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure DBLookupComboBox1CloseUp(
procedure SpeedButton14Click(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure SpeedButton3Click(Sender: TObject);
procedure SpeedButton4Click(Sender: TObject);
procedure SpeedButton5Click(Sender: TObject);
procedure SpeedButton6Click(Sender: TObject);
procedure SpeedButton7Click(Sender: TObject);
procedure SpeedButton8Click(Sender: TObject);
procedure SpeedButton9Click(Sender: TObject);
procedure SpeedButton10Click(Sender: TObject);
procedure SpeedButton11Click(Sender: TObject);
procedure SpeedButton12Click(Sender: TObject);
procedure SpeedButton13Click(Sender: TObject);
procedure SpeedButton15Click(Sender: TObject);
procedure SpeedButton16Click(Sender: TObject);
procedure SpeedButton17Click(Sender: TObject);
procedure SpeedButton18Click(Sender: TObject);
procedure SpeedButton19Click(Sender: TObject);
procedure SpeedButton20Click(Sender: TObject);
procedure SpeedButton21Click(Sender: TObject);
procedure SpeedButton22Click(Sender: TObject);
procedure SpeedButton23Click(Sender: TObject);
procedure SpeedButton24Click(Sender: TObject);
procedure SpeedButton25Click(Sender: TObject);
procedure SpeedButton26Click(Sender: TObject);
procedure SpeedButton27Click(Sender: TObject);
procedure SpeedButton28Click(Sender: TObject);
procedure SpeedButton29Click(Sender: TObject);
procedure SpeedButton30Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure DBGrid1CellClick(Column: TColumn);
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses Unit2, Unit3, Unit4, Unit5;
{$R *.dfm}
procedure TForm1.N3Click(Sender: TObject);
begin
label2.Visible:=true;
DBLookupComboBox1.Visible:=
end;
procedure TForm1.N2Click(Sender: TObject);
begin
//label2.Visible:=false;
//DBLookupComboBox1.Visible:=
form4.Show;
end;
procedure TForm1.
begin
if dblookupcombobox1.text<> '' then
begin
adoquery3.Active:=false;
adoquery3.SQL.Clear;
adoquery3.SQL.Add('SELECT Книга.Название, Книга.Автор, Книга.Год_издания, Книга.Цена, Жанр.Жанр, Магазин.Название, Переплет.Переплет');
adoquery3.SQL.Add('FROM Переплет INNER JOIN (Магазин INNER JOIN ((Жанр INNER JOIN Книга ON Жанр.ID_жанр = Книга.ID_жанр) INNER JOIN книга_магазин ON Книга.ID_книга = книга_магазин.ID_книга)');
adoquery3.SQL.Add('ON Магазин.ID_магазин
= книга_магазин.ID_магазин) ON Переплет.ID_переплет
= Книга.ID_переплет WHERE Книга.ID_книга='+inttostr(
adoquery3.Active:=true;
end;
end;
procedure TForm1.SpeedButton14Click(
begin
adoquery3.Active:=false;
adoquery3.SQL.Clear;
adoquery3.SQL.Add('SELECT Книга.Название, Книга.Автор, Книга.Год_издания, Книга.Цена, Жанр.Жанр, Магазин.Название, Переплет.Переплет');
adoquery3.SQL.Add('FROM Переплет INNER JOIN (Магазин INNER JOIN ((Жанр INNER JOIN Книга ON Жанр.ID_жанр = Книга.ID_жанр) INNER JOIN книга_магазин ON Книга.ID_книга = книга_магазин.ID_книга)');
adoquery3.SQL.Add('ON Магазин.ID_магазин = книга_магазин.ID_магазин) ON Переплет.ID_переплет = Книга.ID_переплет WHERE Книга.Название LIKE "М%"' );
adoquery3.Active:=true;
end;
procedure TForm1.SpeedButton1Click(
begin
adoquery3.Active:=false;
adoquery3.SQL.Clear;
adoquery3.SQL.Add('SELECT Книга.Название, Книга.Автор, Книга.Год_издания, Книга.Цена, Жанр.Жанр, Магазин.Название, Переплет.Переплет');
adoquery3.SQL.Add('FROM Переплет INNER JOIN (Магазин INNER JOIN ((Жанр INNER JOIN Книга ON Жанр.ID_жанр = Книга.ID_жанр) INNER JOIN книга_магазин ON Книга.ID_книга = книга_магазин.ID_книга)');
adoquery3.SQL.Add('ON Магазин.ID_магазин = книга_магазин.ID_магазин) ON Переплет.ID_переплет = Книга.ID_переплет WHERE Книга.Название LIKE "А%"' );
adoquery3.Active:=true;
end;
procedure TForm1.SpeedButton2Click(
begin
adoquery3.Active:=false;
adoquery3.SQL.Clear;
adoquery3.SQL.Add('SELECT Книга.Название, Книга.Автор, Книга.Год_издания, Книга.Цена, Жанр.Жанр, Магазин.Название, Переплет.Переплет');
adoquery3.SQL.Add('FROM Переплет INNER JOIN (Магазин INNER JOIN ((Жанр INNER JOIN Книга ON Жанр.ID_жанр = Книга.ID_жанр) INNER JOIN книга_магазин ON Книга.ID_книга = книга_магазин.ID_книга)');
adoquery3.SQL.Add('ON Магазин.ID_магазин = книга_магазин.ID_магазин) ON Переплет.ID_переплет = Книга.ID_переплет WHERE Книга.Название LIKE "Б%"' );
adoquery3.Active:=true;
end;
procedure TForm1.SpeedButton3Click(
begin
adoquery3.Active:=false;
adoquery3.SQL.Clear;
adoquery3.SQL.Add('SELECT Книга.Название, Книга.Автор, Книга.Год_издания, Книга.Цена, Жанр.Жанр, Магазин.Название, Переплет.Переплет');
adoquery3.SQL.Add('FROM Переплет INNER JOIN (Магазин INNER JOIN ((Жанр INNER JOIN Книга ON Жанр.ID_жанр = Книга.ID_жанр) INNER JOIN книга_магазин ON Книга.ID_книга = книга_магазин.ID_книга)');
adoquery3.SQL.Add('ON Магазин.ID_магазин = книга_магазин.ID_магазин) ON Переплет.ID_переплет = Книга.ID_переплет WHERE Книга.Название LIKE "В%"' );
adoquery3.Active:=true;
end;
procedure TForm1.SpeedButton4Click(
begin
adoquery3.Active:=false;
adoquery3.SQL.Clear;
adoquery3.SQL.Add('SELECT Книга.Название, Книга.Автор, Книга.Год_издания, Книга.Цена, Жанр.Жанр, Магазин.Название, Переплет.Переплет');
adoquery3.SQL.Add('FROM Переплет INNER JOIN (Магазин INNER JOIN ((Жанр INNER JOIN Книга ON Жанр.ID_жанр = Книга.ID_жанр) INNER JOIN книга_магазин ON Книга.ID_книга = книга_магазин.ID_книга)');
adoquery3.SQL.Add('ON Магазин.ID_магазин = книга_магазин.ID_магазин) ON Переплет.ID_переплет = Книга.ID_переплет WHERE Книга.Название LIKE "Г%"' );
adoquery3.Active:=true;
end;
procedure TForm1.SpeedButton5Click(
begin
adoquery3.Active:=false;
adoquery3.SQL.Clear;
adoquery3.SQL.Add('SELECT Книга.Название, Книга.Автор, Книга.Год_издания, Книга.Цена, Жанр.Жанр, Магазин.Название, Переплет.Переплет');
adoquery3.SQL.Add('FROM Переплет INNER JOIN (Магазин INNER JOIN ((Жанр INNER JOIN Книга ON Жанр.ID_жанр = Книга.ID_жанр) INNER JOIN книга_магазин ON Книга.ID_книга = книга_магазин.ID_книга)');
adoquery3.SQL.Add('ON Магазин.ID_магазин = книга_магазин.ID_магазин) ON Переплет.ID_переплет = Книга.ID_переплет WHERE Книга.Название LIKE "Д%"' );
adoquery3.Active:=true;
end;
procedure TForm1.SpeedButton6Click(
begin
adoquery3.Active:=false;
adoquery3.SQL.Clear;
adoquery3.SQL.Add('SELECT Книга.Название, Книга.Автор, Книга.Год_издания, Книга.Цена, Жанр.Жанр, Магазин.Название, Переплет.Переплет');
adoquery3.SQL.Add('FROM Переплет INNER JOIN (Магазин INNER JOIN ((Жанр INNER JOIN Книга ON Жанр.ID_жанр = Книга.ID_жанр) INNER JOIN книга_магазин ON Книга.ID_книга = книга_магазин.ID_книга)');
adoquery3.SQL.Add('ON Магазин.ID_магазин = книга_магазин.ID_магазин) ON Переплет.ID_переплет = Книга.ID_переплет WHERE Книга.Название LIKE "Е%"' );
adoquery3.Active:=true;
end;
procedure TForm1.SpeedButton7Click(
begin
adoquery3.Active:=false;
adoquery3.SQL.Clear;
adoquery3.SQL.Add('SELECT Книга.Название, Книга.Автор, Книга.Год_издания, Книга.Цена, Жанр.Жанр, Магазин.Название, Переплет.Переплет');
adoquery3.SQL.Add('FROM Переплет INNER JOIN (Магазин INNER JOIN ((Жанр INNER JOIN Книга ON Жанр.ID_жанр = Книга.ID_жанр) INNER JOIN книга_магазин ON Книга.ID_книга = книга_магазин.ID_книга)');
adoquery3.SQL.Add('ON Магазин.ID_магазин = книга_магазин.ID_магазин) ON Переплет.ID_переплет = Книга.ID_переплет WHERE Книга.Название LIKE "Ё%"' );
adoquery3.Active:=true;
end;
procedure TForm1.SpeedButton8Click(
begin
adoquery3.Active:=false;
adoquery3.SQL.Clear;
adoquery3.SQL.Add('SELECT Книга.Название, Книга.Автор, Книга.Год_издания, Книга.Цена, Жанр.Жанр, Магазин.Название, Переплет.Переплет');
adoquery3.SQL.Add('FROM Переплет INNER JOIN (Магазин INNER JOIN ((Жанр INNER JOIN Книга ON Жанр.ID_жанр = Книга.ID_жанр) INNER JOIN книга_магазин ON Книга.ID_книга = книга_магазин.ID_книга)');
adoquery3.SQL.Add('ON Магазин.ID_магазин = книга_магазин.ID_магазин) ON Переплет.ID_переплет = Книга.ID_переплет WHERE Книга.Название LIKE "Ж%"' );
adoquery3.Active:=true;
end;
procedure TForm1.SpeedButton9Click(
begin
adoquery3.Active:=false;
adoquery3.SQL.Clear;
adoquery3.SQL.Add('SELECT Книга.Название, Книга.Автор, Книга.Год_издания, Книга.Цена, Жанр.Жанр, Магазин.Название, Переплет.Переплет');
adoquery3.SQL.Add('FROM Переплет INNER JOIN (Магазин INNER JOIN ((Жанр INNER JOIN Книга ON Жанр.ID_жанр = Книга.ID_жанр) INNER JOIN книга_магазин ON Книга.ID_книга = книга_магазин.ID_книга)');
adoquery3.SQL.Add('ON Магазин.ID_магазин = книга_магазин.ID_магазин) ON Переплет.ID_переплет = Книга.ID_переплет WHERE Книга.Название LIKE "З%"' );
adoquery3.Active:=true;
end;
procedure TForm1.SpeedButton10Click(
begin
adoquery3.Active:=false;
adoquery3.SQL.Clear;
adoquery3.SQL.Add('SELECT Книга.Название, Книга.Автор, Книга.Год_издания, Книга.Цена, Жанр.Жанр, Магазин.Название, Переплет.Переплет');
adoquery3.SQL.Add('FROM Переплет INNER JOIN (Магазин INNER JOIN ((Жанр INNER JOIN Книга ON Жанр.ID_жанр = Книга.ID_жанр) INNER JOIN книга_магазин ON Книга.ID_книга = книга_магазин.ID_книга)');
adoquery3.SQL.Add('ON Магазин.ID_магазин = книга_магазин.ID_магазин) ON Переплет.ID_переплет = Книга.ID_переплет WHERE Книга.Название LIKE "И%"' );
adoquery3.Active:=true;
end;
procedure TForm1.SpeedButton11Click(
begin
adoquery3.Active:=false;
adoquery3.SQL.Clear;
adoquery3.SQL.Add('SELECT Книга.Название, Книга.Автор, Книга.Год_издания, Книга.Цена, Жанр.Жанр, Магазин.Название, Переплет.Переплет');
adoquery3.SQL.Add('FROM Переплет INNER JOIN (Магазин INNER JOIN ((Жанр INNER JOIN Книга ON Жанр.ID_жанр = Книга.ID_жанр) INNER JOIN книга_магазин ON Книга.ID_книга = книга_магазин.ID_книга)');
adoquery3.SQL.Add('ON Магазин.ID_магазин = книга_магазин.ID_магазин) ON Переплет.ID_переплет = Книга.ID_переплет WHERE Книга.Название LIKE "Й%"' );
adoquery3.Active:=true;
end;
procedure TForm1.SpeedButton12Click(
begin
adoquery3.Active:=false;
adoquery3.SQL.Clear;
adoquery3.SQL.Add('SELECT Книга.Название, Книга.Автор, Книга.Год_издания, Книга.Цена, Жанр.Жанр, Магазин.Название, Переплет.Переплет');
adoquery3.SQL.Add('FROM Переплет INNER JOIN (Магазин INNER JOIN ((Жанр INNER JOIN Книга ON Жанр.ID_жанр = Книга.ID_жанр) INNER JOIN книга_магазин ON Книга.ID_книга = книга_магазин.ID_книга)');
adoquery3.SQL.Add('ON Магазин.ID_магазин = книга_магазин.ID_магазин) ON Переплет.ID_переплет = Книга.ID_переплет WHERE Книга.Название LIKE "К%"' );
adoquery3.Active:=true;
end;
procedure TForm1.SpeedButton13Click(
begin
adoquery3.Active:=false;
adoquery3.SQL.Clear;
adoquery3.SQL.Add('SELECT Книга.Название, Книга.Автор, Книга.Год_издания, Книга.Цена, Жанр.Жанр, Магазин.Название, Переплет.Переплет');
adoquery3.SQL.Add('FROM Переплет INNER JOIN (Магазин INNER JOIN ((Жанр INNER JOIN Книга ON Жанр.ID_жанр = Книга.ID_жанр) INNER JOIN книга_магазин ON Книга.ID_книга = книга_магазин.ID_книга)');
adoquery3.SQL.Add('ON Магазин.ID_магазин = книга_магазин.ID_магазин) ON Переплет.ID_переплет = Книга.ID_переплет WHERE Книга.Название LIKE "Л%"' );

- Высокоуровневые методы программирования
- Высокоуровневые языки программирования
- Высокоуровневые языки программирования
- Высокочестотный генератор с внешним возбуждением
- Высокоэластическое состояние полимеров
- Высокоэффективная жидкостная хроматография
- Высокоэффективная жидкостная хроматография и применение ее в фармацевтическом анализе
- Высокотемпературная конверсия метана
- Высокотемпературная сверхпроводимость
- Высокотемпературные Сверхпроводники
- Высокоточное оружие
- Высокоточные приборы
- Высокоуровневые методы информатики и програмирования
- Высокоуровневые методы информатики и программирования