Databasadministration
Läst systemvetenskap vid Luleå Tekniska Universitet
IT-konsult
Ronny Hansson
31 år gammal
Systemvetenskap med inriktning mot informatik
Utbildare
Främst utbildad i konstruktion av databaser på
det logiska och konceptuella planet
Nås säkrast via epost
[email protected]
Kan även nås via min mobil:
070 – 34 32 972
Vid sjukdom
eller annan frånvaro
Anmäl till mig via mail eller mobiltelefon
Kursen Databasadministration
Syfte
Kursen syftar till att ge studenterna kunskap om
databaser, databashanterare och språket SQL.
Kursen Databasadministration
Mål
Kursen skall ge studenterna kunskaper om hur en
databas fungerar, färdigheter i att skapa och
hantera relationsdatabaser samt administration av
databashanterare.
BETYG
För G:
Ha ett snitt på G i samtliga moment och uppgifter.
Ha maximalt 5 % ogiltig frånvaro
Visa engagemang för lektionerna
INFORMATION
VS
DATA
INFORMATION
Alla information i världen gör dig ingen
nytta om du inte kan hitta det du behöver.
För att underlätta sökandet kan man
använda databaser.
DATA OCH INFORMATION
Data är uppgifter av olika slag. Ibland skiljer man data från
information, som är data som man gett en tolkning.
Alltså är 23 ett exempel på data, medan det är information om
vi vet att det är 23 grader varmt ute. Ibland talar man också om
kunskap, som i "kunskapsbaserade system".
Kunskap är anvisningar om beteende, exempelvis regler för hur
datorn ska dra slutsatser.
SKILLNADEN MELLAN STRUKTURERAD
OCH ICKE-STRUKTURERAD INFORMATION
Dessa två exempel belyser skillnaden mellan
strukturerad och icke-strukturerad information
STRUKTURERAD INFORMATION
Om vi står i ett bibliotek och
jag ber er hämta Jan
Guillous bok Ondskan så
går ni till rätt avdelning,
sedan till bokhyllan där G
ligger och söker er sedan
fram till nästa bokstav osv.
ICKE-STRUKTURERAD INFORMATION
Förställ er nu istället att alla
bibliotekets böcker ligger i
högar på golvet, slumpvis
staplade och jag vill
fortfarande ha Jan Guillous
Ondskan, hur gör ni nu?
DATABASER I DAGLIGT LIV
VILKA DATABASER RÅKAR
NI UTFÖR ELLR ANVÄNDER
NI I ERT DAGLIGA LIV.
SKILLNADEN MELLAN STRUKTURERAD
OCH ICKE-STRUKTURERAD INFORMATION
Dessa två exempel belyser skillnaden mellan
strukturerad och icke-strukturerad information
VAD ÄR EN DATABAS
Innehåll
Databaser
Vad?
Varför?
Hur?
Databas – vad är det?
Med ordet databas brukar man avse en samling
data som:
hör ihop
Databas – vad är det?
Med ordet databas brukar man avse en samling
data som:
som visar en modell av en del av världen, till
exempel ett företag och dess verksamhet
Databas – vad är det?
Med ordet databas brukar man avse en samling
data som:
inte försvinner när man avslutar programmet eller
stänger av datorn, dvs är persistent
Databas – vad är det?
När man jobbar med databasteknik brukar man
också mena att en databas ska:
Databas – vad är det?
När man jobbar med databasteknik brukar man
också mena att en databas ska:
ha ett schema, dvs det ska finnas en beskrivning
av vad det är för data
Databas – vad är det?
När man jobbar med databasteknik brukar man
också mena att en databas ska:
vara konsistent eller logiskt koherent, dvs den får
inte innehålla motsägelser
Databas – vad är det?
När man jobbar med databasteknik brukar man
också mena att en databas ska:
lagras och hanteras i en dator.
Databas – varför?
Minimera risken för fel
Minimera lagringsplats
Öka sökbarheten
Öka kontrollen
Databas – varför?
Minimera risken för fel
har man bara en liten mängd information så kan
man klara sig utan en databas. Man kan tex gå
och handla hem varor utan att göra en
inköpslista, men då kommer du troligen att
glömma köpa någonting som du normalt inte har
hemma
Databas – varför?
Minimera lagringsplats
Genom att organisera informationen så undviker
man dubbellagring av information
Databas – varför?
Öka sökbarheten
genom att exempelvis lagra en butiks sortiment i
en databas kan man enkelt kontrollera om man
har turkisk yoghurt i sitt sortiment
Databas – varför?
Öka kontrollen
en butik måste kunna kontrollera sitt lagersaldo,
och då de flesta butiker i dagsläget har EANkodsläsare så kan man lätt koppla så att
försäljning av vara X ger minskning av saldot av
vara X med lika stort antal som säljs.
Databas – hur fungerar det?
Strukturerad samling av data
Möjlighet att söka och filtrera
Presentera vald information
Databas – hur fungerar det?
Strukturerad samling av data
• Datan i databasen skall tillsammans bilda
information av värde.
• Datan måste på något sätt höra ihop med varandra
Databas – hur fungerar det?
Möjlighet att söka och filtrera
• Datan måste vara indexerad på ett sökbart sätt
• Datan måste kunna sorteras
• Datans typ måste vara enhetlig
Databas – hur fungerar det?
Presentera vald information
• Datan ska presenteras på ett tydligt sätt
• De efterfrågade dataenheterna ska kunna bilda
en meningsfull informationssträng till den som
efterfrågat dem
DEN VANLIGASTE TYPEN
AV DATABAS
RELATIONSDATABASER
RELATIONSDATABASER
Den vanligast förekommande typen av databaser
RELATIONSDATABASER
Består av tabeller, där varje tabell
har relationer till andra tabeller
Varje tabell kallas tabell eller relation.
Jag kommer försöka vara konsekvent och
kalla dem tabeller.
RELATIONSDATABASER
HELA samlingen av tabeller kallas databas.
RELATIONSDATABASER
En relation definieras som en mängd av poster som har
samma attribut.
RELATIONSDATABASER
Detta representeras oftast i form av en tabell i vilken data är
organiserad i rader och kolumner.
RELATIONSDATABASER
I en relationsdatabas måste alla data i en viss kolumn vara av
samma domän, det vill säga ha samma datatyp.
RELATIONSDATABASER
I relationsmodellen bör poster inte ha någon specifik ordning,
och attributen bör inte ha någon ordning inom en post.
RELATIONSDATABASER
Varje POST är en förekomst i databasen
RELATIONSDATABASER
Varje förekomst kallas RAD, POST eller TUPEL
Jag kommer försöka vara konsekvent med POST
RELATIONSDATABASER
Varje kolumn kallas ATTRIBUT
Vi återkommer till detta när vi
kommer till ER-modelleringen
RELATIONSDATABASER
Det är lätt att föreställa sig en relation om man föreställer
sig att varje post är en rad och varje attribut en kolumn.
Så brukar det också presenteras på skärmen.
Exempel på en Relationsdatabas
Efternamn
Nilsson
Svensson
Andersson
Förnamn
Nils
Sven
Anders
Telefon
08 – 12345
08 – 67890
08 – 15973
Här är ett enkelt exempel på en relationsdatabas,
man skulle kunna söka på Efternamn eller
Förnamn eller Telefonnummer.
Exempel på en Relationsdatabas
Efternamn
Nilsson
Svensson
Andersson
Förnamn
Nils
Sven
Anders
Telefon
08 – 12345
08 – 67890
08 – 15973
Man kan även kombinera två eller fler kolumner
vid en sökning.
Exempel på en Relationsdatabas
Efternamn
Nilsson
Svensson
Andersson
Förnamn
Nils
Sven
Anders
Telefon
08 – 12345
08 – 67890
08 – 15973
Denna enkla lilla databas innehåller tre poster,
varje post har tre kolumner.
RELATIONSDATABASER
NYCKLAR
Nycklar möjliggör sökandet mellan de olika relationerna.
Det är mellan de olika typerna av nycklar som man uppnår
sökbarheten i databasen
RELATIONSDATABASER
NYCKLAR
En post motsvarar ofta något objekt och information
förknippad med det, oavsett om objektet är ett fysiskt
objekt eller ett abstrakt koncept.
En nyckel är en slags restriktion som ser till att objektet
eller kritisk information om ett objekt inte dupliceras
RELATIONSDATABASER
NYCKLAR
Till exempel kan man inom en familj ha restriktionen att inga
två familjemedlemmar har samma förnamn.
Om information om denna familj lagrades i en relationsdatabas
skulle förnamnen kunna användas som nyckel.
RELATIONSDATABASER
NYCKLAR
Dessvärre är förnamn inte unika över större mängder,
som till exempel hela Sveriges befolkning.
Därför tilldelas svenska medborgare ett personnummer,
som är unikt för varje person i Sverige, och som används
som nyckel i både privata och offentliga relationsdatabaser.
RELATIONSDATABASER
NYCKLAR
Primärnyckel
Naturlig nyckel
Surrogatnyckel
Främmande nyckel
Kandidatnycklar
Sammansatta nycklar
Sammansatta främmande nycklar
RELATIONSDATABASER
NYCKLAR
De flesta relationer har åtminstone en nyckel,
den så kallade PRIMÄRNYCKELN.
RELATIONSDATABASER
NYCKLAR
Om nyckeln är faktiskt intressant data med
logisk anknytning till posten (som förnamnet i
familjeexemplet ovan) kallas den NATURLIG NYCKEL.
RELATIONSDATABASER
NYCKLAR
Om nyckeln istället är automatiskt genererad och
inte har en djupare anknytning till resten av objektets
attribut (oftast i form av ett serienummer) kallas den
SURROGATNYCKEL.
RELATIONSDATABASER
NYCKLAR
För att koppla ihop tabellerna så flyttar man med
en tabells primära nyckel till en annan tabell.
Den primära nyckeln i tabell A blir en
FRÄMMANDE NYCKEL i tabell B
RELATIONSDATABASER
NYCKLAR
Att utse en primärnyckel är inte alltid ett lätt val, man
kan sitta med flera olika alternativ till primärnyckel.
Dessa alternativ kallas KANDIDATNYCKLAR.
Mer om detta när vi kommer till datamodellering
RELATIONSDATABASER
NYCKLAR
Ibland kan man inte hitta något bra sätt att bara få ett
attribut att bli en nyckel.
Man kan då antingen skapa ytterliggare ett attribut
(typ serienummer) eller välja att två attribut tillsammans
bildar en unik nyckel. Att sätta samman två attribut till en
nyckel bildar en SAMMANSATT NYCKEL.
RELATIONSDATABASER
NYCKLAR
Om man får en kopplingstabell, en tabell som
bara kopplar samman två andra tabeller, i
relationsdatabasen så kommer deras primära
nycklar bilda en SAMMANSATT FRÄMMANDE NYCKEL.
Mer om detta när vi kommer till Normalisering
Rangordna följande databaser
utifrån storlek, antalet användare
och marknadsdominas, 30 min.
Oracle
MSSQL
MySQL