
Databasteknik

Databasteknik (e-bok)
Valt format
- Innehåll
- 1Förord
- 17Databaser och databashanterare
- 1.17Varför ska jag lära mig det här?
- 1.28Vad är en databas?
- 1.38Vad är en databashanterare?
- 1.49Språkförbistring
- 1.510Databashanterare -- varför?
- 1.617Nackdelar med databaser
- 1.717Jämförelse med kalkylprogram
- 1.818Användningsområden för databasteknik
- 1.919Datamodeller
- 1.1020Tre-schema-arkitekturen
- 1.1121Olika typer av användare
- 1.1222Databashanterare -- hur?
- 1.1324Hur mycket data kan man ha i en databas?
- 1.1425Databasen och verkligheten
- 1.1526De viktigaste begreppen
- 1.1629Litteratur
- 231ER-modellering
- 2.131Konceptuella datamodeller
- 2.232Varför ska jag lära mig det här?
- 2.333Grunderna för hur man ritar ER-diagram
- 2.434Hur många personer bor i varje hus?
- 2.536Skilj på ER-diagram och tabeller
- 2.636Skilj på schema och data
- 2.737Flera sambandstyper mellan samma entitetstyper
- 2.838Fullständigt deltagande
- 2.938Attribut
- 2.1040Ett vanligt fel
- 2.1140Sammansatta attribut
- 2.1241Flervärda attribut
- 2.1341Härledda attribut
- 2.1442Svaga entitetstyper
- 2.1543Objektifiering av sambandstyper
- 2.1645Flervägssamband
- 2.1748Utvidgade ER-diagram (EER)
- 2.1850Mer om arv i EER-diagram
- 2.1952Översättning till relationsmodellen
- 2.2053Varför inte ER-diagram hela vägen?
- 2.2153Alternativa notationer
- 2.2254De viktigaste begreppen
- 2.2356Övningar
- 2.2458Litteratur
- 359Mer om datamodellering
- 3.159Varför ska jag lära mig det här?
- 3.260Hierarkier
- 3.363Generalisering och specialisering
- 3.464Generalisering 1: Superklass i EER
- 3.567Generalisering 2: Att flytta saker från schema till data
- 3.671Specialisering
- 3.771Ett annat exempel på generalisering
- 3.873De viktigaste begreppen
- 3.974Övningar
- 3.1075Litteratur
- 477Designprocessen
- 4.177Traditionell databasdesign
- 4.280Object-Relational Mapping, ORM
- 4.381Litteratur
- 583Relationsmodellen
- 5.183Varför ska jag lära mig det här?
- 5.284Relationer
- 5.385Schema och innehåll
- 5.486”Medlem”, ”medlemmar” eller ”members”?
- 5.586Olika sorters nycklar
- 5.688Kopplingar mellan relationer
- 5.789Vanliga fel
- 5.890Varför heter det ”relationer”?
- 5.992De viktigaste begreppen
- 5.1093Litteratur
- 695Översättning från ER-modellen till relationsmodellen
- 6.195Kort kokbok
- 6.296Steg 1: Vanliga entitetstyper
- 6.398Steg 2: 1:N-sambandstyper
- 6.499Steg 3: 1:1-sambandstyper
- 6.5101Steg 4: N:M-sambandstyper
- 6.6102Steg 5: Sambandstyper av högre grad än två
- 6.7103Steg 6: Attribut på sambandstyper
- 6.8105Steg 7: Svaga entitetstyper
- 6.9105Steg 8: Sammansatta attribut
- 6.10106Steg 9: Flervärda attribut
- 6.11107Steg 10: Härledda attribut
- 6.12107Steg 11: Arv i EER-modellen
- 6.13111Litteratur
- 6.14111Övningar
- 7113Introduktion till frågespråket SQL
- 7.1113Varför ska jag lära mig det här?
- 7.2114Standard-SQL och SQL-standarder
- 7.3115Förberedelser
- 7.4115De första stapplande stegen
- 7.5117Enkla frågor med select
- 7.6120Citationstecken
- 7.7120Om man skriver fel
- 7.8121Frågor med flera tabeller
- 7.9123Ett annat sätt att kombinera tabeller
- 7.10125Repetition
- 7.11126Ett exempel till: Vad sportar Olle?
- 7.12130in och not in
- 7.13131Mer om nästlade frågor: exists och not exists
- 7.14133Jämförelser med any, some och all
- 7.15134Sortering med order by
- 7.16134Tio-i-topp-listor
- 7.17136Överkurs: Tabellnamn och alias i nästlade frågor
- 7.18137Att ändra på databasens innehåll
- 7.19142Vyer
- 7.20144Transaktioner med commit och rollback
- 7.21146Skriv ut alla kolumnnamnen
- 7.22147SQL som DDL
- 7.23149Mer om SQL som DDL: Så här skapade vi vår klubb-databas
- 7.24150Hur man gör i praktiken
- 7.25150Så här la vi in data i klubb-databasen
- 7.26151Scheman
- 7.27152Vanliga fel i SQL
- 7.28153Prestanda i SQL
- 7.29155Övningar
- 7.30156Litteratur
- 8159Mer om SQL: Aggregatfunktioner, null-värden, vyer och rekursiva frågor
- 8.1159Exempeldatabasen: arbetare och kontor
- 8.2161Grunder om aggregatfunktioner
- 8.3162Aggregatfunktioner med where
- 8.4164Mängdoperationer i SQL
- 8.5165Mängder och påsar
- 8.6166Aggregatfunktioner med group by och having
- 8.7170Ett problem: Saker som försvinner
- 8.8170Explicit join
- 8.9172Yttre join
- 8.10174Count kan räkna antingen rader eller värden
- 8.11175Flera join-operationer i samma fråga
- 8.12179Vyer
- 8.13181CTE:er
- 8.14182Join med sig själv
- 8.15183Problem med null i SQL
- 8.16186Rekursiva frågor
- 8.17190Ännu mer SQL
- 8.18190Nyheter i SQL:1999
- 8.19193Övningar
- 9195Sammanfattning av SQL-kommandon
- 9.1196Select-frågor
- 9.2199Insert
- 9.3200Delete
- 9.4200Update
- 9.5201Create table
- 9.6204Create view
- 9.7204Alter table
- 9.8205Create index
- 9.9206Drop
- 9.10208Transaktioner
- 9.11209Säkerhet med grant och revoke
- 9.12210Några andra kommandon
- 9.13210Syntax i olika databashanterare
- 9.14211Litteratur
- 10213Relationskalkyl
- 10.1213Varför ska jag lära mig det här
- 10.2214Radkalkyl
- 11221Relationsalgebra
- 11.1221Varför ska jag lära mig det här?
- 11.2222Mängd- och påsalgebra
- 11.3222Relationsalgebra är ett funktionellt språk
- 11.4223Logisk och fysisk relationsalgebra
- 11.5223Operationen selektion, σ
- 11.6225Operationen projektion, π
- 11.7225Relationsalgebrauttryck
- 11.8226Mängdoperationerna union, snitt och differens
- 11.9228Operationen yttre union
- 11.10229Operationen kartesisk produkt, ×
- 11.11230Operationen join (även kallad inre join)
- 11.12232Operationen naturlig join
- 11.13233Att byta namn på relationer och attribut: operationen ρ
- 11.14234Aggregatfunktioner
- 11.15236Operationen yttre join
- 11.16237Operationen division, ÷
- 11.17238Hierarkier
- 11.18241Transitivt hölje
- 11.19242Uppdateringsoperationer
- 11.20242Sammanfattning av notationen
- 11.21242Övningar
- 11.22245Litteratur
- 12247Normalformer och normalisering
- 12.1247Varför ska jag lära mig det här?
- 12.2248Ett förklarande exempel
- 12.3248Första försöket att göra en databas
- 12.4249En enkel regel för hur tabeller ska se ut
- 12.5251Första normalformen, ”1NF”
- 12.6251Funktionellt beroende, ”fb”
- 12.7252Fullständigt funktionellt beroende, ”ffb”
- 12.8253Hur vet man vilka funktionella beroenden som finns?
- 12.9254Andra normalformen, ”2NF” (ett första, dåligt, försök)
- 12.10255Redundans i alla fall?
- 12.11256En bättre definition av 2NF
- 12.12257Tredje normalformen, ”3NF”
- 12.13258Hur vet man hur man ska göra uppdelningen
- 12.14260Boyce-Codds normalform, ”BCNF”
- 12.15261Tänk på vad tabellen betyder!
- 12.16262Ännu fler normalformer
- 12.17263Ibland är det bra att inte normalisera
- 12.18263Inte bara för relationsmodellen
- 12.19264De viktigaste begreppen
- 12.20265Övningar
- 12.21266Litteratur
- 13267Integritetsvillkor
- 13.1269Ett exempel: Anställda och avdelningar
- 13.2269Nyckelvillkor i SQL
- 13.3271Referensintegritet i SQL
- 13.4273Vadå ”misslyckas”?
- 13.5274Ajöss med konsulterna!
- 13.6275Mer komplicerade villkor
- 13.7276Hur anger man dessa mer komplicerade villkor?
- 13.8278Aktiva databaser
- 13.9279Vem kollar villkoren? Procedurellt eller deklarativt?
- 13.10280Ska man alltid skapa integritetsvillkor?
- 13.11281En möjlig uppdelning i olika typer av integritetsvillkor
- 13.12282Databasens interna integritet
- 13.13282”Integritet” som i ”personlig integritet”
- 13.14283Lagar som berör personlig integritet
- 13.15284De viktigaste begreppen
- 13.16285Litteratur
- 14287Säkerhet i databaser
- 14.1288Databashanteraren skyddar databasen
- 14.2290Grant och revoke
- 14.3291Mer finkornig kontroll med vyer
- 14.4291Grant-rättigheter med grant option
- 14.5292Roller
- 14.6293Säkerhet i statistiska databaser
- 14.7295SQL-injektion
- 14.8296De viktigaste b
Information
Språk:
SvenskaISBN:
9789144069197Utgivningsår:
2005Revisionsår:
2018Artikelnummer:
31838-02Upplaga:
AndraSidantal:
689Innehå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:
SvenskaISBN:
9789144146645Utgivningsår:
2005Revisionsår:
2018Artikelnummer:
31838-DB02Upplaga:
AndraE-bok
Giltighetstid från aktivering:
6 mån