Logga in

Priserna visas inklusive moms och du betalar med Klarna


Priserna visas exklusive moms, du kan betala med Klarna eller faktura

Priserna visas inklusive moms och du betalar med Klarna


Priserna visas exklusive moms, du kan betala med Klarna eller faktura

Databasteknik

Skickas följande arbetsdag

Databasteknik (e-bok)

Valt format
Bok 489 kr inkl. moms
Digital bok 395 kr inkl. moms

Databasteknik används nästan överallt i dag där data behöver lagras och bearbetas. Allt från webbplatser till mobilappar lagrar sina data i databaser. Databaser har därför blivit ett av de områden inom datatekniken som man har störst nytta av att kunna, vare sig man är användare, datatekniker eller programmerare. Boken Databasteknik börjar med grunderna om databaser, som scheman, datamodellering och användningsområden för databaser. Vi går vidare bland annat med frågespråk, transaktionshanter...

Läs mer

Databasteknik används nästan överallt i dag där data behöver lagras och bearbetas. Allt från webbplatser till mobilappar lagrar sina data i databaser. Databaser har därför blivit ett av de områden inom datatekniken som man har störst nytta av att kunna, vare sig man är användare, datatekniker eller programmerare. Boken Databasteknik börjar med grunderna om databaser, som scheman, datamodellering och användningsområden för databaser. Vi går vidare bland annat med frågespråk, transaktionshantering, säkerhet, prestanda och hur databashanteraren arbetar internt. Den vanligaste och populäraste typen av databaser är relations­databaser, och tyngdpunkten ligger därför på dem, bland annat med frågespråket SQL, och vi beskriver system som MySQL, PostgreSQL och Microsoft SQL Server. Men vi vänder oss till alla som arbetar med databaser, även till exempel objektorienterade databaser och NoSQL-databaser.

