четвртак, 12. април 2012.

4. Razred - Baze podataka - Kreiranje baze podataka u Access-u - Jelena Kricak - Dejan Pejcic

Економска школа Ниш

 

 

Предмет: Пословна информатика

Тема: База података у Acces-у и њено креирање

 

 

Ученик: Кричак Јелена IVF2

Ментор: Пејчић Дејан


С а д р ж а ј

 

База података у Аccess…………………………………2-6

Креирање нове базе података...................................7-9

Планирање табела...................................................10-13

Постављање релација................................................14 

 

 

 

 

 

 

 

 

 

 

 

 

База података

 

База података је алатка за прикупљање и организовање информација. У њој се могу скаладиштити информације о људима, производима, поруџбинама, као и о било чему другом.

Постоје различите врсте база података, и зависно од тога, на који начин су подаци интерно организовани разликују се: хијерархијске, мрежне (CODASYL), релационалне, објектно-оријентисане, објектно-релационе, прилагођене за WEB, XML и мултимедијске базе података.

Подаци су представљени на униформни начин (тако нпр. у релационим базама података подаци су организовани у табелама), што олакшава приступ и коришћење од стране екстерних програма. Тако једну базу података може користити низ различитих програма, писаних у различитим програмским језицима.

База података у рачунару је контејнер објеката. Што значи да једна база података може да садржи више табела. Access база података чува табеле у једној датотеци заједно са објектима, као што су: обрасци, извештаји, макрои, модули... Уколико није посебно дизајнирана како да користи податке.

У Access-у могу се:

§        Додати нови подаци у бази података,

§        Уредити постојећи подаци у бази података,

§        Избрисати информације

§        Организовати и приказати информације на различите начине

§        Делити подаци са другима помоћу извештаја, е-порука, интерне мреже или интернета.

Access база података садржи следеће:

§        Табеле

§        Обрасце

§        Упите

§        Извештаје

§        Макрое

§        Модуле

Табеле

Табела базе података је по изгледу слична унакрсној табели по томе што су подаци смештени у редове и колоне, због тога је веома лако унакрсну табелу увести у табелу базе података. Главна разлика између складиштења података у унакрсној табели и табели у бази података је у начину организације података. А у циљу што веће флексибилности базе података, подаци морају да буду организовани у табеле тако да се не појављују сувишни подаци.

Сваки ред у табели представља један запис. У записима се складиште појединачне информације. Сваки запис се састоји од једног или више поља. Поља одговарају колонама у табели.

На пример, имамо табелу „Запослени" у којој сваки ред садржи информације о другом запосленом, а свако поље (колона) садржи други тип информација, као што су име, презиме, адреса итд. Поља морају да буду постављена на одређени тип података: текст, датум, време или пак на неки друг тип.

Постоји још један начин да се опишу записи и поља што се односи на замишљање старе библиотекачке картотеке. Тако, свака картица у картотеци одговара запису у бази података, а свака информација на појединој картици (аутор, наслов итд.) одговара пољу у бази података.

Обрасци

Обрасци се понекад зову иекрани за унос података". Они представљају интерфејс који се користи за рад са подацима и често садржи командну дугмад која извршава различите команде.

Дугмад се могу програмирати како би се одредили подаци који ће се појављивати у обрасцу, да би се отварали други обрасци или извештаји, односно извршавали бројни други обрасци.

На пример, имамо „Образац купаца" који садржи податке о купцима. Тај образац може да садржи дугме које отвара образац поруџбине, а у који се могу унети нове поруџбине купаца.

Извештаји

Извештаји се користе за резимирање и представљање података из табела. Они могу да се покрену било када и увек ће одражавати актуелне податке у бази података. Извештаји се најчешће обликују за штампање, али могу да се прикажу и на екрану, односно извезу у други програм или пошаљу у виду е-поруке.

Упити

Упити представљају праву радну снагу базе података и могу да изврше велики број различитих функција. Њихова најчешћа функција је преузимање одређених података из табела. Подаци се обично налазе у више табела, а упити омогућавају њихово приказивање у једном листу са подацима. Осим тога, упити омогућавају да се додају одређени критеријуми како би се „филтрирали" подаци и добили само жељени записи. Упити често служе као извор записа за обрасце и извештаје.              

Неки упити могу да се „ажурирају", што значи да се могу уређивати подаци у основним табелама користећи лист са подацима упита. Упити који могу да се да ажурирају, стварају промене у табелама, а не само у листу са подацима упита.

Постоје две основне врсте упита: упити за издвајање и радни упити.

Упит за издвајање преузима податке и чини их доступнима за употребу. Резултати упита могу се приказати на екрану, одштампати или копирати у оставу.

