Автор: Пользователь скрыл имя, 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
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, StdCtrls, Buttons;
type
TForm15 = class(TForm)
Label2: TLabel;
Label1: TLabel;
Edit1: TEdit;
Edit2: TEdit;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
ADODataSet1: TADODataSet;
DataSource1: TDataSource;
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form15: TForm15;
implementation
uses Unit2;
{$R *.dfm}
procedure TForm15.BitBtn2Click(Sender: TObject);
begin
Form15.Close;
Edit1.Clear;
Edit2.Clear;
end;
procedure TForm15.BitBtn1Click(Sender: TObject);
begin
if Edit1.Text='' then
begin
MessageBox(Form15.Handle,'Вы
не ввели код пенсионного
Edit1.SetFocus;
exit;
end;
if Edit2.Text='' then
begin
MessageBox(Form15.Handle,'Вы не ввели название пенсионного фонда!','Кадры',mb_Ok+mb_
Edit2.SetFocus;
exit;
end;
if Edit1.Text='0' then
begin
MessageBox(Form15.Handle,'Код
пенсионного фонда должен быть
больше целым положитительным
числом!','Кадры',mb_Ok+mb_
Edit1.SetFocus;
exit;
end;
if length(Edit2.Text)>25 then
begin
MessageBox(Form15.Handle,'
Edit2.Clear;
Edit2.SetFocus;
exit;
end;
ADODataSet1.Active:=False;
ADODataSet1.CommandText:='
ADODataSet1.Active:=True;
if ADODataSet1.RecordCount<>0 then
begin
MessageDlg('Такой пенсионный фонд уже есть в таблице!', mtError, [mbOk], 0);
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_pensionnogo_fonda, naimenovanie_pensionnogo_fonda FROM Pensionnye_fondy');
Form2.InsertQuery('INSERT INTO Pensionnye_fondy(kod_
MessageBox(Form15.Handle,'
Form15.Close;
Edit1.Clear;
Edit2.Clear;
end;
end.
Мамаңдықтар дәрежесі кестесімен жұмыс жасау:
unit add5;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, StdCtrls, Buttons;
type
TForm16 = class(TForm)
Label2: TLabel;
Label1: TLabel;
Edit1: TEdit;
Edit2: TEdit;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
ADODataSet1: TADODataSet;
DataSource1: TDataSource;
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form16: TForm16;
implementation
uses Unit2;
{$R *.dfm}
procedure TForm16.BitBtn1Click(Sender: TObject);
begin
if Edit1.Text='' then
begin
MessageBox(Form16.Handle,'Вы
не ввели код категории
Edit1.SetFocus;
exit;
end;
if Edit2.Text='' then
begin
MessageBox(Form16.Handle,'Вы
не ввели название категории
должности!','Кадры',mb_Ok+mb_
Edit2.SetFocus;
exit;
end;
if Edit1.Text='0' then
begin
MessageBox(Form16.Handle,'Код
категории должности должен
Edit1.SetFocus;
exit;
end;
if length(Edit2.Text)>25 then
begin
MessageBox(Form16.Handle,'
Edit2.Clear;
Edit2.SetFocus;
exit;
end;
ADODataSet1.Active:=False;
ADODataSet1.CommandText:='
ADODataSet1.Active:=True;
if ADODataSet1.RecordCount<>0 then
begin
MessageDlg('Такая категория должности уже есть в таблице!', mtError, [mbOk], 0);
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_kategorii_dolzhnosti,
naimenovanie_kategorii_
Form2.InsertQuery('INSERT INTO Kategoriya_dolzhnostei(kod_
MessageBox(Form16.Handle,'
Form16.Close;
Edit1.Clear;
Edit2.Clear;
end;
procedure TForm16.BitBtn2Click(Sender: TObject);
begin
Form16.Close;
Edit1.Clear;
Edit2.Clear;
end;
end.
Мамаңдықтар кестесіне мәлімет қосу:
unit add6;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, StdCtrls, Buttons;
type
TForm17 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Edit1: TEdit;
Edit2: TEdit;
ComboBox1: TComboBox;
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
Form17: TForm17;
implementation
uses Unit2;
{$R *.dfm}
procedure TForm17.BitBtn1Click(Sender: TObject);
begin
if Edit1.Text='' then
begin
MessageBox(Form17.Handle,'Вы
не ввели код должности!','
Edit1.SetFocus;
exit;
end;
if Edit2.Text='' then
begin
MessageBox(Form17.Handle,'Вы
не ввели наименование должности!','Кадры',mb_Ok+mb_
Edit2.SetFocus;
exit;
end;
if Edit1.Text='0' then
begin
MessageBox(Form17.Handle,'Код
должности должен быть больше
целым положитительным числом!'
Edit1.SetFocus;
exit;
end;
if length(Edit2.Text)>25 then
begin
MessageBox(Form17.Handle,'
Edit2.Clear;
Edit2.SetFocus;
exit;
end;
ADODataSet1.Active:=False;
ADODataSet1.CommandText:='
ADODataSet1.Active:=True;
if ADODataSet1.RecordCount<>0 then
begin
MessageDlg('Такая должность уже есть в таблице!', mtError, [mbOk], 0);
Edit2.Clear;
Exit;
end;
ADODataSet1.Active:=False;
ADODataSet1.CommandText:='
ADODataSet1.Active:=True;
if ADODataSet1.RecordCount<>0 then
begin
MessageDlg('Такой код
должности уже есть в таблице!'
Edit1.Clear;
Exit;
end;
Form2.SQL('SELECT * FROM Dolzhnosti');
Form2.InsertQuery('INSERT INTO Dolzhnosti(kod_dolzhnosti,
MessageBox(Form17.Handle,'
Form17.Close;
Edit1.Clear;
Edit2.Clear;
end;
procedure TForm17.BitBtn2Click(Sender: TObject);
begin
Form17.Close;
Edit1.Clear;
Edit2.Clear;
end;
procedure TForm17.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
Case Key of
'0'..'9':;
#32:;
#8:;
#13:Edit2.SetFocus;
else Key:=chr(0);
end;
end;
procedure TForm17.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 add7;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DB, ADODB, Buttons;
type
TForm14 = class(TForm)
Label9: TLabel;
Label10: TLabel;
ComboBox8: TComboBox;
ComboBox9: TComboBox;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
ADODataSet1: TADODataSet;
DataSource1: TDataSource;
Edit1: TEdit;
Edit2: TEdit;
Label1: TLabel;
Label2: TLabel;
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure Edit2KeyPress(Sender: TObject; var Key: Char);
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form14: TForm14;
implementation
uses Unit2;
{$R *.dfm}
procedure TForm14.BitBtn1Click(Sender: TObject);
begin
if Edit1.Text='' then
begin
MessageBox(Form14.Handle,'Вы
не ввели общее кол-во единиц!'
Edit1.SetFocus;
exit;
end;
if Edit2.Text='' then
begin
MessageBox(Form14.Handle,'Вы
не ввели кол-во вакансий!','Кадры',mb_Ok+mb_
Edit2.SetFocus;
exit;
end;
ADODataSet1.Active:=False;
ADODataSet1.CommandText:='
ADODataSet1.Active:=True;
ADODataSet1.Active:=False;
ADODataSet1.CommandText:='
ADODataSet1.Active:=True;
Form2.SQL('SELECT * FROM Shtatnoe_raspisanie');
Form2.InsertQuery('INSERT INTO Shtatnoe_raspisanie(obwee_kol_
MessageBox(Form14.Handle,'
Form14.Close;
Edit1.Clear;
Edit2.Clear;
end;
procedure TForm14.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
Case Key of
'0'..'9':;
#32:;
#8:;
#13:Edit2.SetFocus;
else Key:=chr(0);
end;
end;
procedure TForm14.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
Case Key of
'0'..'9':;
#32:;
#8:;
#13:Edit2.SetFocus;
else Key:=chr(0);
end;
end;
end.
Бұйрық түрлері кестесіне мәлімет қосу:
unit add8;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, StdCtrls, Buttons;
type
TForm18 = class(TForm)
Label2: TLabel;
Label1: TLabel;
Edit1: TEdit;
Edit2: TEdit;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
ADODataSet1: TADODataSet;
DataSource1: TDataSource;
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form18: TForm18;
implementation
uses Unit2;
{$R *.dfm}
procedure TForm18.BitBtn1Click(Sender: TObject);
begin
begin
if Edit1.Text='' then
begin
MessageBox(Form18.Handle,'Вы
не ввели код типа приказа!','
Edit1.SetFocus;
exit;
end;
if Edit2.Text='' then
begin
MessageBox(Form18.Handle,'Вы
не ввели название приказа!','
Edit2.SetFocus;
exit;
end;
if Edit1.Text='0' then
begin
MessageBox(Form18.Handle,'Код типа приказа должен быть больше
целым положитительным числом!','Кадры',mb_Ok+mb_
Edit1.SetFocus;
exit;
end;
if length(Edit2.Text)>25 then
begin
MessageBox(Form18.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_tipa_prikaza , naimenovanie_tipa_prikaza FROM Tipy_prikazov');
Form2.InsertQuery('INSERT INTO Tipy_prikazov(kod_tipa_
MessageBox(Form18.Handle,'
Form18.Close;
Edit1.Clear;
Edit2.Clear;
end;
end;
procedure TForm18.BitBtn2Click(Sender: TObject);
begin
Form18.Close;
Edit1.Clear;
Edit2.Clear;
end;
end.
Бөлімшелер кестесіне мәлімет қосу:
unit add9;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DB, ADODB, Buttons;
type
TForm19 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Edit1: TEdit;
Edit2: TEdit;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
ADODataSet1: TADODataSet;
DataSource1: TDataSource;
Label3: TLabel;
ComboBox1: TComboBox;
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form19: TForm19;
implementation
uses Unit2;
{$R *.dfm}
procedure TForm19.BitBtn1Click(Sender: TObject);
begin
if Edit1.Text='' then
begin
MessageBox(Form19.Handle,'Вы
не ввели код подразделения!','
Edit1.SetFocus;
exit;
end;
if Edit2.Text='' then
begin
MessageBox(Form19.Handle,'Вы
не ввели название
Edit2.SetFocus;
exit;
end;
if Edit1.Text='0' then
begin
MessageBox(Form19.Handle,'Код подразделения должен быть больше
целым положитительным числом!','Кадры',mb_Ok+mb_
Edit1.SetFocus;
exit;
end;
if length(Edit2.Text)>25 then
begin
MessageBox(Form19.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('Такой код
подразделения уже есть в