Sammenligning af Objekt-orienteret databaser og Relationelle databaser.

Størrelse: px
Starte visningen fra side:

Download "Sammenligning af Objekt-orienteret databaser og Relationelle databaser."

Transkript

1 Sammenligning af Objekt-orienteret databaser og Relationelle databaser. Af Louis Fleron

2 Databaser OODBMS og RDBMS PBS10101 Louis Fleron Side 2 Af 11 Indholdsfortegnelse 1. Forord Hvad er et OODBMS? Hvorfor vælge OODBMS i stedet for RDBMS? Alternativ til OODBMS ORM Strukturen bag et OODBMS Historien/kronologien af OODBMS OQL Ligheder og forskelle mellem OQL og SQL Native Queries Query Optimization i RDBMS Hvad er Query Optimization Eksempel Query Optimization i OODBMS Hvorfor forskes der indenfor Query Optimization til OODBMS? Kilder...11

3 Databaser OODBMS og RDBMS PBS10101 Louis Fleron Side 3 Af Forord. I denne opgave vil jeg sammenligne Objekt-orienteret databaser med relationelle databaser. I mange år har relationelle databaser været den dominerende teknologi indenfor databaser, der findes dog mange alternativer til Relational Database Management Systems (RDBMS). En af disse alternativer er Object Oriented Database Management Systems (OODBMS), men denne teknologi har endnu ikke været i stand til at fjerne RDBMS som den dominerende tankegang indenfor databaser. Det objekt-orienteret paradigme begyndte tilbage i 1960'erne og siden 1990'erne har objektorienteret programmering været det dominerende paradigme indenfor programmering, jeg vil undersøge hvorfor OODBMS teknologien ikke har overlevet denne fremgang. 2. Hvad er et OODBMS? Akronymet OODBMS står for Object Oriented Database Management System, hvilket betyder et database management system der behandler information som objekter. Dette giver en perfekt afspejling af den model som skabes i objekt-orienteret programmering, denne model er baseret på associationer mellem objekter. Denne måde på at gemme informationer står i kontrast til relationelle database systemer som benytter en relationel model som grundlag for opbevaring. Den relationelle model er baseret på matematisk logik, mere præcist Første-Ordens logik også kendt som mængdelære. Listen over Objekt-orienteret database management systemer er lang, men de mest kendte er: 1. Oracle 2. ObjectStore 3. PostgreSQL 4. DB4O 5. JADE Oracle og PostgreSQL er hybrid systemer, ORDBMS, som både håndterer den relationelle model og den objekt-orienteret model. JADE er en platform som indeholder sit eget programmeringssprog og objekt-orienteret database system, men JADE indeholder en API som tillader.net og Java brug af det objekt-orienteret database system. ObjectStore og DB4O er rene objekt-orienteret database systemer. Vi har arbejdet med DB4O i timerne og jeg må tilstå at objekt-orienteret database systemer gør persistens af data utroligt nemt.

4 Databaser OODBMS og RDBMS PBS10101 Louis Fleron Side 4 Af 11 Følgende eksempel på at gemme et objekt (DB4O). //Gem et objekt af type ObjectX ObjectX x = new ObjectX(); x.age = 27; x.name = "Dette er et navn"; db.store(x); Eksempel på at hente objekter fra databasen (DB4O). //Hent alle objekter med type ObjectX ObjectX y = new ObjectX(); IObjectSet result = db.querybyexample(y); foreach (ObjectX o in result) { Console.WriteLine(o.ToString()); } Der er ikke brug for at lave en database i et andet program, eller lave tabeller samt relationer mellem tabellerne. Alt foregår i det valgte objekt-orienteret sprog, hvilket gør håndtering af databaser utroligt nemt og flydende Hvorfor vælge OODBMS i stedet for RDBMS? Hvis et system udvikles i et Objekt Orienteret miljø og systemet kræver høj ydeevne samt indeholder komplekse data, så kan der med fordel benyttes et OODBMS i stedet for en traditionel Relationel database. Komplekse data kendetegnes ved brug af Inheritance, Polymorphism, Cross-referencing mellem mange objekter. Disse egenskaber gør oversættelsen fra et objekt-orienteret miljø til en relationel model, besværlig og tidskrævende. Sandsynligheden for mulige fejl i databasen stiger. Cross-references oversættes til Foreign Keys i en relationel model, problemet opstår når et objekt refererer til et andet objekt som igen refererer til andre objekter. Der skal skrives en relativ kompleks forespørgsel for at udtrække disse objekter i en Relationel model. En anden grund til at benytte en OODBMS, opstår når objekterne indeholder Kollektioner, disse kollektioner kendetegner en klassisk En til Mange relation. Denne relation vil typisk blive oversat til en ny tabel i den relationelle model. Der er også problemer tilknyttet OODBMS, såsom manglende standarder til håndtering af objekter og manglende vilje fra mange firmaer til at foretage datamigration fra et allerede kørende relationelt miljø til et nyt Objekt-orienteret miljø.

5 Databaser OODBMS og RDBMS PBS10101 Louis Fleron Side 5 Af Alternativ til OODBMS ORM Som et alternativ til en total migration fra RDBMS til OODBMS, er det muligt at benytte en ORM, hvilket står for Object Relations Mapping(Mapper). ORM er et lag mellem et system skrevet i et objekt-orienteret miljø og den relationelle database. Laget har til opgave at oversætte objekterne i systemet til relationer i databasen. ORM er en måde på at samle alle problemstillinger nævnt i det forrige afsnit i et modul, dette modul håndterer derefter kommunikation mellem de to modeller. Der findes mange eksisterende ORM'er på markedet, for at nævne de mest kendte indenfor.net. Nhibernate ibatis ADO.Net Entity Framework (Del af.net 4.0) 2.2. Strukturen bag et OODBMS. Nu har vi set eksempler på brugen af et Objekt-orienteret database system, men jeg vil nu undersøge hvordan databasen håndterer selve objekterne. I det Objekt-Orienteret Database System Manifest, beskrives krav til hvad en OODBMS skal kunne, de mest kendte krav er: Komplekse objekter. Object Identifier (OID). En unik identifikation af objektet som er uafhængighed af attributter. Indkapsling(Encapsulation). Typer eller klasser. Nedarvning(Inheritance). Dynamisk binding. Traditionelle DBMS'er har en model bestående af to lag: Application Storage model i hukommelsen som består af data der skal bruges i en applikation. Database Storage model på disk som består af relationer og tupler. OODBMS giver illusionen af en model som består af et lag, dette opnås ved at bruge Object Identifier. Der findes to typer af OIDs. Logical OID: Uafhængig af den fysiske placering af objektet på disken. Physical OID: Placering er en del af OID. Begge typer er forskellige i størrelsen sammenlignet med normale memory-pointers og det er nødvendigt at konvertere mellem OID og pointers i hukommelsen. Til at gøre dette, bruges Pointer- Swizzling.

