Автор: Пользователь скрыл имя, 14 Февраля 2013 в 18:48, курсовая работа
Курстық жобаны әзірлеуде пайдаланылатын ДҚБЖ Microsoft SQL Server 2008 R2 ең көп таралған және ДҚБЖ мұмкіншіліктері зор, клиент-сервер технологиясымен жұмыс істей реляциялық деректер қоры болып табылады.
Осы курстық жобаның мақсаты болып тапсырманың жеке варианты бойынша (вариант №4 – ішкі жүйе «Жұмысшылар») деректер қорын және клиенттік қосымшаны құру болып табылады.
Кіріспе
4
1 Тапсырма
5
2 Деректер қоры құрылымын өңдеу
6
2.1 Пәндік аумақтың сипаттамасы
6
2.2 Ақпараттық ағындарды талдау
7
2.3 Инфологиялық модельді құру
8
2.3.1 Мәндерді нормализациялау процедурасы
14
2.4 Даталогиялық модельдің құрылуы
14
2.5 Мәліметтер базасын іске асыру үшін техникалық-бағдарламалық құралдарды және клиент қосымшасын таңдау
27
3 «Жұмысшылар» мәліметтер базасын құру
28
3.1 Мәліметтер базасының құрылымының сипаттамасы
28
3.2 Мәліметтер базасының кесте қасиеттерінің сипаттамасы
28
3.3Мәліметтер базасының кестелерінің арасындағы қатынастың және мәліметтің бүтінді шарттарының сипаттамасы
34
3.4 Сақталатын процедура сипаттамасы
37
4 Ақпараттық жүйенiң қолданбалы интерфейсiнiң жасалуы
40
4.1 Қолданушы мәзірі
40
4.2 Мәліметтер базасына мәліметтерді өзгерту, қосу, өшіру, көру үшін формалар
41
4.3 Мәліметтер базасының сұраныстарының дайындалуы
44
4.4 Есептеу негіздерінің құрылуы
46
4.5 Сақталатын процедурамен жұмыс
48
4.6 Анықтамалық жүйе
49
Қорытынды
50
Қолданылған әдебиеттердің тізімі
51
Қосымша А
52
Қосымша Б
74
4.5 Сақталатын процедуралар сипаттамасы
Сақталатын процедура – SQL Server жүйесіндегі бірге орындалатын, T-SQL операторларының жиынтығы. T-SQL сақталатын процедуралары басқа программалау тілдерінде сияқты кіріс және шығыс параметрлерін немесе Сәтті немесе сәтсіз орындалған операция жайлы хабарлама көрсетеді. Процедураның барлық операторлары процедура шақырылғанда орындалады. Олармен әр түрлі қолданушы пайдалана алады.
Сақталатын процедураға көшу үшін «Хранимые процедуры» басу керек, сонда сақталатын процедура орындау үшін қосымша терезе пайда болады. (сурет 4.5.1).
Рисунок 4.5.1 – Сақталынатын процедурамен жұмыс істеу терезесі
Қорытынды
Берілген курсттық жұмыста келесі жұмыс атқарылды:
Құрылған бағдарлама барлық функцияларды қамтиды. Тесттік жұмыстар өткізілді, барлық қателер түзетілді.
Қолданылған әдебиеттер тізімі
Қосымша А
Бағдарламаны қосу коды:
unit Connect;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses Unit2, Zapros;
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
if (Edit2.Text='') or (Edit1.Text='') then
begin
ShowMessage('Вы не ввели имя базы либо имя сервера!')
end
else
begin
try
Form2.ADOConnection1.
Form2.ADOConnection1.
MessageBox(Form1.Handle,'База
успешно подключена!','
Form1.Hide;
Form2.Show;
except
begin
Form2.ADOConnection1.
MessageBox(Form1.Handle,'
end;
end;
end;
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Application.Terminate;
end;
end.
Жұмысшы кестесіне мәлімет қосу:
unit add1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, StdCtrls, Buttons;
type
TForm11 = class(TForm)
Label1: TLabel;
Label3: TLabel;
Label5: TLabel;
Label9: TLabel;
Label11: TLabel;
Label19: TLabel;
Label2: TLabel;
Label4: TLabel;
Label6: TLabel;
Label10: TLabel;
Label12: TLabel;
Label13: TLabel;
Label14: TLabel;
Label15: TLabel;
Label17: TLabel;
Label18: TLabel;
Edit1: TEdit;
ComboBox2: TComboBox;
ComboBox4: TComboBox;
ComboBox8: TComboBox;
Edit6: TEdit;
Edit10: TEdit;
ComboBox3: TComboBox;
ComboBox5: TComboBox;
ComboBox9: TComboBox;
Edit7: TEdit;
Edit2: TEdit;
Edit8: TEdit;
Edit3: TEdit;
Edit5: TEdit;
Edit9: TEdit;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
Edit11: TEdit;
ADODataSet1: TADODataSet;
DataSource1: TDataSource;
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form11: TForm11;
implementation
uses Unit2;
{$R *.dfm}
procedure TForm11.BitBtn1Click(Sender: TObject);
begin
ADODataSet1.Active:=False;
ADODataSet1.CommandText:='
ADODataSet1.Active:=True;
if ADODataSet1.RecordCount<>0 then
begin
MessageDlg('Такой работник уже есть в таблице!', mtError, [mbOk], 0);
Edit1.Clear;
Exit;
end;
ADODataSet1.Active:=False;
ADODataSet1.CommandText:='
ADODataSet1.Active:=True;
if ADODataSet1.RecordCount<>0 then
begin
MessageDlg('Такой РНН уже есть в таблице!', mtError, [mbOk], 0);
Edit6.Clear;
Exit;
end;
ADODataSet1.Active:=False;
ADODataSet1.CommandText:='
ADODataSet1.Active:=True;
if ADODataSet1.RecordCount<>0 then
begin
MessageDlg('Такой работник уже есть в таблице!', mtError, [mbOk], 0);
Edit11.Clear;
Exit;
end;
ADODataSet1.Active:=False;
ADODataSet1.CommandText:='
ADODataSet1.Active:=True;
if ADODataSet1.RecordCount<>0 then
begin
MessageDlg('Такой СИК уже есть в таблице!', mtError, [mbOk], 0);
Edit7.Clear;
Exit;
end;
ADODataSet1.Active:=False;
ADODataSet1.CommandText:='
ADODataSet1.Active:=True;
ADODataSet1.Active:=False;
ADODataSet1.CommandText:='
ADODataSet1.Active:=True;
ADODataSet1.Active:=False;
ADODataSet1.CommandText:='
ADODataSet1.Active:=True;
ADODataSet1.Active:=False;
ADODataSet1.CommandText:='
ADODataSet1.Active:=True;
ADODataSet1.Active:=False;
ADODataSet1.CommandText:='
ADODataSet1.Active:=True;
ADODataSet1.Active:=False;
ADODataSet1.CommandText:='
ADODataSet1.Active:=True;
Form2.SQl('SELECT tab_nomer_rabotnika,kod_
+'data_rozhdeniya,pol,RNN,SIK,
Form2.InsertQuery('INSERT INTO Rabotnik(tab_nomer_rabotnika,
+'data_rozhdeniya,pol,RNN,SIK,
+' VALUES ('''+Edit1.Text+''','''+Edit6.
+' '''+IntToStr(ComboBox2.
+ ' '''+IntToStr(ComboBox5.
MessageBox(Form11.Handle,'
end;
procedure TForm11.BitBtn2Click(Sender: TObject);
begin
Form11.Close;
Edit1.Clear;
Edit2.Clear;
Edit3.Clear;
Edit5.Clear;
Edit6.Clear;
Edit7.Clear;
end;
end.
Ұлттар кестесіне мәлімет қосу:
unit add2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, StdCtrls, Buttons;
type
TForm12 = class(TForm)
Label2: TLabel;
Label1: TLabel;
Edit2: TEdit;
Edit1: TEdit;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
ADODataSet1: TADODataSet;
DataSource1: TDataSource;
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure Edit2KeyPress(Sender: TObject; var Key: Char);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form12: TForm12;
implementation
uses Unit2;
{$R *.dfm}
procedure TForm12.BitBtn1Click(Sender: TObject);
begin
if Edit1.Text='' then
begin
MessageBox(Form12.Handle,'Вы
не ввели наименование национальности!','Кадры',mb_
Edit1.SetFocus;
exit;
end;
if Edit2.Text='' then
begin
MessageBox(Form12.Handle,'Вы
не ввели код национальности!',
Edit2.SetFocus;
exit;
end;
if Edit2.Text='0' then
begin
MessageBox(Form12.Handle,'Код
национальности должен быть
Edit2.SetFocus;
exit;
end;
if length(Edit1.Text)>25 then
begin
MessageBox(Form12.Handle,'
Edit1.Clear;
Edit1.SetFocus;
exit;
end;
ADODataSet1.Active:=False;
ADODataSet1.CommandText:='
ADODataSet1.Active:=True;
if ADODataSet1.RecordCount<>0 then
begin
MessageDlg('Такая
Edit1.Clear;
Exit;
end;
ADODataSet1.Active:=False;
ADODataSet1.CommandText:='
ADODataSet1.Active:=True;
if ADODataSet1.RecordCount<>0 then
begin
MessageDlg('Такой код национальности уже есть в таблице!', mtError, [mbOk], 0);
Edit2.Clear;
Exit;
end;
Form2.SQl('SELECT kod_nacionalnosti,
Form2.InsertQuery('INSERT INTO Nacionalnosti(kod_
MessageBox(Form12.Handle,'
Form12.Close;
Edit1.Clear;
Edit2.Clear;
end;
procedure TForm12.BitBtn2Click(Sender: TObject);
begin
Form12.Close;
Edit1.Clear;
Edit2.Clear;
end;
procedure TForm12.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
Case Key of
'А'..'я':;
'A'..'z':;
#32:;
#8:;
#13:BitBtn1.Click;
else Key:=chr(0);
end;
end;
procedure TForm12.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
Case Key of
'0'..'9':;
#32:;
#8:;
#13:Edit1.SetFocus;
else Key:=chr(0);
end;
end;
end.
Білім кестесіне мәлімет қосу:
unit add3;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, StdCtrls, Buttons;
type
TForm13 = class(TForm)
Label2: TLabel;
Label1: TLabel;
Edit1: TEdit;
Edit2: TEdit;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
ADODataSet1: TADODataSet;
DataSource1: TDataSource;
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure Edit2KeyPress(Sender: TObject; var Key: Char);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form13: TForm13;
implementation
uses Unit2;
{$R *.dfm}
procedure TForm13.BitBtn2Click(Sender: TObject);
begin
Form13.Close;
Edit1.Clear;
Edit2.Clear;
end;
procedure TForm13.BitBtn1Click(Sender: TObject);
begin
if Edit1.Text='' then
begin
MessageBox(Form13.Handle,'Вы
не ввели код вида образования!
Edit1.SetFocus;
exit;
end;
if Edit2.Text='' then
begin
MessageBox(Form13.Handle,'Вы
не ввели название вида
Edit2.SetFocus;
exit;
end;
if Edit1.Text='0' then
begin
MessageBox(Form13.Handle,'Код
вида образования должен быть
больше целым положитительным
числом!','Кадры',mb_Ok+mb_
Edit1.SetFocus;
exit;
end;
if length(Edit2.Text)>25 then
begin
MessageBox(Form13.Handle,'
Edit2.Clear;
Edit2.SetFocus;
exit;
end;
ADODataSet1.Active:=False;
ADODataSet1.CommandText:='
ADODataSet1.Active:=True;
if ADODataSet1.RecordCount<>0 then
begin
MessageDlg('Такой вид
образования уже есть в
Edit2.Clear;
Exit;
end;
ADODataSet1.Active:=False;
ADODataSet1.CommandText:='
ADODataSet1.Active:=True;
if ADODataSet1.RecordCount<>0 then
begin
MessageDlg('Такой код вида образования уже есть в таблице!', mtError, [mbOk], 0);
Edit1.Clear;
Exit;
end;
Form2.SQL('SELECT kod_vida_obrazovaniya , naimenovanie FROM Obrazovanie');
Form2.InsertQuery('INSERT INTO Obrazovanie(kod_vida_obrazovan
MessageBox(Form13.Handle,'
Form13.Close;
Edit1.Clear;
Edit2.Clear;
end;
procedure TForm13.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
Case Key of
'0'..'9':;
#32:;
#8:;
#13:Edit2.SetFocus;
else Key:=chr(0);
end;
end;
procedure TForm13.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
Case Key of
'А'..'я':;
'A'..'z':;
'-':;
#32:;
#8:;
#13:BitBtn1.Click;
else Key:=chr(0);
end;
end;
end.
Зейнетақы қоры кестесіне мәлімет қосу:
unit add4;