Радни упит, као што му само име говори, извршава неки задатак у вези са подацима. Радни упити могу се користи за креирање нових табела, додавање података у постојеће табеле, ажурирање података или брисање података.

Макрои

Макрои у програму Access могу да се схвате као поједностављени програмски језик који може да се користи како би се додала функционалност у базу података.

На пример, макро се може приложити командном дугмету у обрасцу тако да се макро покрене сваки пут када се кликне на дугме.

Макро садржи радње које извршавају задатке, попут отварања извештаја, покретања упита или затварања базе података. Већина операција које се ручно извршавају у базама података могу да се аутоматизује помоћу макроа, тако да они могу значајно да утичу на уштеду времена.

Модули

Модули, као и макрои, представљају објекте који се користе да би се додала функционалност бази података. Док се макрои у програму Access креирају одабиром опција са листе радњи макроа, модули се пишу у програмском језику Visual Basic for Applications (VBA). Модул је колекција декларација, израза и процедура које се складиште заједно као целина.

Модул може да буде модул класе или стандардни модул.

Модул класе се прилаже уз обрасце или извештаје и обично садржи процедуре које су карактеристичне за образац или извештај уз који се прилаже.

Стандардни модули садрже опште процедуре које нису придружене ни једном другом објекту. Стандардни модули су наведени у окну за навигацију под ставком Модули, док модули класа нису.

 

Значи, база података представља организовање података у тзв. интегрисаној форми, где подаци у бази података могу бити организовани по више различитих обележја, по којима је могуће применом одговарајућих механизама базе вршити претраживања и налажење баш оних података који су потребни. Бригу о подацима, везама међу подацима, исправности података, као и о свему осталом на себе преузима систем за управљање подацима у бази података (DBMSDatabase Management Sistem).

Сви модерни системи за управљање базама података користе релациони модел податакао значи да корисник види базу као скуп табела са слоговима, а где је резултат сваке операције над садржајем базе података такође табела. Поред тога, релациони модел користи везе, односно релације (relationships) за повезивање табела базе података у структурирану целину.

Базу података не чине само организоване табеле као носиоци података, већ је то комплетан програм који може прорачунавати, филтрирати податке, штампати извештаје итд.

Креирање нове базе података

 

Microsoft Access се покреће као и сваки други програм у Windowsu - кликом (односно двокликом) на икону програма. После поздравног екрана апликације, појављује се екран на коме се бира једна од три опција: креирати нову базу (Blank database), искористити један од чаробњака за аутоматизовано креирање базе, бирањем једног од предефинисаних типова база (Access database wizards, pages, and projects) или отворити већ постојећу базу (Open an existing file).

Пошто ћемо креирати нову базу, бирамо прву опцију Blank database.

Након тога, програм тражи да снимимо датотеку, иако још ништа нисмо радили! Код програма за рад са базама података интегритет података је на првом месту. То значи да сваки податак који унесемо, изменимо или обришемо тренутно записује на диск. Према томе, захтев за снимање датотеке (Save) снима облик прозора у коме се ради, а не саме податке!

На врху екрана прозора базе налазе се три тастера:  Open (отвара постојећу табелу за преглед), Design (измене у структури табеле) и New (креирање нове табеле). Бирамо тастер New, јер креирамо нову табелу. Од опција које се појављују у следећем прозору дијалога користићемо другу -Design View. Све опције у овом прозору имају следећа значења:

·         Datasheet View отвара недефинисану табелу са универзалним пољима у које се могу уносити подаци, а Access ће покушати сам да постави тип поља на основу унетих података;

·         Design View представља поглед на табелу у прозору дизајн. У овом прозору задајемо називе колоне и адекватне типове података који се могу налазити у колонама, односно дефинишемо број колона и типове података;

·         Table Wizard је чаробњак који ће на основу  одговора на постављена питања креирати табелу;

·         Import Table служи за унос података из већ постојеће табеле или базе. Овим се подаци копирају из улазне табеле у новокреирану табелу;

·         Link Table поставља пречицу која показује на другу табелу из отворене базе са којом тренутно радимо или друге Аццесс базе. Овим се подаци не копирају нити премештају, већ се успоставља релација на повезану (линковану) табелу.

Пошто смо селектовали опцију Design View и потврдили избор кликом на тастер ОК, отвара се прозор за дизајнирање табеле.

На слици, колона обележена бројем 1 представља назив колоне, број 2 је тип колоне, а број 3 је коментар који се појављује у статусној линији Access-ovog прозора.

 

Креирање базе почиње од креирања табела.

 

 

Пример: Име датотеке ће бити „Библиотека".

Изградња куће почиње од темеља, а изградњa базе почиње од осмишљавања табела и њиховог повезивања. За креирање базе Библиотека" потребно је испланирати податке које треба груписати у засебним табелама.

