Ett databashanteringssystem (DBHS) skiljer sig från andra programmeringssystem bl.a.
|
|
- Max Martinsson
- för 9 år sedan
- Visningar:
Transkript
1 1 Kap. 1 INTRODUKTION Ett databashanteringssystem (DBHS) skiljer sig från andra programmeringssystem bl.a. 1. Möjligheten att hantera persistenta data 2. Möjligheten att accessera stora mängder av data bekvämt och effektivt. Punkt 1 säger bara att det finns en databas som existerar permanent. Innehållet av denna databas är de data ett DBHS accesserar och hanterar. Punkt 2 skiljer åt ett DBHS från ett filsystem, som också hanterar persistenta data, men i allmänhet inte ger snabb access till godtyckliga delar av data. Dessa två egenskaper är fundamentala. Andra som nästan alltid finns i kommersiella DBHS: a. Understöd för åtminstone en datamodell (matematisk abstraktion genom vilken användaren ser data). b. Understöd för vissa högnivåspråk som tillåter användaren att definiera strukturen hos data, accessera data, och manipulera data. c. Transaktionshantering, dvs. att kunna ge korrekt access till databasen åt många användare samtidigt. d. Accesskontroll, dvs. att kunna begränsa access till data av icke-auktoriserade användare. e. Resiliency (stryktålighet): icke förlora data vid systemfel. 1.1 Syften med databassystem Betrakta ett bankbolag som håller information om alla kunder och konton i permanenta filer vid banken. Dessutom har systemet ett antal applikationsprogram som tillåter anv. att manipulera filerna, t.ex. - ett program för att debitera eller kreditera ett konto - ett program för att lägga till ett konto - ett program för att bestämma balansen av ett konto - ett program för att generera månatliga rapporter Dessa applikationsprogram har skrivits av systemprogrammeraren Nya applikationsprogram läggs till systemet efter behov. Typiskt läggs nya permanenta filer och nya appl.program till systemet. Allt detta understöds av ett konventionellt operativsystem
2 2 NACKDELAR: - Dataredundans och inkonsistens - Svårighet att accessera data - Dataisolering - Samtidig access anomalier - Säkerhetsproblem - Integritetsproblem 1.2 En syn på data Ett viktigt mål för ett DBHS är att ge använandaren en abstrakt syn på data, dvs. systemet döljer vissa detaljer hur data lagras och upprätthålls Dataabstraktion För att systemet skall vara användbart måste det skaffa fram data effektivt. Detta har lett till skapandet av komplicerade datastrukturer för att representera data i databasen. Denna komplexitet döljes för användare via flera abstraktionsnivåer: Fysiska nivån. Den lägsta nivån beskriver hur data verkligen lagras. Komplicerade låg-nivå datastruktuer beskrivs härvid i detalj. Logiska nivån. Den nästa nivån beskriver vilka data lagras i databasen, och vilka relationskaper som finns mellan dessa data. Vy nivån. Den högsta abstraktionsnivån beskriver bara en del av hela databasen. Typiskt för att ge användare av databasen en bekväm syn på den del av databasen de är intresserade av.
3 3 Vy nivå vy 1 vy 2... vy n logisk nivå fysisk nivå Analogi med progr.språk: Vi kunde dekl. en post som: type customer = record customer-name : string; social-security : string; customer-street : string; customer-city : string; end; En bank kunde ha flera dylika post typer, såsom - account, med fälten account-number och balance - employee, med fälten empoyee-name och salary På den fysiska nivån kan en customer, account eller employee post beskrivas som ett block av konsekutiva lagringspositioner (t.ex. ord eller bytes). Kompilatorn döljer denna detaljnivå för programmerare. Likaså döljer databassystemet många lågnivådetaljer för databasprogrammerare. Databasadministratörer kan känna till vissa detaljer om den fysiska organisationen av data. På den logiska nivån beskrivs varje dylik post av en typ definition. På vy nivån definieras flera vyer av databasen och användare ser dessa vyer Instanser och Schemor Overall design: schema (<-> typ). Ändras mycket sällan. Information lagrad vid ett visst ögonblick: instans (svarar mot värde av en variabel (av en given typ) vid ett visst ögonblick).
4 4 Vid deklaration av post typen har vi ännu inte deklarerat några. I progr. var customer1 : customer; Ett fysiskt schema Ett begr. schema Flera subscheman Data Oberoende I avsnitt 1.2 tre abstraktionsnivåer på vilka databasen kan betraktas Möjligheten att modifiera en schema def. på en nivå utan att påver-ka en schema def på nästa högre nivå kallas kallas data oberoende. Fysiskt data oberoende är möjligheten att modifiera det fysiska schemat (göres ibland för att förbättra effektivitet) utan att till. program behöver skrivas om. Logiskt data oberoende är möjligheten att modifiera det begr. schemat utan att till. program behöver skrivas om. Behövs när den logiska strukturen av databasen förändras (t.ex. tillägg av ett nytts slags konto i ett banksystem). (Svårare) Begr. d.o. svarar mot begr. abstrakta datatyper i progr.språk. Vardera gömmer impl. detaljer för användarna och gör det möjligt att koncentrera på den allmänna strukturen (i st.f. lågnivå impl. detaljer). 1.3 Data Modeller = samling begr. redskap som beskriver - data - datarelationskaper - datasemantik - konsistensbegränsningar Tre grupper: objekt-baserade logiska modeller, post-baserade logiska modeller, (fysiska modeller).
5 Objekt-baserade logiska modeller Används för att beskriva data på logisk och vy nivå. Entitets-relationskaps modellen (E-R) Objekt-orienterade modellen (O-O) E-R modellen Samling grundläggande objekt, entiteter och relationskaper mellan dessa. Entitet särskiljbar (från andra objekt) genom attribut. T.ex. konto-nr och balans beskriver ett visst konto i en bank. En relationskap är en associering mellan flera entiteter. T.ex. deponent (eller cust-acct) associerar en kund med varje konto som kunden har. Mängden av alla entiteter av samma typ: entitetsmängd Mängden av alla relationskaper av samma typ: relationskapsmängd Den logiska strukturen i stora drag av en databas kan uttryckas grafiskt med ett E-R diagram rektanglar, repr. entitetsmängder ellipser, repr. attribut ruter (diamonds), repr. relationskper mellan ent.mgder linjer, länkar attribut till ent.mgder och ent.mgder till relationskaper. cust-id cust-str cust-city acct-nr balance cust-name customer deponent account Objekt-Orienterade Modellen Liksom E-R: baserad på en samling objekt. Ett objekt innehåller värden lagrade i instansvariabler inom objektet. Ett objekt innehåller även kod som opererar på objektet. Dessa kodmängder kallas metoder. Objekt som innehåller samma typer av värden och samma metoder grupperas ihop till klasser.
6 6 Enda sättet ett objekt kan accessera data av ett annat objekt är genom att till. en metod av det andra objektet. Detta kallas att sända ett budskap (message) till objektet. Till skillnad från entiteter i E-R modllen har varje objekt sin egen entydiga identitet oberoende av de värden det innehåller. Två objekt innehållande samma värden är olika Post-baserade logiska modeller Anv. för att beskriva data på begr. (logiska) och vy nivåer. Även högnivå beskrivning av implementeringen (i motsats till objekt-baserade). Databasen är strukturerad i fix-formats poster (därav namnet) av flera typer (förenklar fysiska-nivå impl.). Tre vanligaste (post-baserade): relations (denna kurs handlar mest om detta) nätverks hierarkiska Relationsmodellen Data och relationskaper mellan data repr. av en samling tabeller, som var och en har ett antal kolonner med entydiga namn. Ex. på tabelldata i relationsmodellen customer-name customer-id customer-street customer-city accountnumber Johnson Alma Palo Alto A-101 Smith North Rye A-215 Johnson Alma Palo Alto A-201 Jones Main Harrison A-217 Smith North Rye A-201 account-number balance A A A A
7 Nätverksmodellen Data repr. av en samling poster och relationskaper bland data representeras av länkar (kan betr. som pekare). Pointer chasing Posterna i databasen är organiserade som samlingar av godtyckliga grafer Hierarkiska modellen Skiljer sig från nätverksmodellen på så sätt att posterna är organiserade som samlingar av träd i st.f. godtyckliga grafer.
8 8 1.4 Databas språk Ett databassystem tillhandahåller två typer av språk: ett för att specificera databasschemat, och ett för att uttrycka förfrågningar (queries) och uppdateringar, Data Definitions Språk (DDL) Spec. ett data schema med en mängd av definitioner i ett DDL. Resultatet av kompileringen av DDL kommandon är en mängd av tabeller som lagras i en speciell fil kallad data lexikon (denna konsulteras förrän verkliga data läses in eller modifieras). Lagringsstrukturen och access metoder spec. med en mängd definitioner i ett speciellt DDL, kallat ett data lagrings och definitionsspråk Data Manipuleringsspråk Abstraktionsnivåerna (i 1.2) gäller inte bara strukturering av data utan även manipulering av data. Med data manipulering menar vi sökning av information lagrad i databasen insättning av ny information i databasen strykning av information från databasen modifikation av information lagrad i databasen På den fysiska nivån måste vi definiera algoritmer som tillåter effektiv access till data. På högre abstraktionsnivåer är det i stället effektiv mänsklig interaktion, dvs. bekväm användning som är viktigt. Ett data manipuleringsspråk (DML) är ett språk som tillåter användare att accessera och manipulera data. Två typer: Procedurala DML, kräver att användare anger vilka data efterfrågas och hur de erhålles. Icke-procedura DML, kräver att användare anger vilka data efterfrågas men ej hur de erhålles. Icke-procedurala DML är vanligen lättare att använda, men koden kanske inte lika effektiv. Detta kan förbättras genom inbyggda optimeringstekniker (i själva verket förbättringstekniker), vilka diskuteras i Kap. 12 i kurs-boken. En förfrågan (query) är ett kommando för att söka efter information. Det har blivit praxis att använda frågespråk och data manipuleringsspråk synonymt.
9 9 1.5 Transaktionshantering Ofta bildar flera operationer av databasen en enda logisk arbetsenhet. Betr. ett exempel med en penningsöverföring där ett konto (A) debiteras och ett annat (B) krediteras. Antingen bör både debiteringen och krediteringen ske eller så ingendera (dvs. överföringen måste ske helt och hållet eller inte alls). Detta allt-eller-ingenting krav kallas atomicitet. Dessutom krävs det att överföringen bevarar databasens konsistens, dvs. värdet av A + B måste bevaras. Slutligen måste de nya värdena av A och B bevaras, trots möjligheten av systemfel, kallas durability. En transaktion är en samling operationer som utför en enda logisk funktion i en databastillämpning. Varje transaktion är både en atomisk och konsistent enhet. Vi kräver alltså att transaktioner inte motstrider några konsistentsvillkor. Om databasen var konsistent när en transaktion startade, så måste databasen vara konsistent när transaktionen terminerar framgångsrikt. Men under transaktionens exekvering kan det behövas att tillfälligt tillåta inkonsistent. Detta kan leda till problem om fel inträffar. Det är programmerarens sak att ordentligt definiera de olika transaktionerna, så att de bevarar databasens konsistens. Att försäkra atomicitet och durability skötes av databassystemet självt - nämligen transaktionshanterings-komponenten. När flera transaktioner uppdaterar databasen samtidigt behöver inte längre konsistensen hos data bevaras trots att varje individuell transaktion är korrekt. Det är på concurrencycontrol managerns ansvar att kontrollera interaktionen bland de samtidiga transaktionerna för att försäkra konsistens hos databasen. Databassystem för små persondatorer har inte dylika finesser, men de är ett krav i större sammanhang. 1.6 Lagringshantering Firmors databaser gigabytes (1000 Megabytes) eller terabytes. Lagras på skivor. Dataflyttningar mellan skivminne och primärminne behövs. Dessa år långsamma jämfört med CPU:s hastighet. Därför: minimera behovet av dylika dataflyttningar. En lagringshanterare (databasmanager) är en programmodul som ger interfacet mellan lågnivåsdata lagrade i databasen och till.program och förfr. givna till systemet. Ansvarig för: Interaktion med filmanagern. DMM översätter de olika DML satserna till lågnivå filsystemskommandon. Integritetskrav. Säkerhetskrav. Backup och återställande. Concurrency control.
10 Databasadministratör (DBA) Person som har central kontroll över systemet (både data och programmen som accesserar data). Schema definition Lagringsstruktur Schema modifikation och modifikation av fysiska org. Givande av accessrättigheter Specificering av integritetsbegränsningar. 1.8 Databasanvändare - Applikationsprogrammerare - Sofistikerade användare - Naiva användare 1.9 Systemstruktur i stort 1) Query processor komponenter 2) Storage manager komponenter 1): - DML kompilator - Inbyggd DML prekompilator - DDL tolk - Frågeevalueringsmaskin 2): - Auktoriserings- och integritetshanterare - Transaktionshanterare - Filhanterare - Bufferhanterare Dessutom krävs flera datastrukturer för fysiska implementeringen: - Data filer - Datalexikon - Index - Statistiska data
11 Sammanfattning Ett databashanteringssystem (DBHS) består av en samling data och program som accesserar data. Data beskriver en speciell firma (t.ex.). Det primära syftet är att ge en omgivning som är både bekväm och effektiv för sökning och lagring av information (och typiskt stora informations-mängder). Ett BHS ger användare en abstrakt syn på data: systemet gömmer detaljer om hur data lagras. Det gör detta genom att definiera tre abstraktionsnivåer: den fysiska nivån, den logiska nivån och vy nivån. Databasens struktur anges av datamodellen: en samling begreppsmässiga redskap för att beskriva data, data relationskaper, och data begränsningar. Databaser förändras med tiden när information insätts och stryks.samlingen information lagrad vid ett visst ögonblick kallas databasens instans.designen i stort kallas databasens schema. Möjligheten att modifiera en schemadefinition på en nivå utan att påverka en schemadefinition på nästa högre nivå kallas dataoberoende. Det finns två nivåer av data oberoende: fysiskt d.o. och logiskt d.o. Ett databasschema anges m.h.a. ett data-definitionsspråk (DDL). DDL kommandon kompileras till en mängd av tabeller som lagras i en speciell fil som kallas ett data lexikon. Ett datamanipuleringsspråk (DML) är ett språk som gör det möjligt för användare att accessera och manipulera data. Det finns väsentligen två typer: procedurala och ickeprocedurala. Transaktionshanteraren ansvarar för att försäkra att databasen förblir i ett konsistent tillstånd trots systemfel. Den ser också till att samtidiga transaktioner fortskrider utan konflikter. Lagringshanteraren är en programmodul som ger interfacet mellan låg-nivå data lagrade i databasen och tillämpningsprogram och frågor givna till systemet.
12 12 Övningsuppgifter 1.1 Vilka är de fyra största skillnaderna mellan ett DBHS och ett filhanteringssystem? 1.2 I detta kapitel har vi listat några av de främsta fördelarna med ett DBHS. Finns det några nackdelar? (W-m 1.2) 1.3 Förklara skillnaden mellan fysiskt och logiskt dataoberoende. 1.4 Lista databasmanagerns uppgifter. För varje fall, förklara de problem som skulle uppstå om ansvaret inte uppfylldes. 1.5 Vad är de viktigaste funktionerna hos en databasadministratör? 1.6 Lista sju olika programmeringsspråk som är a) procedurala och två som är b) icke-procedurala. Vilken grupp är lättare att lära sig och använda? (W-m 1.6) 1.7 Lista de viktigaste stegen då en databas sättes upp för en speciell firma. (W-m 1.7)
Relationsmodellen. Relations modellen är idag den mest änvända datamodellen för kommersiella
Relationsmodellen 2-1 Relationsmodellen Relations modellen är idag den mest änvända datamodellen för kommersiella applikationer. Relationsdatabasstruktur En relationsdatabas består av en samling tabeller,
Databasdesign. E-R-modellen
Databasdesign Kapitel 6 Databasdesign E-R-modellen sid Modellering och design av databaser 1 E-R-modellen 3 Grundläggande begrepp 4 Begränsningar 10 E-R-diagram 14 E-R-design 16 Svaga entitetsmängder 19
Kursens mål. Databasteknik TDDB48. Lärare. Kursorganisation. Laborationsinformation. Inlämning av laborationer. Responsible: 2000-01-26
Kursens mål Databasteknik TDDB48 http://www.ida.liu.se/~tddb48 Förstå de koncept som ligger bakom databaser och databasorganisation Designa och bygga datamodeller (effektiva filstrukturer) Använda databasfrågespråk
Databaser Kapitel 1: Introduktion!
Databaser Kapitel 1: Introduktion 1 Vad är en databas? En databas innehåller information som beskriver eller modellerar en viss del av världen T.ex. ett företag eller en verksamhet En databas består av
Objektorienterad programmering
Objektorienterad programmering Emil Ahlqvist (c10eat@cs.umu.se) Didrik Püschel (dv11dpl@cs.umu.se) Johan Hammarström (c08jhm@cs.umu.se) Hannes Frimmel Moström (c10hml@cs.umu.se) 1 1. Introduktion 1.1 Objektorienterad
Relationell databasdesign
Relationell databasdesign Kapitel 7 Relationell databasdesign sid Uppdelning m.h.a. funktionella beroenden 3 Funktionella beroenden - teori 12 Uppdelningsalgoritmer 27 Designprocess 33 Relational oath
! Teori och praktik. ! Ändringar från förra året. ! Examination (tenta, projekt) LiU. ! Varför ni? ! Varför överhuvudtaget? LiU
Databaser Design och programmering, IDA Kursen, diverse praktiskt Varför databaser? Vad är en databas? Andra viktiga begrepp Kursöversikt Teori och praktik Fö och bok lektioner, labbar i projekt (3,5hp=100h)
SQL, nästlade delfrågor 3-19. Nästlade delfrågor. En nästlda delfråga är ett select-from-where uttryck inom where-klausulen i en annan fråga.
SQL, nästlade delfrågor 3-19 Nästlade delfrågor SQL har en mekanism för nästling av delfrågor: En nästlda delfråga är ett select-from-where uttryck inom where-klausulen i en annan fråga. Delfrågor används
Andra relationella språk
Andra relationella språk Kapitel 5 Andra relationella språk sid Tupelrelationskalkyl 1 Domänrelationskalkyl 6 Query-by-Example (QBE) 8 Andra relationella språk, tupelrelationskalkyl 5-1 Tupelrelationskalkyl
Databaser - Design och programmering. Kursöversikt. Exempel: telefonbok. Varför databaser?
Databaser Design och programmering! Diverse praktiskt! Varför databaser?! Vad är en databas?! Andra viktiga begrepp Kursöversikt! Teori och praktik! Samläsning! Olika projekt! Examination (tenta, labb
Introduktion till arv
Introduktion till arv 6 INTRODUKTION TILL ARV Arv Generell-Speciell Arv för att utnyttja det vi redan gjort Återanvändning Basklass Härledd klass Varför arv? Inför en subklass för att uttrycka specialisering
Databaser - Design och programmering
Databaser - Design och programmering Eva L. Ragnemalm, IDA (eva.ragnemalm@liu.se) Fö 1; introduktion Kursen, diverse praktiskt Varför databaser? Vad är en databas? Andra viktiga begrepp 2 Kursöversikt
732G16: Databaser - Design och programmering
732G16: Databaser - Design och programmering Eva L. Ragnemalm, IDA (eva.ragnemalm@liu.se) Johan Falkenjack, IDA (johan.falkenjack@liu.se) Fö 1 Introduktion 2 Kursöversikt Teori och praktik Kursbok, lektionshäfte,
E-R-modellen, E-R-diagram 6-14. E-R-diagram. representerar entitetsmängder
E-R-modellen, E-R-diagram 6-14 Komponenter Rektanglar Ellipser Ruter Linjer E-R-diagram representerar entitetsmängder repr. attribut repr. relationskapsmängder länkar attribut till entitetsmängder och
Design och underhåll av databaser
Design och underhåll av databaser 1. Modell av verkligheten 2. Normalformer 3. Introduktion till DDL 4. Skapa databaser 5. Skapa tabeller 6. Skapa index 7. Restriktioner 8. Ta bort databaser, tabeller
Objektorientering Användning
Objektorientering Användning Samt repetition av klasser Suzana Ramadani 1 Repetition Objektorientering bygger på Abstraktion Hierarkisk strukturering Inkapsling Klassificering Generalisering specialisering
Programmering A. Johan Eliasson johane@cs.umu.se
Programmering A Johan Eliasson johane@cs.umu.se 1 Jag Undervisar mest grundläggande programmering på Institutionen för datavetensakap Applikationsutveckling för iphone Applikationsutveckling i Java Datastrukturer
Sätt att skriva ut binärträd
Tilpro Övning 3 På programmet idag: Genomgång av Hemtalet samt rättning Begreppet Stabil sortering Hur man kodar olika sorteringsvilkor Inkapsling av data Länkade listor Användning av stackar och köer
Objekt och klasser - Introduktion. Objekt. SparKonto.java 2. SparKonto.java 1. Konton.java. Ett objekt har: Ett bankkonto
Objekt och klasser - Introduktion Objekt Ð Begreppet objekt Ð Hur klasser anvšnds fšr att skapa objekt Ð Fšr-definierade klasser Ð Metoder och parameteršverfšring Ð Definiera klasser Ð Modifierare Ð Statiska
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
Introduktion till databaskursen. Välkomna. till kursen. Databasteknik och informationssystem. DD1370 (kursomgång dbtinf12)
Välkomna Introduktion till databaskursen Välkomna till kursen Databasteknik och informationssystem DD1370 (kursomgång dbtinf12) En kurs om grunderna i databasteknik DD1370 (Föreläsning 1) Databasteknik
Programmeringsteknik med C och Matlab
Programmeringsteknik med C och Matlab Kapitel 2: C-programmeringens grunder Henrik Björklund Umeå universitet Björklund (UmU) Programmeringsteknik 1 / 32 Mer organisatoriskt Imorgon: Datorintro i lab Logga
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
Föreläsning 3.1: Datastrukturer, en översikt
Föreläsning.: Datastrukturer, en översikt Hittills har vi i kursen lagt mycket fokus på algoritmiskt tänkande. Vi har inte egentligen ägna så mycket uppmärksamhet åt det andra som datorprogram också består,
Webprogrammering och 729G28 databaser Webprogrammering och databaser Kursöversikt Webprogrammering Designprocessen Lösningsförslag
729G28 Webprogrammering och Kursansvarig: Eva Ragnemalm, IDA eva.ragnemalm@liu.se Kursassistent: Anders Märak Leffler anders.marak.leffler@liu.se Webprogrammering och Föreläsning 1: Diverse praktiskt om
Föreläsning 7. Grafiska användargränssnitt
Föreläsning 7 Grafiska användargränssnitt För att göra grafiska användargränssnitt: Måste man veta hur man skapar komponenterna i ett GUI och vilka det finns. Till lab 3 räcker det med att känna till de
TENTAMEN. Kurs: Objektorienterad programmeringsmetodik 5DV133 Ansvarig lärare: Anders Broberg. VT-13 Datum: 13-06-05 Tid: kl 16.00-20.
Umeå Universitet Datavetenskap Anders Broberg 130605 TENTAMEN Kurs: Objektorienterad programmeringsmetodik 5DV133 Ansvarig lärare: Anders Broberg VT-13 Datum: 13-06-05 Tid: kl 16.00-20.00 Namn: Personnummer:
Varför ska man lära sig sånt? Välkomna. Vad är databaser bra till? Kursansvarig. till kursen. Databasteknik och informationssystem
till databaskursen Varför ska man lära sig sånt? till databaskursen till kursen Databasteknik och informationssystem Nästan alla större system idag innehåller eller använder data lagrad i en databas Så
Vem är vem på kursen. Objektorienterad programvaruutveckling GU (DIT011) Kursbok Cay Horstmann: Big Java 3rd edition.
Institutionen för Datavetenskap Göteborgs universitet HT2009 DIT011 Vem är vem på kursen Objektorienterad programvaruutveckling GU (DIT011) Kursansvarig : Katarina Blom, tel 772 10 60 Rum: 6126 (E-huset)
Föreläsning 10. ADT:er och datastrukturer
Föreläsning 10 ADT:er och datastrukturer ADT:er och datastrukturer Dessa två begrepp är kopplade till varandra men de står för olika saker. En ADT (abstrakt datatyp) är just abstrakt och är inte kopplad
Programmering för språkteknologer II, HT2014. evelina.andersson@lingfil.uu.se Rum 9-2035 http://stp.ling.uu.se/~evelina/uv/uv14/pst2/
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 - Hashtabeller
Föreläsning 6: Introduktion av listor
Föreläsning 6: Introduktion av listor Med hjälp av pekare kan man bygga upp datastrukturer på olika sätt. Bland annat kan man bygga upp listor bestående av någon typ av data. Begreppet lista bör förklaras.
Reducering till relationsscheman
E-R-modellen, Reducering till rel.scheman 6-26 Reducering till relationsscheman En databas som överensstämmer med ett E-R-databasschema kan representeras som en mängd relationsscheman ty E-R-modellen och
Projektarbete 2: Interaktiv prototyp
Projektarbete 2: Interaktiv prototyp Jonatan Hilmarch (Grupp 13) 880427-5595 hilmarch@skip.chalmers.se Kurs: Människa-Datorinteraktion TIG061 HT 2010 Projekt 1 - en tillbakablick Enligt projektets systemdefinition
Varför ska man lära sig sånt? Välkomna. Vad är databaser bra till? Kursansvarig. till kursen. Databasteknik och informationssystem
till databaskursen Varför ska man lära sig sånt? till databaskursen till kursen Databasteknik och informationssystem Nästan alla större system idag innehåller eller använder data lagrad i en databas Så
Övningar Dag 2 En första klass
Kurs i C++ Sid 1 (5) Övningar Dag 2 En första klass Denna övning går ut på att steg för steg bygga upp en klass och skapa objekt. Vi kommer att utgå från en sammansatt datatyp i en struct och parallellt
EnKlass. Instans 3 av EnKlass. Instans 2 av EnKlass
Övningstillfälle 4 Klasser och objekt (s. 221 ff.) Syfte 1: En naturlig fortsättning på koncepten abstraktion och inkapsling! Funktion (återanvändning av skyddad, säker och testad kod) Modul (återanvändning
Introduktion av aktiv generaliserad kunskap i Businss Process Support System (BPSS)
Introduktion av aktiv generaliserad kunskap i Businss Process Support System (BPSS) - en teknisk rapport om regelsystem i en state-flow-miljö kallad ProBis Version 0.2 En process från ett state-flow perspektiv
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,
Programmering. Seminarier i datavetenskap, datorteknik och informationsteknik. Niklas Broberg niklas.broberg@chalmers.
Programmering Seminarier i datavetenskap, datorteknik och informationsteknik Niklas Broberg niklas.broberg@chalmers.se 2015-09-24 Hur många från Datavetenskap? Datateknik? Informationsteknik? Översikt
Tentamen Databasteknik
Försättsblad Tentamen Databasteknik 2003 04 29, 8.00 13.00 Inga hjälpmedel. Bedömning (preliminär): uppgifterna ger maximalt 14 + 11 + 11 + 6 + 4 + 4 = 50 poäng. För godkänt krävs 25 poäng (3/25, 4/33,
Digitalt lärande och programmering i klassrummet
Digitalt lärande och programmering i klassrummet Innehåll Programmering Vad är programmering och varför behövs det? Argument för (och emot) programmering Kort introduktion om programmering Några grundbegrepp
Webprogrammering och databaser. 729G28 Webprogrammering och databaser. Kursöversikt. Praktisk info. Webprogrammering. Ändringar mot förra året
729G28 Webprogrammering och databaser Föreläsning 1: Diverse praktiskt om kursen Webprogrammering Databaser, terminogi Webprogrammering och databaser Personal: Examinator Jalal Maleki, jalma@ida.liu.se
! Webprogrammering. ! Databasteori och praktik. ! Fö, le, la + projekt. ! Examination (tenta, dugga + labb, ! Studera användarna och deras problem
Webprogrammering och databaser! Idag: Diverse praktiskt om kursen Webprogrammering Databaser, terminogi Start på ER-modellering! Webprogrammering Kursöversikt! Databasteori och praktik! Fö, le, la + projekt!
729G28 Webprogrammering och databaser. Föreläsning 1: Diverse praktiskt om kursen Webprogrammering Databaser, terminologi
729G28 Webprogrammering och databaser Föreläsning 1: Diverse praktiskt om kursen Webprogrammering Databaser, terminologi 2 Personal Examinator, Ansvarig databasteori: Eva Ragnemalm, eva.ragnemalm@liu.se
HexaFlip. Kravspecifikation
HexaFlip Kravspecifikation Dokumentversion 1.0 Martin Larsson marla316@student.liu.se Carl Lindwall carli914@student.liu.se Senast modifierad 2009 02 17 Sammanfattning Detta dokument skall ligga som grund
SMD 134 Objektorienterad programmering
SMD 134 Objektorienterad programmering Lärare: pl@cdt.luth.se A 3113 Tomas Klockar klockar@sm.luth.se A 3019 Mats Folke folke@sm.luth.se A 3019 Labhandledare: Natasja Saburova Fredrik Jonsson Lars Persson
Frågeoptimering. Frågeoptimering kapitel 14
Frågeoptimering kapitel 14 Frågeoptimering sid Introduktion 1 Transformering av relationsuttyck 4 Kataloginformation för kostnadsestimering Statisk information för kostnadsestimering Kostnadsbaserad optimering
För att skriva CSS-kod använder man sig av olika kommandon. Ett exempel på hur man kan skriva kod för att ändra textfärg kan vara:
Hemsida CSS Introduktion till Cascading Style Sheets (CSS) Detta är en mycket kort genomgång av CSS med exempel på hur sådan kod ska läsas och hur den kan användas på IdrottOnline-sidor. Är man ute efter
Objekt och klasser - Introduktion
Objekt och klasser - Introduktion Begreppet objekt Hur klasser används för att skapa objekt Fördefinierade klasser Metoder och parameteröverföring Definiera klasser Modifierare Statiska variabler och metoder
Ett annat exempel på en E-R modell. En bank. Beskrivning av banken
Ett annat exempel på en E-R modell En bank 1 Beskrivning av banken En bankkedja har r på en mängd olika orter i Finland För varje r lagras dess -kod, rets och För er lagras nummer, och En måste ha minst
Grafisk visualisering av en spårbarhetslösning
Datavetenskap Opponenter Johan Kärnell och Linnea Hjalmarsson Respondenter Agni Rizk och Tobias Eriksson Grafisk visualisering av en spårbarhetslösning Oppositionsrapport, C-nivå Report 2011:06 1. Generell
Föreläsning 2 Objektorienterad programmering DD1332. Typomvandling
metoder Föreläsning 2 Objektorienterad programmering DD1332 Array [modifierare] String metodnamn (String parameter) Returtyp (utdata typ) i detta fall String Indata typ i detta fall String 1 De får man
Försättsblad till skriftlig tentamen vid Linköpings Universitet
Försättsblad till skriftlig tentamen vid Linköpings Universitet Datum för tentamen 2016-03-21 Sal Tid 08:00 12:00 Kurskod Provkod Kursnamn/benämning Institution Antal uppgifter som ingår i tentamen Antal
Editering, Kompilering och Exekvering av Javaprogram
UMEÅ UNIVERSITET Institutionen för informatik B.1, Programmeringens grunder, 5 poäng Editering, Kompilering och Exekvering av Javaprogram Introduktion Syftet med kursmomentet Programmeringens grunder (B.1)
1DV433 HT13. I vilken utsträckning har kursens innehåll och uppläggning gett förutsättningar för att du ska ha uppnått respektive lärandemål?
1DV33 HT13 Antal : I vilken utsträckning har kursens innehåll och uppläggning gett förutsättningar för att du ska ha uppnått respektive lärandemål? - ha fått grundläggande kunskaper om strukturerad programmering
Objekt-orienterad programmering. Klassbegreppet och C++ UML. UMLs fördelar
Klassbegreppet och C++ OOP UML Klasser och objekt i C++ Uppdelning i filer Attribut och metoder Inkappsling - åtkomst Klassattribut - objektattribut Objekt-orienterad programmering Att använda ett objektorienterat
Objektorienterade programmeringsspråk. Objektorienterade språk. Den objekt-orienterade modellen. Jämför med icke-oo
Objektorienterade språk Historik Simula 67 Smalltalk 80 Procedurorienterad programmering Subprogram Programbibliotek Dataorienterad programmering Abstrakta datatyper Objektbaserade språk, föregångare till
Semantik och pragmatik
Semantik och pragmatik OH-serie 4 http://stp.lingfil.uu.se/~matsd/uv/uv12/semp/ Mats Dahllöf Institutionen för lingvistik och filologi Januari 2012 Om barnet har svårt att andas eller har ont i bröstet
Major Release 3.1. Vad innebär Major Release 3.1 för svenska användare?
Major Release 3.1 Vad innebär Major Release 3.1 för svenska användare? Agenda Vad förändras och vad innebär det? Förändringarna i detalj Dokumentation Sammanfattning Vad förändras och vad innebär det?
Objektorienterad Programkonstruktion, DD1346 FACIT. Tentamen 20150613, kl. 9.00-12.00
Skolan för datavetenskap och kommunikation Objektorienterad Programkonstruktion, DD1346 FACIT Tentamen 20150613, kl. 9.00-12.00 Tillåtna hjälpmedel: Papper, penna och radergummi. Notera: Frågorna i del
TNM065 Johan Eliasson johel964 Dokumentstrukturer Kristina Engström krien026
Tamriel Rating Tamriel Rating är en sida för recensioner för de olika värdshuset i Tamriel. Tamriel är ett fiktivt land inom spelserien Elders Scrolls. Systemet Användaren kan bläddra genom en lista av
Grunderna i stegkodsprogrammering
Kapitel 1 Grunderna i stegkodsprogrammering Följande bilaga innehåller grunderna i stegkodsprogrammering i den form som används under kursen. Vi kommer att kort diskutera olika datatyper, villkor, operationer
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.
INTRODUKTION TILL JDBC
INTRODUKTION TILL JDBC Vad är JDBC? JDBC står för Java DataBase Connectivity. JDBC ingår i Java och består av en del klasser som har hand om databasfunktionalitet. Med Java följer JDBC-ODBC Bridge driver,
Inledande programmering med C# (1DV402) 27+15=42 1 (22)
27+15=42 1 (22) Variabler Upphovsrätt för detta verk Detta verk är framtaget i anslutning till kursen Inledande programmering med C# vid Linnéuniversitetet. Du får använda detta verk så här: Allt innehåll
Arbeta med databas. Översikt. Lektion 1: Arbeta med Entity Data Models. Arbeta med Entity Data Models. LINQ (Language Integrated Query).
Arbeta med databas Översikt Arbeta med Entity Data Models. LINQ (Language Integrated Query). Lektion 1: Arbeta med Entity Data Models Introduktion till ADO.NET Entity Framework. Stöd i ADO.NET Entity Framework.
19. Skriva ut statistik
19. Skiva ut statistik version 2006-05-10 19.1 19. Skriva ut statistik Den här dokumentationen beskriver hur man skriver ut statistik från SPFs medlemsregister via Internet. Observera att bilderna är exempel
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
Laboration 1: Figurer i hierarki
Laboration 1: Figurer i hierarki Bakgrund Två grundläggande tekniker i objektorienterad konstruktion är arv och komposition. Mål Laborationen har flera avsikter: 1. Ge kunskaper i hur program kan organiseras
OOMPA 2D1359 Föreläsning 2
OOMPA 2D1359 Föreläsning 2 Objektorienterad Modellering Programmering och Analys Objektorientering grunder l Vad är OO? Programspråk?, paradigm?, gränssnitt?, struktur?, eller? l Termer och fundament Objekt,
Abstraktion. Objektorientering. Kartor. Kartor. Hus. Generalisering
Abstraktion Objektorientering Process som bygger på att känna igen och fokusera på viktiga karakteristika hos objekt eller i en situation. Förmågan att kunna filtrera bort eller bortse från oviktiga detaljer.
Karlstads Universitet, Datavetenskap 1
2003-01-20 DAV B04 - Databasteknik 2003-01-20 KaU - Datavetenskap - DAV B04 - MGö 26 Relationsmodellen En formell teori som baserar sig på (främst) mängdlära predikatlogik Föreslogs av E.F Codd 1970 i
Objektsamlingar i Java
1 (6) Objektsamlingar i Java Objektorienterad programmering 3 Syfte Att ge träning i att använda objektsamlingar i Java. Mål Efter övningen skall du kunna använda objektsamlingsklasserna ArrayList och
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
Analytisk relationsdatabasdesign
Analytisk relationsdatabasdesign Att förbättra kvaliteten i databaser Presenter s Name Organization name www.horton.com Domän-regler och främmande nyckel regler via DDL Datatyp! Datatyp! Maxvärde! Maxvärde!
Förra föreläsningen: Olika nivåer av meddelanden. Från oblockad sändning till. RPC: Parameterpassning, registrering, felhantering, säkerhet, kompilering ONC RPC: XDR, portmapper Brandväggar, dynamisk brandväggskonfigurering,
Att använda pekare i. C-kod
Att använda pekare i C-kod (Bör användas av de som känner sig lite hemma med C-programmering!) Rev 1, 2005-11-23 av Ted Wolfram www.wolfram.se Syfte: Man kan tycka att det är komplicerat att använda pekare
Föreläsning 2. Objektorienterad analys och design. Analys: att modellera världen. Design: att strukturera program.
Föreläsning 2 Objektorienterad analys och design. Analys: att modellera världen. Design: att strukturera program. Vår process Kravbeskrivning (3 dagar). Enkel form av användningsfall (use cases). Analys
Datorlära 3 Octave Workspace ovh mijlö Skriva text på skärmen Värdesiffror Variabler och typer Strängar Makro Vektorer
Datorlära 1 Introduktion till datasystemet, epost konto, afs hemkonto Introduktion till datorer och datasalar Open Office Calculator Beräkningar med Open Office Calc Diagram med OO Calc Datorlära 2 Utforma
TENTAMEN: Design och konstruktion av grafiska gränssnitt DAT215
TENTAMEN: Design och konstruktion av grafiska gränssnitt DAT215 DAG: 14 mars, 2011 TID: 8.30 12.30 SAL: Hörsalsvägen Ansvarig: Olof Torgersson, tel. 772 54 06. Institutionen för tillämpad informationsteknologi.
1 Inledning. Mikael Gunnarsson. 27 juni 2013
Kursutvärdering av Kunskapsorganisation 3 : beskrivningsmodeller och metadata, 7,5 hp, kandidatprogrammet Bibliotekarie, campus (31BKB3), vårterminen 2013 Mikael Gunnarsson 27 juni 2013 1 Inledning Kursen
PDA-applikationer med.net
Sid 1 av 7 Örebro universitet Institutionen för teknik Thomas Padron-McCarthy (Thomas.Padron-McCarthy@tech.oru.se) Tentamen i PDA-applikationer med.net (fristående kurs) lördag 17 december 2005 kl 14:00-19:00
Felsökning av mjukvara
KUNGLIGA TEKNISKA HÖGSKOLAN Felsökning av mjukvara Programmering av en NXT-robot Max Kufa [03/08-13] mkufa@kth.se Introduktionskurs i datateknik (II1310) Sammanfattning Syftet med laborationen var att
Lumbago - Förord. Välkommen till Journalprogrammet Lumbago.
Lumbago - Förord Välkommen till Journalprogrammet Lumbago. Vår förhoppning är att du ska få mer tid över för dina patienter och att du ska ha nytta av alla de effektiva funktioner som Lumbago erbjuder.
Tentamen TEN1 HI1029 2014-05-22
Tentamen TEN1 HI1029 2014-05-22 Skrivtid: 8.15-13.00 Hjälpmedel: Referensblad (utdelas), papper (tomma), penna Logga in med tentamenskontot ni får av skrivvakten. Det kommer att ta tid att logga in ha
Föreläsning 1 & 2 INTRODUKTION
Föreläsning 1 & 2 INTRODUKTION Denna föreläsning Vad händer under kursen? praktisk information Kursens mål vad är programmering? Skriva små program i programspråket Java Skriva program som använder färdiga
TDDI02. Programmeringsprojekt. Föreläsning 3 Jonas Lindgren, Institutionen för Datavetenskap, LiU
TDDI02 Programmeringsprojekt. Föreläsning 3 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Verifikation, Validering och Testning XP Extreme Programming Vad är ett fel? I engelskan
Objektorienterad programmering, allmänt
Objektorienterad programmering, allmänt Sven-Olof Nyström Uppsala Universitet 17 juni 2005 1 Vilka egenskaper vill vi att program ska ha? Förslag (en partiell lista): De ska... gå snabbt att skriva vara
Viktiga egenskaper hos ett program (Meyer): Objektorienterad programmering, allmänt. Vilka egenskaper vill vi att våra program ska ha?
Viktiga egenskaper hos ett program (Meyer): Objektorienterad programmering, allmänt Sven-Olof Nyström Uppsala Universitet 17 mars 2005 1. Korrekthet 2. Robusthet 3. Utökbarhet 4. Återanvändbarhet 5. Kompatibilitet
Tentamen. 2D4135 vt 2005 Objektorienterad programmering, design och analys med Java Lördagen den 28 maj 2005 kl 9.00 14.
Tentamen 2D4135 vt 2005 Objektorienterad programmering, design och analys med Java Lördagen den 28 maj 2005 kl 9.00 14.00, sal E33 Tentan har en teoridel och en problemdel. På teoridelen är inga hjälpmedel
GEOGRAFI. Läroämnets uppdrag
GEOGRAFI Läroämnets uppdrag Undervisningen i geografi har till uppgift att stöda uppbyggandet av elevens världsbild. Eleven vägleds att följa med aktuella händelser i sin närmiljö och i världen och får
Välkommen till kommunens Lärportal. - Användarhanledning till dig som vårdnadshavare
Välkommen till kommunens Lärportal - Användarhanledning till dig som vårdnadshavare Ansökan om konto för vårdnadshavare 1. Skriv in www.edwise.se i webbläsarens adressfönster 2. Välj länken för att ansöka
Synkronisering. Föreläsning 8
Synkronisering Föreläsning 8 Synkronisering Så stort, intrikat och viktigt att det finns hela kurser om det i parallellprogrammering. Vi fuskar lite med några av de viktigaste bitarna! Synkronisering Vad
TPFD - TestPlan Före Design BESKRIVNING AV AKTIVITETER
TPFD Beskrivning Rev 4 1(10) TPFD - TestPlan Före Design BESKRIVNING AV AKTIVITETER Anv.krav Terminologi Detaljkrav Konfigdok Hantera Utgåvor Projektplan Testplan Test-o-felrättning Ändringslogg Återst.
Imperativ programmering. Föreläsning 4
Imperativ programmering 1DL126 3p Föreläsning 4 Imperativa paradigmer Ostrukturerad programmering Strukturerad programmering Procedurell programmering Objektorienterad programmering Klassbaserad programmering
TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 11 Jonas Lindgren, Institutionen för Datavetenskap, LiU
TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 11 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Designmönster Adapter, Factory, Iterator,
Programmering och digital kompetens
Kollegialt lärande Föreläsning Workshop Programmering och digital kompetens Lärcafé, 14 juni OSÄKERHET RÄDSLA NYFIKENHET FÖRVALTARE OCH ENTREPRENÖRER Kompetensutveckling Skolverket släpper en modul i oktober.
Mål med lektionen! Veta kursmålen. Ha kännedom om några av de grundläggande begreppen.
Entity Framework Mål med lektionen! Veta kursmålen. Ha kännedom om några av de grundläggande begreppen. Vem är jag? Mitt namn är Björn Jönsson och jobbar på Tahoe Solutions, ni når mig via mail: bjorn.jonsson@tahoesolutions.se
Databasteknik för D1, SDU1 m fl
Örebro universitet Institutionen för teknik Thomas Padron-McCarthy (Thomas.Padron-McCarthy@oru.se) Tentamen i Databasteknik för D1, SDU1 m fl onsdag 19 augusti 2009 kl 08:15-12:15 Gäller som tentamen för: