Hylla
Författare/Namn
Titel
Utgivning, förlag, etc. Studentlitteratur, Lund 2018
SAB Klassning
Upplaga
Omfång 689 sidor illustrationer 23 cm
Fysiskt medium
Term
Medarbetare
ISBN
Antal i kö:
*00007976cam a2201537 i 4500
*001304058
*00520180530133803.0
*008180426s2018 sw ||||e||||||000 0|swe|d
*020 $a9789144069197$qhäftad
*035 $a(BOKR)9789144069197
*035 $a(SE-LIBR)22616685
*041 $aswe
*08204$a005.74$223/swe
*084 $aPubdh$2kssb/8 (machine generated)
*1001 $aPadron-McCarthy, Thomas,$d1963-
*24510$aDatabasteknik /$cThomas Padron-McCarthy, Tore Risch.
*250 $aAndra upplagan
*260 $aLund$bStudentlitteratur,$c2018
*300 $a689 sidor$billustrationer$c23 cm
*340 $b23 cm
*650 7$aDatabashantering
*650 7$aDatabaser
*650 7$aRelationsdatabaser
*650 7$aSQL (programs pråk)
*650 0$aSQL (Computer program language)
*650 0$aDatabases
*650 0$aRelational databases
*650 0$aDatabase management
*7001 $aRisch, Tore,$d1949-$4aut$0https://libris.kb.se/pm14df671jmww7q#it
*852 $hPubd
^
Det finns inga omdömen till denna titeln.
Klicka här
för att vara den första som skriver ett omdöme.
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 Ö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 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 integritetsvillkor281 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 Let 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 Let 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