Minnesteknik. Minnen lämpliga för databaser. Minnesteknik, forts. Databaser design och programmering. temporärt/flyktig Snabbt Dyrt
|
|
- Helena Hellström
- för 8 år sedan
- Visningar:
Transkript
1 Databaser design och programmering n Fysisk design av databasen Minnesteknik n Primärminne (kretsteknik) n att ta hänsyn till implementationsaspekter minnesteknik filstrukturer indexering 1 temporärt/flyktig Snabbt Dyrt n Sekundärminne (Olika tekniker: hårddisk, CD, DVD, diskett, magnetband) Permanent Långsamt 2 Minnesteknik, forts Minnen lämpliga för databaser n Hybrider, sk solid state (usb-minne, SD-minnen) Permanent Snabbt Dyrt n databaser är stora n databaser är persistenta n därför sparas databaser på pålitligare senkundärminnen 3 4
2 Hårddisk Hårddisken i detalj n magnetiserbar beläggning n Läs/skrivhuvud n Spår n Cylinder n Sektor 5 6 Hårddisk - block n Block en logiskt enhet Minsta överföringsmängd till primärminnet Vanligtvis Bytes n Fil lagras i ett antal block n Accesstid = sök+rotation n Överföringstid = sök+rotation+läs = 5-10ms n Blocköverföring tar alltså tid 7 Databasens lagring n Tabeller lagras i filer n Fil lagras som en sekvens poster n Post med fält = tupel med attribut n Fil med poster = relation med tupler 8
3 Filer Filer och block n Olika lösningar: databashanteraren har helt egna filer databashanteraren använder OS' filer n Viktiga operationer på poster: hitta, lägg till, ta bort, ändra, gå igenom ett antal 9 n Filer lagras som en sekvens av poster som organiseras i en sekvens av diskblock (block) n Block i samma fil ligger efter varandra i samma spår så långt det går n Efterraderingar och insättningar skapar lösa utrymmen (fragmentering) 10 Blockningsfaktor, bfr n Om R är poststorlek och B är blockstorleken är bfr = B/R n en fil med r stycken poster kräver n = r/bfr stycken block n Vilka block som ingår lagras i filhuvudet 11 ISBN Title Author Pages Book Databasteknik Thomas Padron- McCarthy Fundamentals of database systems Ramez Elmasri Database system concepts Avi Silberschatz 1315 Big Data: A revolution that will transform how we live, work and think Datab Thom 646 Funda Rame 1200 Datab AviSi 1315 BigDa Vikto 256 Post Viktor Mayer- Schonberger Fält G16 - Erik Prytz 12
4 Filer n Består av filhuvud och en samling poster ordnade på något sätt i en sekvens av block. n Filhuvud - information om poststorlek, ingående block, sista block n Hur är posterna ordnade inom filen? 1. Hög (heap) (osorterat) 2. Ordnad sekvens (sorterat) 3. Hashstruktur Indexstruktur Hög (heap) n Oordnad sekvens av poster Ny post: läggs sist. Adressen till sista blocket sparas i filhuvudet. Sökning: sekvensiell genomgång av filen tills man hittar den sökta posten. Medel=b/2, Max=b. Borttagning - sök rätt block, som läses in. Ta bort posten. Skriv tillbaks det reviderade blocket, som nu är delvis 14 tomt. Sökning i hög, exempel Poststorlek, R = 100 byte blockstorlek, B = 1024 byte filstorlek, r = st poster tid för blocköverföring: 10 ms Blockningsfaktorn blir: bfr= B/R = = 1024/100 = 10 poster per block Filen tar upp b= rbfr = 30000/10 st block För att hitta en viss post krävs i genomsnitt b/2= 1500 blocköverföringar = 15 sekunder 15 Hög: fördelar och nackdelar + Insättning går mycket fort - varför? - Många borttagningar leder till tomrum på skivan. (Kräver periodisk omorganisering av filen.) - Sökning långsam - Om posterna har variabel längd kan ändring i en sådan post få blocket att svämma över - posten måste då tas 16 bort och sättas in på nytt.
5 Filen som en ordnad sekvens (sorterat) n Posterna i filen sorteras enligt värdet på något fält i posterna. Ny post: hitta rätt ställe (rätt block), skapa plats åt den nya posten, sätt in den. Skapa plats => flytta resten av posterna ett steg framåt. Sökning: binärsökning Borttagning - som ny post om posten fysiskt ska tas bort. Man kan också markera posten som borttagen och organisera om 17 då och då. Sökning i ordnad sekvens, exempel Samma exempelfil som tidigare: Blockfaktor, bfr = 10 poster per block Antal block, b = 3000 block. Tid för blocköverföring = 10 ms Binärsökning, antal blocköverföringar: n= log2(b) = log2(3000) =12 För att hitta en viss post krävs maximalt 12 blocköverföringar = 0.12 sekunder. 18 Ordnad sekvens, fördelar och nackdelar - Insättning av ny post tar tid om plats skapas genom att förskjuta övriga poster i filen - Borttagning eventuellt likaså + snabbare sökning än hög (heap) 19 Hashstruktur n För filer med nyckel. n Posterna sprids över en hylla med fack med hjälp av en hashfunktion n Varje hylla=ett block n Kollisionshantering vid fullt block: spillblock n Hashning som används i samband med externminne kallas för externhashning 20
6 Hashstruktur, forts n Ny post: beräkna hashvärde, om plats finns i blocket, sätt in. Om inte länka in nytt block. n Sökning: beräkna hashvärde, läs. Om inte rätt block följ länken till nästa tills funnen. Tid för sökning: beror av hur många länkar man måste följa. n Borttagning: hitta som ovan, ta bort posten ur blocket och skriv tillbaks det 21 ändrade blocket. Hashstruktur, fördelar och nackdelar + snabb sökning (fåtal blockaccesser) - avancerad algoritm för insättning och borttagning - tar viss extra plats (länkfältet samt luft ) - kräver hela nyckeln (delar av en sammansatt nyckel räcker inte för att beräkna korrekt hashvärde) 22 Indexstruktur n För sökning på något speciellt fält (indexeringsfält). n Jämför index till en bok n Huvudfilen är ordnad efter något fält, t.ex. nyckeln. Kallas då primärindex. n För varje block i huvudfilen skapas en post i indexfilen, som innehåller nyckeln från den första posten i 23 blocket samt blockets adress. Indexstruktur, forts n Ny post: rätt block söks fram, läses in, ändras och skrivs tillbaks. Vid översvämning skapas ett nytt block och en ny indexpost läggs in i indexfilen n Sökning: sök nyckeln i indexfilen (som vid sökning i sorterad fil). Hämta aktuellt block. n Borttagning: som ny post. Oftast lämnas tomrum i block istället för att 24 organisera om varje gång.
7 Sökning i indexerad fil, exempel Samma huvudfil som tidigare n Antal block, b = 3000 block Tid för blocköverföring = 10 ms n Antag att nyckelfältet är 9 bytes långt och adressen till block tar 6 bytes n Indexfilen är en sorterad fil som söks som sådan 25 Sökning i indexfilen n Indexfilens poststorlek ir=15 bytes Indexfilens blockfaktor ibfr = 1024/15 = 68 Indexfilen tar alltså upp ib = 3000/68 = 45 block n Hitta en viss indexpost (binärsökning i indexfilen): log2(45) blocköverföringar = 6 st. Sedan ytterligare en för att läsa ur huvudfilen. 26 Totalt 7 blockaccesser, 0.07 sekunder. Indexstruktur, fördelar och nackdelar - indexfilen tar extra plats i databasen. - insättning och borttagning kräver även uppdatering av indexfilen. + snabb sökning + relativt enkla algoritmer för insättning och borttagning Multipla index (indexnivåer) n Index till indexfilen. n För varje block i indexfilen en post i index-indexfilen... n Kan ha godtyckligt många nivåer
8 Sökning med multipelt index Samma huvudfil och samma indexfil som tidigare n Indexfilens blockfaktor ibfr = 68 Indexfilen tar upp ib = 45 block Index på indexfilen behöver i 2 r= 45 poster. Den får plats i ett block: n Hitta index till indexfilen (1 överföring). Hitta index till huvudfilen (1 överföring). Läsa in det eftersökta blocket ur huvudfilen (1 överföring). 29 n Totalt 3 blockaccesser, 0.03 sekunder. Klusterindex n Indexering på icke-unikt fält n Sortera filen på indexfältet (klusterfältet) och skapa indexpost för första posten av varje indexvärde. n Ny post sortera in efter nyckeln n Sökning sök rätt index som tidigare, sök sedan rätt post i blocket, eller nästa block 30 n Borttagning som för vanligt index. Sekundärindex n index på unikt fält som filen inte är sorterad efter? n Detta index är tätt (en indexpost per post i huvudfilen, jfr primärindex, glest). n Sekundärindexet får lika många poster som datafilen har poster. 31 Sökning med sekundärindex, exempel Samma fil som tidigare och indexposter som tidigare, men med tätt index (en indexpost per datapost) n Indexfilens poststorlek ir = 15 bytes Indexfilens blockfaktor ibfr = 1024/15 = 68 n Indexfilen tar ib = 30000/68 = 442 block n Hitta en indexpost, binärsökning i indexfilen: log2(442) blocköverföringar = 9 st sedan en blocköverföring ur huvudfilen. n Totalt 10 blockaccesser, 0.1 sekunder. 32
9 Sammanfattning Filorganisationer Typ Ny post Sökning Borttagning Extra plats Hög snabb (2) långsam Ordnad långsam (log2(b)+1) (b/2) snabb (log2(b)) Hashstrukt snabb (2-3) snabb Indexerad snabb (log2(ib)+2) (1-2)** snabb (log2(ib)+1) långsam (b/2 +1) långsam (log2(b)+1) snabb (2-3) snabb (log2(ib)+2) övergivna poster* tomma poster* länkvärde + reserv indexfilen Värdet anger antal accesser, b=antal block i filen, ib=antal block i indexfilen. *=Om ingen omorganisation sker. **= sökning på nyckelvärde, annan sökning som för Hög. 33 n Hög n Ordnad sekvens n Hashstruktur n Indexstruktur primärindex (multipla nivåer) klusterindex sekundärindex 34 Fysisk design Designa databasen på fysisk nivå: n avvägning mellan utrymme och snabbhet. n Ta med i beräkningen hur ofta tabellen används och hur (sökning/matchning mot vilket fält). n Åtgärder: Ordna datafilen - osorterad hög eller sorterad? På vad? Används alltid nyckel? Hashtabell! Skapa index vilka behövs? 35
Databaser Design och programmering. Fysisk design av databasen att ta hänsyn till implementationsaspekter: minnesteknik filstrukturer indexering
Databaser Design och programmering Fysisk design av databasen att ta hänsyn till implementationsaspekter: minnesteknik filstrukturer indexering 2 Programdesign, databasdesign Databasdesign Kravspecifikation
Databaser Design och programmering Minnesteknik Minnesteknik, forts Utvecklingen Hårddisk Hårddisk, forts
Databaser Design och programmering Fysisk design av databasen att ta hänsyn till implementationsaspekter minnesteknik filstrukturer indexering 1 Minnesteknik Primärminne (kretsteknik) Flyktigt Snabbt Dyrt
Databaser - Design och programmering. Minnesteknik. Minnesteknik, forts. Hårddisk. Primärminne (kretsteknik) Fysisk design av databasen
Databaser Design och programmering Fysisk design av databasen att ta hänsyn till implementationsaspekter minnesteknik filstrukturer indexering Minnesteknik Primärminne (kretsteknik) Flyktigt Snabbt Dyrt
Databaser Design och programmering. Fysisk design av databasen att ta hänsyn till implementationsaspekter: minnesteknik filstrukturer indexering
Databaser Design och programmering Fysisk design av databasen att ta hänsyn till implementationsaspekter: minnesteknik filstrukturer indexering 2 Programdesign, databasdesign Databasdesign Kravspecifikation
Fillagring och indexering
Fillagring och indexering Lena Strömbäck Institutionen för datavetenskap (IDA) Databaser Världen Databas Modell Databas- Hanterings- System (DBMS) Queries Svar Queries Svar Användare Anv Updates Queries
Karlstads Universitet, Datavetenskap 1
DAV B04 - Databasteknik KaU - Datavetenskap - DAV B04 - MGö 151 Lagring av databaser på sekundärminne Att läsa/skriva på sekundärminne (hårddisk) är en långsam process jämfört med operationer i primärminnet
Dagens föreläsning. KTH & SU, CSC Databasteknik Föreläsning 10 sid 1
Dagens föreläsning Vad du skall komma ihåg från tidigare föreläsningar Optimering av frågor Algebraisk omformulering Kostnadsberäkningar Evaluering av frågor Algoritmer för relationsoperatorer Beräkning
Vad du skall komma ihåg från tidigare föreläsningar. Dagens föreläsning. Evaluering av frågor. Data dictionary
Dagens föreläsning Vad du skall komma ihåg från tidigare föreläsningar Vad du skall komma ihåg från tidigare föreläsningar Optimering av frågor Algebraisk omformulering Kostnadsberäkningar Evaluering av
Datastrukturer och algoritmer. Innehåll. Tabell. Tabell - exempel. Gränsyta till Tabell. Tabell. Modell. Hashtabell Relation, lexikon.
Datastrukturer och algoritmer Föreläsning 7 Tabell, hashtabell Relation & lexikon Innehåll Tabell Tabell Hashtabell Relation, lexikon Modell Uppslagsbok Organisation Ändlig avbildning av argument på värden
Tentamen DATABASTEKNIK - 1DL116
Uppsala universitet Institutionen för informationsteknologi Kjell Orsborn Tentamen 2003-05-20 DATABASTEKNIK - 1DL116 Datum...Tisdagen den 20 Maj, 2003 Tid...12:00-17:00 Jourhavande lärare...kjell Orsborn,
Tommy Färnqvist, IDA, Linköpings universitet. 1 ADT Map/Dictionary 1 1.1 Definitioner... 1 1.2 Implementation... 2
Föreläsning 4 ADT Map/Dictionary, hashtabeller, skip-listor TDDC91: DALG Utskriftsversion av föreläsning i Datastrukturer och algoritmer 9 september 2015 Tommy Färnqvist, IDA, Linköpings universitet 4.1
Magnus Nielsen, IDA, Linköpings universitet
Föreläsning ADT Map/Dictionary, hashtabeller TDDC9,TDDE22,725G97: DALG Utskriftsversion av föreläsning i Datastrukturer och algoritmer 7 september 208 Magnus Nielsen, IDA, Linköpings universitet. ADT Map/Dictionary.
Inlämningsuppgift : Finn. 2D1418 Språkteknologi. Christoffer Sabel E-post: csabel@kth.se 1
Inlämningsuppgift : Finn 2D1418 Språkteknologi Christoffer Sabel E-post: csabel@kth.se 1 1. Inledning...3 2. Teori...3 2.1 Termdokumentmatrisen...3 2.2 Finn...4 3. Implementation...4 3.1 Databasen...4
TENTAMEN. TDDD12 Databasteknik TDDD46 Databasteknik. 16 augusti 2010, kl 14-18
LiTH, Linköpings tekniska högskola IDA, Institutionen för datavetenskap Jose M. Peña 2010-08-10 Lokal TER1 och TERC. Tillåtna hjälpmedel Lexikon, miniräknare. TENTAMEN TDDD12 Databasteknik TDDD46 Databasteknik
Tentamen i. Databasteknik
Tentamen i Databasteknik Torsdagen den 10/3 2005 14.00-19.00 Tillåtna hjälpmedel: Allt tänkbart material Använd bara framsidan på varje blad Skriv max en uppgift per blad. Skriv tydligt. Motivera allt.
Operativsystem - Filsystem
Operativsystem - Filsystem Mats Björkman 2015-03-09 Administrativt n Extraföreläsning istället för den inställda: torsdag 12/3 kl 8-10 i Pi n Seminarier preliminärt schema ute n 15 minuter per grupp lämna
Öppna filer och filsystem i PintOS Hemuppgift TDDI81, 21/
Öppna filer och filsystem i PintOS Hemuppgift TDDI8, /0-03 Almquist Mathias (matal09) Nguyen Johan (johng86) Hamzic Mirza (mirha348) Timliden Erik (eriti930) INLEDNING PintOS är ett operativsystem utvecklat
Datastrukturer. föreläsning 6. Maps 1
Datastrukturer föreläsning 6 Maps 1 Avbildningar och lexika Maps 2 Vad är ett lexikon? Namn Telefonnummer Peter 031-405937 Peter 0736-341482 Paul 031-405937 Paul 0737-305459 Hannah 031-405937 Hannah 0730-732100
Datastrukturer. föreläsning 10. Maps 1
Datastrukturer föreläsning 10 Maps 1 AVL-träd 1 2 5 2 0 4 1 8 3 2 1 11 1 7 Lecture 6 2 Insättning i AVL-träd Sätt först in det nya elementet på samma sätt som i ett vanligt BST! Det nya trädet kan bli
Träd Hierarkiska strukturer
Träd Hierarkiska strukturer a 1 a 2 a 3 a 4 a 2 a 5 a 6 a 7 Hierarki: Korta vägar till många Hur korta? Linjär lista: n 2 Träd: Antal element på avståndet m: g m a 1 a 3 a 8 a 12 m = log g n a 9 a 10 Väglängden
Sökning. Översikt. Binärt sökträd. Linjär sökning. Binär sökning. Sorterad array. Linjär sökning. Binär sökning Hashtabeller
Översikt Linjär sökning Sökning Binär sökning Hashtabeller Programmering tillämpningar och datastrukturer 2 Linjär sökning Binärt sökträd Undersök ett element i taget tills du hittar det sökta Komplexitet
Fö 2: Minnen. Introduktion. Primärminnet. Interna och externa minnen. Introduktion, Klassificiering
Fö 2: Minnen Introduktion, Klassificiering Primärminne Sekundärminne Minneshiearki Cache-minne Introduktion Primärminnet används för att lagra program och data som är aktuella att använda. Sekundärminnet
Tommy Färnqvist, IDA, Linköpings universitet. 1 ADT Map/Dictionary 1 1.1 Definitioner... 1 1.2 Implementation... 2
Föreläsning 5 ADT Map/Dictionary, hashtabeller TDDI16: DALG Utskriftsversion av föreläsning i Datastrukturer och algoritmer 16 september 2015 Tommy Färnqvist, IDA, Linköpings universitet 5.1 Innehåll Innehåll
Tentamen i Databasteknik
Tentamen i Databasteknik Tisdagen den 15 mars 2010 Tillåtna hjälpmedel: Allt skrivet material och räknedosa Använd bara framsidan på varje blad. Skriv max en uppgift per blad. Motivera allt, dokumentera
Vad är en databas? Databaser. Relationsdatabas. Vad är en databashanterare? Vad du ska lära dig: Ordlista
Databaser Vad är en databas? Vad du ska lära dig: Använda UML för att modellera ett system Förstå hur modellen kan översättas till en relationsdatabas Använda SQL för att ställa frågor till databasen Använda
IT för personligt arbete F5
IT för personligt arbete F5 Datalogi del 1 DSV Peter Mozelius 1 En dators beståndsdelar 1) Minne 2) Processor 3) Inmatningsenheter 1) tangentbord 2) scanner 3) mus 4) Utmatningsenheter 1) bildskärm 2)
SQLs delar. Idag. Att utplåna en databas. Skapa en databas
Idag SQLs delar Hur skapar vi och underhåller en databas? Hur skapar man tabeller? Hur får man in data i tabellerna? Hur ändrar man innehållet i en tabell? Index? Vad är det och varför behövs de? Behöver
TENTAMEN TDDD12 Databasteknik 7 januari 2010, kl 14-18
Institutionen för datavetenskap Linköpings universitet TENTAMEN TDDD12 Databasteknik 7 januari 2010, kl 14-18 Jourhavande lärare: Jose M. Peña (1651) Poäng: Tentan består av 2 delar. För godkänd krävs
Föreläsning Datastrukturer (DAT036)
Föreläsning Datastrukturer (DAT036) Nils Anders Danielsson 2013-11-27 Idag Balanserade sökträd Splayträd Skipplistor AVL-träd AVL-träd Sökträd Invariant (för varje nod): Vänster och höger delträd har samma
Mer datorarkitektur. En titt I datorn Minnen
Mer datorarkitektur En titt I datorn Minnen von Neumann-modellen von Neumann-modellen CPU (Central Processing Unit) Styrenhet hämtar programinstruktioner ALU (Arithmetic and Logical Unit) utför beräkningar
Innehåll MySQL Intro. Ex på ett index Index typer ISAM Balanserat träd Pk och Fk i MySQL Eget index För o nackdelar med index
Innehåll MySQL Intro Ex på ett index Index typer ISAM Balanserat träd Pk och Fk i MySQL Eget index För o nackdelar med index Institutionen Institutionen för Datavetenskap, för Kommunikation Fysik o och
Innehåll. F7: Tabell, hashtabell, relation & lexikon. Gränsyta till Tabell. Tabell. Tabell Hashtabell Relation Lexikon.
Innehåll F7: Tabell, hashtabell, relation & lexikon Niclas Börlin 5DV49 Datastrukturer och algoritmer Tabell Hashtabell Relation Lexikon Tabell Gränsyta till Tabell Modell Uppslagsbok Organisation Ändlig
TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 9 Jonas Lindgren, Institutionen för Datavetenskap, LiU
TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 9 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Prioritetskö Heap Representation som
Sökning i ordnad lista. Sökning och sortering. Sökning med vaktpost i oordnad lista
Sökning och sortering Sökning i oordnad lista Att söka efter data man lagrat undan för senare användning är vanligt Egentligen har man ingen annan anledning för att lagra undan data Har man mycket data
Innehåll. Föreläsning 12. Binärt sökträd. Binära sökträd. Flervägs sökträd. Balanserade binära sökträd. Sökträd Sökning. Sökning och Sökträd
Innehåll Föreläsning 12 Sökträd Sökning Sökning och Sökträd 383 384 Binärt sökträd Används för sökning i linjära samlingar av dataobjekt, specifikt för att konstruera tabeller och lexikon. Organisation:
Idag. Hur skapar vi och underhåller en databas? DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20
Idag Hur skapar vi och underhåller en databas? DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten 2009 1 / 20 Idag Hur skapar vi och underhåller en databas? Hur skapar man tabeller?
Datastrukturer och algoritmer
Innehåll Föreläsning En introduktion till projektmodellen LIPS Hashtabeller Att läsa: Dessa bilder + kapitel. Projekt definition Projekt En grupp av projektdeltagare utför under ledning av en projektledare
Datastrukturer. föreläsning 10. Maps 1
Datastrukturer föreläsning 10 Maps 1 Minsta uppspännande träd Maps 2 Minsta uppspännande träd Uppspännande träd till graf fritt delträd innehåller alla noderna Minsta uppspännande träd (MST) är det uppspännande
Tentamen med lösningsförslag Datastrukturer för D2 DAT 035
Tentamen med lösningsförslag Datastrukturer för D2 DAT 035 17 december 2005 Tid: 8.30-12.30 Ansvarig: Peter Dybjer, tel 7721035 eller 405836 Max poäng på tentamen: 60. (Bonuspoäng från övningarna tillkommer.)
Föreläsning 14 Innehåll
Föreläsning 14 Innehåll Abstrakta datatyper, datastrukturer Att jämföra objekt övriga moment i kursen Om tentamen Skriftlig tentamen både programmeringsuppgifter och teoriuppgifter Hitta fel i fingerade
Innehåll. Föreläsning 10. Specifikation. Mängd. Specifikation. Konstruktion av mängd. Mängd Lexikon Hashtabell
Innehåll Föreläsning Mängd, lexikon och hashtabell Mängd Lexikon Hashtabell Mängd Specifikation Modell: En påse, men den är inte riktigt bra eftersom man tex kan ha mängder med gemensamma element. Organisation:
Vad är en databas? Databaser. Relationsdatabas. Vad är en databashanterare? Vad du ska lära dig: Ordlista
Databaser Vad är en databas? Vad du ska lära dig: Använda UML för att modellera ett system Förstå hur modellen kan översättas till en relationsdatabas Använda SQL för att ställa frågor till databasen Använda
Tentamen Datastrukturer för D2 DAT 035
Tentamen Datastrukturer för D2 DAT 035 17 december 2005 Tid: 8.30-12.30 Ansvarig: Peter Dybjer, tel 7721035 eller 405836 Max poäng på tentamen: 60. (Bonuspoäng från övningarna tillkommer.) Betygsgränser:
Filhantering. Grunderna i filhantering. Uppbyggnad av filer. Data hierarkin. Filpekaren. Positionering i filer 2002-10-29
Grunderna i filhantering Filhantering Filer kan användas för permanent lagring av data Hårddisk, disketter, CD-R/W, band Variabler och arrayer Försvinner när du avslutar programmet Sparas i datorns arbetsminne
Vad är ett dokument? Gör så här
Orsaken till att man överhuvudtaget använder en dator är ju för att genomföra ett arbete, producera ett resultat eller skapa något. Man skriver ett brev, ritar en bild eller kanske gör en kalkyl av något
TDIU01 - Programmering i C++, grundkurs
TDIU01 - Programmering i C++, grundkurs Pekare och Listor Eric Elfving Institutionen för datavetenskap 31 oktober 2014 Översikt 2/41 Internminne Pekare Dynamiska datastrukturer (Enkellänkade) listor Arbeta
TDDC76 - Programmering och Datastrukturer
TDDC76 - Programmering och Datastrukturer Pekare och Listor Eric Elfving Institutionen för datavetenskap 1 / 21 Översikt Internminne Pekare Dynamiska datastrukturer (Enkellänkade) listor 2 / 21 Internminne
Föreläsning 18 Filer och avbildningar
Föreläsning 18 Filer och avbildningar Grundkurs i programmering Jan Lönnberg Institutionen för datateknik -universitetets högskola för teknikvetenskaper 15.11.2011 Avbildningar Hur skulle du göra en: Ordlista
TENTAMEN TDDB77 Databaser och Bioinformatik 22 augusti 2006, kl 14-18
Institutionen för datavetenskap Linköpings universitet TETAME TDDB77 Databaser och Bioinformatik 22 augusti 2006, kl 14-18 Jourhavande lärare: Lena Strömbäck (Patrick Lambrix, 0703-492066) Poäng: Tentan
TDDC76 - Programmering och Datastrukturer
TDDC76 - Programmering och Datastrukturer Pekare och Listor Eric Elfving Institutionen för datavetenskap 1 / 20 Översikt Internminne Pekare Dynamiska datastrukturer (Enkellänkade) listor 2 / 20 Internminne
Fredag 10 juni 2016 kl 8 12
KTH CSC, Alexander Baltatzis DD1320/1321 Lösningsförslag Fredag 10 juni 2016 kl 8 12 Hjälpmedel: En algoritmbok (ej pythonkramaren) och ditt eget formelblad. För betyg E krävs att alla E-uppgifter är godkända,
Fö 8: Operativsystem II. Minneshantering. Minneshantering (1) Minneshantering (2) Minneshantering och Virtuelltminne.
Fö 8: Operativsystem II Minneshantering och Virtuelltminne. Virtuella I/O enheter och Filsystemet. Flerprocessorsystem. Minneshantering Uniprogrammering: Minnet delas mellan operativsystem och användarprogrammet.
En processor kan ha en klockfrekvens på flera GHz. Det går alltså a9 exekvera en instruk=on väldigt for, givet a9 instruk=onen finns i processorn.
1 2 En processor kan ha en klockfrekvens på flera GHz. Det går alltså a9 exekvera en instruk=on väldigt for, givet a9 instruk=onen finns i processorn. Instruk=onerna =ll programmet som exekveras finns
Introduktion till objektorientering. Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten?
Introduktion till objektorientering Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten? TDDD78, TDDE30, jonas.kvarnstrom@liu.se 729A85 jonas.kvarnstrom@liu.se
Tentamen i Databasteknik
Tentamen i Onsdagen den 7 mars 2007 Tillåtna hjälpmedel: Allt skrivet material Använd bara framsidan på varje blad. Skriv max en uppgift per blad. Motivera allt, dokumentera egna antaganden. Oläslig/obegriplig
Introduktion till MySQL
Introduktion till MySQL Vad är MySQL? MySQL är ett programmerings- och frågespråk för databaser. Med programmeringsspråk menas att du kan skapa och administrera databaser med hjälp av MySQL, och med frågespråk
TENTAMEN TDDB77 Databaser och Bioinformatik 12 juni 2007, kl 14-18
Institutionen för datavetenskap Linköpings universitet TENTAMEN TDDB77 Databaser och Bioinformatik 12 juni 2007, kl 14-18 Jourhavande lärare: Patrick Lambrix (013/28 26 05) Poäng: Tentan består av 2 delar.
Arbeta med Selected Works en lathund
Arbeta med Selected Works en lathund Att redigera din egen Selected Works-sida Ta fram din sida och logga in via My Account längts ner på sidan. Klicka på Edit My Site för att redigera sidan. Gå nu vidare
TDDI 60 Tekniska databaser
Lena Strömbäck 2004-08-19 Skriftlig tentamen i kursen TDDI 60 Tekniska databaser Datum: 2004-08-19 Tid: 14-18 Lokal: TER1 Hjälpmedel: Engelsk ordlista tillåten ej elektronisk Miniräknare ej programmerbar
Hashing Bakom kulisserna på Pythons dictionary
Hashing Bakom kulisserna på Pythons dictionary Innehåll Några förenklingar Olika ideer om hashing I python förr Och nu DA2001 (Föreläsning 20) Datalogi 1 Hösten 2018 1 / 32 Några förenklingar I början
Hashing Bakom kulisserna på Pythons dictionary. Leta i listor Osorterade listor. Leta i listor Sorterade listor
Hashing Bakom kulisserna på Pythons dictionary Några förenklingar I början av den här diskussionen kommer jag titta enbart på listor som innehåller numeriska värden. Innehåll Några förenklingar Olika ideer
Programmering för språkteknologer II, HT2014. Rum
Programmering för språkteknologer II, HT2014 Avancerad programmering för språkteknologer, HT2014 evelina.andersson@lingfil.uu.se Rum 9-2035 http://stp.ling.uu.se/~evelina/uv/uv14/pst2/ Idag - Sökalgoritmer
TENTAMEN TDDB77 Databaser och Bioinformatik 19 april 2002, kl 14-18
Institutionen för datavetenskap Linköpings universitet TENTAMEN TDDB77 Databaser och Bioinformatik 19 april 2002, kl 14-18 Jourhavande lärare: Patrick Lambrix, 2605 Poäng: Tentan består ut av 2 delar.
Föreläsningsanteckningar 5. Cacheminnen
Föreläsningsanteckningar 5. Cacheminnen Olle Seger 2012 Anders Nilsson 2016 1 Inledning Bakgrunden till att cacheminnen behövs för nästan alla datorer är enkel. Vi kan kallt räkna med att processorn är
Sökning och sortering
Sökning och sortering Programmering för språkteknologer 2 Sara Stymne 2013-09-16 Idag Sökning Analys av algoritmer komplexitet Sortering Vad är sökning? Sökning innebär att hitta ett värde i en samling
TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 8 Erik Nilsson, Institutionen för Datavetenskap, LiU
TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 8 Erik Nilsson, Institutionen för Datavetenskap, LiU På denna föreläsning: Träd Traversering Insättning, borttagning
DD1320 Tillämpad datalogi. Lösnings-skiss till tentamen 2010-10-18
DD1320 Tillämpad datalogi Lösnings-skiss till tentamen 2010-10-18 1. Mormors mobil 10p M O R M O R S M O B I L M O R M O R S M O B I L i 1 2 3 4 5 6 7 8 9 10 11 12 next[i] 0 1 1 0 1 1 4 0 1 3 1 1 Bakåtpilarna/next-värde
Hitta k största bland n element. Föreläsning 13 Innehåll. Histogramproblemet
Föreläsning 13 Innehåll Algoritm 1: Sortera Exempel på problem där materialet i kursen används Histogramproblemet Schemaläggning Abstrakta datatyper Datastrukturer Att jämföra objekt Om tentamen Skriftlig
Föreläsning 9 Datastrukturer (DAT037)
Föreläsning Datastrukturer (DAT07) Fredrik Lindblad 27 november 207 Slides skapade av Nils Anders Danielsson har använts som utgångspunkt Se http://wwwcsechalmersse/edu/year/20/course/dat07 Innehåll 2
Programmering för Språkteknologer II. Innehåll. Associativa datastrukturer. Associativa datastrukturer. Binär sökning.
Programmering för Språkteknologer II Markus Saers markus.saers@lingfil.uu.se Rum -040 stp.lingfil.uu.se/~markuss/ht0/pst Innehåll Associativa datastrukturer Hashtabeller Sökträd Implementationsdetaljer
GUIDE Ansökan planmässigt anstånd
Sida 1 av 6 GUIDE Ansökan planmässigt anstånd Sidan finns under menyn Verktyg Klientdatabas Förteckning Anstånd Guiden hjälper dig steg för steg att skapa en ansökan för planmässigt anstånd. Ansökan kan
Tommy Färnqvist, IDA, Linköpings universitet. 1 Administrativ information 1 1.1 Upplägg... 1
Föreläsning 1 Kursadministration, ADT Map/Dictionary, hashtabeller TDDD71: DALG Utskriftsversion av föreläsning i Datastrukturer och algoritmer 3 november 2015 Tommy Färnqvist, IDA, Linköpings universitet
Föreläsning REPETITION & EXTENTA
Föreläsning 18 19 REPETITION & EXTENTA Programmeringsteknik på 45 minuter Klasser och objekt Variabler: attribut, lokala variabler, parametrar Datastrukturer Algoritmer Dessa bilder är inte repetitionsbilder
Programkonstruktion och. Datastrukturer
Programkonstruktion och Datastrukturer Repetitionskurs, sommaren 2011 Datastrukturer (hash-tabeller och heapar) Elias Castegren elias.castegren.7381@student.uu.se Arrayer igen En array är en linjär datastruktur
Programdesign, databasdesign. Databaser - Design och programmering. Funktioner. Relationsmodellen. Relation = generaliserad funktion.
Databaser Design och programmering Relationsmodellen definitioner ER-modell -> relationsmodell nycklar, olika varianter Programdesign, databasdesign Databasdesign Konceptuell design Förstudie, behovsanalys
Hashtabeller. TDA416, lp3 2016
Hashtabeller TDA416, lp3 2016 Mängder och avbildningar (Sets and Maps) I den abstrakta datatypen avbildning/uppslagstabell (Map) lagras nyckelvärde-par. Grundläggande operationerna är insättning, borttagning
Tentamen Datastrukturer D DAT 035/INN960
Tentamen Datastrukturer D DAT 035/INN960 22 december 2006 Tid: 8.30-12.30 Ansvarig: Peter Dybjer, tel 7721035 eller 405836 Max poäng på tentamen: 60. (Bonuspoäng från övningarna tillkommer.) Betygsgränser,
Hashing Bakom kulisserna på Pythons dictionary
Hashing Bakom kulisserna på Pythons dictionary Innehåll Några förenklingar Leta i listor Olika ideer om hashing I python förr Och nu DA2001 (Föreläsning 20) Datalogi 1 Hösten 2018 1 / 32 Några förenklingar
Abstrakta datatyper. Primitiva vektorer. Deklarera en vektor
Abstrakta datatyper 1 Primitiva vektorer Vektorer kan skapas av primitiva datatyper, objektreferenser eller andra vektorer. Vektorer indexeras liksom i C från 0. För att referera en vektor används hakparenteser.
An English version of the questions is found at the back of each page.
Lena Strömbäck Pawel Pietrzak 2004-06-02 Skriftlig tentamen i kursen TDDB48 Databasteknik Datum: 2003-06-02 Tid: 14-18 Lokal: GAR Hjälpmedel: Engelsk ordlista tillåten ej elektronisk iniräknare ej programmerbar
1 Skapa Tabell...2. 2 Skapa Relationer...20. 3 Redigera Relationer...24. 4 Redigera Fält i Tabell...26. 5 Lägga till Poster i Tabell...
Kapitel 5 Tabell 1 Skapa Tabell...2 1.1 Tabellfönstret... 4 1.2 Fältegenskaper... 8 1.3 Primärnyckel... 11 1.4 Spara Tabell... 12 1.5 Tabellguiden... 12 2 Skapa Relationer...20 3 Redigera Relationer...24
Avbildningar och hashtabeller. Koffman & Wolfgang kapitel 7, mestadels avsnitt 2 4
Avbildningar och hashtabeller Koffman & Wolfgang kapitel 7, mestadels avsnitt 2 4 1 2 Mängder i Java 3 Mängd-gränssnittet Set vs. List Mängder får endast innehålla unika element: Metoden.add(E) returnerar
Föreläsning Datastrukturer (DAT037)
Föreläsning Datastrukturer (DAT037) Nils Anders Danielsson 2015-12-14 Idag Frågor? Är något oklart inför tentan? Sammanfattning Exempel från föreläsning 1 Dåligt val av datastruktur public class Bits {
Ett generellt träd är. Antingen det tomma trädet, eller en rekursiv struktur: rot /. \ /... \ t1... tn
Träd allmänt Träd allmänt Ett generellt träd är Antingen det tomma trädet, eller en rekursiv struktur: rot /. \ /... \ t1... tn där t1,..., tn i sin tur är träd och kallas subträd, vars rotnoder kallas
Översikt. Stegvis förfining. Stegvis förfining. Dekomposition. Algoritmer. Metod för att skapa ett program från ett analyserat problem
Översikt Stegvis förfining Pseudokod Flödesdiagram Dekomposition KISS-regeln Procedurell dekomposition DRY-regeln Algoritmer Sortering och sökning Stegvis förfining Metod för att skapa ett program från
DD1320 Tillämpad datalogi. Lösning (skiss) till tenta 20 okt 2011
DD1320 Tillämpad datalogi Lösning (skiss) till tenta 20 okt 2011 1 KMP P I P P I N i 1 2 3 4 5 6 Next[i] 0 1 0 2 1 3 2 Huffmankodning: Algoritmen 1. Sortera tecknen som ska kodas i stigande förekomstordning.
Importera och använda en textdatabas i Excel
Importera och använda en textdatabas i Excel I denna beskrivning tänkte jag visa hur man kan hantera information från en databas, som är sparad som en semikolonseparerad textfil. Textfilen kommer att behandlas
Innehåll. Sökning och hashtabeller. En bilsamling att söka i. En bil-klass att söka efter. Hur hittar vi alla bilar som uppfyller ett annat villkor
Innehåll Sökning och hashtabeller Henrik Bergström henrikbe@dsv.su.se Sökning i linjära strukturer Söka efter många objekt Sökning efter ett objekt Sekventiell sökning Binär sökning Sökning efter godtyckligt
Datastrukturer. föreläsning 9. Maps 1
Datastrukturer föreläsning 9 Maps 1 Minsta uppspännande träd Maps 2 Minsta uppspännande träd Uppspännande träd till graf fritt delträd innehåller alla noderna Minsta uppspännande träd (MST) är det uppspännande
Magnus Nielsen, IDA, Linköpings universitet
Föreläsning 7 Introduktion till sortering TDDC91,TDDE22,725G97: DALG Utskriftsversion av föreläsning i Datastrukturer och algoritmer 24 september 2018 Magnus Nielsen, IDA, Linköpings universitet 7.1 1
Databaser - Design och programmering. Relationsmodellen. Relationer - som tabeller. Relationer som tabeller. Alternativa notationer: Relationsschema
Databaser Design och programmering Relationsmodellen definitioner ER-modell -> relationsmodell nycklar, olika varianter Relationsmodellen Introducerades av Edward Codd 970 Mycket vanlig Stödjer kraftfulla
Grunderna för relationsmodellen!
Grunderna för relationsmodellen! 1 Varför behöver jag lära mig relationsmodellen?! Relationsmodellen är den totalt dominerande datamodellen i moderna databassystem Beskriver databaser som en mängd tabeller
Ordbokskodning. Enkel variant av kodning med variabelt antal insymboler och fixlängds kodord. (Jfr tunstallkodning)
Datakompression fö 6 p.1 Ordbokskodning Enkel variant av kodning med variabelt antal insymboler och fixlängds kodord. (Jfr tunstallkodning) Man skapar en ordbok som innehåller 2 b olika sekvenser av symboler
Exempel, minnesfri binär källa. Ordbokskodning. Lempel-Zivkodning. Lempel-Zivkodning, forts.
Datakompression fö 6 p.3 Datakompression fö 6 p.4 Ordbokskodning Exempel, minnesfri binär källa Enkel variant av kodning med variabelt antal insymboler och fixlängds kodord. (Jfr tunstallkodning) Man skapar
Filsystem. Varför? Hur? För att kunna lagra data mer permanent än i RAM. Vettig organisation Vettiga namn
Varför? För att kunna lagra data mer permanent än i RAM Hur? Vettig organisation Vettiga namn Stora/små bokstäver 8-bitars tecken (teckenkodning) File extensions Längd Struktur på filerna Byte efter byte,
Svar till tentamen den 16 december 2013 Datorarkitekturer med operativsystem, EDT621, 7,5 poäng
Lunds Universitet LTH Ingenjörshögskolan, Helsingborg Svar till tentamen den 16 december 2013 Datorarkitekturer med operativsystem, EDT621, 7,5 poäng Skrivtid: 08.00-13.00 Tillåtna hjälpmedel: Inga. Maximalt
Prov i DAT 312: Algoritmer och datastrukturer för systemvetare
Prov i DAT 312: Algoritmer och datastrukturer för systemvetare Jacek Malec Datavetenskap, LU 11 april 2003 Datum 11 april 2003 Tid 14 19 Ansvarig lärare Jacek Malec (tel. 03 9890431) Hjälpmedel inga Antal
Sökning. Viktiga algoritmer sökning och sortering. Sökning i en oordnad tabell:
Viktiga algoritmer sökng och sorterg När man sparar data (formation) gör man det alltid utifrån något behov av att senare använda det man har sparat. Det kan ju vara av juridiska krav på dokumentation