Свака библиотека има своје читаоце. Тако да ће се прва табела звати Читаоци. Затим, сама библиотека има своје податке као што су адреса, телефон, име директора и слично. Па ће се друга табела звати Библиотека. А библиотека не би била то што јесте да нема књига. За књиге је карактеристичан инвентарни број, наслов књиге, аутор итд. Трећа табела ће се сходно томе звати Књиге. Интеракција између библиотеке и читалаца се огледа у издавању и враћању књига. Четврту табелу ћемо креирати из активности интеракције библиотеке и читалаца (четврта табела - Пословање).

 

Зашто засебне табеле?

Пре свега, због избегавања дуплирања података. Подаци као што су телефон, адреса, име и презиме, датум уплате чланарине за читаоца су јединствени и не постоји ни један разлог да се они понављају. Ако би креирали само једну табелу, у њу би морали да уносимо име и презиме читаоца (његову адресу, број телефона, датум плаћања чланарине...) и наслов књиге за свако издавање и враћање (са његовим аутором, годином издања, издавачем...), те би овим непотребно дуплирали податке. Још горе: веома су могуће грешке у куцању - никад не бисмо били сигурни колико је књига који читалац прочитао, односно колико књига уопште постоји у библиотеци.

 

Планирање табела

 

Пошто смо створили слику о потребном броју табела и њиховој намени, можемо прећи на следећи корак - дефинисање табела. Број табела износи четири (Читаоци, Библиотека, Књиге  и Пословање). За сваку табелу потребно је дефинисати поља и адекватне типове података који се могу у њих уносити:

Табела Читаоци"

Naziv polja