Stäng
    • Innehåll
    • 1
      Förord
      • 1
        7
        Databaser och databashanterare
        • 1.1
          7
          Varför ska jag lära mig det här?
        • 1.2
          8
          Vad är en databas?
        • 1.3
          8
          Vad är en databashanterare?
        • 1.4
          9
          Språkförbistring
        • 1.5
          10
          Databashanterare -- varför?
        • 1.6
          17
          Nackdelar med databaser
        • 1.7
          17
          Jämförelse med kalkylprogram
        • 1.8
          18
          Användningsområden för databasteknik
        • 1.9
          19
          Datamodeller
        • 1.10
          20
          Tre-schema-arkitekturen
        • 1.11
          21
          Olika typer av användare
        • 1.12
          22
          Databashanterare -- hur?
        • 1.13
          24
          Hur mycket data kan man ha i en databas?
        • 1.14
          25
          Databasen och verkligheten
        • 1.15
          26
          De viktigaste begreppen
        • 1.16
          29
          Litteratur
      • 2
        31
        ER-modellering
        • 2.1
          31
          Konceptuella datamodeller
        • 2.2
          32
          Varför ska jag lära mig det här?
        • 2.3
          33
          Grunderna för hur man ritar ER-diagram
        • 2.4
          34
          Hur många personer bor i varje hus?
        • 2.5
          36
          Skilj på ER-diagram och tabeller
        • 2.6
          36
          Skilj på schema och data
        • 2.7
          37
          Flera sambandstyper mellan samma entitetstyper
        • 2.8
          38
          Fullständigt deltagande
        • 2.9
          38
          Attribut
        • 2.10
          40
          Ett vanligt fel
        • 2.11
          40
          Sammansatta attribut
        • 2.12
          41
          Flervärda attribut
        • 2.13
          41
          Härledda attribut
        • 2.14
          42
          Svaga entitetstyper
        • 2.15
          43
          Objektifiering av sambandstyper
        • 2.16
          45
          Flervägssamband
        • 2.17
          48
          Utvidgade ER-diagram (EER)
        • 2.18
          50
          Mer om arv i EER-diagram
        • 2.19
          52
          Översättning till relationsmodellen
        • 2.20
          53
          Varför inte ER-diagram hela vägen?
        • 2.21
          53
          Alternativa notationer
        • 2.22
          54
          De viktigaste begreppen
        • 2.23
          56
          Övningar
        • 2.24
          58
          Litteratur
      • 3
        59
        Mer om datamodellering
        • 3.1
          59
          Varför ska jag lära mig det här?
        • 3.2
          60
          Hierarkier
        • 3.3
          63
          Generalisering och specialisering
        • 3.4
          64
          Generalisering 1: Superklass i EER
        • 3.5
          67
          Generalisering 2: Att flytta saker från schema till data
        • 3.6
          71
          Specialisering
        • 3.7
          71
          Ett annat exempel på generalisering
        • 3.8
          73
          De viktigaste begreppen
        • 3.9
          74
          Övningar
        • 3.10
          75
          Litteratur
      • 4
        77
        Designprocessen
        • 4.1
          77
          Traditionell databasdesign
        • 4.2
          80
          Object-Relational Mapping, ORM
        • 4.3
          81
          Litteratur
      • 5
        83
        Relationsmodellen
        • 5.1
          83
          Varför ska jag lära mig det här?
        • 5.2
          84
          Relationer
        • 5.3
          85
          Schema och innehåll
        • 5.4
          86
          ”Medlem”, ”medlemmar” eller ”members”?
        • 5.5
          86
          Olika sorters nycklar
        • 5.6
          88
          Kopplingar mellan relationer
        • 5.7
          89
          Vanliga fel
        • 5.8
          90
          Varför heter det ”relationer”?
        • 5.9
          92
          De viktigaste begreppen
        • 5.10
          93
          Litteratur
      • 6
        95
        Översättning från ER-modellen till relationsmodellen
        • 6.1
          95
          Kort kokbok
        • 6.2
          96
          Steg 1: Vanliga entitetstyper
        • 6.3
          98
          Steg 2: 1:N-sambandstyper
        • 6.4
          99
          Steg 3: 1:1-sambandstyper
        • 6.5
          101
          Steg 4: N:M-sambandstyper
        • 6.6
          102
          Steg 5: Sambandstyper av högre grad än två
        • 6.7
          103
          Steg 6: Attribut på sambandstyper
        • 6.8
          105
          Steg 7: Svaga entitetstyper
        • 6.9
          105
          Steg 8: Sammansatta attribut
        • 6.10
          106
          Steg 9: Flervärda attribut
        • 6.11
          107
          Steg 10: Härledda attribut
        • 6.12
          107
          Steg 11: Arv i EER-modellen
        • 6.13
          111
          Litteratur
        • 6.14
          111
          Övningar
      • 7
        113
        Introduktion till frågespråket SQL
        • 7.1
          113
          Varför ska jag lära mig det här?
        • 7.2
          114
          Standard-SQL och SQL-standarder
        • 7.3
          115
          Förberedelser
        • 7.4
          115
          De första stapplande stegen
        • 7.5
          117
          Enkla frågor med select
        • 7.6
          120
          Citationstecken
        • 7.7
          120
          Om man skriver fel
        • 7.8
          121
          Frågor med flera tabeller
        • 7.9
          123
          Ett annat sätt att kombinera tabeller
        • 7.10
          125
          Repetition
        • 7.11
          126
          Ett exempel till: Vad sportar Olle?
        • 7.12
          130
          in och not in
        • 7.13
          131
          Mer om nästlade frågor: exists och not exists
        • 7.14
          133
          Jämförelser med any, some och all
        • 7.15
          134
          Sortering med order by
        • 7.16
          134
          Tio-i-topp-listor
        • 7.17
          136
          Överkurs: Tabellnamn och alias i nästlade frågor
        • 7.18
          137
          Att ändra på databasens innehåll
        • 7.19
          142
          Vyer
        • 7.20
          144
          Transaktioner med commit och rollback
        • 7.21
          146
          Skriv ut alla kolumnnamnen
        • 7.22
          147
          SQL som DDL
        • 7.23
          149
          Mer om SQL som DDL: Så här skapade vi vår klubb-databas
        • 7.24
          150
          Hur man gör i praktiken
        • 7.25
          150
          Så här la vi in data i klubb-databasen
        • 7.26
          151
          Scheman
        • 7.27
          152
          Vanliga fel i SQL
        • 7.28
          153
          Prestanda i SQL
        • 7.29
          155
          Övningar
        • 7.30
          156
          Litteratur
      • 8
        159
        Mer om SQL: Aggregatfunktioner, null-värden, vyer och rekursiva frågor
        • 8.1
          159
          Exempeldatabasen: arbetare och kontor
        • 8.2
          161
          Grunder om aggregatfunktioner
        • 8.3
          162
          Aggregatfunktioner med where
        • 8.4
          164
          Mängdoperationer i SQL
        • 8.5
          165
          Mängder och påsar
        • 8.6
          166
          Aggregatfunktioner med group by och having
        • 8.7
          170
          Ett problem: Saker som försvinner
        • 8.8
          170
          Explicit join
        • 8.9
          172
          Yttre join
        • 8.10
          174
          Count kan räkna antingen rader eller värden
        • 8.11
          175
          Flera join-operationer i samma fråga
        • 8.12
          179
          Vyer
        • 8.13
          181
          CTE:er
        • 8.14
          182
          Join med sig själv
        • 8.15
          183
          Problem med null i SQL
        • 8.16
          186
          Rekursiva frågor
        • 8.17
          190
          Ännu mer SQL
        • 8.18
          190
          Nyheter i SQL:1999
        • 8.19
          193
          Övningar
      • 9
        195
        Sammanfattning av SQL-kommandon
        • 9.1
          196
          Select-frågor
        • 9.2
          199
          Insert
        • 9.3
          200
          Delete
        • 9.4
          200
          Update
        • 9.5
          201
          Create table
        • 9.6
          204
          Create view
        • 9.7
          204
          Alter table
        • 9.8
          205
          Create index
        • 9.9
          206
          Drop
        • 9.10
          208
          Transaktioner
        • 9.11
          209
          Säkerhet med grant och revoke
        • 9.12
          210
          Några andra kommandon
        • 9.13
          210
          Syntax i olika databashanterare
        • 9.14
          211
          Litteratur
      • 10
        213
        Relationskalkyl
        • 10.1
          213
          Varför ska jag lära mig det här
        • 10.2
          214
          Radkalkyl
      • 11
        221
        Relationsalgebra
        • 11.1
          221
          Varför ska jag lära mig det här?
        • 11.2
          222
          Mängd- och påsalgebra
        • 11.3
          222
          Relationsalgebra är ett funktionellt språk
        • 11.4
          223
          Logisk och fysisk relationsalgebra
        • 11.5
          223
          Operationen selektion, σ
        • 11.6
          225
          Operationen projektion, π
        • 11.7
          225
          Relationsalgebrauttryck
        • 11.8
          226
          Mängdoperationerna union, snitt och differens
        • 11.9
          228
          Operationen yttre union
        • 11.10
          229
          Operationen kartesisk produkt, ×
        • 11.11
          230
          Operationen join (även kallad inre join)
        • 11.12
          232
          Operationen naturlig join
        • 11.13
          233
          Att byta namn på relationer och attribut: operationen ρ
        • 11.14
          234
          Aggregatfunktioner
        • 11.15
          236
          Operationen yttre join
        • 11.16
          237
          Operationen division, ÷
        • 11.17
          238
          Hierarkier
        • 11.18
          241
          Transitivt hölje
        • 11.19
          242
          Uppdateringsoperationer
        • 11.20
          242
          Sammanfattning av notationen
        • 11.21
          242
          Övningar
        • 11.22
          245
          Litteratur
      • 12
        247
        Normalformer och normalisering
        • 12.1
          247
          Varför ska jag lära mig det här?
        • 12.2
          248
          Ett förklarande exempel
        • 12.3
          248
          Första försöket att göra en databas
        • 12.4
          249
          En enkel regel för hur tabeller ska se ut
        • 12.5
          251
          Första normalformen, ”1NF”
        • 12.6
          251
          Funktionellt beroende, ”fb”
        • 12.7
          252
          Fullständigt funktionellt beroende, ”ffb”
        • 12.8
          253
          Hur vet man vilka funktionella beroenden som finns?
        • 12.9
          254
          Andra normalformen, ”2NF” (ett första, dåligt, försök)
        • 12.10
          255
          Redundans i alla fall?
        • 12.11
          256
          En bättre definition av 2NF
        • 12.12
          257
          Tredje normalformen, ”3NF”
        • 12.13
          258
          Hur vet man hur man ska göra uppdelningen
        • 12.14
          260
          Boyce-Codds normalform, ”BCNF”
        • 12.15
          261
          Tänk på vad tabellen betyder!
        • 12.16
          262
          Ännu fler normalformer
        • 12.17
          263
          Ibland är det bra att inte normalisera
        • 12.18
          263
          Inte bara för relationsmodellen
        • 12.19
          264
          De viktigaste begreppen
        • 12.20
          265
          Övningar
        • 12.21
          266
          Litteratur
      • 13
        267
        Integritetsvillkor
        • 13.1
          269
          Ett exempel: Anställda och avdelningar
        • 13.2
          269
          Nyckelvillkor i SQL
        • 13.3
          271
          Referensintegritet i SQL
        • 13.4
          273
          Vadå ”misslyckas”?
        • 13.5
          274
          Ajöss med konsulterna!
        • 13.6
          275
          Mer komplicerade villkor
        • 13.7
          276
          Hur anger man dessa mer komplicerade villkor?
        • 13.8
          278
          Aktiva databaser
        • 13.9
          279
          Vem kollar villkoren? Procedurellt eller deklarativt?
        • 13.10
          280
          Ska man alltid skapa integritetsvillkor?
        • 13.11
          281
          En möjlig uppdelning i olika typer av integritetsvillkor
        • 13.12
          282
          Databasens interna integritet
        • 13.13
          282
          ”Integritet” som i ”personlig integritet”
        • 13.14
          283
          Lagar som berör personlig integritet
        • 13.15
          284
          De viktigaste begreppen
        • 13.16
          285
          Litteratur
      • 14
        287
        Säkerhet i databaser
        • 14.1
          288
          Databashanteraren skyddar databasen
        • 14.2
          290
          Grant och revoke
        • 14.3
          291
          Mer finkornig kontroll med vyer
        • 14.4
          291
          Grant-rättigheter med grant option
        • 14.5
          292
          Roller
        • 14.6
          293
          Säkerhet i statistiska databaser
        • 14.7
          295
          SQL-injektion
        • 14.8
          296
          De viktigaste b
