Базы данных

Автор: Пользователь скрыл имя, 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

Работа содержит 1 файл

Курсовая МОЯ.doc

— 7.23 Мб (Скачать)

Мәліметтер базасына келесi ұсыныстар(представление) жасалды:

  1. preds1.
  2. рreds2

Сонымен қатар келесідей  сақталатын процедуралар анықталды:

  1. Procedura1;
  2. Procedura2;
  3. Procedura3;
  4. Procedura4.

 

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-бұйрық бұл тәуелділікті бұза алмайтынына кепіл болуға болады. Сілтемелік бүтіндік қандайда да бір екі кесте бар деген тұжырыммен негізделеді , қайталанатын ақпарат болады және бұл қайталанатын ақпарат бұлжытпастан бір-біріне үйлесу қажет

Кестелер арасындағы байланыс мәліметтер базасын жобалау  кезінде маңызды рөлді атқарады. Байланыс қасиеттерінің бірі бүтіндік шарттарының орындалуы. Кесте 3.1 «Жұмысшылар» мәліметер базасының кестелерінің арасындағы байланыс сипаттамалырын және оларға қойылған бүтіндік шектерін құрайды.

Кестелер арасында байланыс орнатылған кезден бастап, мәліметтер базасының кестелерінің ақпараты бір-бірінен тәуелді болады. 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ң түрлер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_vakansii, Shtatnoe_raspisanie.obwee_kol_edenic

FROM Shtatnoe_raspisanie

where Shtatnoe_raspisanie.obwee_kol_edenic>0 and Shtatnoe_raspisanie.kol_vakansii>0

 

      Сурет 3.4.1 1- процедура нәтижесі

 

2. Сақталынатын процедура. Жұмысшы (работник) кестесінен шаррты түрде «I-нші» бөлімшенің жоғары білімі бар жұмысшылар жолын теріп алу ( бөлімше кодын және білім түрінің кодын параметр ретінде алу).

select procedure procTable2

@par1 int,

@par2 nvarchar(50)

as

select Rabotnik.FIO_rabotnika,Obrazovanie.naimenovanie_obrazovaniya

from Rabotnik, Obrazovanie

where Rabotnik.kod_podrazdeleniya=@par1 and

Obrazovanie.kod_vida_obrazovaniya=@par2 and

Obrazovanie.kod_vida_obrazovaniya=Rabotnik.kod_vida_obrazovaniya

      Сурет 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)from Kategoriya_dolzhnostei)

insert into Kategoriya_dolzhnostei(kod_kategorii_dolzhnosti, naimenovanie_kategorii_dolzhnosti)

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[kolichestvo]

from Shtatnoe_raspisanie, Podrazdeleniya, Dolzhnosti

where Podrazdeleniya.kod_podrazdeleniya=@par1 and

Dolzhnosti.kod_dolzhnosti=@par2

 

      Сурет 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_podrazdeleniya=9 and Rabotnik.kol_izhdevencov>3

 

Сурет 4.3.2 – «Жұмысшылар» МБ-сының сұраныстар (запросы) терезесі

 

 2 сұраныс – кәсіпорын жұмыстарының әр зейнетақы қорында есептелетін санының тізімі.

SelectPensionnye_fondy.naimenovanie_pensionnogo_fonda, COUNT(Rabotnik.Fio_rabotnika)[chislo]

from Pensionnye_fondy, Rabotnik

where Rabotnik.kod_pensionnogo_fonda=Pensionnye_fondy.kod_pensionnogo_fonda

group by Pensionnye_fondy.naimenovanie_pensionnogo_fonda

 

3 сұраныс – жұмысшылардың жұмыс  өтілімінің тізімі

select FIO_rabotnika, data, (YEAR(GETDATE())-YEAR(data))[staj]

from Rabotnik, Prikazy

where Rabotnik.tab_nomer_rabotnika=Prikazy.tab_nomer_rabotnika

4 сұраныс – 10-15 жыл аралығындығы жұмыс өтілімі бар жұмысшылардың тізімі.

select FIO_rabotnika, data, (YEAR(GETDATE())-YEAR(data))[staj]

from Rabotnik, Prikazy

where Rabotnik.tab_nomer_rabotnika=Prikazy.tab_nomer_rabotnika and (YEAR(GETDATE())-YEAR(data)) between '10' and '15'

5 сұраныс – фамилиясы «К» әрпінен басталатын «I» бұйрығына кірген кәсіпорын жұмысшыларының тізімі.

select nomer_prikaza, FIO_rabotnika

from Prikazy, Rabotnik

where Prikazy.tab_nomer_rabotnika=Rabotnik.tab_nomer_rabotnika and

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_uvolneniya,Rabotnik.pol, Rabotnik.FIO_rabotnika,convert(varchar,Rabotnik.data_rozhdeniya,101) as "дата рождения"

From Rabotnik

where  DATEDIFF(year,data_rozhdeniya,getdate()) >= 58 and pol='жен' or

DATEDIFF(year,data_rozhdeniya,getdate()) >= 63 and pol='муж'

and   DATEPART(YEAR,Rabotnik.data_uvolneniya) = DATEPART(YEAR,GETDATE())

 

Есептеу 2 –Әр балаға «i-го» бөлімшенің кәсіпорын жұмысшысының төлемақысынан 1/10 көлемінде алынатын тізімі.

CREATE VIEW Vtoroi

As

SELECT Rabotnik.kol_izhdevencov, Rabotnik.FIO_rabotnika, Rabotnik.oklad*0.1*Rabotnik.kol_izhdevencov as "Начисление пособий",Rabotnik.tab_nomer_rabotnika

From Rabotnik,Podrazdeleniya

where Podrazdeleniya.kod_podrazdeleniya=2

and Rabotnik.kod_podrazdeleniya=Podrazdeleniya.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=15

 

Для того, чтобы сформировать отчет, надо его выбрать, ввести необходимые параметры и нажать кнопку “Генерировать отчет”. Программа выдаст на эран окно, в котором будет видет отчет, а также из этогоже окна можно распечатать отчет сформированный программой. Ниже приведено изображение примера формирования одного из отчета.

Рисунок 4.10 – Пример отчета встроенного  в программе.

Информация о работе Базы данных