6 Databaser OODBMS og RDBMS PBS10101 Louis Fleron Side 6 Af 11 Der findes tre typer for Pointer-Swizzling 1. Copy versus in-place. Beslutning om data skal kopieres ind i applikationens lokale cache eller om data skal tilgås fra object managerens page cache. 2. Eager versus lazy. Eager betyder at alle objekter som applikationen bruger, skal 'swizzles' fra disk til hukommelsen, før applikationen kan bruge objekter. Lazy er det modsatte, kun de objekter som skal bruges hentes ind i hukommelsen. 3. Direct versus indirect. Direct betyder at Swizzling-pointeren peger på et objekt udenfor hukommelsen, hvor indirect betyder at der oprettes et temporært objekt i hukommelsen som indeholder adressen til objektet. Disse tre typer for Pointer-Swizzling kan kombineres på otte forskellige måder. Når OODBMS skal hente et objekt fra disk til hukommelsen, sker følgende. OODBMS bestemmer hvilken side på disk som indeholder objektet. OODBMS udfører Pointer-Swizzling, modifikation af objekt så det passer til programmeringssproget. Eksempelvis.Net objekter til Java objekter. Applikationen kan nu tilgå objektet. På grund af Pointer-Swizzling mellem memory-pointers og OID, opnår OODBMS illusionen af et simpelt enkeltlags system. Det er også muligt at undlade brugen af swizzling og benytte en tabel til holde styr på objekter i hukommelsen. Dette kaldes Resident Object Table (ROT) og indeholder OID af objektet og hukommelsesadressen. Denne metode kan give problemer med performance hvis et objekt skal bruges mange gange. Hver gang skal der fortages en forespørgsel i ROT, dette tager tid og dermed forringes performance. Når et objekt bliver persistent er det normalt OID og objektets tilstand som gemmes, men det er også muligt at inddrage kildekode og program/thread execution state. Dette giver en mere elegant løsning som omfatter alle aspekter af objektet. Persistens af kildekode vil dog føre til redundans, da kildekoden allerede findes i filsystemet. Der er tre forskellige persistens måder. Checkpointing: Hele programmet kopieres til sekundær disk. Dette kaldes for et checkpoint. Det er dog kun programmet som kan benytte dette checkpoint og det kan indeholde store mængder data som ikke skal bruges. Serialization: med Serialization gøres alle objekter som kan tilgås fra et startobjekt flade og deres data samt struktur skrives til sekundær disk. Der er et problem med denne måde, den er ikke inkrementel. Hvis der fortages små ændringer skal hele strukturen igennem den samme proces igen. Dette er ikke effektivt.

7 Databaser OODBMS og RDBMS PBS10101 Louis Fleron Side 7 Af 11 Explicit paging: Her er det applikationsprogrammøren som står for persistens af objekter. Denne metode gør brug af konverteringen mellem disk baseret og hukommelse pointers, Pointer Swizzling. Der er to metoder, Reachability-based og Allocation-based. Reachability-based persistens betyder at et objekt bliver gjort persistent hvis objektet kan nås fra et rod objekt. Denne metode passer godt sammen med Java og C# som indeholder garbage collection. Allocation-based persistens betyder at et objekt kun bliver gjort persistent hvis objektet er erklæret persistent fra applikationen. Her er der to måder, By Class betyder at en klasse erklæres for at værende persistens og alle instanser af denne klasse bliver gjort persistente ved oprettelse. Den anden måde er By explicit call, her er det programmøren som kalder en funktion der udfører den nødvendige persistens. 3. Historien/kronologien af OODBMS. Dette er en kort gennemgang af de vigtigste punkter indenfor udviklingen af OODBMS, såsom hvornår kom det første OODBMS frem og hvad er der sket siden. I løbet af 1980'erne samtidigt med fremgangen af objekt-orienteret programmering, begyndte programmører at behandle data i databasen som sammenhængende entiteter. Objekt-orienteret programmering havde ændret hvorpå data blev opfattet, fra en ren data model til en associativ model. Følgende tidslinje viser udviklingen. Tidlig 1980'erne - Won Kim begynder et forskningsprojekt vedrørende objekt-orienteret databaser. Navnet er ORION. To databaser systemer benytter ORION som grundlag, ITASCA og Versant. Sen 1980'erne - Lisp-baseret database system, Graphael dukker op. Senere bliver Graphael omskrevet til Matisse. Servo-Logic begynder på Gemstone database systemet. 1990s Vækst Markedet for OODBMS produkter vokser op til 100 millioner $ Object Data Management Group. Rick Cattell grundlægger ODMG sammen med fem store OODBMS producenter. Den første standard ODMG 1.0 frigives i OODBMS Manifestet Malcolm Atkinson skriver manifestet som definerer hvad OODBMS skal indeholde ODMG 3.0 standarden frigives. ODMG går i opløsning, arbejdet fortsættes i Java som JDO, Java Data Objects Open Source. DB4O frigives som en gratis og open source OODBMS. DB4O er den første til at implementere Native Queries som helt afhænger af programmeringssproget.

8 Databaser OODBMS og RDBMS PBS10101 Louis Fleron Side 8 Af OQL Object Query Language var det første forsøg fra ODMG på at lave en standard indenfor data forespørgsel. ODMG valgte at benytte SQL syntaksen som grundlag for OQL og derfor ligner de hinanden, jeg viser et eksempel på denne lighed. OQL blev aldrig overholdt af producenterne og i dag findes der andre sprog og metoder som tager udgangspunkt i OQL Ligheder og forskelle mellem OQL og SQL. Følgende eksempel viser OQL og SQL. SELECT DISTINCT x.attribut FROM (tabel eller objekt) x WHERE x.attribut2 = Betingelse Dette eksempel virker i både OQL og SQL. Forskellen er hvad de leverer tilbage. SQL leverer en tabel med alle tupler som overholder betingelsen, hvor OQL leverer en kollektion med alle objekter som overholder den samme betingelse. Der er et problem med OQL, moderne integrated development environments, tjekker ikke strings for syntaks eller semantiske fejl. Hvis vi har forespørgsel i OQL som skal finde alle studerende som har en alder der er mindre end 20 i en database, følgende kode er nødvendigt. String oql = "select * from student in AllStudents where student.age < 20"; OQLQuery query = new OQLQuery(oql); Object students = query.execute(); Dette eksempel kræver at både student.age og 20 er numeriske, der vil opstå en fejl hvis student.age ændres til noget andet. Refactoring af kode giver et andet problem, hvis age ændres til _age, så virker vores query ikke mere. Til at løse vores problemer, så er det muligt at skrive vores queries i selve programmeringssproget og dermed bruge vores IDE til at sikre korrekte typer. Dette er Native Queries.

9 Databaser OODBMS og RDBMS PBS10101 Louis Fleron Side 9 Af Native Queries Følgende eksempel er fra DB4O og skrevet i C#. IList <Student> students = database.query <Student> ( delegate(student student){ return student.age < 20 && student.name.contains("f"); }); I stedet for at benytte strings, så bruges en delegate som indeholder betingelsen. OODBMS'et, i dette tilfælde DB4O, tager Native Query og oversætter den til SODA. SODA står for Simple Object Data Access og er DB4Os low level sprog. 5. Query Optimization i RDBMS Hvad er Query Optimization. Den relationelle model er baseret på mængdelære og når en person ønsker at udtrække data fra modellen, kan der være mange forskellige måder på at gøre dette. Det kræver mange udregninger for at identificere en effektiv måde på at udføre brugerens forespørgsel, heldigvis indeholder RDBMS'er en komponent som løser vores problem. Query Optimizer er en komponent som håndterer beregninger og estimater af vores forespørgsel. Komponenten tager forespørgsler fra brugeren, som normalt er skrevet i SQL eller T-SQL(MS-SQL) og prøver at optimere denne forespørgsel ved at erstatte de tunge dele i forespørgselen med hurtigere dele. Der skabes flere cost plans som viser hvor meget det koster i tid at udføre brugerens forespørgsel, den billigste plan vælges og udføres. En normal bruger benytter ikke Query Optimizer, direkte, men det er muligt at angive små hints til DBMS'et som påvirker optimeringen Eksempel. Som et eksempel på brug af Query Optimizer hints, har jeg valgt at vise hvordan en bruger kan påvirke en af de mest brugte operationer i en RDBMS, Join operationen. Join operationen gør det muligt at hente data fra flere tabeller i samme forespørgsel, hvis tabellerne har data tilfælles. SELECT column_name(s) FROM table_name1 JOIN table_name2 ON table_name1.column_name=table_name2.column_name

