UF

ДББЖ да нақты реляциялық деректер базасын құру.

 

Деректер базасының логикалық және физикалық құрылымын анықтау қажетті ақпараттық саланы жобалаудың негізгі кезеңі болып табылады. Сонымен бірге, бұл кезеңде деректердің бүтіндік шарттарын тексеру, оларды байланыстыруға қажетті индекстер құру және қалыпты формаға келтіру амалдары орындалады.

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

  1. Деректер базасының тақырыбы: «Кәсіпорын қызметкерлерінің айлығын есепке алу».
  2. Кәсіпорында қызметкерлерді есепке алу, кіріс және шығын негіздемелер бойынша айқындалып, берілген айлықтар туралы барлық ақпаратты сақтау қажет. Есепке алу үшін кіріс құжаттары болып келесі мәліметтер болуы мүмкін:
  • кадрларды есепке алу қағазы;
  • айлықты есептеу үшін негіздемелер анықтамасы;
  • айлықты есептеу бойынша заңдар және нұсқаулар.

Шығыс құжаты болып айлықты алу тізбесі табылады.

  1. Пәндік облысты талдауда кілттік объекттерді не маңыздарды анықтаймыз:
  • Қызметкер;
  • Қызметкердің айлығы;
  • Айлықты есептеу үшін негіздемелер жинағы.
  1. Әр маңыздың атрибуттарын анықтаймыз (деректер базасының оқу вариантын қарастырамыз, осы себебті пәндік облыс үшін тек бірнеше атриубуттардан тұратын маңыздарын қолданамыз).

Қызметкер маңызы үшін келесі атрибуттарды анықтауға болады:

  • Тегі;
  • Аты;
  • Әкесінің аты;
  • Туған жылы;
  • Үй телефоны;
  • Мекен-жайы;
  • Қызметі;
  • Жұмысқа кірген уақыты;
  • Бөлім.

Қызметкердің айлығы маңызы үшін:

  •   Қызметкер;
  •   Айлық алған күні;
  •   Айлық көлемі;
  •   Айлық негіздемесінің атауы (пайда/шығын);
  •   Негіздеме бойынша сома (пайда/шығын).

Айлықты есептеу үшін негіздемелер тізімі маңызы үшін:

  • Айлық негіздемесінің атауы;
  • Пайыздық көрсеткіш;
  • Түсініктеме.
  1. Аталған атрибуттардың бүтіндігін тексереміз, өйткені әр атрибут жай және нақты типті болуы қажет.

Қызметкер маңызының Мекен-жай және Бөлім атрибуттары құрама болып табылады (мысалы, Мекен-жай атрибуты Индекс, Қала, Көше, Үй, Пәтер, ал БөлімБастықтың аты-жөні, Бөлімнің аты, Орналасқан жері, Телефоны реквизиттерінен тұрады). Осы себебті бұл атрибуттарды жеке маңыздарға айналдырып, олардың орнына байланыстыру элементтерін орналастырамыз (Мекен-жаймен байланыс, Бөліммен байланыс).

Қызметкердің айлығы маңызының Қызметкер атрибуты да құрама болып табылады және ол жеке маңызға бөлініп, Қызметкер маңызымен байланыс элементі болуы тиіс (Қызметкермен байланыс).

  1. Маңыздардың құрылымдарын кесте не функция түрінде бейнелеп, қалыпты формаға келтіру қағидаларына сәйкес түрлендіреміз.

Қызметкер маңызын функция түрінде бейнелейміз:

Қызметкер (Тегі, Аты, Әкесінің аты, Туған жылы, Үй телефоны, Мекен-жаймен байланыс, Қызметі, Жұмысқа кірген уақыты, Бөліммен байланыс).

Қызметкер маңызын әр қызметкерді бірегей анықтай алатын табиғи жай не құрама кілттің бар-жоқтығына талдаймыз. Мұндай кілт жоқ, осы себебті Есептік нөмір атты жасанды кілттік өріс енгіземіз.

 Қызметкер (Тегі, Аты, Әкесінің аты, Туған жылы, Үй телефоны, Мекен-жаймен байланыс, Қызметі, Жұмысқа кірген уақыты, Бөліммен байланыс, Есептік нөмір).