Information

Språk:

Svenska

ISBN:

9789144069197

Utgivningsår:

2005

Revisionsår:

2018

Artikelnummer:

31838-02

Upplaga:

Andra

Sidantal:

689
 ;

Databasteknik används nästan överallt i dag där data behöver lagras och bearbetas. Allt från webbplatser till mobilappar lagrar sina data i databaser. Databaser har därför blivit ett av de områden inom datatekniken som man har störst nytta av att kunna, vare sig man är användare, datatekniker eller programmerare. Boken Databasteknik börjar med grunderna om databaser, som scheman, datamodellering och användningsområden för databaser. Vi går vidare bland annat med frågespråk, transaktionshanter...

Läs mer

Databasteknik används nästan överallt i dag där data behöver lagras och bearbetas. Allt från webbplatser till mobilappar lagrar sina data i databaser. Databaser har därför blivit ett av de områden inom datatekniken som man har störst nytta av att kunna, vare sig man är användare, datatekniker eller programmerare. Boken Databasteknik börjar med grunderna om databaser, som scheman, datamodellering och användningsområden för databaser. Vi går vidare bland annat med frågespråk, transaktionshantering, säkerhet, prestanda och hur databashanteraren arbetar internt. Den vanligaste och populäraste typen av databaser är relations­databaser, och tyngdpunkten ligger därför på dem, bland annat med frågespråket SQL, och vi beskriver system som MySQL, PostgreSQL och Microsoft SQL Server. Men vi vänder oss till alla som arbetar med databaser, även till exempel objektorienterade databaser och NoSQL-databaser.

