<< startsida
1. INTRODUKTION
Databaser är en samling av data som på något sätt kan
organiseras och är av intresse för någon specifik
tillämpning.
Hur utnyttjar man en databas? Det
gör man med hjälp av följande databasoperationer:
- lägga in data
- hämta data
- ändra data
- ta bort data
Här är några databashanterare: Access,
SQL-server och Oracle.
Vi börjar med den grundläggande, så
var inte orolig att det är svårt. För dig som passerat
nybörjarnivå rekommenderar vi våra länkar.
1.1 SKAPA EN DATABAS I ACCESS
1. Öppna Access (ingår i Office-paket).
2. Skapa en ny databas som heter MinDB (Arkiv - Ny - databas)
3. Skapa en ny tabell i designläge som heter
"Produkt"
4. Fyll i följande
| FÄLTNAMN |
DATATYP |
| ID |
tal |
| ProdNamn |
text |
| Farg |
text |
| Antal |
tal |
Nu är tabellen skapad!
5. Klicka på tabellen "Produkt" och fyll i uppgifter:
| ID |
PRODNAMN |
FARG |
ANTAL |
| 1 |
kastrull |
gul |
15 |
| 2 |
tallrik |
röd |
22 |
| 3 |
sked |
gul |
20 |
| 4 |
lock |
svart |
33 |
1.2 SQL-språk (Structured Query Language)
Bakom en databas ligger språket som heter SQL (uttalas: s q l
eller sikuel).
Samma arbete som vi gjorde ovan kan man göra med hjälp av
SQL.
1. Skapa databas: CREATE
DATABASE MinDB
2. Skapa tabell: CREATE
TABLE Produkt (ID tal, ProdNamn text, Farg text, Antal tal)
2. LÄSA EN TABELL
Nu när vi har kommit igång med SQL lär vi oss hur vi
hämtar information från en databas med hjälp av olika kommando.
2.1 Kommandot SELECT (Access -> Infoga -> Fråga -> Design
-> SQL)
Skriv i SQL-fältet:
SELECT ProdNamn FROM Produkt
(Resultat: Lista ut alla ProdNamn från tabellen Produkt)
SELECT ProdNamn, Farg FROM
Produkt
(Resultat: Lista ut alla ProdNamn och Färg från tabellen
Produkt)
SELECT * FROM Produkt
(Resultat: Lista ut all info från tabellen Produkt)
2.2 WHERE
SELECT * FROM Produkt WHERE farg =
'gul'
eller
SELECT * FROM Produkt WHERE antal
< 20
2.3 DISTINCT
SELECT DISTINCT ProdNamn FROM
Produkt WHERE farg = 'gul'
(Skriv ut produktnamnen som är gul;
varje produkt listas upp en gång)
2.4 AND och OR
SELECT * FROM Produkt WHERE farg =
'gul' AND antal = '5'
SELECT * FROM Produkt WHERE farg =
'gul' OR antal = '5'
2.5 NOT
SELECT * FROM Produkt WHERE NOT (farg
= 'gul' AND antal = '5')
2.6 LIKE
SELECT * FROM Produkt WHERE LIKE 'g%'
(alla färger som börjar med g)
SELECT * FROM Produkt WHERE LIKE '%g%'
(alla färger som innehåller g)
2.7
ORDER BY
SELECT ProdNamn, Antal FROM Produkt
WHERE antal > 20 ORDER BY ProdNamn DESC, Antal
(skriv ut prodnamn och antal på
produkter som är fler än 20, sortera först baklänges efetr
namn och därefter efter vikt)
3. STANDARDFUNKTIONER
| Funktion |
Resultat |
Gäller för |
| AVG (Kolumn) |
Medelvärde för värdena i
kolumnen |
heltal, flyttal |
| COUNT (*) |
Antal rader |
(alla typer) |
| SUM(Kolumn) |
Summa av värdena i kolumnen |
heltal, flyttal |
| MIN(kolumn) |
Minsta värdet i en kolumn |
text, heltal, flyttal, datum |
| MAX(Kolumn) |
Största värdet i en kolumn |
text, heltal, flyttal, datum |
3. 2 GROUP BY
SELECT ProdNamn, COUNT(antal), AVG(antal),
100*SUM(antal) FROM Produkt GROUP BY ProdNamn
(Bärekna antal, medelvärde samt
100*summan för statusen för produkterna grupperade efter
produktnamn.)
3.4 Slå ihop tabeller med JOIN
Hittills har vi lärt oss hur info
hämtas ur en tabell. Nu ska vi slå ihop tabeller. Skapa en ny
tabell "ProdLev" med kommandot CREATE.
Slå ihop tabellen Produkt och ProdLev
och skriv ut kolumnerna ID från "Produkt" samt ID från
"ProdLev"
SELECT Produkt.ID, ProdLev.ID FROM
Produkt, ProdLev
I exemplet ovan blir resultatet en massa
onödiga rader med alla möjliga kombinationer. Vi vill egentligen
att tabellerna ska kopplas ihop så att samma ID gäller för
båda tabellerna. Den rätta satsen blir den här:
SELECT Produkt.ProdNamn, Produkt.ID,
ProdLev.ID FROM Produkt, ProdLev WHERE Produkt.ID = ProdLev.ID
Vi kopplar tabellerna med WHERE-satsen
och detta kallas JOIN.
SNART uppdaterar vi sidan med
- Lägga in en ny rad (INSERT)
- Ta bort en ny rad (DELETE)
- Uppdatera en ny rad (UPDATE)
- Skapa en ny tabell (CREATE TABLE)
- Stryk en tabell (DROP TABLE)
- Övningar...