10 Databaser OODBMS og RDBMS PBS10101 Louis Fleron Side 10 Af 11 Query Optimizer vil nu forsøge at beregne den bedste plan, ved at undersøge tabellerne og antallet af tupler. Resultatet er en Execution plan som benytter den bedste JOIN mulighed mellem tabellerne. Det er muligt at tvinge Query Optimizer til at benytte en bestemt form for JOIN ved at benytte OPTION ( LOOP JOIN ) Dette tvinger Optimizeren til at udfører alle JOINs som LOOP-JOINs. Der findes også MERGE-JOINs og HASH-JOINs som udfører operationen på forskellige måder, dette påvirker CPU-tid og I/O operationer af hele vores forespørgsel. Det er sjældent nødvendigt at bruge Query Optimizer hints ved normal brug af en RDBMS, men det kan forekomme at der skabes en ineffektiv Execution plan og det er derfor nødvendigt at tvinge en bestemt fremgangsmåde. 6. Query Optimization i OODBMS. I OODBMS findes denne Query Optimizer ikke, da der ikke er behov for andet end Hent og Gem objekter. Der er ikke behov for at udføre JOINs mellem objekter, da det bryder med en af hovedprincipperne i objekt-orienteret tankegang, Encapsulation. Objekter indeholder referencer til andre objekter og dermed er brugen af JOINs unødvendig. Alligevel forskes der indenfor Query Optimization i OODBMS Hvorfor forskes der indenfor Query Optimization til OODBMS? Der forskes indenfor Query Optimizer til OODBMS, da meget komplekse datastrukturer kræver meget IO eller plads i hukommelsen, især hvis der bruges en Pointer-Swizzling strategi som omfatter Copy/Eager/Indirect. Eksempel på problemet kan være: Objekt R indlæses, men objekt R indeholder tre kollektioner af typerne X,Y,Z. Disse objekter skal også indlæses, hvis X indeholder andre kollektioner, så skal de også indlæses. Samt alle objekter skal kopieres ind i applikationens lokale cache. Dette giver en del I/O arbejde og pladskompleksiteten er meget høj, især hvis det kun er det første objekt i X-kollektionen som skal bruges. Lazy Pointer-Swizzling løser dette problem, men giver os et andet problem. Hver gang et nyt objekt skal bruges så skal OODBMS undersøge om objektet findes i hukommelsen eller om det findes på disk. Så i stedet for at indlæse alle objekter fra harddisk, så ville det være mere optimalt at have en objekt-orienteret algebra som beregner hvilke objekter som skal bruges. Den relationelle model er baseret på mængdelære hvor der er meget veldefineret matematiske regler som bruges til udregning af den bedste måde på at udføre en forespørgsel, men i den objekt-orienteret verden mangler vi en objekt-orienteret algebra som kan udføre dette arbejde.

11 Databaser OODBMS og RDBMS PBS10101 Louis Fleron Side 11 Af 11 Når vi snakker om objekter så nævnes attributter og typer, men vi glemmer helt at et objekt indeholder metoder. En mulig Objekt-orienteret Query Optimizer er baseret på Metode semantik. Forskning indenfor metode-semantik baseret optimering har ført til et nyt sprog som kaldes VQL, eller VODAK Query Language. I stedet for at bruge attributter i en forespørgsel, så er det muligt at benytte metoder som indeholder langt flere informationer vedrørende hvordan objektet kommer til at opfører sig. Optimering sker på grundlag af metodens omkostninger, hvilket kan være CPU eller I/O i form af kald til andre objekter. Dette eksempel er bare et af flere forskellige forsøg på at implementere Query Optimization i OODBMS. Desværre har den langsomme udvikling og accept af OODBMS, medført at forskningen sker langsomt eller helt droppes. 7. Kilder Database Systems, A Practical Approach to Design, Implementation, and Management Thomas Connolly og Carolyn Begg. Fourth Edition. Kapitel 26 og 27. Dissecting SQL Server Execution Plans Grant Fritchey. Kapitel 5, Controlling Execution Plans with Hints. 215-OODB Dokument vedrørende OQL og SQL. P Semantic Query Optimization for Methods in Object-Oriented Database Systems V Contribution to the Query Optimization in the Object-Oriented Databases - Kronologi af OODBMS.

Hvorfor skal vi bruge objekt orienteret databaser?

Hvorfor skal vi bruge objekt orienteret databaser? OODBMS Vs. RDBMS 1 Indholdsfortegnelse Hvorfor skal vi bruge objekt orienteret databaser?... 3 OODBMS i erhvervslivet... 4 Bagsiden af medaljen... 5 OODBMS i praksis... 6 Konklusion... 8 2 Hvorfor skal

Læs mere

Object-Relational Mapping

Object-Relational Mapping Databaser for udviklere () Datamatiker TietgenSkolen Underviser: Allan Helboe 06-06-2010 Problemformulering Denne opgave er et forsøg på at beskrive problemerne der opstår ved anvendelsen af en relationel

Læs mere

Databasesystemer. Databaser, efterår Troels Andreasen. Efterår 2002

Databasesystemer. Databaser, efterår Troels Andreasen. Efterår 2002 Databaser, efterår 2002 Databasesystemer Troels Andreasen Datalogiafdelingen, hus 42.1 Roskilde Universitetscenter Universitetsvej 1 Postboks 260 4000 Roskilde Telefon: 4674 2000 Fax: 4674 3072 www.dat.ruc.dk

Læs mere

Database for udviklere. Jan Lund Madsen PBS10107

Database for udviklere. Jan Lund Madsen PBS10107 Database for udviklere Jan Lund Madsen PBS10107 Indhold LINQ... 3 LINQ to SQL og Arkitektur... 3 O/R designere... 5 LINQ Den store introduktion med.net 3.5 er uden tvivl LINQ(udtales link): Language-INtegrated

Læs mere

Introduktion til SQL

Introduktion til SQL Introduktion til SQL Introduktion til SQL 1. udgave, 1. oplag 2013 Copyright 2013 Libris Media A/S Forfatter: Bobby Henningsen Forlagsredaktion: Peter Wiwe og Louise Peulicke Larsen Omslag: Louise Peulicke

Læs mere

Casper Fabricius http://casperfabricius.com. ActiveRecord. O/RM i Ruby on Rails

