Efnisflokkur: MySQL bók

Handritsútgáfa: 17. september 2014 – ISBN 9979-9583-5-9 (PDF skjalið). Þessi blogg þráður birtir efni úr bók minni „Íslenzka MySQL gagnagrunnsbókin“ eins og hún var vorið 2005. Menntamálaráðuneytið styrkti ritun og útgáfu þessarar bókar. Vörumerkið MySQL er eign MySQL AB í Svíþjóð.

ATH: Elsta er efst, nýjast er neðst!

1. kafli. Inngangur

img-coll-1605

Bók þessi er til orðin af þörf á íslenzkri kennslubók í SQL[1] gagnagrunnsfræði. Mikið er til af hugbúnaði sem byggir á þess konar tækni og sýnist sitt hverjum um hvaða búnaður er bestur. Slík umræða verður eftirlátin mér hæfara og vitrara fólki. Deila má t.d. um hvort biðlara/miðlara tól á borð við Oracle og SQL Server fylgi betur SQL staðlinum frekar en MySQL. Ástæðan fyrir því að ég valdi MySQL … Lesa meira


SQL staðallinn

img-coll-1289

SQL staðallinn er fyrst og fremst tungumál. Tungumálið er málskipun (e. Syntax) sem skilgreinir málfræði og rithátt sem forritari getur notað til vinnslu með gagnasöfn. Skipta má SQL málinu í tvo þætti: Annars vegar gagna-skilgreiningarmál og hins vegar gagna-meðhöndlunarmál. Gagna-skilgreiningarmál, á ensku Data Definition Language eða DDL, eru notuð til að skilgreina gagnageymslur. Gagnageymslur fjalla um hvernig gagnagrunnurinn eða gagnasafnið skuli uppbyggt. Þessi uppbygging nær til skilgreiningar á töflum, gagnategundum … Lesa meira


Biðlari/miðlari

img-coll-0702

MySQL er hraðvirkur léttavigtar gagnagrunns miðlari[1] sem byggir á miðlara/biðlara hugmynd. Búnaðurinn verkar á þá leið, að venslaðir gagnagrunnar eru smíðaðir og uppsettir á MySQL þjóni. Þjónninn miðlar þeim síðan til notenda á  öðrum vélum (eða á sömu vél). Oft er á þessum vettvangi rætt um „three-tier,“ „two-tier“ og „multi-tier“ umhverfi. Er þá átt við þegar notandi er á einu sviði (e. Tier), gagnagrunnur á öðru og jafnvel annar grunnur … Lesa meira


Saga MySQL

img-coll-0312

Saga MySQL er að nokkru leyti tengd sögu mSQL gagnagrunns­þjónsins og má rekja til baka til ársins 1994. Á þeim tíma, þegar notendur þörfnuðust RDBMS[1] (e. Relational DataBase Management System) kerfa var fátt í boði. Helstu vörumerki þess tíma voru Oracle, Sybase og Informix. Þessi kerfi sem öll kostuðu og kosta enn skildinginn voru hönnuð til að miðla gríðarmiklu magni gagna og oft innan flókinna vensla (skyldleika). Öll þessi kerfi … Lesa meira


Verkvangar og prófanir

img-coll-0269

Grunnútgáfa MySQL virkaði eingöngu á Linux og Solaris og stærsti vandinn við að færa hann yfir á aðra verkvanga (e. Platform) var að þjónninn þurfti þrædd POSIX[1] söfn (e. Threaded POSIX libraries). Í janúar 1997 kom út breytt (e. Modified) útgáfa af MIT-pthreads með kótanum, sem í rauninni er endurbætt POSIX þráðaforritun. Til þess að nota MySQL frá öðrum forritunarmálum þarf forritunarskil (API) og frá upphafi hefur miðlarinn verið gefinn … Lesa meira


Hraði

img-coll-0126

Við prófanir hefur komið í ljós að MySQL er afar hraðvirkur, hraðvirkari en nærri allar samkeppnis­hæfar lausnir. Ein af ástæðunum fyrir þessum mikla hraðamun er sú að miðlarinn styður ekki öll smáatriði SQL staðalsins. Sumir telja MySQL einnig til tekna að kótinn miðlarans er nær eingöngu gerður af einum og sama manninum sem jafnframt býr yfir margra ára reynslu í kótun. Þess vegna sé lítið af um­fremdar (e. Redundant) kóta í kerfinu. … Lesa meira


Notendaleyfin

img-coll-0166

MySQL notendaleyfi eru gefin út miðað við sanngjörn skipti (e. Fair exchange) eða „Quid Pro Quo,“ sem útleggst sem „eitthvað fyrir eitthvað.“ Eins og fram hefur komið er MySQL gefið út með samskonar hætti og Aladdin Ghostscript, sem merkir að uppruna-kótinn (e. Source code) er opinber, miðlarinn og biðlaraforritin eru frí fyrir  UNIX (og Linux). Auk þess eru eldri (úreltar) útgáfur algjörlega opnar með GPL leyfi. Þetta merkir að sé … Lesa meira


2. Kafli. Hugtakanotkun gagnagrunnsfræða

img-coll-0019

Hvað er gagnagrunnur Við erum vön því að nota gagnagrunna daglega. Þegar flett er upp í símaskrá, eða skjal vistað á diski er notaður gagnagrunnur. Sé gerður minnis-, eða  innkaupalisti er notaður gagnagrunnur. Gagna­grunnur (e. Database) er skipulagt safn upplýsinga sem geymt er eftir skilgreindu kerfi. Sjóðurinn er þá grunnurinn en upplýsingar sjóðsins eru gögnin í grunninum; gagnagrunnur. Bankareikningur er gagna­grunnur og líta má á allar upplýsingar sem geymdar eru eftir skipulögðu … Lesa meira


Venslaðir gagnagrunnar

ted-codd

Ted Codd og vensla-algebra Dr. E. F. Codd (f. 1923 d. 2003) var breskur stærðfræðingur sem vann að rannsóknum hjá IBM mest allan sinn starfsferil. Á sjöunda áratugnum hafði hann unnið allnokkuð við rannsóknir á gagna­grunnum og gagna­grunns notkun þess tíma. Um 1970 birti hann grein um venslaða gagnagrunna sem hefur gjörbylt allri hugsun varðandi gagnagrunns vinnslu síðan. Hann hafði komist að þeirri niðurstöðu að gagnagrunnar þess tíma og vinnsla … Lesa meira


Einföld gagnageymsla

filegluggi

Hér á eftir er skráalisti úr „/home“ skráasafni (e. Directory) á tölvu með RedHat Linux stýrikerfi. Myndin sýnir lista yfir 11 skráasöfn og eina skrá í 12 línum. Allar línurnar innihalda lýsingu á viðkomandi skrá( eða skráasafni), stærð, dagsetning, hver sé eigandi, lesréttindi og inningarréttindi[1]. Fyrir allflesta tölvunotendur lítur slíkur listi út fyrir að vera nákvæmlega það sem hann er: listi yfir skrár sem innihalda gögn og skráasvæði sem geta … Lesa meira


Einfaldur gagnagrunnur

img-coll-0229

Til þess að átta sig á því hvers vegna hugmyndir Dr. Codd höfðu byltingarkennd áhrif á gagnagrunna er vert að athuga aðra möguleika á gagnasöfnum t.d. mætti athuga einfalda gagnaskrá sem geymir samskiptaupplýsingar einhverra aðila: nöfn, heimilisföng, netföng og slíkt. Einfaldast væri að álíta sem svo að skráakerfi stýrikerfisins myndi geyma skrána og ákveða mætti að hún væri afmörkuð (e. Delimited) textaskrá. Tafla 1a Nafn   Heimilisfang  Sími   Netfang       Veffang Grjóti … Lesa meira


Frávik og fleiri þættir

img-coll-0254

Markmið Codds var að nálgast „áreiðanlegt upplýsinga líkan“ (e. Dependable Information Model). Allar geymslu aðferðir sem í boði voru buðu upp á vandamál sem hann kallaði frávik, á ensku Anomalies. Hann flokkaði þessi frávik í þrjá flokka: „dagréttinga frávik“ (e. Update Anomaly), „Eyðingar frávik“ (e. Delete Anomaly) og „Innskots frávik“ (e. Insert Anomaly). Dagréttinga frávik Gefum okkur að púkinn sem áður var talað um sé fyrir hendi og nú sé … Lesa meira


Einindi

img-coll-0498

Algeng aðferð við að skipta upp töflum er sú að greina upplýsingar þeirra upp í einindi (e. Entity) og reyna eins og hægt er að greina atóms-gildi (e. Atomic values) þeirra eða frumgildi (e. Primary values) sem nákvæmast. Til þess að beita þessari aðferð er gott að líta fyrst á skilgreiningu[1] hugtaksins Einindi: Einindi samkvæmt Tölvuorðasafninu er: „Sérhvert hlutrænt eða hugrænt fyrirbæri sem er til, hefur verið til eða gæti … Lesa meira


1. Æfing – Gildamengi

img-coll-0275

Hvaða gildamengi myndir þú velja eigindum einindanna í jólakorta-grunninum? Bættu þeim við skil­greining­arnar úr þeirri æfingu. Einindavensl, Töflur og Vensl Hér erum við komin að kjarna nafngiftarinnar „Venslað gagnalíkan“ (e. A Relational Model). Líkanið verkar þannig að öll vel skilgreind einindi eru sett í sínar eigin töflur eða vensl (e. Table, Relation). Hverri töflu sé skipt upp í dálka (e. Column) sem nefnast svið (e. Field). Fyrsta lína töflunnar geymir … Lesa meira


2. Æfing – Greining

skemamynd

Hvað ef Grjóti Stefsson, sem er forstjóri hjá Hugbrjót ehf. gerist einnig forstjóri hjá nýju fyrirtæki sem einnig er í samskiptum við okkar fyrirtæki, hvernig ættum við að geyma slíkar upplýsingar? Tafla 4 Töfluheiti: Póstsvæði. Nr. Nafn 0220 Hafnarfirði 0110 Reykjavík 0210 Garðabæ 0200 Kópavogi 0105 Reykjavík Í báðum töflunum, Fyrirtæki og Einstaklingar er nú safn eininda sem öll hafa heimilisföng sem götuheiti og póstsvæði. Póstsvæði er samsett gildi úr … Lesa meira