1. HYRJE NË BAZAT E TË DHËNAVE (SHTRESAT)
Një bazë të dhënash (Databazë) është një grumbullim i të dhënave të lidhura dhe të organizuara nënjë mënyrë të tillë që të dhënat të jetë e mundur të gjenden, administrohen dhe përditësohen lehtësisht. Databaza mund të përfytyrohet si një magazinë informacioni ku pjesët e lidhura të informacionit ruhen dhe veprime të ndryshme kryhen me to.
Një sistem menaxhimiibazave të të dhënave (DBMS) është një software që mundëson krijimin, përkufizimin dhe manipulimin e të dhënave. NjëDBMSështë një mjet i përdorur për të kryer çdo lloj veprimi me të dhënat në një databazë, për të siguruar mbrojtje dhe siguri për databazat, dhe për të mbikqyrur konsistencën e të dhënave në rastin e përdoruesve të shumtë. Disa prej sistemeve DBMS më të njohura që janë sot në shfrytëzim janë MySql, Oracle, Sybase, Microsoft SQL Server, PostgreSQL, IBM DB2, etj.
Pjesët përbërëse të një sistemi bazë të dhënash jepet në figurën 1-1. Përdoruesi nënkupton administratorin e bazës së të dhënave, zhvilluesin e sistemit dhe përdoruesit fundorë.
Funksionet dhe shërbimet kryesore të një sistemi DBMS janë:
- Menaxhimi i pajisjeve të ruajtjes së të dhënave;
- Menaxhimi i manipulimit të të dhënave;
- Pavarësia e të dhënave (Mundësia për të kryer modifikime në një nivel pa ndikuar në ndryshime në një nivel më të lartë);
- Kontrolli i konkurrencës (Koncept që përdoret për të adresuar konfliktet me aksesimin e njëkohshëm të të dhënave që mund të ndodhin në sistem me shumë përdorues);
- Menaxhimi i katalogut të sistemit (fjalori i të dhënave);
- Menaxhimi i sigurisë (mekanizma për mbrojtje ndaj përdorimeve të paautorizuara);
- Menaxhimi i ruajtjes dhe rigjetjes së të dhënave (mekanizëm për shmangien e humbjes së të dhënave);
- Menaxhimi i transaksioneve;
- Aksesimi i të dhënave dhe ndërfaqësimi.
Dizenjimi i një DBMS varet nga arkitektura e tij, e cila mund të jetë 1-shtresore apo n-shtresore. Arkitektura n-shtresore e ndan sistemin në n module të pavarura që mund të modifikohen, ndryshohen apo zëvendësohen në mënyrë të pavarur.
Në arkitekturën 1-shtresore, përdoruesi në mënyrë të drejtpërdrejtëështë pjesë e sistemit dhe e përdor atë. Në arkitekturën 2-shtresore, ekziston një aplikacion përmes së cilës mund të aksesohet sistemi DBMS. Në këtë rast, aplikacioni është tërësisht i pavarur prej databazës në kuptimin e operimit, dizenjimit dhe programimit. Arkitektura 3-shtresore i ndan komponentët e saj nga njëra tjetra bazuar në kompleksitetin e përdoruesve dhe se si ata i përdorin të dhënat në databazë. Shtresat në arkitekturën 3-shtresore janë:
- Databaza. Në këtë nivel, baza e të dhënave qëndron së bashku me gjuhët e saj të përpunimit “query”. Ne gjithashtu kemi marrëdhënie që përcaktojnë të dhënat dhe kufizimet e tyre në këtë nivel.
- Aplikacioni.Në këtë nivel qëndrojnë serverat e aplikacionit dhe programet që aksesojnë bazën e të dhënave. Për një përdorues, kjo paraqet një pamje abstrakte të të dhënave. Shtresa e aplikacionit qëndron në mes dhe vepron si një ndërmjetës midis përdoruesve fundorë dhe bazës së të dhënave.
- Përdoruesi. Përdoruesit fundorë operojnë në këtë nivel dhe nuk dinë asgjë rreth ekzistencës së databazës përtej kësaj shtrese. Në këtë shtrese, pamje shumëfishe të bazës së të dhënave mund të nxirren prej aplikacionit, të cilat janë të gjeneruara prej aplikacioneve që qëndrojnë në shtresën e mësipërme të aplikacionit.
1. MODELET E TË DHËNAVE (MODELI KONCEPTUAL, LLOGJIK, FIZIK)
Modelimi i të dhënave është hapi i parë që ndjekin zhvilluesit në dizenjimin e një databaze. Një model baze të dhënash përkufizohet si njëbashkësi konceptesh dhe rregullash të të dhënave që përcaktojnë strukturën e databazës dhe se si ato mund të ruhen, organizohen dhe manipulohen.
Së pari, paraqesim pjesët përbërëse kryesore të një modeli të dhënash dhe terminologjinë përkatëse.
- Entiteti. Përkufizohet si diçka që ekziston dhe është e mundur të përshkruhet, si për shembull studenti, pedagogu, kursi i studimit në një universitet. Një entitet përmban njësitë që njihen si raste apo skeda. Për shembull, entiteti “autor” përmban raste apo skeda me informacione të detajuara për autorë individualë.
- Atributi. Është karakteristikë e një entiteti që identifikon, lidh dhe përshkruan. Një atribut që identifikon rastet e entitetit është njëçelës kanditat. Një atribut që lidh entitetet është njëçelës i jashtëm. Një atribut është përshkrues nëse shpreh një karakteristikë të një skede entiteti, por nuk identifikon apo lidh. Çdo atributi i caktohet një bashkësi vlerash të vlefshme për elementët e të dhënave që njihet me termin domain. Lloji i të dhënave është një komponent i domain-it.
- Çelësat. Njëçelës përbëhet nga një ose më shumë atribute, vlera e të cilave në mënyrë të vetme identifikon një rast apo skede entiteti dhe përcakton lidhjet midis entiteteve. Njëçelës kandidat është një atribut ose bashkësi atributesh që përdoren për të identifikuar në mënyrë të vetme një skede entiteti. Çdo entitet mund të ketë disa çelësa kandidatë, por duhet të ketë të paktën një të tillë. Nga bashkësia e çelësave kandidatë zgjidhet një i quajtur çelës primar i cili është i vetëm dhe do të përdoret për të përcaktuar çelësat e jashtëm në entitetet e varura. Çelësi primar garanton unicitetin e çdo skede entiteti, ku vlera e çdo komponenti të tij nuk mund të jetë e munguar apo e panjohur dhe e pamundur të jetë e ndryshueshme. Çelësat e jashtëm identifikojnë lidhjet midis skedave të entiteteve.
- Lidhjet. Një lidhje përcakton se si entitete të ndryshme bashkëshoqërohen me njëra tjetrën. Dy tiparet që karakterizojnë një lidhje janë: kardinaliteti dhe detyrueshmëria. Kardinaliteti shpreh numrin e rasteve që ekzistojnë midis njëçifti entitetesh të lidhura. Kemi tre lloje kardinalitetesh. Kardinaliteti i tipit “një me një” (1:1) identifikon një lidhje të formës “një pedagog jep e shumta njëlëndë mësimore dhe një lëndë mësimore jepet e shumta nga një pedagog”. Kardinaliteti i tipit “një më shumë” (1:N) identifikon lidhjen e formës “një pedagog jep shumë lëndë dhe një lëndë jepet e shumta nga një pedagog”. Kardinaliteti i tipit “shumë me shumë” (M:M)identifikon lidhjet e formës “një pedagog jep shumë lëndë dhe një lëndë jepet nga shumë pedagogë”.Detyrueshmëria shpreh karakteristikën fundore të lidhjes. Për shembull, lidhja 1:1 “lënda jepet nga vetëm një mësues” është e detyrueshme, ndërsa lidhja “lënda mund të jepet nga 1 ose asnjë mësues” është jo e detyrueshme.
Modelimi i të dhënave kryhet në tre faza duke zhvilluar sipas rradhës tre modelet që vijojnë.
Modeli konceptual. Qëllimi i këtij modeli është dizenjimi i databazës në trajtë skematike të pavarur nga software –i i databazës dhe pjesëve fizike. Rezultati përshkruan entitetet kryesore të të dhënave, lidhjet dhe kufizimet e fushave, por jo specifikimin e atributeve dhe çelësave. Përmbajtja është vetëm përshkruese dhe treguese, pra e përbërë nga elementë grafikë dhe përshkrimet me tekst të tyre. Ajo paraqet një strukturë abstrakte të databazës që përfaqëson objektet e botës reale në mënyrën me realiste të mundshme. Në kuptimin praktik ajo paraqet njëpërshkrim të qartë të biznesit dhe pjesëve funksionale të saj. Hapat që ndiqen në zhvillimine këtij modeli janë: a) analiza e të dhënave dhe kërkesat; b) modelimi i lidhjeve të entiteteve; c) verifikimi i modelit të të dhënave; d) dizenjimi i modelit përfundimtar të databazës.
Modeli llogjik. Dizenjimi llogjik përbën fazën e dytë të punës në zhvillimin e databazës. Qëllimi i saj është të dizenjojë një databazë bazuar në një model specifik të të dhënave, por të pavarur nga komponentet fizikë. Konkretisht, në këtë fazë kërkohet që të gjithë objektet në modelin konceptual të skicohen në konstrukte të veçanta të përdorura prej modelit të zgjedhur të databazës. Për shembull, modeli llogjik i një databaze relacionale përfshin specifikimet për tabelat, lidhjet dhe kufizimet, atributet dhe çelësat. Hapat që ndiqen në zhvillimin e një modeli llogjik janë: a) skicimi i modelit konceptual në komponentë të modelit llogjik; b) vleftësimi (validate) i modelit nëpërmjet normalizimit; c) vleftësimi i kufizimeve të integritetit; d) vleftësimi i modelit kundrejt kërkesave të përdoruesit.
Modeli fizik. Dizenjimi fizik përbën proçesin e përcaktimit të organizimit të ruajtjes së të dhënave dhe karakteristikat e aksesit të të dhënave me qëllim garantimin e integritetit, sigurisë dhe performancës. Për shembull, në një model të tillë realizohet konvertimi i entiteteve në tabela dhe atributeve në kollona, përcaktohen lidhjet nëpërmjet çelësave të jashtëm dhe modifikohet modeli i të dhënave bazuar në kufizimet fizike. Hapat e realizimit të këtij modeli janë: a) përcaktimi i organizimit të ruajtjes së të dhënave; b) përcaktimi i komponentëve për të siguruar integritet dhe mbrojtje; c) përcaktimi i komponentëve për të garantuar performancën.
3. BAZAT E TË DHËNAVE RELACIONALE
Një sistem menaxhimi i bazave të të dhënave relacionale (RDBMS) është sistem menaxhimi i bazave të të dhënave që bazohet në modelin relacional të përkufizuar prej Codd-it në 1970. Një bazë të dhënash relacionale i organizon të dhënat në tabela dy-dimensionale. Një tabelëpërbëhet nga rreshta dhe kollona. Një rreshti i korrespondon një rekord. Një kollonë i korrespondon njëatribut. Ndërmjet tabelave mund të krijohen lidhje për ti mundësuar databazës të ruajë në mënyrë efiçente një sasi të madhe të dhënash dhe në mënyrë efektive të rigjejë të dhënat e zgjedhura.
Ai përkufizoi 13 rregullat e mëposhtme të cilatduhet të plotësojë një databazë relacionale për të qenë e tillë.
- Rregulla themelore. Një RDBMS duhet të jetë në gjendje të menaxhojë databazat tërësisht përmes kapaciteteve të tij relacionale.
- Rregulla e informacionit. Të dhënat e ruajtura në një databazë duhet të jenë vlerë e ndonjë qelize tabele. Çdo gjë ruhet në një format tabele.
- Aksesi i garantuar.Çdo vlerë në një databazë relacionale garantohet të jetë e aksesueshme prej përdorimit të një kombinimi të emrit të tabelës, vlerës sëçelësit primar dhe emrit të kollonës.
- Trajtimi sistematik i vlerave NULL. Sigurohet një mbështetje sistematike për trajtimin e vlerave NULL (të munguara, të panjohura dhe jo të aplikueshme).
- Katalog aktiv online. Përshkrimi i strukturës së databazës së plotë duhet të ruhet në një katalog online e njohur si katalogu i të dhënave, e cila mund të aksesohet prej përdoruesve të autorizuar duke përdorur të njëjtën gjuhe kërkese që përdoret për të aksesuar vetë databazën.
- Nëngjuha kuptimplotë e të dhënave. Databaza mund të aksesohet vetëm nëpërmjet një gjuhe qëështë e pajisur me një sintaksë të mirë përcaktuar dhe kuptimplote. Ajo duhet të suportojë përkufizimin e të dhënave, manipulimin e tyre, rregullat e integritetit, autorizimin dhe transaksionet.
- Përditësimi i pamjeve. Të gjitha pamjet (view) që janë teorikisht të përditësueshme mund të përditësohen përmes sistemit.
- Futja, përditësimi dhe fshirja në nivel bashkësie. Një databazë duhet të suportojë futjen, përditësimin dhe fshirjen në nivel të lartë. Kjo nuk duhet të kufizohet në një rresht të vetëm, pra ajo duhet të suportojë veprimet e bashkimit, prerjes dhe ndryshesës për të përftuar bashkësi rekorde të dhënash.
- Pavarësia fizike e të dhënave. Të dhënat e ruajtura në databaza duhet tëjenë të pavarura prej aplikacioneve që aksesojnë bazat e të dhënave. Çdo ndryshim në strukturën fizike të ndonjë databaze nuk duhet të ketë ndonjë impakt në atë se si të dhënat aksesohen nga aplikacione të jashtme.
- Pavarësia llogjike e të dhënave.Të dhënat llogjike në një databazë duhet të jenë të pavarura nga pamja e përdoruesit. Pra, çdo ndryshim në të dhënat llogjike nuk ndikon në aplikacionet që i përdorin ato.
- Pavarësia e integritetit. Gjuha e databazës duhet të jetë e aftë të sigurojë përcaktimin e rregullave të integritetit. Ata duhet të ruhen në një katalog online dhe nuk mund të tejkalohen.
- Pavarësia e shpërndarjes.Përdoruesi fundor nuk duhet të jetë në gjendje të shikojë që të dhënat shpërndahen në lokacione të ndryshme. Pra përdoruesit duhet të marrin gjithnjë perceptimin se të dhënat gjenden në një vend vetëm.
- Rregulla e joshkatërrimit. Nuk duhet të bëhet e mundur që të thyhen rregullat e integritetit të përkufizuara përmes gjuhës së databazës prej përdorimit të gjuhëve të niveleve më të ulta.
4. NDËRTIMI I SKEMËS LLOGJIKE TË BAZËS SË TË DHËNAVE
Modeli “entitet-lidhje” është një teknikë grafike e përdorur gjerësisht për kuptimin dhe organizimin e të dhënave duke specifikuar strukturën llogjike të përgjithshme të një databaze. Le të trajtojmë zhvillimin e një modeli të tillë nëpërmjet një shembulli praktik. Supozojmë se kërkohet dizenjimi i një modeli të tillë për zhvillimin e një databaze të një universiteti. Universiteti ka organizimin e mëposhtëm:
- Universiteti përmban disa departamente;
- Çdo department ofron disa kurse studimi;
- Në një department punojnë disa pedagogë;
- Një pedagog punon vetëm në një department;
- Çdo department ka një përgjegjës;
- Çdo pedagog mund të drejtojë vetëm një department;
- Çdo pedagog jep disa kurse;
- Një kurs jepet vetëm prej një pedagogu;
- Një student mund të regjistrohet në disa kurse;
- Çdo kurs studimi merret nga disa studentë
Hapi i parë: Identifikimi i entiteteve. Entitetet që nevojiten në rastin e shembullit janë Departamenti, Kursi, Pedagogu dhe Studenti.
Hapi i dytë. Identifikimi i lidhjeve. Meqë një department ofron shumë kurse, ndërsa një kurs mund të ofrohet vetëm prej një departamenti, atëherë kardinaliteti midis departamentit dhe kursit të studimit është i tipit “një me shumë” (1:N). Ngjashmërisht, meqë një department ka shumë pedagogë dhe një pedagog bën pjesë vetëm në një department, kardinaliteti department-instruktor është i tipit “një me shumë”. Meqë një department mund të ketë vetëm një përgjegjës dhe një përgjegjës mund të jetë përgjegjës vetëm në një department, atëherë kardinaliteti përgjegjës-departament është “një me një” (1:1). Meqë në një kurs mund të regjistrohen shumë student dhe një student mund të ndjeki disa kurse studimi, kardinaliteti student-kurs është i tipit “shumë me shumë” (M:N). Së fundi, meqë një pedagog mëson disa kurse dhe një kurs jepet vetëm prej një pedagogu, kardinaliteti kurs-pedagog është “shumë me një” (N:1).
Hapi i tretë: Identifikimi i atributeve çelës. “Emër_Departamenti” mund të shërbejë si atribut çelës për të identifikuar në mënyrë unike departamentin. Ngjashmërisht, “Kursi_ID”, “Pedagogu_ID” dhe “Studenti_ID” mund të shërbejnë si atribute çelës përkatësisht për entitetet Kursi, Pedagogu dhe Studenti.
Hapi i katërt: Identifikimi i atributeve të tjera. Në lidhje me shembullin tonë supozojmë se janë identifikuar atribute të tjera si vijon:
Entiteti Departamenti – Adresa;
Entiteti Kursi – Emri_Kursi, Kohëzgjatja;
Entiteti Pedagogu – Emri, Mbiemri, Telefoni;
Entiteti Studenti – Emri, Mbiemri, Telefoni;
Hapi i pestë: Skicimi i diagramës së plotë “lidhje-entitet”. Diagrama e shembullit në fjalë jepet nëpërmjet skicës së figurës 4-1, ku një figure ovale përdoret për atributet, një figure drejtkëndëshe përdoret për një entitet, dhe një figure në formë rombi përdoret për të identifikuar lidhjen llogjike midis dy entiteteve. Në të dyja anët e rombit përcaktohet tipi i kardinalitetit me të cilën lidhen entitetet përkatëse
Hapi i gjashtë:Meqë databazat relacionale nuk i suportojnë lidhjet “shumë me shumë”, është e nevojshme që të bëhet zbërthimi i tyre në lidhje të tipit “një me shumë” duke futur një entitet të ri shoqërues ndërmjet dy entiteteve ekzistues. Në shembullin e mësipërm, për lidhjen M:N kursi-studenti, përcaktojmë një entitet shoqërues të quajtur Regjistrimi me lidhjet 1:N student-regjistrimi dhe kursi –regjistrimi. Çelësat primarë të dy entiteteve ekzistues duhet të jenë atribute të entitetit shoqërues.
Së fundi, theksojmë se hapave të mësipërm i shtohet dhe përcaktimi i llojeve të të dhënave dhe normalizimi të cilat do të shqyrtohen në tema të veçanta. Një model llogjik i plotë i shembullit të mësipërm jepet nëfigurën 4-2.
5. VEPRIMET E ALGJEBRËS RELACIONALE
Sistemet e databazave relacionale janë të pajisura me një gjuhë kërkese për informacion (query). Algjebra relacionale është një gjuhë kërkese proceduriale e cila merr si hyrje një bashkësi të dhënash në formën e rekordeve në tabela dhe nxjerr në dalje një bashkësi tjetër të dhënash po në formën e rekordeve në tabela. Ajo përdor operatorët për të ekzekutuar kërkesat. Veprimet themelore të algjebrës relacionale janë si vijon:
Zgjedhja. Zgjedh rekordet nga njëtabelë që kënaqin kushtet e dhëna. Përdoret shënimi . Simboli i referohet llojit të operatorit në fjalë, r i referohet tabelës, ndërsa p është një formulë që përbëhet nga një kombinim i operatorëve llogjike “and” (dhe), “or” (ose) dhe “not” (nuk), dhe operatorëve të zakonshëm matematikë të krahasimit =, ≠, ≥, < , >, ≤. Për shembull,
Rezultati i shembullit të parëështë bashkësia e rekordeve tëtabelës “libra” të cilat e kanë vlerën e atributit “subjekti” me etiketën “databaze”. Rezultati i shembullit të dytëështë bashkësia e rekordeve tëtabelës “libra” të cilat i përkasin subjektit “databaze” dhe janë me çmim 450. Rezultati i shembullit të tretëështë bashkësia e rekordeve tëtabelës “libra” të cilat i përkasin subjektit “databaze” dhe janë me çmim 450, ose rekordeve të lidhjes libra që janë të vitit “2016”. Një shembull i skematizuar jepet në figurën 5-1.
Projektimi. Projekton kollonat që kënaqin një kusht të dhënë. Përdoret shënimi ∏A1, A2,An(r), ku A1, A2, … , An janë emrat e atributeve të tabelës r. Ndërkohë, rreshtat e dublikuara janë automatisht të eliminuara. Për shembull, Π, subjekti, autori (libra) , zgjedh dhe projekton kollonat e atributeve “subjekti” dhe “autori” nga tabela “libra”. Një shembull i skematizuar jepet në figurën 5-2.
1. FORMAT NORMALE
Normalizim është proçesi i identifikimit tëpozicionit më të mirë ku çdo e dhënë bën pjesë. Ajo përbëhet nga një bashkësi rregullash dhe teknikash zbatimi i të cilave minimizon anomalitë dhe tepritë e të dhënave dhe optimizon strukturën e të dhënave prej vendosjes në mënyrë sistematike dhe siç duhet të elementëve të të dhënave në grupime të përshtatshme.
Normalizimi u krijua prej Codd-it në fillimet e viteve 1970, i njohur si zhvilluesi i modelit relacional. Ashtu si modeli relacional i të dhënave, normalizimi mbështetet tek principet matematike të teorisë së bashkësive. Ai është një proçes llogjik i organizimit të kollonave (atributeve) dhe tabelave (lidhjeve) në një databazë relacionale me qëllim reduktimin e paqartësive dhe përmirësimin e integritetit të të dhënave. Një model i normalizuar i të dhënave garanton qëçdo entitet është i mirë formuar dhe çdo atribut i është caktuar siç duhet entiteteve përkatëse. Normalizimi përbëhet prej disa formave normale. Codd ishte i pari që në vitet 1971 dhe 1972 përshkroi tre format e para normale, të cilat u pasuan më vonë nga forma normale shtesë të përkufizuara nga të tjerë.
Forma normale e parë (FN1). Objektivi i FN1 është eleminimi i të dhënave joatomike dhe grupeve të përsëritura nga një entitet. Kur arrihet një FN1, çdo atribut i një entiteti është një fakt diskret i vetëm, pra atomik. Në një databazë relacionale, një rresht është në FN1 atëherë dhe vetëm atëherë kur të gjithë fushat e saj përmbajnë vetëm vlera atomike (Nuk përmban komponentë më të vegjël të kuptimtë).Për të normalizuar një model të dhënash në FN1, eliminohen grupet me përsëritje vlerash në entitetet e veçanta. Pra, nuk përdoren atribute shumëfishe në një entitet të vetëm për të ruajtur të dhëna të ngjashme.
Shqyrtojmë shembullin e tabelës 6-1që paraqet të dhënat e entitetit STUDENT nga një databazë e një universiteti. Siç shihet, të dhënat përmbajnë disa shkelje të FN1. Së pari, identifikohen kurse që janë në grupe me përsëritje për studentët. Informacioni i kursit duhet të zhvendoset në entitete të ndara. Për më tepër, nevojitet të specifikohen identifikuesit për të dy entitetet. Identifikuesi ështëçelësi primar për entitetin. Duhet patur kujdes në zgjedhjen e çelësit primar të përshtatshëm tëçdo entiteti. Kështu, fillimisht mund të mendohet të zgjidhet Kursi_Num për entitetin KURSI. Por në këtë rast, nevojitet më shumë informacion për të identifikuar një kurs. Data e përfundimit të kursit aplikohet në një kombinim të STUDENT-it dhe KURS-it – një kurs nuk mund të përfundohet po të mos jetë regjistruar studenti dhe ta ketë ndjekur atë.
Një shkelje e dytë e FN1 janë ekzistenca e të dhënave joatomike në atributin STUDENT_EMER. Emri i studentit mund të ndahet në pjesë si: emri, babai, mbiemri. Pra, nuk është e pandashme dhe prandaj thyen rregullën e të qenurit FN1. Rezultati fundor i të qenurit FN1 përshkruhet nëtabelën 6-2 dhe tabelën 6-3.
Forma normale e dytë (FN2).Forma e dytë normale, shkurt FN2, siguron që të gjitha atributet e çdo entiteti të jenë të varura nga çelësi primar. Për të transformuar të dhënat FN1 në FN2, krijohen entitete të ndara për bashkësitë e atributeve që aplikohen në rekordet me vlera shumëfishe dhe caktohet njëçelës i jashtëm në entitetin e ri për të lidhur atë me entitetin e saj të mëparshëm. Pra, vlerat në një entitet nuk duhet të varen në asgjë tjetër përveç se nëçelësin primar të entitetit. Një rresht është në FN2 atëherë dhe vetëm atëherë kur është në FN1 dhe çdo atribut jo çelës është plotësisht i varur nga çelësi.
Po të analizojmë të dhënat e tabelave në FN1 vihet re se ka përsëritje në entitetin KURSI, siç janë Anglisht dhe Sociologji. Kjo situatë tregon një thyerje të standardit FN2. Për ta mundësuar këtë nevojitet identifikimi i atributeve që nuk varen nga çelësi primar dhe të hiqen ato. Atributet e hequra së bashku me çelësin primar nga i cili varen, vendosen në një entitet të ri, të quajtur REGJISTRIMI. Çelësi primar i plotë i entitetit origjinal mbetet me entitetin origjinal. Një përfitim tjetër i proçesit të normalizimit është që ju do të ndeshni atribute të reja që nevojitet të specifikohen për entitetet e reja që janë krijuar. Për shembull, ndoshta entiteti i ri KURSI na sjell ndër mend qëçdo kursi i caktohet një numër kreditesh që llogaritet për diplomim. Kështu, ne krijojmë një atribut të ri për të ruajtur numrin e krediteve për çdo kurs të veçantë. Rezultatet fundore të normalizimit në FN2 janë përshkruar nëtabelat 6-4 dhe 6-5. Theksojmë se për entitetin STUDENT nuk ka ndryshime në FN2
Forma normale e tretë (FN3). Forma normale e tretë siguron që asnjë lidhje midis atributeve nuk ekziston brenda një entiteti. Çdo atribut në një entitet duhet të varet vetëm nga çelësi primar. Përkufizohet se një rresht është në FN3 atëherë dhe vetëm atëherë kur është në FN2 dhe çdo atribut jo çelës është në mënyrë jokalimtare i varur nga çelësi primar.Rregulla për të identifikuar të mos qenurit FN3 është të shikohet për grupe atributesh vlerat e të cilave mund të aplikohen në më shumë se në një rast i vetëm entiteti. Kur zbulohen atribute të tilla, ato lëvizen në një entitet të veçantë.
Le tëshqyrtojmë si shembull të dhënat e STUDENT-it në tabelën e entitetit STUDENT në FN1. Vihet re që ka studentë në të njëjtën degë dhe prandaj ka përsëritje për degën. Për të rregulluar problemin, hiqen atributet e degës që në mënyrë kalimtare varen nga çelësi dhe krijohet një entitet i ri për ta. Tabelat 6-6 dhe 6-7 tregojnë të dhënat e rregulluara në FN3.
Për të realizuar modelin e plotë të studentit në FN3, diagrama e paraqitur nëfigurën 6-1 jep modelin e zhvilluar për këtë qëllim.
Forma normale të tjera.Ekzistojnë forma të tjera normalizimi të përkufizuara dhe dokumentuara, por në praktikë ato ndeshen dhe nevojiten më rrallë se tre format e mësipërme. Të tilla janë:
- Forma normale Boyce Codd (FNBC). Kjo formëështë rregullim i mëtejshëm i FN3. Një rresht është në FNBC atëherë dhe vetëm atëherë nëse çdo determinant është njëçelës kandidat. Determinant është çdo atribut vlera e të cilit përcakton vlerat e tjera brenda një rekordi entiteti. Në përgjithësi, pjesa më e madhe e FN3 janë tashmë në FNBC.
- Forma normale e katërt (FN4). Kjo formë kërkon që asnjë entitet nuk ka më shumë se një lidhje të vetme “një me shumë” nëse atributet “një me shumë” janë të pavarura nga njëra tjetra.
- Forma normale e pestë (FN5). Kjo formë specifikon qëçdo varësi bashkimi (join dependency) për entitetet duhet të jetë rrjedhojë e çelësave kandidatë të tyrë.