(Field Name

Tip polja

(Data Type)

Коментар

(Description)

Podvrsta / veličina polja

ID_Citalac

Number

Јединствен број читаоца

Integer (*)

Prezime_Ime

Text

 

35

Adresa

Text

Улица и број

30

Mesto

Text

Пребивалиште

30

Telefon

Text

 

15

Dat_rodj

Date

 

Short Date (**)

Dat_upisa

Date

 

Short Date

Dat_uplate_clan

Date

 

Short Date

Napomena

Memo

 

(***)

Табела Књиге"

Naziv polja

(Field Name)

Tip polja

(Data Type)

Podvrsta / veličina polja

ID_Knjiga

Number

Long Integer

Autor

Text

30

Naslov

Text

40

Izdavac

Text

30

God_Izdanja

Date

yyyy

Zanr

Text

1

Status

Text

1

Табела Библиотека"

Naziv polja

(Field Name)

Tip polja

(Data Type)

Podvrsta / veličina polja

Naziv

Text

50

Adresa

Text

40

Mesto

Text

35

Telefon

Text

15

Direktor

Text

30

Табела Пословање"

Naziv polja

(Field Name)

Tip polja

(Data Type)

Podvrsta / veličina polja

ID_Zapis

Autonumber

 

ID_Citalac

Number

Integer

ID_Knjiga

Number

Long Integer

Dat_izdаvanja

Date

Short Date

Dat_vracanja

Date

Short Date

 

У Field Name пресека прве колоне и реда уписали смо текст ID_Читалац. У другој колони (Datа Type) истог реда изабрали смо Number. У колони број три (Description) истог реда ставили смо коментар Јединствени број читаоца. И тако за сваку табелу пратећи унапред осмишљени план.

Тип поља, како смо раније испланирали, је Number. То значи да ће у поље моћи да се укуцавају искључиво нумеричке вредности, а сам тип поља ћемо поставити на Integer.

Особине које се могу поставити за поље Нумбер су:

§        Field Size - величина, односно тип поља

§        Format - начин на који ће укуцани бројеви бити приказани

§        Decimal Place - број децимала у цифри. Вредност постављамо на нула, пошто идентификациони број нема смисла са децималама

§        Input Mask - "маска" за унос бројева. Ако у ово поље поставимо вредност 00000, корисник ће морати да унесе тачно пет цифара за идентификациони број читаоца (нпр. 00023)

§        Caption - текст који се појављује као назив колоне у погледу за унос података

§        Validation Rule - правило које се мора испоштовати при уносу. Вредност смо поставили на >0 како се не би могли унети негативни бројеви.

§        Validation Теxт - текст који се појављује као упозорење када корисник погреши при уносу

§        Required - одређује да ли је унос неопходан или не. Вредност постављамо на Yes.

§        Indexed - да ли је поље индексирано или не. У индексираном пољу претрага је бржа. No Duplicates у загради значи да се не смеју појавити (укуцати) две исте шифре за два различита читаоца.

Следећи корак је постављање примарног кључа.    Примарни кључ је једно или више поља преко којих ће табела бити повезана са другим табелама, преко које ће се подаци индексирати и избећи могућност дуплираних уноса. У табели Читаоци примарни кључ ћемо поставити на поље ID_Читалац. Позиционирамо курсор на ред у коме се налази текст ID_Читалац и кликнимо на икону кључа на toolbaru:

Након тога, остаје нам још само да снимимо табелу. Из менија File одаберимо опцију  Save, и у новоотвореном прозору  упишимо текст  Citaoci  (без слова Ч у њему!).

Овим је прва табела креирана и снимљена. На сличан начин креирамо и остале табеле.

Зашто НЕ користимо "наша" слова у називима табела и поља? Зато што, рачунар слова третира по коду. Код тзв. наших слова  одговара знаковима [{]}\|`~@^, од којих се већина у Access користи као посебни, специјални карактери са одређеним значењем. Нпр. слово 'Ш' одговара коду карактера '[' што за Access представља ограду назива ентитета и никако се другачије не може користити.

Примарни кључ

Примарни кључ (PRIMARY KEY) је кључно поље табеле којим се контролише начин на који се информације повезују са другим табелама. Примарни кључ на јединствен начин дефинише запис.
Кључна поља за повезивање табела, морају бити истог типа. Примарни кључеви су најчешће ID,типа AutoNumber. Примарни кључ се поставља на једно или више поља у табели и њихова улога је да онемогућавају понављање података у тим пољима. Њима осигуравамо јединственост свих података у пољима на која смо их поставили (један кључ  = нема дупликата у  закључаном пољу). Дакле, поља попут ЈМБГ, ID, Чласнки број, Шифра робе, итд. су поља на која свакако треба поставити кључ јер ти се подаци не смеју понављати.

 

Постављање релација

 

Након што смо креирали табеле следи постављање релација између табела. Из менија Tools  бирамо опцију  Relationships. У празан прозор који се појави, додаћемо табеле које ћемо повезати. Списак постојећих табела добија се кликом на тастер Show Table. Додајмо редом табеле и из једне табела превучемо одређено поље на одређено поље друге табеле. Нпр. из табеле Читаоци превучемо поље ID_Читалац у табелу Пословање на поље ID_Читалац. У прозору који се појави, подешавамо особине ове релације. Постоје три типа релација то су:One-to-many, One-to-one, Many-to-many, а што зависи од примарног кључа.

Релација „један-према-више"

Посматрајмо базу података за праћење поруџбина која садржи табеле „Купци" и „Поруџбине". Купац може да достави неограничен број поруџбина. Из тога следи да за сваког купца из табеле „Купци" може да постоји више поруџбина у табели „Поруџбине". Према томе, релација између табела „Купци" и „Поруџбине" представља релацију „један-према-више".

Релација „један-према-један"

У релацији „један-према-један" сваки запис у првој табели може имати само један подударни запис у другој табели и сваки запис из друге табеле може имати само један подударни запис из прве табеле. Овај тип релације није уобичајен, јер су информације повезане на овај начин, најчешће ускладиштене у истој табели. Релација „један-према-један" може се користити да би се поделила табела са више поља, да би се изоловало део табеле из безбедносних разлога или да би се ускладиштиле информације које се примењују само на подскуп главне табеле. Када се ради о таквој релацији, обе табеле морају да деле заједничко поље.

Релација „више-према-више"

Посматрајмо релацију између табела „Производи" и „Поруџбине". Једна поруџбина може садржати више производа. С друге стране, један производ може да се појави у више поруџбина. Према томе, за сваки запис у табели „Поруџбине" може да постоји више записа у табели „Производи", а за сваки запис у табели „Производи" може да постоји више записа у табели „Поруџбине". Овај тип релације се назива релација „више-према-више", јер за сваки производ може да постоји више поруџбина и за сваку поруџбину може постојати више производа.

 

Зашто креирати релације међу табелама?

Постоји више разлога због којих се креирају релације међу табелама, пре него што креирамо друге објекте базе података, као што су обрасци, упити и извештаји.

1.    Релације међу табелама утичу на дизајн упита

2.    Релације међу табелама обезбеђују информације за дизајн образаца и извештаја

3.    Релације међу табелама представљају основу на коју  се може наметнути референцијални интегритет и др.

Релације се могу креирати и преkо Lookup Wizard-a

Lookup Wizard" (Чаробњак за проналажење) креира формулу за проналажење вредности на основу података у радном листу који има ознаке реда и колоне. „Lookup Wizard" помаже да пронађете остале вредности у реду када знате вредност у једној колони, и обратно. „Lookup Wizard" у формулама које креира користи функције INDEX и MATCH.

 

 

Нема коментара: