Det här är ett avsnitt i Generell
databashantering - en orientering
Introduktion till datamodulering
Datamodeller
Databasens utseende, dvs vilka data och händelser som skall lagras och hur de hör ihop, kallas för datamodulering.
- Tabeller (tables)
Datamodellen består av en eller flera tabeller.
Om datamodellen har en tabell kallas den hierarkisk medan den kallas relations-modell
(eller relations-databas) om det finns flerän en tabell.
- Fält (fields)
Varje tabell består av ett visst antal fält med ett unikt fältnamn
(fieldname). Vilka fält som finns, vad de heter, vad de får innehålla,
kallas här för schema och följdaktligen bestämmer tabellernas
schema vilka data som kan lagras i databasen. Schemat kallas också datakatalog
eller meta-data, vilket betyder "data om data"
- Poster (records)
Databasens databasens innehåll (samling av data, inmatning) lagras som poster
för varje tabell och dess fält.
Hur databasens ser ut finns det inget givet svar på,
utan det sätt vi modellerar en del av världen är någon
som bestäms av oss själva.Ett exempel på en vanlig tabell är
telefonkatalogen vars schema bestämmer vilken data som kan lagras (jmf
hur olika 'kataloger' kan se ut).
Man brukar dela in datamodellerna i tre klasser:
- Konceptuella eller begreppsmässiga datamodeller
Om man ska skapa en databas som beskriver en del av verkligheten, t ex ett
företag, brukar man börja med att göra en beskrivning av hur den delen av
verkligheten ser ut och fungerar. Till det kan man använda en konceptuell
datamodell. Den konceptuella modellen behöver egentligen inte ha någonting
med datorer att göra, utan är bara en beskrivning av verkligheten som lika
gärna skulle kunna användas av någon som bara vill analysera hur företaget
fungerar eller kanske bara städa upp bland papper och pärmar.
- Implementationsmodeller
Det här är de datamodeller som används i databashanterare (dvs en datoriserad
databas). Om man vill skapa en databas måste den beskrivning man gjort med
hjälp av en konceptuell datamodell översättas till något som går att stoppa
in i en dator, nämligen en beskrivning enligt en implementationsmodell.
- Fysiska datamodeller
som kan användas för att beskriva hur data lagras fysiskt.
Tre-schema-arkitekturen
Det kan vara praktiskt att betrakta sin databas på tre olika nivåer. Det är
hela tiden samma data, men man använder tre olika scheman för att beskriva
dem:
- Extern vy
beskriver hur de olika användaren ser databasens tabeller, fält och
poster.
Till exempel behöver 'vanliga' användare enklare och mer vänliga
vyer än databas-experter som utvecklar databasen. Detta beskrivs av det
externa schemat.
- Logisk vy
beskriver hela databasen, uttryckt i den implementationsmodell som
databashanteraren använder. I en relationsdatabas består den logiska nivån
av alla tabellerna i databasen. Detta beskrivs av det logiska schemat.
- Intern eller Fysisk vy
som beskriver hur data är lagrat. Som användare märker man oftast inte
alls av den här nivån, utom som hur fort det går att göra olika operationer.
Den fysiska nivån beskrivs av det fysiska schemat.
Även följande begrepp kan visas:
- Logiskt dataoberoende innebär att man kan ändra det logiska schemat,
utan att det externa schemat påverkas.
- Fysiskt dataoberoende innebär att man kan ändra det fysiska schemat,
utan att det logiska schemat påverkas.
Tre-schema-arkitekturen kallas ibland "tre-nivå-arkitekturen".
Olika användare
Ibland skiljer man på olika typer av användare, dvs personer som arbetar med
databasen:
- Expertanvändare
använder databasen ofta, kanske dagligen. De är väl insatta i databasens
uppbyggnad och databashanterarens funktion, och sitter kanske och skriver
SQL-frågor.
- Tillfälliga eller naiva användare
kan inte lika mycket om databasen, kanske för att de använder den mer sällan.
De behöver enklare och mer nybörjarvänliga verktyg än experterna. Man kan
inte kräva att alla biljettförsäljare på SJ ska lära sig SQL. (Termen "naiv
användare" betyder förstås inte att personerna i fråga är naiva i största
allmänhet, ifall någon nu trodde det, utan bara att de inte har en djup
förståelse just när det gäller databassystemet).
- Databasadministratören
ansvarar för databasens drift, ungefär som en systemansvarig för vilket
datorsystem som helst. För stora databassystem kan det vara en hel grupp
av DBA-personal. DBA-personalen utformar och förändrar databasschemat,
registrerar nya användare, och ser med olika justeringar till att databassystemet
fungerar bra och effektivt.
- Andra datorprogram
Det är inte ovanligt att en del av databasens "användare" är andra datorprogram,
som hämtar data från databasen, och skickar data till den. En del databaser
har inga mänskliga användare alls, utan det är bara ett eller flera datorprogram
som använder sig av dem. Kanske kommunicerar de där andra programmen sen
i sin tur med människor, men inte ens det är säkert.
Om jag samlar min DVD-samling en databas i min hemdator, är det antagligen jag
själv som spelar alla dessa roller. I stora system, som en stor biljettbokningsdatabas,
kan det finnas hundratals eller tusentals personer som arbetar med databasen.
Använda en databashanterare
En databashanterare är oftast ett stort och komplicerat program, eller ett
helt system av program (jmf MS Access med MySQL-PHP).
Förutom själva "kärnan" i databashanteraren, som hanterar den lagrade databasen,
finns det ofta flera olika användargränssnitt, verktyg eller delprogram, som
kan användas för att söka eller ändra i databasen. Dessa kan vara krångliga
som t.ex. SQL , men det finns också olika enkla och användarvänliga
grafiska verktyg.
Olika gränssnitt passar för olika användare och för olika användningsområden
samtidigt som det går att utföra 'samma' uppgifter med flera av dem.
- DATABASEN
som är själva "kärnan" och som består av en eller flera tabeller
med relationer.
Tabellerna har fält och data lagras i poster.
- FRÅGO - Verktyg
Urval, sortering, beräkning redigering av data.
De vanligaste kallas för SQL och QBE.
- FORMULÄR - Verktyg
Layout för att enklare se data och sammanställningar, används
ofta för redigering/inmatning samt kan visa flera tabeller samtidigt.
- RAPPORT - Verktyg
Layout för att se sammanställningar och data på papper.
- APPLIKATIONSPROGRAM
En databashanterare innehåller verktyg för att bygga applikationsprogram.
Ett applikationsprogram är automatisering som är avsett för ett specifikt
ändamål, till exempel för att låta biljettförsäljarna på SJ boka tågresor.
Meningen med applikationsprogrammet är att det skall vara enklare och
säkrare att använda för biljettförsäljaren genom att applikationsprogrammet
kommunicerar med databashanteraren istället förbiljettförsäljaren.
I det programmet kan man kanske klicka på knappar för att välja resmål.
Det är lättare än att kommunicera med databashanteraren direkt, i värsta
fall genom att skriva SQL-kommandon.
- PROGRAMMERINGSPRÅK
Med programmeringsspråk som C++, Pascal, webbsidoprogram går
det också att bygga applikationsprogram (mer eller mindre enkelt).
Programmeraren tillverkar applikationsprogram, antingen med hjälp av
särskilda verktyg eller genom att skriva program i ett vanligt programmeringsspråk
med inlagda anrop till databasen
- ANDRA PROGAM
Program som Excel, ODBC kan användas för att komma åt
data i databashanteraren. Då används deras verktyg för att
söka och redigera data eller bygga applikationsprogram.
Varje databas består egentligen av två samlingar data: dels databasens innehåll,
dels schemat. Schemat kallas också datakatalog eller meta-data, vilket betyder
"data om data".
De viktigaste begreppen:
De viktigaste begreppen från det här avsnittet finns också med i ordlistan:
data, information,
kunskap, databas,
databashanterare (DBMS),
schema, datamodell,
SQL, fråga,
frågespråk, logiskt
dataoberoende, fysiskt dataoberoende,
tre-schema-arkitekturen,
gränssnitt, vy,
konceptuell datamodell,
implementationsmodell, relationsmodellen,
DBA, applikationsprogram,
applikationsprogrammerare,
datakatalog, meta-data