Casper Fabricius http://casperfabricius.com. ActiveRecord. O/RM i Ruby on Rails Casper Fabricius http://casperfabricius.com ActiveRecord O/RM i Ruby on Rails Casper Fabricius Freelance webudvikler - casperfabricius.com 9 års erfaring med webudvikling 6 år med ASP/ASP.NET/C# 3 år med

Læs mere

Skriftlig opgave. Designtanker i database-nære systemer

Skriftlig opgave. Designtanker i database-nære systemer Skriftlig opgave til eksamen for faget»databaser«designtanker i database-nære systemer Martin Ancher Holm Juni 2010 1 Intro Denne skriftlige opgave indeholder kort de daglige tanker jeg har omkring design

Læs mere

Databaseadgang fra Java

Databaseadgang fra Java Databaseadgang fra Java Grundlæggende Programmering med Projekt Peter Sestoft Fredag 2007-11-23 Relationsdatabasesystemer Der er mange databaseservere Microsoft Access del af Microsoft Office MySQL god,

Læs mere

Database kursus Forår 2013

Database kursus Forår 2013 Database kursus Forår 2013 Jacob Aae Mikkelsen Database design og programmering/databaser fra Organisationsorienteret softwareudvikling 1 Praktisk info Lærebog Database Systems: The Complete Book Skema

Læs mere

Tietgenskolen - Nørrehus. Data warehouse. Database for udviklere. Thor Harloff Lynggaard DM08125

Tietgenskolen - Nørrehus. Data warehouse. Database for udviklere. Thor Harloff Lynggaard DM08125 Tietgenskolen - Nørrehus Data warehouse Database for udviklere Thor Harloff Lynggaard DM08125 Juni 2010 Indhold Beskrivelse... 3 Data warehouse... 3 Generelt... 3 Sammenligning... 3 Gode sider ved DW...

Læs mere

Information Integration

Information Integration Databaser, efterår 2002 Information Integration Troels Andreasen Datalogiafdelingen, hus 42.1 Roskilde Universitetscenter Universitetsvej 1 Postboks 260 4000 Roskilde Telefon: 4674 2000 Fax: 4674 3072

Læs mere

Import af rekursivt (parent-child) hierarki i Palo

Import af rekursivt (parent-child) hierarki i Palo Import af rekursivt (parent-child) hierarki i Palo Dette dokument beskriver hvordan et simpelt rekursivt (parent-child) hierarki kan importeres ind i Palo på forskellige måder via SQL og samtidig bibeholde

Læs mere

Arkitektur principper og design mønstre til realisering af enterprise applikationer baseret på rige domænemodeller (og.net)

Arkitektur principper og design mønstre til realisering af enterprise applikationer baseret på rige domænemodeller (og.net) Arkitektur principper og design mønstre til realisering af enterprise applikationer baseret på rige domænemodeller (og.net) Kim Harding Christensen EOS A/S Margrethepladsen 3 8000 Århus TLF: 8732 8787

Læs mere

Eksempel på en database: studenter, kurser, eksamener

Eksempel på en database: studenter, kurser, eksamener Udvidet Programmering 1999 Forelæsning 20, fredag 12. november 1999 Relationsdatabaser: relationer, tupler, attributter Forespørgselssproget SQL Databasesystemet PostgreSQL Tilgang til relationsdatabaser

Læs mere

DATABASE - MIN MUSIKSAMLING

DATABASE - MIN MUSIKSAMLING DATABASE - MIN MUSIKSAMLING I dette forløb skulle vi lære om databaser, som bruger sproget SQL. SQL står for Structured Query Language. Det bruges til at vise og manipulere data, gemt i en database. I

Læs mere

Bemærk! Et PHP script har kun brug for at forbinde én gang til databaseserveren. Det kan så sagtens udføre flere kommandoer vha. denne forbindelse.

Bemærk! Et PHP script har kun brug for at forbinde én gang til databaseserveren. Det kan så sagtens udføre flere kommandoer vha. denne forbindelse. Mysqli Webintegrator Når vi arbejder med server-side scripting ( i vort tilfælde PHP), har vi ofte behov for at kunne tilgå data, som vi opbevarer i en database. Det kan f.eks. dreje sig om nyhederne i

Læs mere

Objektorientering og databaser

Objektorientering og databaser Databaser, efterår 2002 Objektorientering og databaser Troels Andreasen Datalogiafdelingen, hus 42.1 Roskilde Universitetscenter Universitetsvej 1 Postboks 260 4000 Roskilde Telefon: 4674 2000 Fax: 4674

Læs mere

Databasesystemer fra forskellige synsvinkler

Databasesystemer fra forskellige synsvinkler Databasesystemer fra forskellige synsvinkler Kim Skak Larsen kslarsen@imada.sdu.dk IMADA DM534 Introduktion til datalogi, 8/10 2015 p.1/60 Oversigt Introduktion Del 1: en designers synsvinkel Del 2: en

Læs mere

Database "opbygning"

Database opbygning Database "opbygning" Dette områder falder mest under en DBA's ansvarsområde. Det kan sagtens tænkes at en database udvikler i nogle situationer vil blive nød til at oprette produktions og test) databaser,

Læs mere

Listen over reserverede ord er meget lang, men de væsentligste vil jeg beskrive her i denne artikel:

Listen over reserverede ord er meget lang, men de væsentligste vil jeg beskrive her i denne artikel: Denne guide er oprindeligt udgivet på Eksperten.dk SQL og ASP En artikel omkring simpel SQL og hvordan disse opbygges, udformes og udføres, sådan at man kan få et brugbart resultat i ASP. Dette ligefra

Læs mere

Data Warehouse Knowledge is Power - Sir Francis Bacon -

Data Warehouse Knowledge is Power - Sir Francis Bacon - Data Warehouse 4. sem. datamatiker uddannelse Tietgen Skolen Odense Skrevet af Troels Markvard Andersen (DM08228) Knowledge is Power - Sir Francis Bacon - Troels Markvard Andersen Side 1 af 8 Forord /

Læs mere

Database design for begyndere

Database design for begyndere Denne guide er oprindeligt udgivet på Eksperten.dk Database design for begyndere Denne artikel beskriver hvordan man kommer fra ide til database design. Den stopper inden normal former. Den forudsætter

Læs mere

Relationel Algebra og SQL

Relationel Algebra og SQL Relationel Algebra og SQL Indholdsfortegnelse Relationel Algebra og SQL...1 Indholdsfortegnelse...1 De oprindelige mængdeoperationer...2 1. UNION (foreningsmængde)...2 2. INTERSECTION (fællesmængde)...2

Læs mere

Side 1. Databaser og SQL. Dagens gang. Databasebegreber. Introduktion til SQL Kap 1-5

Side 1. Databaser og SQL. Dagens gang. Databasebegreber. Introduktion til SQL Kap 1-5 Databaser og SQL Introduktion til SQL Kap 1-5 1 Dagens gang Databaser Database begreber Mapning af klasser til relationel model Normalisering Opgaver til næste gang 2 Databasebegreber A database is a:

Læs mere

Forskellige databaser

Forskellige databaser Denne guide er oprindeligt udgivet på Eksperten.dk Forskellige databaser Denne artikel beskriver kort forskellige database typer, produkter og API'er. Målet er at give et overblik over hvad der findes

Læs mere

Database tips. Den forudsætter lidt kendskab til SQL men er for mindre erfarne. Denne guide er oprindeligt udgivet på Eksperten.dk