Stäng

Innehåll

Förord 1

1 Databaser och databashanterare 7

1.1 Varför ska jag lära mig det här? 7
1.2 Vad är en databas? 8
1.3 Vad är en databashanterare? 8
1.4 Språkförbistring 9
1.5 Databashanterare -- varför? 10
1.6 Nackdelar med databaser 17
1.7 Jämförelse med kalkylprogram 17
1.8 Användningsområden för databasteknik 18
1.9 Datamodeller 19
1.10 Tre-schema-arkitekturen 20
1.11 Olika typer av användare 21
1.12 Databashanterare -- hur? 22
1.13 Hur mycket data kan man ha i en databas? 24
1.14 Databasen och verkligheten 25
1.15 De viktigaste begreppen 26
1.16 Litteratur 29

2 ER-modellering 31

2.1 Konceptuella datamodeller 31
2.2 Varför ska jag lära mig det här? 32
2.3 Grunderna för hur man ritar ER-diagram 33
2.4 Hur många personer bor i varje hus? 34
2.5 Skilj på ER-diagram och tabeller 36
2.6 Skilj på schema och data 36
2.7 Flera sambandstyper mellan samma entitetstyper 37
2.8 Fullständigt deltagande 38
2.9 Attribut 38
2.10 Ett vanligt fel 40
2.11 Sammansatta attribut 40
2.12 Flervärda attribut 41
2.13 Härledda attribut 41
2.14 Svaga entitetstyper 42
2.15 Objektifiering av sambandstyper 43
2.16 Flervägssamband 45
2.17 Utvidgade ER-diagram (EER) 48
2.18 Mer om arv i EER-diagram 50
2.19 Översättning till relationsmodellen 52
2.20 Varför inte ER-diagram hela vägen? 53
2.21 Alternativa notationer 53
2.22 De viktigaste begreppen 54
2.23 Övningar 56
2.24 Litteratur 58

3 Mer om datamodellering 59

