Databashantering‎ > ‎

Lektion 1 (intro till databashantering i MySQL)

Av: Marcus Rejås <marcus@rejas.se>
I detta dokument ges en kort introduktion till de begrepp som vi kommer att
använda i laborationerna.

Databashantering


Vad är databashantering?

För att kunna ge ett bra svar på detta måste först begreppen data och databas beskrivas. Data
är något som kan lagras. Till exempel siffran 12 eller ”1100100101”. Data som tolkats, kallar vi
för information. Till exempel ”Det finns 12 bilar i garaget” är information medan bara 12 är data.
”1100100101” kanske är en del av en bild som kan visas om den tolkas av ett program för att
visa bilder. Data kan lagras men det kan inte information eftersom data måste tolkas för att bli
information. Det som är information för en åskådare behöver inte vara det för en annan. Blanda
inte ihop begreppen data och dator. Data är något som kan tolkas till information och dator är
en maskin som kan hantera data. Kalla inte din dator för data.
En databas är data som på något sätt samlats och organiserats så att det går lätt att hitta det
man söker. Vad som söker spelar ingen roll, det kan vara en människa, ett datorprogram eller
något annat.
Databaser behöver inte vara hanteras av datorer utan kan även vara manuella. Till exempel är
ett kartotek eller ett upplagsverk exempel på manuella databaser. En sökmotor på Internet är ett
exempel på en automatisk databas som hanteras av datorer. Naturligtvis finns det många
fördelar med att låta en eller flera datorer hantera en databas, då kan man ju söka och sortera
och göra urval på ett så mycket smidigare sätt än med en manuell databas. Även
säkerhetskopiering och distribution blir avsevärt mycket lättare. Att låta sin databas hanteras av
en eller flera datorer har idag blivit så vanligt att det som regel är det man menar när man talar
om databaser.
En databas hanteras normalt av ett speciellt datorprogram. Detta program kallad för en
databashanterare. Ibland när man slarvigt säger ”databas” menar man just databashanteraren.
Den databashanterare vi skall använda heter MySQL.
För att prata med vår databashanterare kommer vi att använda ett speciellt språk. Detta språk
kallas SQL som är en förkortning av ”Structured Query Language”. Som namnet antyder
använder man SQL för att ställa en fråga (query) till databasen. Att det kallas en fråga gör att det
låter som om man bara hämtar data ur sin databas med SQL vilket inte är fallet. Man lägger även
till, ändrar och tar bort data i sin databas med hjälp av SQL-frågor.
En relationsdatabas, som är den typ av databas vi skall jobba med, byggs upp av tabeller och
fält.  Det data vi stoppar in i databasen kallas poster. I vissa texter kallas fält för kolumner och
poster för rader. Eftersom de ofta ritas som tabeller med den formen. Se bild på nästa sida.
Kom ihåg att alla data i din databas är poster. De tabeller och deras fält som bygger upp en
databas kallas för databasens schema. När man talar om ett databasschema så menar man
alltså det tabeller som databasen består av samt deras fält. I databasschemat ingår inga poster
utan posterna är det data som stoppas in i databasen. Genom att se en databas schema kan man
lista ut hur den är tänkt att fungera. Vi kommer att behandla scheman mer i laboration 6.
Studera bilden här nedan.



I exemplet ovan kan man beskriva databasschemat som en tabell som heter Medlemmar med
fälten Namn, Efternamn, Alder och Aktiv. I den tabellen har vi 5 poster. I MySQL skulle de kunna
se ut så här.
Vi tittar på tabellen Medlemmar;
mysql> DESCRIBE Medlemmar;                                     
+-----------+------------------+------+-----+---------+-------+
| Field     | Type             | Null | Key | Default | Extra |
+-----------+------------------+------+-----+---------+-------+
| id        | int(11)          | YES  |     | NULL    |       |
| namn      | char(50)         | YES  |     | NULL    |       |
| efternamn | char(50)         | YES  |     | NULL    |       |
| alder     | int(11)          | YES  |     | NULL    |       |
| aktiv     | enum('Ja','Nej') | YES  |     | NULL    |       |
+-----------+------------------+------+-----+---------+-------+
5 rows in set (0.00 sec)                                       
mysql>

Och vi tittar på posterna i tabellen medlemmar:
mysql> select * from Medlemmar;
+------+--------+-----------+-------+-------+
| id   | namn   | efternamn | alder | aktiv |
+------+--------+-----------+-------+-------+
|    1 | Kalle  | Anka      |    76 | Ja    |
|    2 | Knatte | Anka      |    50 | Ja    |
|    3 | Tjatte | Anka      |    50 | Nej   |
|    4 | Fnatte | Anka      |    50 | Nej   |
|    5 | Joakim | von Anka  |   103 | Ja    |
+------+--------+-----------+-------+-------+
5 rows in set (0.00 sec)
mysql>


Copyright © 2004 Rejås Datakonsult
Var och en äger rätt att kopiera, sprida och/eller förändra detta dokument under villkoren i licensen "GNU Free
Documentation License", version 1.2 eller senare publicerad av Free Software Foundation, utan oföränderliga avsnitt,
utan framsidestexter och utan baksidestexter. En kopia av denna licens finns på http://rejas.se/gnu/.
Detta dokument, i ett format lämpligt för redigering, hittas på http://rejas.se/docs/lektion1 MySQL.sxw
Comments