Қызметкердің мекен-жайын анықтау үшін Мекен-жай және Қызметкер кестелері арасында байланысатын өрісті таңдау қажет.

Мекен-жай (Индекс, Қала, Көше, Үй, Пәтер) маңызын талдаймыз.

Бұл кестеге Қызметкер кестесімен байланысты қамтамасыз ететін өріс енгізу қажет. Ол үшін әмбебап болатын Мекен-жай коды өрісін енгізіп, оны Қызметкер кестесіне қосуға болады. Бірақ, екі не одан да көп мекен-жайы бар қызметкерлер үшін Қызметкер кестесінде бірнеше жазба арнау қажет болады. Бұл іс-әрекет нәтижесінде мекен-жай кодынан басқа ақпараттардың барлығы қайталанады. Оны болдырмау үшін Мекен-жай кестесіне мекен-жайлары бірнеше болған қызметкерлердің қайталанатын мәндерін сақтай алатын Есептік нөмір өрісін енгізіп, Қызметкер кестесінен Мекен-жаймен байланыс өрісін жоямыз.

Мекен-жай (Индекс, Қала, Көше, Үй, Пәтер, Есептік нөмір).

Мекен-жай кестесінде барлық жазбаларды бірегей анықтай алатын кілттік өріс жоқ, осы себебті, Жазба коды атты жасанды өріс енгіземіз.

Мекен-жай (Индекс, Қала, Көше, Үй, Пәтер, Есептік нөмір, Жазба коды).

Қызметкердің айлығы (Қызметкермен байланыс, Айлық алған күні, Қолға алған айлық көлемі, Айлық негіздемесінің атауы, негіздеме бойынша сома).

Қызметкер кестесінде әр қызметкерді бірегей анықтай алатын Есептік нөмір атты өріс пайда болды, осы себебті Қызметкермен байланыс өрісін Есептік нөмір өрісіне ауыстырамыз. Оның Қызметкер кестесіндегі өрістен айырмашылығы – Қызметкердің айлығы кестесінде бір қызметкерге тиісті айлықтың барлық жазбаларын сақтап, қайталанатын мәндерді енгізуге болады. Қызметкердің айлығы кестесі келесі мәліметтерден тұруы мүмкін.

 

Есептік нөмір

Айлық алған күні

Қолына алған айлық көлемі

Айлық негіздемесінің атауы

Негіздеме бойынша сома

1

10.05.2009

66 400

Негізгі айлық

65 000

1

10.05.2009

66 400

Қосымша

15 000

1

10.05.2009

66 400

Салық

- 5 600

1

10.05.2009

 66 400

Зейнетақы төлемі

- 8 000

2

10.05.2009

51 460

Негізгі айлық

50 000

2

10.05.2009

51 460

Қосымша

12 000

2

10.05.2009

51 460

Салық

- 4 340

2

10.05.2009

51 460

Зейнетақы төлемі

- 6 200

 

         Бұл кестеде деректердің кейбір топтары қайталануда, яғни қалыптандыру қағидаларына қайшы келуде. Ол бір кестенің өзінде айлық бойынша қорытынды мәліметтермен бірге негіздемелердің ортақ сақталуынан пайда болады. Оны болдырмау үшін берілген кестені екі, Қызметкердің айлығы және Негіздемелердің атаулары кестелеріне бөлген жөн.

 

         Есептік нөмір

Айлық алған күні

Қолына алған айлық көлемі

1

10.05.2009

66 400

2

10.05.2009

51 460

 

 

         Айлық негіздемесінің атауы

Негіздеме бойынша сома

Негізгі айлық

65 000

Қосымша

15 000

Салық

- 5 600

Зейнетақы төлемі

- 8 000

Негізгі айлық

50 000

Қосымша

12 000

Салық

- 4 340

Зейнетақы төлемі