Database tips. Den forudsætter lidt kendskab til SQL men er for mindre erfarne. Denne guide er oprindeligt udgivet på Eksperten.dk Denne guide er oprindeligt udgivet på Eksperten.dk Database tips Denne artikel vil give nogle forskellige små praktiske råd om ting man skal tænke på når man arbejder med databaser og applikationer som

Læs mere

Udvikling af DOTNET applikationer til MicroStation i C#

Udvikling af DOTNET applikationer til MicroStation i C# Udvikling af DOTNET applikationer til MicroStation i C# Praktiske tips for at komme i gang. Gunnar Jul Jensen, Cowi Hvorfor nu det? Mdl og Vba kan det hele Fordelene er : udviklingsmiljøet er eksternt

Læs mere

Software Projekt NoSQL vs RMDB

Software Projekt NoSQL vs RMDB Software Projekt NoSQL vs RMDB Skrevet af Carsten Sørensen, Hans Jørgen Frandsen, Peter Haislund Department of Computer Science, University of Aarhus Aabogade 34, 8200 Arhus N, Denmark 201200089, 19960442,

Læs mere

CLR Integration. Af Torsten Holtse, pbs Indhold

CLR Integration. Af Torsten Holtse, pbs Indhold CLR Integration Af Torsten Holtse, pbs10104 Indhold Opgavebeskrivelse... 2 Introduktion... 2 CLR Integrations muligheder... 2 Stored Procedures, Functions og Triggers... 2 Aggregates og User-defined Types...

Læs mere

applikation----x----odbc driver manager----foobar ODBC driver----foobar database

applikation----x----odbc driver manager----foobar ODBC driver----foobar database Denne guide er oprindeligt udgivet på Eksperten.dk ODBC i C/C++ Denne artikel beskriver hvordan man bruger ODBC i C/C++. Der er beskrivelse af build med forskellige compilere. Den forudsætter lidt kendskab

Læs mere

Sider og segmenter. dopsys 1

Sider og segmenter. dopsys 1 Sider og segmenter dopsys 1 Lokal vs global sideallokering (1) Med (a) som udgangspunkt giver (b) lokal hhv. (c) global allokering forskellige resultater dopsys 2 Lokal vs global sideallokering (2) Den

Læs mere

Rigtig SQL Programmering

Rigtig SQL Programmering Rigtig SQL Programmering 1 SQL i Rigtige Programmer Indtil nu har vi brugt SQL direkte i kommandolinje promt/gui program, hvor vi kan lave forespørgsler til databasen I virkeligheden: Programmer kontakter

Læs mere

Objects First with Java A Practical Introduction Using BlueJ

Objects First with Java A Practical Introduction Using BlueJ Objects First with Java A Practical Introduction Using BlueJ En introduktion til objektorienteret programmering for begyndere ud fra et software engineering aspekt Om at programmere i Java, ikke om værktøjet

Læs mere

Sider og segmenter. dopsys 1

Sider og segmenter. dopsys 1 Sider og segmenter dopsys 1 Lokal vs global sideallokering (1) Med (a) som udgangspunkt giver (b) lokal hhv. (c) global allokering forskellige resultater dopsys 2 Lokal vs global sideallokering (2) Den

Læs mere

A Profile for Safety Critical Java

A Profile for Safety Critical Java A Profile for Safety Critical Java Martin Schoeberl Hans Søndergaard Bent Thomsen Anders P. Ravn Præsenteret af: Henrik Kragh-Hansen November 8, 2007 Forfatterne Martin Schoeberl Udvikler af JOP processoren

Læs mere

Data load og udtræk. 2. iteration: implmentation (test af backend) PHP mysql. Loade og parse XML (SimpleXML, Xpath) Filhåndtering i PHP JSON

Data load og udtræk. 2. iteration: implmentation (test af backend) PHP mysql. Loade og parse XML (SimpleXML, Xpath) Filhåndtering i PHP JSON Data load og udtræk 2. iteration: implmentation (test af backend) 1 PHP mysql Loade og parse XML (SimpleXML, Xpath) Filhåndtering i PHP JSON 2 Data udtræk PHP mysql: Processen 1. Forbind til MySQL server

Læs mere

Databasesystemer. IT Universitetet i København 7. juni 2005

Databasesystemer. IT Universitetet i København 7. juni 2005 Databasesystemer IT Universitetet i København 7. juni 2005 Eksamenssættet består af 5 opgaver med 13 spørgsmål, fordelt på 6 sider (inklusiv denne side). Vægten af hver opgave er angivet. Du har 4 timer

Læs mere

Datatekniker med programmering som speciale

Datatekniker med programmering som speciale Datatekniker med programmering som speciale H2 H1 varer ti uger bestående af ti uddannelsesspecifikke fag. Indhold På H2 er der fokus på at integrere Objektorienteret Programmering i dine programmer. Fagene

Læs mere

Lageradministration Paging og segmentering

Lageradministration Paging og segmentering Lageradministration Paging og segmentering 1 Re: Logiske/fysiske adresser... Proces-struktur = kode og data for en proces 4G En proces tilgår sin proces-struktur via et logisk/virtuelt adresserum, fx 0,

Læs mere

Database optimering - Indeks

Database optimering - Indeks Database optimering - Indeks Alle kender til dette irritations moment, hvor programmet man sidder og arbejder med, bare ikke er hurtigt nok. Selvom det kun drejer sig om få sekunder man sidder og venter,

Læs mere

Opsætning af Oracle Designer 10g repositorie

Opsætning af Oracle Designer 10g repositorie Opsætning af Oracle Designer 10g repositorie Dette dokument beskriver hvordan man opsætter det repositorie, som Oracle Designer gemmer sine data i. Udgangspunktet er at man har installeret Oracle Database

Læs mere

IT-Basecamp 2013. Real World Java EE Patterns Adam Bien. Real World Java EE Patterns, Adam Bien Copyright Lund&Bendsen A/S

IT-Basecamp 2013. Real World Java EE Patterns Adam Bien. Real World Java EE Patterns, Adam Bien Copyright Lund&Bendsen A/S IT-Basecamp 2013 Real World Java EE Patterns Adam Bien 1 Indhold Lidt om mig Baggrund for valg af emnet Bogens opbygning Fra J2EE til JEE 5/6 Overflødiggjorte patterns Fremhæve et par patterns 2 Kenneth

Læs mere

Database programmerings tips

Database programmerings tips Denne guide er oprindeligt udgivet på Eksperten.dk Database programmerings tips Denne artikel vil introducere nogle problem stillinger med flere samtidige brugere, som man skal tænke på, når man udvikler

Læs mere

Hvad er Objekter - Programmering

Hvad er Objekter - Programmering Denne guide er oprindeligt udgivet på Eksperten.dk Hvad er Objekter - Programmering En rigtig god gennemgang af hvad objekter er! Hvordan de oprettes og anvendes! Det er helt klart til nybegyndere, som

Læs mere

Skriftlig eksamen i kurset. Informationssystemer

Skriftlig eksamen i kurset. Informationssystemer 6. semester sundhedsteknologi Skriftlig eksamen i kurset Informationssystemer Der er 3 timer til at besvare opgaven. Alle hjælpemidler er tilladte. Skriv kort og præcist. Referer gerne til kursuslitteraturen.

