Автор работы: Пользователь скрыл имя, 24 Сентября 2013 в 01:39, курсовая работа
Клиент-серверная СУБД позволяет обмениваться клиенту и серверу минимально необходимыми объёмами информации. При этом основная вычислительная нагрузка ложится на сервер. Клиент может выполнять функции предварительной обработки перед передачей информации серверу, но в основном его функции заключаются в организации доступа пользователя к серверу.
К целям и задачам проекта можно отнести:
закрепление практических навыков программирования, полученных на лабораторных занятиях;
углубление теоретических и практических знаний в области методологии и программирования и разработки приложений баз данных;
развитие навыков самостоятельного планирования и выполнение научно-исследовательской работы;
получение опыта сбора и обработки исходного материала, анализа научно-технической литературы, справочников, стандартов и технической документации
Введение ………………………………………………………………………….3
Проектирование информационной системы .………………………….....4
Проектирование информационного обеспечения ……………………..4
Выбор СУБД ……………………………………………….……...4
Системный анализ предметной области …………………………..4
Инфологическое проектирование БД ……………………………...5
Даталогическое проектирование БД ………………………...…….5
Проектирование программного обеспечения ………………………….7
Выбор инструментальных средств для создания ПО……………..7
Определение задач решаемых информационной системой………8
Разработка информационной системы……………………………………9
Разработка информационного обеспечения ….………………………...9
Физическое проектирование БД……………...…………………….9
Программирование на стороне SQL-сервера……………………..10
Разработка программного обеспечения ..……...………………………12
Создание Win-приложения .……………………………………….12
Создание Web-приложения ..……………...………………………16
Тестирование информационной системы .…………...…………………20
Пользовательский интерфейс ……………………..………………….20
Интерфейс Win-приложения…………………...………………….20
Интерфейс Web-приложения…………...…………………………23
Заключение……………………………………………………………………….27
Список использованных источников …..…………………………
"Количество")
AS
select tovari.id_tovara, tovari.naim_tovara,tipi_
from tovari, tipi_tovara, firmi
where tovari.id_tipa_tov=tipi_
order by id_tovara;
Хранимая процедура для добавления товара
create procedure ADD_TOVAR (
NAIM varchar(30),
TIP integer,
CENA decimal(9,0),
FIRMA integer,
KOLVO integer)
as
begin
if (:naim is null
or (:tip is null)
or (:cena is null)
or (:firma is null)
) then EXCEPTION no_dan;
else
begin
INSERT INTO tovari (tovari.naim_tovara, tovari.id_tipa_tov, tovari.cena_tov, tovari.id_firmi, tovari.kolvo_tov)
VALUES (:naim, :tip, :cena, :firma, :kolvo);
when sqlcode - 530 do EXCEPTION vn_kl;
end
suspend;
end
Хранимая процедура для поиска товаров
create procedure POISK_TOV (
PO varchar(30))
returns (
ID integer,
NAIM varchar(30),
TIP varchar(30),
FIRMA varchar(30),
CENA decimal(15,2),
KOLVO integer)
as
begin
for SELECT tovari.id_tovara, tovari.naim_tovara, tipi_tovara.naim_tip_tov, firmi.name_firmi, tovari.cena_tov, tovari.kolvo_tov
from tovari, tipi_tovara, firmi
WHERE tovari.id_tipa_tov=tipi_
INTO :id, :naim, :tip, :firma, :cena, :kolvo
DO
suspend;
end
ПРИЛОЖЕНИЕ 2. ЛИСТИНГ WIN-ПРИЛОЖЕНИЯ
void __fastcall TForm1::Button1Click(TObject *Sender)
{
LabeledEdit5->Text="";
DataModule2->IBStoredProc1->
DataModule2->IBStoredProc1->
DataModule2->IBStoredProc1->
DataModule2->IBStoredProc1->
DataModule2->IBStoredProc1->
DataModule2->IBStoredProc1->
DataModule2->IBTable1->Close()
DataModule2->IBTable1->Open();
}
//----------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
LabeledEdit5->Text="";
DataModule2->IBStoredProc3->
DataModule2->IBStoredProc3->
DataModule2->IBStoredProc3->
DataModule2->IBStoredProc3->
DataModule2->IBStoredProc3->
DataModule2->IBTable1->Close()
DataModule2->IBTable1->Open();
}
//----------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
LabeledEdit5->Text="";
DataModule2->IBStoredProc2->
DataModule2->IBStoredProc2->
DataModule2->IBStoredProc2->
DataModule2->IBTable1->Close()
DataModule2->IBTable1->Open();
}
//----------------------------
void __fastcall TForm1::LabeledEdit2KeyPress(
{
if (Key!=VK_BACK && Key<48 || Key>57){
Key = 0;
}
}
//----------------------------
void __fastcall TForm1::LabeledEdit4KeyPress(
{
if (Key!=VK_BACK && Key<48 || Key>57){
Key = 0;
}
}
//----------------------------
void __fastcall TForm1::RadioButton2Click(
{
LabeledEdit5->Text="";
DataModule2->IBTable1->Close()
DataModule2->IBTable1->
DataModule2->IBTable1->Open();
}
//----------------------------
void __fastcall TForm1::RadioButton1Click(
{
LabeledEdit5->Text="";
DataModule2->IBTable1->Close()
DataModule2->IBTable1->
DataModule2->IBTable1->Open();
}
//----------------------------
void __fastcall TForm1::LabeledEdit5Change(
{
if(Edit1->Text==""){
DataModule2->IBTable1->Close()
DataModule2->IBTable1->Open();
Form1->DBGrid1->DataSource=
}
DataModule2->IBTable1->Close()
DataModule2->IBQuery1->Close()
DataModule2->IBQuery1->
DataModule2->IBQuery1->Open();
Form1->DBGrid1->DataSource=
}
//----------------------------
void __fastcall TForm1::Button4Click(TObject *Sender)
{
Form3->QuickRep1->Preview();
}
//----------------------------
void __fastcall TForm1::Button5Click(TObject *Sender)
{
Form3->QuickRep1->Print();
}
void __fastcall TForm1::Button6Click(TObject *Sender)
{
Form4->Show();}
ПРИЛОЖЕНИЕ 3. ЛИСТИНГ WEB-ПРИЛОЖЕНИЯ
Klienti.php
<html>
<head>
<title>Магазин электротоваров</title>
<link href=style.css type=text/css rel=stylesheet>
</head>
<body>
<table width=980 align=center border=0 cellspacing=0 cellpadding=0 border=0>
<tr>
<td colspan=7 height=201 background="images/01.jpg"></
<tr>
<td height=34 width=200 background="images/02.jpg"></
<td width=130 background="images/04.jpg"
class=menu><a href='index.html'>Главная<a></
<td width=130 background="images/04.jpg"
class=menu><a href='klienti.php'>Клиенты</a>
<td width=130 background="images/04.jpg"
class=menu><a href='sotrudniki.php'>
<td width=130 background="images/04.jpg"
class=menu><a href='tovari.php'>Товары</a></
<td width=130 background="images/04.jpg"
class=menu><a href='zakazi.php'>Заказы</a></
<td width=130 background="images/04.jpg" class=menu><a href='sozdatel.html'>О создателе</a></td>
</tr>
<tr>
<td valign=top height=645><img src="images/03.jpg"></td>
<td colspan=6 valign=top><img src="images/05.jpg" align=center>
<h1>РАБОТА С КЛИЕНТАМИ</h1>
<form name=form1 action='' method=POST>
Сортировать по:
<select name='sort'>
<option value='klient'>Номеру клиента</option>
<option value='klient2'>ФИО</option>
</select> < input type=submit value="Сортировать">
</form>
<?php
$sort=$_POST['sort'];
include_once("connect.php");
if($sort)
$query="select * from $sort";
else
$query="select * from klient";
$result=ibase_query($query);
echo '<table class=tab width=100% align=center cellspacing=0 cellpadding=0>';
echo '<tr><th width=50><b>№</b></th>'.
'<th><b>ФИО</b></th>'.
'<th><b>Паспорт</b></th>'.
'<th><b>Адрес</b></th>'.
'<th><b>Телефон</b></th>'.
'<th width=16></th>'.
'<th width=16></th></tr>';
$i=0;
while($row = ibase_fetch_row($result))
{
$i++;
if($i%2==1){
$col='white';
}
if($i%2==0){
$col='#e6e6e6';
}
echo "<tr bgcolor=$col><td class=nya><b>$row[0]</b></td>
<td class=nya>$row[1]</td>
<td class=nya>$row[2]</td>
<td class=nya>$row[3]</td>
<td class=nya>$row[4]</td>
<td class=nya width=20> <a href='upd_kl.php?up=$row[0]'><
<td class=nya width=20> <a href='del_kl.php?del=$row[0]'>
}
?>
</table>
<h1>НАЙТИ КЛИЕНТА</h1>
<form action='search_kl.php' method=post>
<table align=center class=q border=2>
<tr><td>Введите ФИО: < /td>
<td><input name=fio></td></tr>
<tr><td colspan=2><input type=submit value='Найти'></td></tr>
</table>
</form>
<h1>ФИЛЬТРАЦИЯ ПО ФАМИЛИИ</h1>
<form action='filtr_kl.php' method=post>
<table align=center class=q border=2>
<tr><td>Фильтровать от: </td>
<td><input name=po></td><td>до:</td><td><
<tr><td colspan=2><input type=submit value='Фильтровать'></td></tr>
</table>
</form>
<p align=right><a href='ins_kl.html' class=op>Добавить клиента</a></p>
</td>
</tr>
<tr><td colspan=7 height=220 background="images/06.jpg">
</td></tr>
</table>
</body>
</html>
Ins_kl.html
<html>
<head>
<title>Магазин электротоваров</title>
<link href=style.css type=text/css rel=stylesheet>
</head>
<body>
<table width=980 align=center border=0 cellspacing=0 cellpadding=0 border=0>
<tr>
<td colspan=7 height=201 background="images/01.jpg"></
<tr>
<td height=34 width=200 background="images/02.jpg"></
<td width=130 background="images/04.jpg"
class=menu><a href='index.html'>Главная<a></
<td width=130 background="images/04.jpg"
class=menu><a href='klienti.php'>Клиенты</a>
<td width=130 background="images/04.jpg"
class=menu><a href='sotrudniki.php'>
<td width=130 background="images/04.jpg"
class=menu><a href='tovari.php'>Товары</a></
<td width=130 background="images/04.jpg"
class=menu><a href='zakazi.php'>Заказы</a></
<td width=130 background="images/04.jpg" class=menu><a href='sozdatel.html'>О создателе</a></td>
</tr>
<tr>
<td valign=top height=645 background="images/03.jpg"></
<td colspan=6 valign=top><img src="images/05.jpg" align=center>
<form action='ins_kl.php' method=post>
<h1>ДОБАВЛЕНИЕ КЛИЕНТА</h1>
<table align=center class=q border=2>
<tr><td>Введите ФИО: < /td>
<td><input name=fio></td></tr>
<tr><td>Введите номер паспорта: </td>
<td><input name=pasp></td></tr>
<tr><td>Введите адрес: < /td>
<td><input name=adres></td></tr>
<tr><td>Введите телефон: < /td>
<td><input name=telefon></td></tr>
<tr><td><input type=submit value='Добавить'></td><td
style="text-align:right;"><
</table>
</form>
</td>
</tr>
<tr><td colspan=7 height=220 background="images/06.jpg"></
</table>
</body>
</html>
Ins_kl.php
<html>
<head>
<title>Магазин электротоваров</title>
<link href=style.css type=text/css rel=stylesheet>
</head>
<body>
<table width=980 align=center border=0 cellspacing=0 cellpadding=0 border=0>
<tr>
<td colspan=7 height=201 background="images/01.jpg"></
<tr>
<td height=34 width=200 background="images/02.jpg"></
<td width=130 background="images/04.jpg"
class=menu><a href='index.html'>Главная<a></
<td width=130 background="images/04.jpg"
class=menu><a href='klienti.php'>Клиенты</a>
<td width=130 background="images/04.jpg"
class=menu><a href='sotrudniki.php'>
<td width=130 background="images/04.jpg"
class=menu><a href='tovari.php'>Товары</a></
<td width=130 background="images/04.jpg"
class=menu><a href='zakazi.php'>Заказы</a></
<td width=130 background="images/04.jpg" class=menu><a href='sozdatel.html'>О создателе</a></td>
</tr>
<tr>
<td valign=top height=645><img src="images/03.jpg"></td>
<td colspan=6 valign=top><img src="images/05.jpg" align=center>
<h1>ДОБАВЛЕНИЕ КЛИЕНТА</h1>
<?php
include_once("connect.php");
$fio=$_POST['fio'];
$pasp=$_POST['pasp'];
$adres=$_POST['adres'];
$telefon=$_POST['telefon'];
if(!$fio||!$pasp||!$telefon){
else{
$query="EXECUTE PROCEDURE ADD_KLIENT('$fio', $pasp, '$adres', '$telefon')";
$it=ibase_trans();
$result=ibase_query($query);
$ic=ibase_commit();
if($result)
echo'<hr>Клиент успешно добавлен<hr>';
else
echo'<hr>При добавлении произошла ошибка<hr>';}
?>
<a href='klienti.php' class=op>Просмотр</a><br>
<a href='ins_kl.html' class=op>Добавить еще</a>
</td>
</tr>
<tr><td colspan=7 height=220 background="images/06.jpg">
</td></tr>
</table>
</body>
</html>
Search_kl.php
<html>
<head>
<title>Магазин электротоваров</title>
<link href=style.css type=text/css rel=stylesheet>
</head>
<body>
<table width=980 align=center border=0 cellspacing=0 cellpadding=0 border=0>
<tr>
<td colspan=7 height=201 background="images/01.jpg"></
<tr>
<td height=34 width=200 background="images/02.jpg"></
<td width=130 background="images/04.jpg"
class=menu><a href='index.html'>Главная<a></
<td width=130 background="images/04.jpg"
class=menu><a href='klienti.php'>Клиенты</a>
<td width=130 background="images/04.jpg"
class=menu><a href='sotrudniki.php'>
<td width=130 background="images/04.jpg"
class=menu><a href='tovari.php'>Товары</a></
<td width=130 background="images/04.jpg"
class=menu><a href='zakazi.php'>Заказы</a></
<td width=130 background="images/04.jpg" class=menu><a href='sozdatel.html'>О создателе</a></td>
</tr>
<tr>
<td valign=top height=645><img src="images/03.jpg"></td>
<td colspan=6 valign=top><img src="images/05.jpg" align=center>
<h1>РАБОТА С КЛИЕНТАМИ</h1>
<?php
include_once("connect.php");
$fio=$_POST['fio'];
$query="select * from POISK_KL('$fio')";
$result=ibase_query($query);
echo '<table class=tab width=100% align=center cellspacing=0 cellpadding=0>';
echo '<tr><th width=50><b>№</b></th>'.
'<th><b>ФИО</b></th>'.
'<th><b>Паспорт</b></th>'.
'<th><b>Адрес</b></th>'.
'<th><b>Телефон</b></th>'.
'<th width=16></th>'.
'<th width=16></th></tr>';
$i=0;
while($row = ibase_fetch_row($result))
{
$i++;
if($i%2==1){
$col='white';
}
if($i%2==0){
$col='#e6e6e6';
}
echo "<tr bgcolor=$col><td class=nya><b>$row[0]</b></td>
<td class=nya>$row[1]</td>
<td class=nya>$row[2]</td>
<td class=nya>$row[3]</td>
<td class=nya>$row[4]</td>
<td class=nya width=20> <a href='upd_kl?up=$row[0].php'><
<td class=nya width=20> <a href='del_kl?del=$row[0].php'>
}
?>
</table>
<h1>НАЙТИ КЛИЕНТА</h1>
<form action='search_kl.php' method=post>
<table align=center class=q border=2>
<tr><td>Введите ФИО: < /td>
<td><input name=fio></td></tr>
<tr><td colspan=2><input type=submit value='Найти'></td></tr>
</table>
</form>
<h1>ФИЛЬТРАЦИЯ ПО ФАМИЛИИ</h1>
<form action='filtr_kl.php' method=post>
<table align=center class=q border=2>
<tr><td>Фильтровать от: < /td>
<td><input name=po></td><td>до:</td><td><
<tr><td colspan=2><input type=submit value='Фильтровать'></td></tr>
</table>
</form>
<p align=right><a href='ins_kl.html' class=op>Добавить клиента</a></p>
</td>
</tr>
<tr><td colspan=7 height=220 background="images/06.jpg">
</td></tr>
</table>
</body>
</html>