- 6 200

 

 

         Осы соңғы кестелер арасында негіздемелер қай айлыққа тиісті екендігін көрсету үшін байланыс орнату қажет. Ол үшін Қызметкердің айлығы кестесіне әмбебап болатын Айлық коды өрісін енгіземіз. Бұл өрісті мәндері қайталанатын етіп, Негіздемелердің атаулары кестесіне де қосамыз.

         Қызметкердің айлығы (Есептік нөмір, Айлық алған күні, Айлық коды).

         Негіздемелердің атаулары (Айлық негіздемесінің атауы, Негіздеме бойынша сома, Айлық коды).

         Сонымен бірге, Айлық негіздемесінің атауы өрісі шектелген негіздемелерден тұрғандығы үшін оны жеке Айлықты есептеу негіздемелерінің тізімі атты кесте түрінде бейнелеген жөн. Осы сесебті, Негіздемелердің атаулары кестесінде Айлық негіздемесінің атауы өрісін Негіздеме коды деп ауыстырамыз. Айлықты есептеу негіздемелерінің тізімі кестесіне әр жазбаны бірегей анықтайтын Негіздеме коды өрісін қосамыз.

         Негіздемелердің атаулары (Негіздеме коды, Негіздеме бойынша сома, айлық коды).

         Айлықты есептеу негіздемелерінің тізімі (Негіздеме коды, Айлық негіздемесінің атауы, Пайыздық көрсеткіш, Түсініктеме).

         Бөлім (Бастықтың аты-жөні, Бөлім атауы, Бөлмесі, Телефоны).

         Бөлім қатынасында Бастықтың аты-жөні атты атрибутын Есептік нөмір атрибутына ауыстыруға болады, өйткені ол да кәсіпорынның қызметкері болып табылады.

Бөлім (Есептік нөмір, Бөлім атауы, Бөлмесі, Телефоны).

Қызметкер қатынасында қызметкердің жұмыс істейтін бөлімін анықтау қажет. Ол үшін Бөлім қатынасына бірегей болатын Бөлім коды атты өріс қосамыз. Ал Қызметкер қатынасында Бөліммен байланыс өрісін Бөлім коды өрісіне ауыстырамыз. Бұл өріс бірнеше қызметкерлердің бір бөлімде жұмыс істеуіне байланысты қайталанатын мәндерді сақтауы мүмкін.

Бөлім (Бастықтың есептік нөмірі, Бөлім атауы, Бөлмесі, Телефоны, Бөлім коды).

Қызметкер (Тегі, Аты, Әкесінің аты, Туған жылы, Үй телефоны, Қызметі, Жұмысқа кірген уақыты, Бөлім коды, Есептік нөмір).

Жоғарыда жасалған ықшамдаулар және өзгерістер нәтижесінде келесі 6 кестеден тұратын деректер базасын аламыз:

  • Қызметкер;
  • Бөлім;
  • Қызметкердің айлығы;
  • Негіздемелердің атаулары;
  • Айлықты есептеу негіздемелерінің тізімі;
  • Мекен-жай.

Қызметкер және Бөлім қатынастары арасында 1:М ілгек типті екі байланыс пайда болады, себебі бір қызметкер бір уақыттың өзінде бірнеше бөлімдерде және бір бөлімде бірнеше қызметкерлер жұмыс істеуі мүмкін. Байланыстың деректері жұмыс кезінде қиындық тудырмауы үшін бұл ілгекті жаңа Бөлім бастықтары кестесін енгізу арқылы ашамыз. Нәтижеде Қызметкер кестесі Есептік нөмір атрибуты бойынша Бөлім бастықтары кестесімен байланысады, ал Бөлім қатынасынан Бастықтың есептік нөмірі атрибуты жойылып, Бөлім бастықтары кестесінің Бөлім коды атрибутымен байланысады.

Бөлім (Бөлім коды, Бөлім атауы, Бөлмесі, Телефоны).