3.1 Varför ska jag lära mig det här? 59
3.2 Hierarkier 60
3.3 Generalisering och specialisering 63
3.4 Generalisering 1: Superklass i EER 64
3.5 Generalisering 2: Att flytta saker från schema till data 67
3.6 Specialisering 71
3.7 Ett annat exempel på generalisering 71
3.8 De viktigaste begreppen 73
3.9 Övningar 74
3.10 Litteratur 75

4 Designprocessen 77

4.1 Traditionell databasdesign 77
4.2 Object-Relational Mapping, ORM 80
4.3 Litteratur 81

5 Relationsmodellen 83

5.1 Varför ska jag lära mig det här? 83
5.2 Relationer 84
5.3 Schema och innehåll 85
5.4 ”Medlem”, ”medlemmar” eller ”members”? 86
5.5 Olika sorters nycklar 86
5.6 Kopplingar mellan relationer 88
5.7 Vanliga fel 89
5.8 Varför heter det ”relationer”? 90
5.9 De viktigaste begreppen 92
5.10 Litteratur 93

6 Översättning från ER-modellen till relationsmodellen 95

6.1 Kort kokbok 95
6.2 Steg 1: Vanliga entitetstyper 96
6.3 Steg 2: 1:N-sambandstyper 98
6.4 Steg 3: 1:1-sambandstyper 99
6.5 Steg 4: N:M-sambandstyper 101
6.6 Steg 5: Sambandstyper av högre grad än två 102
6.7 Steg 6: Attribut på sambandstyper 103
6.8 Steg 7: Svaga entitetstyper 105
6.9 Steg 8: Sammansatta attribut 105
6.10 Steg 9: Flervärda attribut 106
6.11 Steg 10: Härledda attribut 107
6.12 Steg 11: Arv i EER-modellen 107
6.13 Litteratur 111
6.14 Övningar 111

7 Introduktion till frågespråket SQL 113

7.1 Varför ska jag lära mig det här? 113
7.2 Standard-SQL och SQL-standarder 114
7.3 Förberedelser 115
7.4 De första stapplande stegen 115
7.5 Enkla frågor med select 117
7.6 Citationstecken 120
7.7 Om man skriver fel 120
7.8 Frågor med flera tabeller 121
7.9 Ett annat sätt att kombinera tabeller 123
7.10 Repetition 125
7.11 Ett exempel till: Vad sportar Olle? 126
7.12 in och not in 130
7.13 Mer om nästlade frågor: exists och not exists 131
7.14 Jämförelser med any, some och all 133
7.15 Sortering med order by 134
7.16 Tio-i-topp-listor 134
7.17 Överkurs: Tabellnamn och alias i nästlade frågor 136
7.18 Att ändra på databasens innehåll 137
7.19 Vyer 142
7.20 Transaktioner med commit och rollback 144
7.21 Skriv ut alla kolumnnamnen! 146
7.22 SQL som DDL 147
7.23 Mer om SQL som DDL: Så här skapade vi vår klubb-databas 149
7.24 Hur man gör i praktiken 150
7.25 Så här la vi in data i klubb-databasen 150
7.26 Scheman 151
7.27 Vanliga fel i SQL 152
7.28 Prestanda i SQL 153
7.29 Övningar 155
7.30 Litteratur 156

8 Mer om SQL: Aggregatfunktioner, null-värden, vyer och rekursiva frågor 159

8.1 Exempeldatabasen: arbetare och kontor 159
8.2 Grunder om aggregatfunktioner 161
8.3 Aggregatfunktioner med where 162
8.4 Mängdoperationer i SQL 164
8.5 Mängder och påsar 165
8.6 Aggregatfunktioner med group by och having 166
8.7 Ett problem: Saker som försvinner 170
8.8 Explicit join 170
8.9 Yttre join 172
8.10 Count kan räkna antingen rader eller värden 174
8.11 Flera join-operationer i samma fråga 175
8.12 Vyer 179
8.13 CTE:er 181
8.14 Join med sig själv 182
8.15 Problem med null i SQL 183
8.16 Rekursiva frågor 186
8.17 Ännu mer SQL 190
8.18 Nyheter i SQL:1999 190
8.19 Övningar 193

9 Sammanfattning av SQL-kommandon 195

9.1 Select-frågor 196
9.2 Insert 199
9.3 Delete 200
9.4 Update 200
9.5 Create table 201
9.6 Create view 204
9.7 Alter table 204
9.8 Create index 205
9.9 Drop 206
9.10 Transaktioner 208
9.11 Säkerhet med grant och revoke 209
9.12 Några andra kommandon 210
9.13 Syntax i olika databashanterare 210
9.14 Litteratur 211

10 Relationskalkyl 213

10.1 Varför ska jag lära mig det här? 213
10.2 Radkalkyl 214

11 Relationsalgebra 221

11.1 Varför ska jag lära mig det här? 221
11.2 Mängd- och påsalgebra 222
11.3 Relationsalgebra är ett funktionellt språk 222
11.4 Logisk och fysisk relationsalgebra 223
11.5 Operationen selektion, σ 223
11.6 Operationen projektion, π 225
11.7 Relationsalgebrauttryck 225
11.8 Mängdoperationerna union, snitt och differens 226
11.9 Operationen yttre union 228
11.10 Operationen kartesisk produkt, × 229
11.11 Operationen join (även kallad inre join) 230
11.12 Operationen naturlig join 232
11.13 Att byta namn på relationer och attribut: operationen ρ 233
11.14 Aggregatfunktioner 234
11.15 Operationen yttre join 236
11.16 Operationen division, ÷ 237
11.17 Hierarkier 238
11.18 Transitivt hölje 241
11.19 Uppdateringsoperationer 242
11.20 Sammanfattning av notationen 242
11.21 Övningar 242
11.22 Litteratur 245

12 Normalformer och normalisering 247

12.1 Varför ska jag lära mig det här? 247
12.2 Ett förklarande exempel 248
12.3 Första försöket att göra en databas 248
12.4 En enkel regel för hur tabeller ska se ut 249
12.5 Första normalformen, ”1NF” 251
12.6 Funktionellt beroende, ”fb” 251
12.7 Fullständigt funktionellt beroende, ”ffb” 252
12.8 Hur vet man vilka funktionella beroenden som finns? 253
12.9 Andra normalformen, ”2NF” (ett första, dåligt, försök) 254
12.10 Redundans i alla fall? 255
12.11 En bättre definition av 2NF 256
12.12 Tredje normalformen, ”3NF” 257
12.13 Hur vet man hur man ska göra uppdelningen? 258
12.14 Boyce-Codds normalform, ”BCNF” 260
12.15 Tänk på vad tabellen betyder! 261
12.16 Ännu fler normalformer 262
12.17 Ibland är det bra att inte normalisera 263
12.18 Inte bara för relationsmodellen 263
12.19 De viktigaste begreppen 264
12.20 Övningar 265
12.21 Litteratur 266

13 Integritetsvillkor 267

13.1 Ett exempel: Anställda och avdelningar 269
13.2 Nyckelvillkor i SQL 269
13.3 Referensintegritet i SQL 271
13.4 Vadå ”misslyckas”? 273
13.5 Ajöss med konsulterna! 274
13.6 Mer komplicerade villkor 275
13.7 Hur anger man dessa mer komplicerade villkor? 276
13.8 Aktiva databaser 278
13.9 Vem kollar villkoren? Procedurellt eller deklarativt? 279
13.10 Ska man alltid skapa integritetsvillkor? 280
13.11 En möjlig uppdelning i olika typer av integritetsvillkor 281
13.12 Databasens interna integritet 282
13.13 ”Integritet” som i ”personlig integritet” 282
13.14 Lagar som berör personlig integritet 283
13.15 De viktigaste begreppen 284
13.16 Litteratur 285

14 Säkerhet i databaser 287

14.1 Databashanteraren skyddar databasen 288
14.2 Grant och revoke 290
14.3 Mer finkornig kontroll med vyer 291
14.4 Grant-rättigheter med grant option 291
14.5 Roller 292
14.6 Säkerhet i statistiska databaser 293
14.7 SQL-injektion 295
14.8 De viktigaste begreppen 296
14.9 Litteratur 297

15 Lagrade procedurer 299

15.1 Lagrade procedurer och användardefinierade funktioner 299
15.2 Lagrade procedurer i SQL 300
15.3 Ett enkelt exempel 300
15.4 Procedurer och funktioner 302
15.5 Transitivt hölje som en lagrad funktion 303
15.6 Fördelar med lagrade procedurer 305
15.7 Cursors i lagrade procedurer 306
15.8 De viktigaste begreppen 307
15.9 Litteratur 308

16 Aktiva databaser och triggers 309

16.1 Vad är en trigger? 310
16.2 Triggers i SQL 310
16.3 Materialiserad vy 312
16.4 Varför triggers? 313
16.5 Att hålla den materialiserade vyn uppdaterad med triggers 314
16.6 Flera rader åt gången 315
16.7 Ett annat exempel: Tillåt inga lönesänkningar 318
16.8 De viktigaste begreppen 319
16.9 Litteratur 320