Læs mere

Software Construction 1. semester (SWC) januar 2014 Spørgsmål 1

Software Construction 1. semester (SWC) januar 2014 Spørgsmål 1 Spørgsmål 1 Grundlæggende objektorienterede begreber o Klasse (class) o Objekt (object) o Metode (method), herunder return type og parametre o Instansvariable (instance variables) & egenskaber (properties),

Læs mere

Arkitektur for begyndere

Arkitektur for begyndere Denne guide er oprindeligt udgivet på Eksperten.dk Arkitektur for begyndere Denne artikel beskriver forskellige basale n-tier arkitekturer. Som man bør kende og have valgt inden man går igang med at udvikle

Læs mere

Øvelse 9. Klasser, objekter og sql-tabeller insert code here

Øvelse 9. Klasser, objekter og sql-tabeller insert code here Øvelse 9. Klasser, objekter og sql-tabeller Denne opgave handler om hvordan man opbevarer data fra databasekald på en struktureret måde. Den skal samtidig give jer erfaringer med objekter, der kommer til

Læs mere

Databasesystemer, forår 2005 IT Universitetet i København. Forelæsning 3: E-R modellering. 17. februar 2005. Forelæser: Rasmus Pagh

Databasesystemer, forår 2005 IT Universitetet i København. Forelæsning 3: E-R modellering. 17. februar 2005. Forelæser: Rasmus Pagh Databasesystemer, forår 2005 IT Universitetet i København Forelæsning 3: E-R modellering 17. februar 2005 Forelæser: Rasmus Pagh Forelæsningen i dag Datamodellering hvad, hvornår, hvorfor og hvordan? Business

Læs mere

Appendiks - Speciale ITU 2002 Offline XML Datavarehus. Figuroversigt. Afsnit 1 Figur 1.1 Fiktiva s nuværende datastruktur

Appendiks - Speciale ITU 2002 Offline XML Datavarehus. Figuroversigt. Afsnit 1 Figur 1.1 Fiktiva s nuværende datastruktur Figuroversigt 1. Kapitel Testdata Afsnit 1 Figur 1.1 Fiktiva s nuværende datastruktur Afsnit 2 Figur 1.2 Fiktiva s fremtidige datastruktur Afsnit 3 Figur 1.3 Datamodel for forhandler databaser Afsnit 4

Læs mere

Udfordringer og problemstillinger. En liste over de udfordringer og problemstillinger, der er ved Java og JEE udvikling

Udfordringer og problemstillinger. En liste over de udfordringer og problemstillinger, der er ved Java og JEE udvikling Java og JEE 1 2 Udfordringer og problemstillinger En liste over de udfordringer og problemstillinger, der er ved Java og JEE udvikling 3 Generelt om Java og JEE 4 Generelt, I Man undervurderer hvor mange

Læs mere

MsSQL: Basal performance tuning, part 1

MsSQL: Basal performance tuning, part 1 Denne guide er oprindeligt udgivet på Eksperten.dk MsSQL: Basal performance tuning, part 1 Hvordan man skriver "God SQL" for bedre performance. Skrevet den 03. Feb 2009 af trer I kategorien Databaser /

Læs mere

Miniprojekt2011. Formålet er at lære og indlære god objektorienteret programudvikling og programmering med Java, samt undervejs at opfylde studiekrav.

Miniprojekt2011. Formålet er at lære og indlære god objektorienteret programudvikling og programmering med Java, samt undervejs at opfylde studiekrav. Miniprojekt2011 Projektbeskrivelse Der skal fremstilles en lille java application på PC, hvor brugeren kan foretage interaktioner med en simpel database på disken via et grafisk brugerinterface. Formålet

Læs mere

DM08115 DATABASE 08.06.2010

