Автор: Пользователь скрыл имя, 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
Мәліметтер базасына келесi ұсыныстар(представление) жасалды:
Сонымен қатар келесідей сақталатын процедуралар анықталды:
3.2 Мәліметтер базасының кесте қасиеттерінің сипаттамасы
Мәліметер базасындаға кесте бұл қолданбалы мәлiметтердi сақтау үшiн қолайлы деректер қорының объектілері.
МБ «Жұмысшылар» кестелерінің қасиеттері 3.1 – 3.10 суреттерінде көрсетілген.
Сурет 3.1 – Жұмысшы (Rabotnik)
Сурет 3.2 – Мамаңдықтар (Dolzhnosti)
Сурет 3.3 – Мамаңдық дәрежесі (Kategoriya_dolzhnostei)
Сурет 3.4 – Ұлттар (Nacionalnosti)
Сурет 3.5 –Білімі (Obrazovanie)
Сурет 3.6 – Зейнетақы қоры (Pensionnye_fondy)
Сурет 3.7 – Бөлімшелер (Podrazdeleniya)
Сурет 3.8 – Бұйрықтар (Prikazy)
Сурет 3.9 – Штаттық кесте (Shtatnoe_raspisanie)
Сурет 3.10 – Бұйрық түрлері (Tipy_prikazov)
3.3 Мәліметтер базасының кестелерінің арасындағы қатынастың және мәліметтің бүтінді шарттарының сипаттамасы
SQL-серверінің мәліметтер базасымен қатынас - бұл екi кестелердiң арасындағы логикалық байланыс. Кестелер арасында байланыс орнату кезінде, бір кестенің негізгі кілтті өзге кестенің сыртқы кілтпен байланысы бар екенін SQL-серверге хабарлаймыз.
Қатынасты енгізілетін мәліметтерге бүтіндік шектерін орнату үшін де қолдануға болады. Екі кестенің мәліметтері бір-бірінен тәуелді болу керек және бұл кестелер арасында қатынасты орнату арқылы ешқай SQL-бұйрық бұл тәуелділікті бұза алмайтынына кепіл болуға болады. Сілтемелік бүтіндік қандайда да бір екі кесте бар деген тұжырыммен негізделеді , қайталанатын ақпарат болады және бұл қайталанатын ақпарат бұлжытпастан бір-біріне үйлесу қажет
Кестелер арасындағы
байланыс мәліметтер базасын жобалау
кезінде маңызды рөлді
Кестелер арасында байланыс орнатылған кезден бастап, мәліметтер базасының кестелерінің ақпараты бір-бірінен тәуелді болады. SQL Server кестелердің басқа кестелермен тәуелдігі бар немесе жоғын көрссетеді. Байланыс көрінісін мәліметтердің базасының диаграммасы арқылы анықтауға болады. Мәліметтер базасының диаграммасы қарапайым түрде кестелерді(кестенің атрибут тізімі) және арасындағы байланысын көрсетеді. «Жұмысшылар» мәліметтер базасының диаграммасы сурет 3.11 ұсынылған.
Өзара байланысты қатынастар үшiн |
Операциялар үшiн бүтiндiк шектеулерiнiң түрi : | |||||
Негіз аты |
МБ қатынасының негізігі кілтінің атрибут аты |
Негіз аты |
МБ қатынасының сыртқы кілтінің атрибут аты |
Орнату |
Жою |
Түзету |
Rabotnik |
Kod_dolzhnosti |
Dolzhnosti |
kod_dolzhnosti |
Каскадтау |
Каскадтау |
Каскадтау |
Rabotnik |
Tab_nomer_rabotnika |
Prikazy |
Tab_nomer_rabotnika |
Каскадтау |
Шектеу |
Каскадтау |
Podrazdeleniya |
Kod_podrazdeleniya |
Shtatnoe_raspisanie |
Kod_podrazdeleniya |
Каскадтау |
Шектеу |
Каскадтау |
Rabotnik |
Kod_pensionnogo_fonda |
Pensionnye_fondy |
kod_pensionnogo_fonda |
Каскадтау |
Каскадтау |
Каскадтау |
Rabotnik |
Kod_nacionalnosti |
Nacionalnosti |
kod_nacionalnosti |
Каскадтау |
Шектеу |
Каскадтау |
Rabotnik |
Kod_podrazdeleniya |
podrazdeleniya |
kod_podrazdeleniya |
Каскадтау |
Каскадтау |
Каскадтау |
Rabotnik |
Kod_vida_obrazovaniya |
obrazovaniya |
kod_vida_obrazovaniya |
Каскадтау |
Шектеу |
Каскадтау |
Dolzhnosti |
Kod_dolzhnosti |
Shtatnoe_raspisanie |
Kod_dolzhnosti |
Каскадтау |
Каскадтау |
Каскадтау |
Kategorii_ dolzhnostei |
kod_kategorii_ dolzhnosti |
dolzhnosti |
kod_kategorii_ dolzhnosti |
Каскадтау |
Шектеу |
Каскадтау |
Tipy_prikazov |
Kod_tipa_prikaza |
Prikaza |
Kod_tipa_prikaza |
Каскадтау |
Шектеу |
Каскадтау |
Кесте 3.11
Өзара байланысты қатынастар
үшiн бүтiндiк шектерiнiң
Сурет 3.12- МББЖ MS SQL Server 2008 ортасында жасалынған “Жұмысшылар” МБ-сының кестелер диаграммасы
3.4 Сақталатын процедуралар сипаттамасы
Сақталатын процедура – SQL Server жүйесіндегі бірге орындалатын, T-SQL операторларының жиынтығы. T-SQL сақталатын процедуралары басқа программалау тілдерінде сияқты кіріс және шығыс параметрлерін немесе Сәтті немесе сәтсіз орындалған операция жайлы хабарлама көрсетеді. Процедураның барлық операторлары процедура шақырылғанда орындалады. Олармен әр түрлі қолданушы пайдалана алады.
Курстық жобада келесідей сақталатын процедуралар көрсетілген:
1. Сақталынатын процедура. Бо орындар (вакансии) кестесінен шартты түрде бірліктердің жалпы саны-бос орындардың саны>0 болатындай жолдарды теріп алу.
USE [Ermekbaeva A.B.]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[procTable1]
AS
SELECT Shtatnoe_raspisanie.kol_
FROM Shtatnoe_raspisanie
where Shtatnoe_raspisanie.obwee_kol_
Сурет 3.4.1 1- процедура нәтижесі
2. Сақталынатын процедура. Жұмысшы (работник) кестесінен шаррты түрде «I-нші» бөлімшенің жоғары білімі бар жұмысшылар жолын теріп алу ( бөлімше кодын және білім түрінің кодын параметр ретінде алу).
select procedure procTable2
@par1 int,
@par2 nvarchar(50)
as
select Rabotnik.FIO_rabotnika,Obrazov
from Rabotnik, Obrazovanie
where Rabotnik.kod_podrazdeleniya=@
Obrazovanie.kod_vida_
Obrazovanie.kod_vida_
Сурет 3.4.2 2-ші процедура нәтижесі
Хранимая процедура 3. Мамаңдықтар дәрежесі кесте жаңа 3жол қосу.
USE [Ermekbaeva A.B.]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER procedure [dbo].[procTable3]
@kolvo int=3
as
declare @i int, @max int
set @i=0
while (@i<@kolvo)
begin
set @max=(select MAX(kod_kategorii_dolzhnosti)f
insert into Kategoriya_dolzhnostei(kod_
values (@max+1,'')
set @i=@i+1
end
4. Сақталынатын процедура. Штаттық кесте таблицасынан шартты түрде бірліктің жалпы саны-бос орынның саны деп алып, «I-нші» бөлімшенің бос емес бірлік санын шығару ( бөлімше кодын және мамаңдық кодын параметр ретінде алу).
select procedure procTable4
@par1 int,
@par2 int
as
select obwee_kol_edenic, kol_vakansii, obwee_kol_edenic-kol_vakansii[
from Shtatnoe_raspisanie, Podrazdeleniya, Dolzhnosti
where Podrazdeleniya.kod_
Dolzhnosti.kod_dolzhnosti=@
Сурет 3.4.3 4-ші процедура нәтижесі
4 Ақпараттық жұйелерінің қолданушы интерфейсін құру
Ақпараттық қосымша – қолданбалы бағадарламалық жүйе, ол жинақтау үшін, сақтау, іздеу, текстілік ақпаратты өңдеу үшін арнадған.
Клиенттік қосымша келесі 4 негізгі функцияны орындауға қамтиды:
4.1 Қолданушы менюсі
Деректер қорының серверіне жалғану 4.1 суретте көрсетілген
Сурет 4.1.1 - ДҚ жалғану үшін диалогты терезе МБ «Жұмысшылар»
Егер жалғану дұрыс болса негізгі терезе ашылады. 4.1.2 сурет.
Сурет 4.1.2 – «Жұмысшылар» бағдарламасының негізгі терезесі
«Жұмысшылар» бағдарламасының қолданушы менюі келесі пунктерді қамтиды: жұмысшы, білім, ұлттар, бөлімшелер, бұйрықтар, штаттық кесте, бұйрық түрлері, мамаңдықтар, мамаңдықтар деңгейлері, зейнетақы қоры.
4.2 ДҚ мәліметтерін өзгерту, қосу, өшіру, көру үшін формалар
Кестелерді қарау үшін негізгі терезе пайдаланады. Ол үшін қажет кестені таданыз.
Сурет 4.2.1 – «Жұмысшылар» МБ-сының негізгі терезесі
Жазбаны енгізу үшін «Добавить» басу керек, сонда мәлімет енгізу үшін қоымша терезе пайда болдаы.
Қозғалту үшін «тышқанды» немесе навигатор пайдалануға болады: > (бір жолға төмен), < (бір жолға жоғары), >| (соңғы жол), <|( бірінші жол).
Сурет 4.2.2 – «Жұмысшылар» МБ-сының бөлімшелер ( подразделения) кестесіне мәлімет қосу терезесі
Сурет 4.2.3 – «Жұмысшылар» МБ-сының бұйрықтың түрлері ( типы приказов) кестесіне мәлімет қосу терезесі
Сурет 4.2.4 – «Жұмысшылар» МБ-сының бұйрықтар (приказы) кестесіне мәлімет қосу терезесі
Сурет 4.2.5 – «Жұмысшылар» МБ-сының штаттық кесте (штатное расписание) кестесіне мәлімет қосу терезесі
4.3 ДҚ сұраныстарын дайындау
Сұраныстар – SQl –де жиі қолданылатын жағдай, себебі бұл тіл осы үшін құрылған. Сұраныс – жадтағы таблицалардың белгілі бір ақпаратты көрсететін белгілі бір команданы айтады. Бұл ақпарат монитор экранына, терминалға, принтерге шығарылады шығарылады.
Сұранысқа көшу үшін «Запросы» басу керек, сонда сұраныс орындау үшін қосымша терезе пайда болады. (сурет 4.3.1).
Сурет 4.3.1 – «Жұмысшылар» МБ-сының сұраныстар (запросы) терезесі
Бағдарлама келесі сұраныстарды қамтиды:
1 сұраныс – «I» бөлімшенің көп балалы (>3) жұмысшылардың тізімі.
select FIO_rabotnika, kol_izhdevencov
from Rabotnik, Shtatnoe_raspisanie
where Shtatnoe_raspisanie.kod_
Сурет 4.3.2 – «Жұмысшылар» МБ-сының сұраныстар (запросы) терезесі
2 сұраныс – кәсіпорын жұмыстарының әр зейнетақы қорында есептелетін санының тізімі.
SelectPensionnye_fondy.
from Pensionnye_fondy, Rabotnik
where Rabotnik.kod_pensionnogo_
group by Pensionnye_fondy.naimenovanie_
3 сұраныс – жұмысшылардың жұмыс өтілімінің тізімі
select FIO_rabotnika, data, (YEAR(GETDATE())-YEAR(data))[
from Rabotnik, Prikazy
where Rabotnik.tab_nomer_rabotnika=
4 сұраныс – 10-15 жыл аралығындығы жұмыс өтілімі бар жұмысшылардың тізімі.
select FIO_rabotnika, data, (YEAR(GETDATE())-YEAR(data))[
from Rabotnik, Prikazy
where Rabotnik.tab_nomer_rabotnika=
5 сұраныс – фамилиясы «К» әрпінен басталатын «I» бұйрығына кірген кәсіпорын жұмысшыларының тізімі.
select nomer_prikaza, FIO_rabotnika
from Prikazy, Rabotnik
where Prikazy.tab_nomer_rabotnika=
FIO_rabotnika like 'К%'
4.4 Есептеу негіздерін құру
Есептеу нәтижесі – сұраныс орындауы мен жүзеге асатын және басқа таблицалардан алынатын таблица түрі. Сонымен қатар бұл таблицада өзгертілген мән есептеу нәтидесінде автоматы түрде ауысады. Сол себепті есептеу нәтижелері сұраныстардан гөрі тиімді болып табылады.
Есептеу нәтижесіне көшу үшін «Отчеты» басу керек, сонда сұраныс орындау үшін қосымша терезе пайда болады. (сурет 4.4.1).
Сурет 4.4.1 – «Жұмысшылар» МБ-сының есептеу терезесі
Қажет есептеу нәтижесін тандағанна кейін қосымша терезе пайда болады. Қажет параметрді енгізгеннен кейін негізгі есепеу терезесінде нәтиже пайда болады.
Есептеу нәтижесін тандағаннан кейін оны Excel-ге көшіруге болады.
Сурет 4.4.2 – «Жұмысшылар» МБ-сының есептеу нәтижесін Excel-де қолдану терезесі
Бағдарламада келесі есептеулер бар:
Есептеу 1 – зейнетақы жасы ( ерлер -63, әйелдер -58) толған кәсіпорын жұмысшыларының тізімі.
CREATE VIEW Pervyi
As
SelectRabotnik.data_
From Rabotnik
where DATEDIFF(year,data_rozhdeniya,
DATEDIFF(year,data_rozhdeniya,
and DATEPART(YEAR,Rabotnik.data_
Есептеу 2 –Әр балаға «i-го» бөлімшенің кәсіпорын жұмысшысының төлемақысынан 1/10 көлемінде алынатын тізімі.
CREATE VIEW Vtoroi
As
SELECT Rabotnik.kol_izhdevencov, Rabotnik.FIO_rabotnika, Rabotnik.oklad*0.1*Rabotnik.
From Rabotnik,Podrazdeleniya
where Podrazdeleniya.kod_
and Rabotnik.kod_podrazdeleniya=
and kol_izhdevencov>=1
Есептеу 3 – «I-» бұйрық
select FIO_rabotnika, nomer_prikaza, data, tekst_prikaza
from Rabotnik, Prikazy
where Prikazy.nomer_prikaza=10 and Rabotnik.tab_nomer_rabotnika=
Для того, чтобы сформировать отчет, надо его выбрать, ввести необходимые параметры и нажать кнопку “Генерировать отчет”. Программа выдаст на эран окно, в котором будет видет отчет, а также из этогоже окна можно распечатать отчет сформированный программой. Ниже приведено изображение примера формирования одного из отчета.
Рисунок 4.10 – Пример отчета встроенного в программе.