17 Objektorienterade och objektrelationella databaser 321

17.1 Varför ska jag lära mig det här? 321
17.2 Skillnaden mellan objektorienterade och objektrelationella databaser 322
17.3 Objektorienterad datamodellering 323
17.4 Problem med relationsdatabaser 325
17.5 Objektlager 329
17.6 Objektrelationella databaser 333
17.7 De viktigaste begreppen 335
17.8 Litteratur 336

18 Datalager och datautvinning 337

18.1 Varför ska jag lära mig det här? 337
18.2 Driftsdatabaser 338
18.3 Beslutsstöd 339
18.4 Datalager (”data warehouses”) 340
18.5 Dimensionsmodellen 344
18.6 Datakuber i relationsdatabaser 348
18.7 Faktatabellen 351
18.8 Dimensionstabellerna 351
18.9 Redundans och denormalisering 352
18.10 Kuboperatorn 354
18.11 Finkornighet 356
18.12 Dataförråd (”data marts”) 356
18.13 Datautvinning (”data mining”) 357
18.14 De viktigaste begreppen 359
18.15 Litteratur 360

19 Databasbaserade webbplatser 363

19.1 WWW och statiska webbsidor 363
19.2 Dynamiska webbsidor och databaser 366
19.3 CGI 366
19.4 Utbyggbara webbservrar 371
19.5 SQL integrerad i webbsidorna 371
19.6 Java-appletar och andra klientprogram 376
19.7 XML 377
19.8 JSON 381
19.9 De viktigaste begreppen 382
19.10 Litteratur 383

20 Tid i databaser 385

20.1 Vanliga tidsdatatyper 385
20.2 Snapshot-databaser 386
20.3 Enkla tidsuppgifter 386
20.4 Tidsserier 387
20.5 En tidsdimension: giltighetstid 387
20.6 Giltighetstid i en vanlig relationsdatabas 389
20.7 En annan tidsdimension: transaktionstid 392
20.8 Transaktionstid i en vanlig relationsdatabas 393
20.9 Bi-temporala databaser 394
20.10 Bi-temporala tabeller i en vanlig relationsdatabas 395
20.11 Alternativa implementationer 397
20.12 Referensintegritet i en temporal databas 397
20.13 De viktigaste begreppen 398
20.14 Litteratur 400

21 SQL inuti ett program 401

21.1 Olika sätt att använda SQL 402
21.2 Olika sätt att använda SQL inuti ett program 403
21.3 Ett exempel på ett API: SQLite i Python 405
21.4 Ett annat exempel: MySQL i C 410
21.5 JDBC, ett databasoberoende API 412
21.6 Skriptprogrammering med T-SQL 418
21.7 ODBC 419
21.8 API:er för andra språk 432
21.9 Cursors 432
21.10 Embedded SQL 433
21.11 De viktigaste begreppen 439
21.12 Övningar 442
21.13 Litteratur 443

22 Index och prestanda 445

22.1 Ett index är som registret i en bok 445
22.2 Index i databashanterare 446
22.3 Usch så jobbigt! 449
22.4 Hur vet man vilka index som behövs? 449
22.5 Går det inte snabbt nog i alla fall? 452
22.6 Överkurs (men nödvändig läsning för den som ska bygga en
internet-bank): belastningsanalys 452
22.7 De viktigaste begreppen 454
22.8 Litteratur 454

23 Fysiska lagringsstrukturer i databaser 455

23.1 Varför ska jag lära mig det här? 455
23.2 Grunder om lagringsstrukturer 456
23.3 Vanliga databaser är diskbaserade 456
23.4 Poster och block 457
23.5 Hårddiskar och SSD:er 458
23.6 Både mekaniska hårddiskar och SSD:er är långsamma 461
23.7 Nycklar och sorteringsfält 462
23.8 Filoperationer 463
23.9 Huvudfilen 465
23.10 Osorterade filer 466
23.11 Sorterade filer 468
23.12 Hashfiler 470
23.13 Filer som organiseras efter ett index 473
23.14 Index 473
23.15 Sekundärindex 474
23.16 Primärindex 476
23.17 Klustrade index 476
23.18 Hashindex 477
23.19 B+-träd som index 478
23.20 B+-träd som primärindex 479
23.21 Filer som organiseras efter ett index 480
23.22 B+-träd som sekundärindex 480
23.23 Hashtabeller som växer automatiskt 481
23.24 Primärminnesdatabaser 486
23.25 Fysiska och logiska index 487
23.26 Bitindex 488
23.27 Flerdimensionella index 488
23.28 Räkneexempel med söktider 494
23.29 Komplexitet 499
23.30 De viktigaste begreppen 499
23.31 Övningar 502
23.32 Litteratur 504