Бөлім бастықтары (Бастықтың есептік нөмірі, Бөлім коды).

         Соңғы өзгерістер және енгізулер нәтижесінде 7 кестелі деректер базасын аламыз.

  • Қызметкер;
  • Бөлім;
  • Қызметкердің айлығы;
  • Негіздемелердің атаулары;
  • Айлықты есептеу негіздемелерінің тізімі;
  • Мекен-жай;
  • Бөлім бастықтары.
  1. Visual FoxPro деректер базасын басқару жүйесінің талаптарына сәйкес кестелердің, өрістердің аттарын, олардың қасиеттерін, индекстердің типтерін және аттарын анықтаймыз. Жұмыс кезінде жүйелік қателіктерді болдырмау үшін ағылшын тіліндегі идентификаторлардан пайдаланған жөн.  
  2. Құрылатын жоба файлдарын сақтаудың ұсынылған құрылымы.

Жобаның негізгі бумасы жоба, орындалу файлын және бағдарламасын, компиляция қателерінің файлын сақтайды. Сонан соң бұл бумада файлдардың тәртіпсіз орналасуын болдырмау және керек емес файлдарды жоюды оңтайландыру үшін құрылатын жобаның жеке элементтерін сақтауға арналған ішкі бумалар құрылады. Ішкі бумалардың ұсынылған тізімі:

  • IMAGE;
  • CLASS;
  • DATA;
  • FORM;
  • MENU;
  • TMP;
  • PROGRAM;
  • REPORT;
  • QUERY;
  • OTHER.

Қосымша жобасы (PROJECT) негізгі бумасында WAGES атты бума құрыңыз.

 

 

     Әдебиет

  1. Атре Ш. Структурный подход к организации баз данных. – М.: Финансы и статистика, 1983. – 320 с.
  2. Бойко В.В., Савинков В.М. Проектирование баз данных информационных систем. – М.: Финансы и статистика, 1989. – 351 с.
  3. Мартин Дж. Планирование развития автоматизированных систем. – М.: Финансы и статистика, 1984. – 196 с.
  4. Мейер М. Теория реляционных баз данных. – М.: Мир, 1987. – 608 с.
  5. Цикритизис Д., Лоховски Ф. Модели данных. – М.: Финансы и статистика, 1985. – 344.
  6. Хаббард Дж. Автоматизированное проектирование баз данных. – М.: Мир, 1984. – 294.

 

 

Мәлімет сізге көмек берді ма

  Жарияланған-2014-06-30 19:47:11     Қаралды-3650

АДАМ ОТТЫ ҚАЛАЙ "БАҒЫНДЫРДЫ"?

...

Ежелгі адам көп нәрседен қорқады: ...

ТОЛЫҒЫРАҚ »

ЖҰМЫРТҚА НЕГЕ СОПАҚ ПІШІНДЕ?

...

Сопақ пішіні жұмыртқалар үшін ең оңтайлы болып табылады.

ТОЛЫҒЫРАҚ »

АРА НЕ БЕРЕДІ?

...

Аралар - біздің әлемде маңызды рөл атқаратын кішкентай, бірақ өте маңызды жәндіктер.

ТОЛЫҒЫРАҚ »

НЕЛІКТЕН КЕМПІРҚОСАҚ ДОҒА ТӘРІЗДІ?

...

Адамдар бұл сұрақты көптен бері қойып келеді.

ТОЛЫҒЫРАҚ »

КЕМПРҚОСАҚ ДЕГЕНІМІЗ НЕ?

...

Адамдар бұл ең әдемі табиғат құбылысының табиғаты туралы бұрыннан қызықтырды.

ТОЛЫҒЫРАҚ »

АЮЛАР НЕГЕ ҚЫСТАЙДЫ?

...

Ұйықта қысқы ұйқы аюларға қыстың аш маусымынан аман өтуіне көмектеседі.

ТОЛЫҒЫРАҚ »

МАҚТАДАН НЕ ЖАСАУҒА БОЛАДЫ?

...

Мақта – тамаша талшық беретін өте бағалы өсімдік.

ТОЛЫҒЫРАҚ »

НЕГЕ АНТАРКТИКА ЕҢ СУЫҚ КҮНТИНЕНТ?

...

Жер шарындағы ең суық аймақтар – полюстер.

ТОЛЫҒЫРАҚ »

АНТИБӨЛШЕКТЕР ДЕГЕНІМІЗ НЕ?

...

«Анти» сөзінің мағынасын елестету үшін қағаз парағын алып...

ТОЛЫҒЫРАҚ »