Vad är en datatyp?

May 15, 2010 · Posted in Systemutveckling · Comment 

När man sparat information om till exempel en person i en tabell delar man upp informationen i kolumner. För information om en person kan de olika kolumnerna till exempel vara; Namn, Födelseår, Telefonnummer och Kön. För att databashanteraren på bästa sätt ska kunna lagra informationen talar man om vilken datatyp respektive kolumn har.

Datatypen talar om huruvida kolumnen innehåller ett heltal, en text, ett datum och så vidare. Alla databashanterare erbjuder olika datatyper och har ibland olika namn på samma datatyper.

Nästan alla datatyper är olika varianter på heltal, text, datum, boolean och decimaltal. Utöver dessa finns till exempel datatyper för tider, identifikation, geografi och geometri. Av dessa är nog boolean den som man inte instinktivt vet vad det är. Det är ett värde som är antingen sant eller falskt.

I exemplet med persontabellen ovan skulle namnet vara en text och födelseår ett heltal. För telefonnummer och kön blir det lite knepigare att bombsäkert säga vilka datatyper det ska vara utan att veta något mer om hur de ska användas.

Man skulle kunna spara telefonnummer som en heltal om man struntar i var det ska delas i riktnummer och lokalnummer. Heltalen lagrar inte några inledande nollor eller blanksteg så det kan bli problem om man vill sortera telefonnumren. Ett annat alternativ är att spara telefonnumret som en text med bindestreck mellan nummerdelarna. Det finns säkert någon databas som har en egen datatyp för att representera telefonnummer. Det finns ett alternativ som utnyttjar relationer i databasen. Man kan lagra alla telefonnummer i en egen tabell och låta dem referera tillbaka till persontabellen. På så sätt kan man hantera ett en person har flera telefonnummer och man kan strunta i hur ett telefonnummer ska representeras när man funderar på persontabellen.

Kön kan också representeras på lite olika sätt. Man kan ha en boolean som talar om huruvida personen är man (sant=man, falskt=kvinna). Man skulle kunna ha en liten text där det står ‘man’ eller ‘kvinna’, fast då blir det svårt att översätta applikationen som använder informationen till flera språk. Texthantering är dessutom betydligt långsammare än booleansk algebra. Du kan säkert komma på flera andra sätt att representera kön i en tabell.

Datatyper används alltså för att tala om för databashanteraren vilka begränsningar som gäller för varje liten del av informationen som ska behandlas.

Relaterade sökningar:

  • datatyp för telefonnummer
  • vad är en datatyp

Vad är en relationsdatabas?

May 13, 2010 · Posted in Systemutveckling · Comment 

Tidigare beskrev jag generellt vad en databas är.

I en relationsdatabas sparar man listor med information. Dessa listor kallas tabeller och kan referera till varandra på lite olika sätt. Referenserna mellan tabellerna kallas relationer, därav namnet; relationsdatabaser.

Tabeller, eller snarare rader i tabeller, kan referera till varandra på tre olika sätt:

  • En till många
  • Många till många
  • En till en

Det databashanteraren hjälper till med, om man definierat tabellerna ordentligt, är att säkerställa att dessa relationer efterlevs.

En till många
Det här är den absolut vanligaste relationen. En rad i en tabell refereras av flera rader i en annan tabell.
Om man till exempel har en tabell med personer och en tabell med telefonnummer så kan en person ha flera telefonnummer, men ett telefonnummer hör bara till en person.

Många till många
Det här är en relation som de flesta databashanterare inte kan hantera ordentligt så man får ofta fuska till den.
Om man till exempel har en lista med elever och en lista med kurser så kan en elev gå på flera kurser och en kurs kan ha flera elever. För att få till det så får man lägga till en tredje tabell som innehåller en rad per elev och kurs. Sedan kan man sätta upp två stycken ‘en till många’-relationer. En elev finns en gång i elevtabellen och flera gånger i Elev/Kurs-tabellen och en kurs finns en gång i kurstabellen samt flera gånger i Elev/Kurs-tabellen.

En till en
Denna relation förklarar nog sig själv om man läst de föregående, men den är svårast att förklara nyttan med för någon som inte själv blivit tvungen att utnyttja den. Relationen går ut på att en rad i en tabell har en relation till en unik rad i en annan tabell.
Man skulle till exempel kunna tänka sig att man har en tabell med sålda bilar och en annan tabell med de sålda bilarnas motorer. Varje bil har exakt en motor och varje motor tillhör exakt en bil.

En stor del av arbetet med att designa en databas är att komma på hur alla delar av den information man ska behandla hänger ihop. I princip kan man säga att det är det som kallas normalisering, vilket jag kommer skriva om senare.
Lite mindre tankemöda,men inte mindre viktig, är att föreslå för databashanteraren hur den ska lagra all information. För att reda ut det kommer nästa artikel att förklara vad datatyper är.

Relaterade sökningar:

  • vad är relationsdatabas
  • vad är en relationsdatabas

Vad är en databas?

May 12, 2010 · Posted in Systemutveckling · Comment 

En databas är en organiserad samling relaterad information. …med den definitionen är en hylla i ett bibliotek en databas.

I datorvärlden finns det några olika typer av databaser. Alla har det gemensamt att de underlättar för någon att spara, hitta och behandla information.

Det finns några olika sätt att organisera eller klassificera databaser:

Man brukar skilja på om databasen ‘körs’ på en egen dator, eller om det är ett program man kan köra på sin egen dator. I den förra kategorin hamnar till exempel Access och FileMakerPro. Till den senare hör serverprogram som Microsoft SQL Server, Oracle och MySQL.

Ett annat sätt är att gruppera dem på hur man beskriver det data som ska lagras. Alla exempel ovan hamnar då i kategorin relationsdatabaser. Det blir (nog) bara artiklar om sådana i den här bloggen. Eftersom det är sådana jag koncentrerar mig på har jag skrivit en hel artikel om relationsdatabaser i stället för att ta upp plats här. De andra stora grupperna av databaser är hierarkiska databaser och objektdatabaser. I en hierarkisk databas sparas all information i en struktur som ser ut som ett träd. Ungefär som filsystemet i din dator. I en objektdatabas sparas informationen så att den i möjligaste mån ska se ut och fungera som objekt i objektorienterade programmeringsspråk.

« Previous Page