DM08115 DATABASE 08.06.2010 Hvad er OLAP OLAP er en databaseteknologi, der er blevet optimeret til forespørgsler og rapportering i stedet for behandling af transaktioner. Kildedataene for OLAP er OLTP- databaser (Online Transactional

Læs mere

PROC TRANSPOSE. SAS-tabellen - hensigtsmæssig lagring af data. Copyright 2011 SAS Institute Inc. All rights reserved.

PROC TRANSPOSE. SAS-tabellen - hensigtsmæssig lagring af data. Copyright 2011 SAS Institute Inc. All rights reserved. PROC TRANSPOSE SAS-tabellen - hensigtsmæssig lagring af data Copyright 2011 SAS Institute Inc. All rights reserved. Transponerede tabeller Brede eller smalle? Hvad: Brede tabeller har mange kolonner med

Læs mere

24-03-2009. Problemstilling ved DBK integration i BIM Software Hvad skal der til. Nicolai Karved, Betech Data A/S

24-03-2009. Problemstilling ved DBK integration i BIM Software Hvad skal der til. Nicolai Karved, Betech Data A/S 24-03-2009 Problemstilling ved DBK integration i BIM Software Hvad skal der til. Nicolai Karved, Betech Data A/S Problemstilling ved DBK integration i BIM Software Domæner og aspekter Det domæne, der primært

Læs mere

Databasesystemer, forår 2006 IT Universitetet i København. Forelæsning 3: E-R modellering. 16. februar 2006. Forelæser: Rasmus Pagh

Databasesystemer, forår 2006 IT Universitetet i København. Forelæsning 3: E-R modellering. 16. februar 2006. Forelæser: Rasmus Pagh Databasesystemer, forår 2006 IT Universitetet i København Forelæsning 3: E-R modellering 16. februar 2006 Forelæser: Rasmus Pagh Forelæsningen i dag Datamodellering hvad, hvorfor og hvordan? Business rules

Læs mere

Introduktion til Microsoft R. Steen Dybboe, Pragmatic BI MsBIP 2017 Aarhus

Introduktion til Microsoft R. Steen Dybboe, Pragmatic BI MsBIP 2017 Aarhus Introduktion til Microsoft R Steen Dybboe, Pragmatic BI MsBIP 2017 Aarhus Agenda Introduktion til R Data Scientists Microsoft R implementering R + SQL SQL + R Hvem er jeg Steen Dybboe Selvstændig konsulent

Læs mere

Google App Engine. Google App Engine som platform. Claus Myglegaard Vagner og Jacob von Eyben

Google App Engine. Google App Engine som platform. Claus Myglegaard Vagner og Jacob von Eyben GoogleAppEngine GoogleAppEnginesomplatform ClausMyglegaardVagnerogJacobvonEyben Abstract CloudcomputingerenteknologidervinderfremidengenerelleITinfrastruktur. SocialemediersåsomLinkedIn,TwitterogFacebookharøgetbehovetfor

Læs mere

Distribuerte Objekter. Våren 2010 Professor II Eric Jul F

Distribuerte Objekter. Våren 2010 Professor II Eric Jul F Distribuerte Objekter Våren 2010 Professor II Eric Jul F5 2010-04-26 Velkommen Eric Jul, Professor II, til daglig: Bell Labs, Dublin, Ireland Tor Ivar Johansen, hjelpelærer Deltagelse I Forelæsningerne

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2013 Projekt, del I Institut for matematik og datalogi Syddansk Universitet 5. marts, 2013 Dette projekt udleveres i to dele. Hver del har sin deadline, således

Læs mere

Views etc. Databaser

Views etc. Databaser Views etc. Databaser Views Med Views kan vi gemme nogle af de lange select sætninger. I vores eksempel fra tidligere er det f.eks. forbundet med en del besvær at finde telefon nr og bilmærker for en sælger

Læs mere

Afsnittet er temmelig teoretisk. Er du mere til det praktiske, går du blot til det næste afsnit.

Afsnittet er temmelig teoretisk. Er du mere til det praktiske, går du blot til det næste afsnit. Afsnittet er temmelig teoretisk. Er du mere til det praktiske, går du blot til det næste afsnit. XML (eng. extensible Markup Language) XML er en måde at strukturere data på i tekstform. På samme måde som

Læs mere

Erfaringer med CPR-replikering

Erfaringer med CPR-replikering Erfaringer med CPR-replikering Dette dokument beskriver en række overvejelser vi har gjort os i forbindelse med at vi har udviklet en Proof of Concept (PoC) af en CPR-replikeringstjeneste for KOMBIT. CPRs

Læs mere

Effectiveness of Data

Effectiveness of Data The Unreasonable Effectiveness of Data Af Halevy, Norvig og Pereira Oversigt The unreasonableeffectiveness of Data Learning from Text at Web Scale Talegenkendelse Maskinoversættelse Generelt Semantisk

Læs mere

DB Flow. fra prototype til forretningsplan

DB Flow. fra prototype til forretningsplan DB Flow fra prototype til forretningsplan ii Institut for Datalogi Selma Lagerlöfs Vej 300 9220 Aalborg Øst Telefon: (45) 9635 8080 Telefax: (45) 9815 9889 http://www.cs.aau.dk Titel: DB Flow fra prototype

Læs mere

Søren Løbner (lobner) ddb Databaser 2007 10 10

Søren Løbner (lobner) ddb Databaser 2007 10 10 ddb Excercise Week 4 Fra relationships til relations Nu når vi har fået vores skemaer på plads, kan SQL udtrykkene til konstruktion af relationerne laves Det foregår ved at vi tager en 1 til 1 oversættelse

Læs mere

Studieordning del 3-2014

Studieordning del 3-2014 Studieordning del 3-2014 Valgfag Datamatiker AP Graduate in Computer Science Version 1.1 Revideret august 2014 Side 0 af 6 del 3 Valgfag 1. Valgfrie uddannelseselementer...2 2. Valgfaget Android...2 3.

Læs mere

Abstrakte datatyper C#-version

Abstrakte datatyper C#-version Note til Programmeringsteknologi Akademiuddannelsen i Informationsteknologi Abstrakte datatyper C#-version Finn Nordbjerg 1/9 Abstrakte Datatyper Denne note introducerer kort begrebet abstrakt datatype

Læs mere

Obligatorisk opgave 2. SQL, relationel algebra og relationel kalkyle

Obligatorisk opgave 2. SQL, relationel algebra og relationel kalkyle DM26 Obligatorisk opgave 2 SQL, relationel algebra og relationel kalkyle Jacob Christiansen 130282 moffe42 Thomas Duerlund 040980 duerlund Side 1 af 9 Opgave 1: Formål: Ud fra en database omhandlende en

Læs mere

BlogReader 1.0.0 Af Jonas F. Jensen.

BlogReader 1.0.0 Af Jonas F. Jensen. BlogReader 1.0.0 Af Jonas F. Jensen. Indholdsfortegnelse Forord.....3 Hvad er BlogReader?......4 RSS, XML og sematic web......4 Klasse struktur i UML......4 Overordnet opbygning......5 UML diagram over

Læs mere

Hvilket sprog er hurtigst

Hvilket sprog er hurtigst Denne guide er oprindeligt udgivet på Eksperten.dk Hvilket sprog er hurtigst Denne artikel forsøger at aflive forskellige myter om hvilke sprog der er hurtigst. Den forudsætter ikke noget særligt. Skrevet

Læs mere

Dynamisk programmering

Dynamisk programmering Dynamisk programmering Dynamisk programmering Optimeringsproblem: man ønsker at finde bedste den kombinatoriske struktur (struktur opbygget af et endeligt antal enkeltdele) blandt mange mulige. Eksempler:

Læs mere

PHP Quick Teknisk Ordbog

PHP Quick Teknisk Ordbog PHP Quick Teknisk Ordbog Af Daniel Pedersen PHP Quick Teknisk Ordbog 1 Indhold De mest brugte tekniske udtryk benyttet inden for web udvikling. Du vil kunne slå de enkelte ord op og læse om hvad de betyder,

Læs mere

Software Construction 1 semester (SWC) Spørgsmål 1

Software Construction 1 semester (SWC) Spørgsmål 1 Spørgsmål 1 Objekter #1 Giv en kort præsentation af begrebet objekt, samt hvorledes du erklærer(declare), opretter(create) og bruger objekter Du kan beskrive o Datatyper o Variable / Instans variable /

Læs mere

Arduino Programmering

Arduino Programmering Microcontroller, Arduino I teknologi skal vi lære at lave programmer til uc for at have muligheden til eksamen at kunne lave intelligente el-produkter. I hvert fald skal vi have set mulighederne, og forstået

Læs mere

Databasesystemer. IT Universitetet i København 16. januar 2006

Databasesystemer. IT Universitetet i København 16. januar 2006 Databasesystemer IT Universitetet i København 16. januar 2006 Eksamenssættet består af 5 opgaver med 16 spørgsmål, fordelt på 6 sider (inklusiv denne side), samt et svarark, hvor visse spørgsmål skal besvares.

Læs mere

En Kort Introduktion til Oracle

En Kort Introduktion til Oracle En Kort Introduktion til Oracle Henrik Bulskov 12. februar 2001 bulskov@ruc.dk 1 Start SQL*Plus... 1 1.1 TELNET... 1 1.2 WINDOWS SQL PLUS... 2 2 Kør et SQL-script... 3 3 Hjælp i SQL*Plus... 3 4 Editering

Læs mere

Curriculum Vitae: Jeg kan hurtigt overskue komplekse systemer og finde brugbare løsninger på selv vanskelige problemer.

Curriculum Vitae: Jeg kan hurtigt overskue komplekse systemer og finde brugbare løsninger på selv vanskelige problemer. Curriculum Vitae: Personlige oplysninger Navn Thomas Gustafsson Født 5. marts 1972 Adresse Græsmarken 5, ST. TH. 2860 Søborg Mobil (+45) 2577 2387 E-mail Civilstand tgconsult@webspeed.dk Ugift / Far til

Læs mere

Views. Et view er en relation defined ud fra gemte tabeller ( base tables ) og andre views To typer:

Views. Et view er en relation defined ud fra gemte tabeller ( base tables ) og andre views To typer: Views 1 Views Et view er en relation defined ud fra gemte tabeller ( base tables ) og andre views To typer: 1. Virtual = Ikke gemt i databasen; kun definitionen af den 2. Materialized = Date konstrueret

Læs mere

Hassansalem.dk/delpin User: admin Pass: admin BACKEND

Hassansalem.dk/delpin User: admin Pass: admin BACKEND Hassansalem.dk/delpin User: admin Pass: admin BACKEND 1/10 Indledning Dette projekt er den afsluttende del af web udvikling studiet på Erhvervs Lillebælt 1. semester. Projektet er udarbejdet med Del-pin

Læs mere

"A subject-oriented, integrated, time-variant, and non-volatile collection of data in support of managements dicision-making process.

A subject-oriented, integrated, time-variant, and non-volatile collection of data in support of managements dicision-making process. Data warehouses Introduktion til Data Warehousing... 2 Konceptet bag et Data Warehouse... 2 Data Warehousets fordele... 3 Problemer med Data Warehouses... 3 OLTP vs EDW... 4 Data Warehouse Arkitektur...

Læs mere

Exceptions i Delphi. Try except

Exceptions i Delphi. Try except Exceptions i Delphi Exceptions er en teknik til at fange fejl under programafviklingen. Ikke programmeringsfejl, men fejl der opstår i forskellige situationer, f.eks. en fil der mangler en fil der er skrivebeskyttet,

Læs mere

Spectrum Spatial Analyst WebGIS. Peter Horsbøll Møller GIS Pre-Sales Specialist 10. september 2014

Spectrum Spatial Analyst WebGIS. Peter Horsbøll Møller GIS Pre-Sales Specialist 10. september 2014 Spectrum Spatial Analyst WebGIS Peter Horsbøll Møller GIS Pre-Sales Specialist 10. september 2014 Hvad er Spectrum Spatial Analyst? Spectrum Spatial Analyst er en browser-baseret GIS-løsning som lader

Læs mere

Nimble Storage - Challenges can be complicated Solutions can NOT. 2012 Nimble Storage. All Rights Reserved. 1

Nimble Storage - Challenges can be complicated Solutions can NOT. 2012 Nimble Storage. All Rights Reserved. 1 Nimble Storage - Challenges can be complicated Solutions can NOT 2012 Nimble Storage. All Rights Reserved. 1 Nimble intro Bedre performance Højere kapacitet Lavere strømforbrug Mindre datacenter footprint

Læs mere

DML, Foresprgsler Relationel algebra + noget mere! af skemaer (overlap m. DDL)

DML, Foresprgsler Relationel algebra + noget mere! af skemaer (overlap m. DDL) SQL Stuctured Query Language, spiller roller som DDL, denere relationsskemaer m.v. DML, Foresprgsler Relationel algebra + noget mere! Opdatering af relationer af skemaer (overlap m. DDL) Hvem bruger SQL

Læs mere

\ \ Computerens Anatomi / /

\ \ Computerens Anatomi / / HTX Roskilde - mat-it-prog, 1.4 \ \ Computerens Anatomi / / Introduktion En PC ( personlige computer ) eller computer er bygget op af forskellige komponenter. Vi vil hermed gennemgå størstedelen af computerens

Læs mere

Skriftlig eksamen i. Databaser. Vinter 2002/2003. Vejledende løsninger

Skriftlig eksamen i. Databaser. Vinter 2002/2003. Vejledende løsninger Skriftlig eksamen i Databaser Vinter 2002/2003 Vejledende løsninger Dette eksamenssæt består af 5 nummererede sider (incl. denne). Der er 5 opgaver, som ved bedømmelsen tillægges følgende vægte: Opgave

Læs mere

ODBC made easy på dansk (når bare man ved hvordan) Jesper Michelsen, Data warehouse & Analyse

ODBC made easy på dansk (når bare man ved hvordan) Jesper Michelsen, Data warehouse & Analyse ODBC made easy på dansk (når bare man ved hvordan) Jesper Michelsen, Data warehouse & Analyse Agenda Præsentation Hvad er ODBC? ODBC Datakildeadministrator System-DSN Distribution Fil-DSN Scriptede connections

Læs mere

Målet for disse slides er at diskutere nogle metoder til at gemme og hente data effektivt.

Målet for disse slides er at diskutere nogle metoder til at gemme og hente data effektivt. Merging og hashing Mål Målet for disse slides er at diskutere nogle metoder til at gemme og hente data effektivt. Dette emne er et uddrag af kurset DM507 Algoritmer og datastrukturer (2. semester). Mål

Læs mere

02-03-2012. Sesam Automationstrend. Spørgsmål til leverandørerne? New Automation Technology

02-03-2012. Sesam Automationstrend. Spørgsmål til leverandørerne? New Automation Technology New Automation Technology Sesam Automationstrend Sesam Automationstrend 1 Spørgsmål til leverandørerne? Hvorledes håndteres kundekrav til udviklingsplatformen, og hvorledes håndteres kundernes specielle

Læs mere

Sporbarhed og Rapportering i Quality Center. Kim Stenbo Nielsen NNIT Application Management Services

Sporbarhed og Rapportering i Quality Center. Kim Stenbo Nielsen NNIT Application Management Services Sporbarhed og Rapportering i Quality Center Kim Stenbo Nielsen NNIT Application Management Services Indhold INTRODUKTION Hvem er jeg Hvad vil jeg fortælle om QC std. rapporteringsfaciliteter EXCEL RAPPORTER

Læs mere

Afleveringsopgave. Efterår 2001

Afleveringsopgave. Efterår 2001 Datalogi Database-kurset Efterår 2001 Afleveringsopgave Baseret på opgavetekst forfattet af Troels Andreasen, forår 2001 Let redigeret af Henning Christiansen, oktober 2001 Aflevering Opgaven afleveres

Læs mere

(fig.1. Eksempel på en almindelig entity)

(fig.1. Eksempel på en almindelig entity) Formål Formålet med denne opgave var, at designe et database system for et fiktivt universitet, ved hjælp af ER-model, for derefter at oversætte det til SQL tabeller. Og dernæst lave en assertion så der

Læs mere

Test af It-komponent

Test af It-komponent Test af It-komponent I programmeringssproget Java Programmet Login service Elev: Mads Funch Klasse 2.4 Mat, It, Programmering Skole: Roskilde Tekniske Gymnasium HTX Underviser: Karl Dato: 31-08-2016 Side

Læs mere

Drupal. Hvad er Drupal?

Drupal. Hvad er Drupal? Drupal Verdens bedste Content Management System Drupal er to år i træk blevet kåret som det bedste Open Source CMS i den såkaldte CMS Award, som årligt afholdes af det anerkendte IT-bogforlag Packt Publishing.

Læs mere

Programmering I Java/C#

Programmering I Java/C# Programmering I Java/C# Dit første projekt Datatekniker Intro to C# C# (C Sharp) Et enkelt, moderne, generelt anvendeligt, objektorienteret programmeringssprog Udviklet af Microsoft, ledet af danskeren

Læs mere

Undervisningsbeskrivelse

Undervisningsbeskrivelse Undervisningsbeskrivelse Stamoplysninger til brug ved prøver til gymnasiale uddannelser Termin Juni 2016 Institution CampusVejle Uddannelse Fag og niveau Lærer(e) Hold Hhx Informationsteknologi C Peter

Læs mere

Dygtig.NET / C# udvikler med stor erfaring fra både offentlige organisationer og private virksomheder.

Dygtig.NET / C# udvikler med stor erfaring fra både offentlige organisationer og private virksomheder. .NET UDVIKLER NATIONALITET: DANSK PROFIL Dygtig.NET / C# udvikler med stor erfaring fra både offentlige organisationer og private virksomheder. Stor erfaring omkring databasedesign, datahåndtering og MS

Læs mere