24 Transaktioner 505

24.1 ACID-transaktioner 505
24.2 Konsistens 507
24.3 Commit och rollback 507
24.4 Auto-commit i SQL 508
24.5 Krascher och återstarter 509
24.6 Loggfilen 509
24.7 Reservkopior (”backup”) 510
24.8 I:et i ACID: Isolering 511
24.9 De viktigaste begreppen 512
24.10 Litteratur 513

25 Hur transaktioner hanteras inuti databashanteraren 515

25.1 ACID-egenskaperna och samtidighet 515
25.2 Transaktionens tillstånd 516
25.3 Buffertar och krascher 517
25.4 ACID-egenskaperna och krascher 518
25.5 Krascher och återstarter 519
25.6 Omedelbar och fördröjd uppdatering 520
25.7 Checkpoint 521
25.8 C:et i ACID: Konsistensbevarande 522
25.9 I:et i ACID: Isolering 523
25.10 Transaktioner som läser och skriver 523
25.11 Vad kan gå fel? 525
25.12 Seriella och icke-seriella tidsscheman 533
25.13 Serialiserbarhet 534
25.14 Olika isoleringsnivåer 537
25.15 Hur åstadkommer man isoleringen? 538
25.16 Kör transaktionerna seriellt 539
25.17 Kontrollera tidsschemat i förväg 540
25.18 Kontrollera tidsschemat efteråt 540
25.19 Lås 541
25.20 Optimistiska metoder 553
25.21 Tidsstämpelmetoden 559
25.22 Flerversionsmetoder 567
25.23 Långlivade transaktioner 568
25.24 De viktigaste begreppen 569
25.25 Litteratur 572

26 Frågebearbetning 573

26.1 Varför ska jag lära mig det här? 574
26.2 Nyttan av frågeoptimering 574
26.3 Frågebearbetningsfaser 577
26.4 Exempel 579
26.5 Vyexpansion 580
26.6 Klustrade index 581
26.7 Kostnadsbaserad optimering 583
26.8 Optimeringsmetoders komplexitet 600
26.9 De viktigaste begreppen 601
26.10 Litteratur 602

27 Distribuerade databaser 603

27.1 Vad är en distribuerad databas? 603
27.2 Fördelar och nackdelar 606
27.3 Design av distribuerade databaser 608
27.4 Fragmentering 609
27.5 Korrekt fragmentering 609
27.6 Frågebearbetning i distribuerade databaser: lokalisering och reduktion 614
27.7 Frågeoptimering i distribuerade databaser 620
27.8 Transaktioner i distribuerade databaser 625
27.9 Parallella databaser 632
27.10 De viktigaste begreppen 633
27.11 Litteratur 636

28 NoSQL, NewSQL och molndatabaser 637

28.1 NoSQL 637
28.2 NewSQL 641
28.3 Molndatabaser 642
28.4 Litteratur 643

29 Introduktion till MySQL 645

29.1 Om MySQL 646
29.2 Plus och minus 646
29.3 Linux-exempel 647

30 Introduktion till PostgreSQL 653

30.1 Några finesser i PostgreSQL 654
30.2 Linux-exempel 656

31 Introduktion till Microsoft SQL Server 659

31.1 Transact-SQL 660
31.2 SQL Server Management Studio 661
31.3 Vi provkör SQL Server Express 663
31.4 Litteratur 664

32 Några databashanterare 665

32.1 Db2 666
32.2 Firebird 666
32.3 IMS 666
32.4 Informix 666
32.5 Ingres 667
32.6 InterBase 667
32.7 MariaDB 668
32.8 Microsoft Access 668
32.9 Microsoft Jet 668
32.10 Microsoft SQL Server 668
32.11 Mimer 669
32.12 MongoDB 669
32.13 MySQL 669
32.14 ObjectStore 669
32.15 Oracle 670
32.16 PostgreSQL 670
32.17 SQLite 670
32.18 Sybase 670

33 Litteratur och resurser 671

33.1 Tjocka grundböcker 671
33.2 Böcker om några mer specialiserade ämnen 673
33.3 Böcker och handledningar på webben 675
33.4 Andra resurser på webben 676

Sakregister 677

Information

Språk:

Svenska

ISBN:

9789144146645

Utgivningsår:

2005

Revisionsår:

2018

Artikelnummer:

31838-DB02

Upplaga:

Andra

E-bok

Giltighetstid från aktivering:

6 mån
 ;