Rigtig SQL Programmering
|
|
|
- Johan Bonde
- 10 år siden
- Visninger:
Transkript
1 Rigtig SQL Programmering 1
2 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 databasen og ikke os. 2
3 Valgmuligheder 1. Kode gemt I databasen selv I et specielt programmeringssprog til det (PSM, PL/pgsql) 2. SQL statements embedded i et host language (fx. C) 3. Værktøjer til at tillade conventionelle programmeringssprog adgang til en database (fx. CLI, JDBC, psycopg2) 3
4 Stored Procedures PSM, eller persistent stored modules, tillader os at gemme procedures som database schema elements PSM = Et mix af conventionelle statements (if, while, etc.) og SQL Tillader os at gøre ting vi ikke kan i SQL alene 4
5 Procedures i PostgreSQL CREATE PROCEDURE <name> ([<arguments>]) AS $$ <program>$$ LANGUAGE <lang>; PostgreSQL tilllader functioner: CREATE FUNCTION <name> ([<arguments>]) RETURNS VOID AS $$ <program>$$ LANGUAGE <lang>; 5
6 Parametre for Procedures I modsætning til typiske navn-type par i sprog som Java, kan procedures bruge mode-navntype tripler, hvor mode kan være: IN = Input værdi, der ikke ændres OUT = funktionen ændrer værdien, men bruger den ikke (implicit retur-værdi) INOUT = Bruger og sætter værdien. 6
7 Exempel: Stored Procedure Lad os skrive en procedure, der tager to argumenter b and p, og tilføjer en tuple til Sells(bar, beer, price) der har bar = C.Ch., beer = b, og price = p Bruges af Cafe Chino til at putte ting på deres menu lettere 7
8 The Procedure CREATE FUNCTION ChinoMenu ( IN b IN p CHAR(20), REAL ) RETURNS VOID AS $$ INSERT INTO Sells VALUES( C.Ch., b, p); $$ LANGUAGE plpgsql; Begge parametre er read-only, dvs de ikke ændres Kodedelen: En enkelt indsættelse 8
9 Udfør procedure Brug SQL/PSM statement CALL, med navnet på den ønskede procedure og argumenter Exempel: CALL ChinoMenu( Eventyr, 50); Brug funktioner SQL udtryk, når typen af returværdi er anvendelig Bemærk: ingen CALL i PostgreSQL: SELECT ChinoMenu( Eventyr, 50); 9
10 Typer af PL/pgsql statements Return statement: RETURN <expression> returnerer værdien fra en funktion Ligesom i Java, RETURN afslutter funktionen Declare block: DECLARE <nave> <type> bruges til at erklære lokale variable Grupper af Statements: BEGIN... END Adskilt af semicoloner 10
11 Kinds of PL/pgsql statements Assignment statements: <variable> := <expression>; Eksempel: b := Od.Cl. ; Statement labels: Giv en statement et label ved at prefixe et navn og et colon 11
12 IF Statements Simpleste form: IF <condition> THEN <statements(s)> END IF; Add ELSE <statement(s)> hvis det er ønsket, som IF... THEN... ELSE... END IF; Yderligere med ELSEIF <statements(s)>: IF THEN ELSEIF THEN ELSEIF THEN ELSE END IF; 12
13 Eksenpel: IF Lad os vurdere barer ud fra hvor mange kunder de har, baseret på Frequents(drinker,bar) <100 kunder: upopulær customers: gennemsnitlig >= 200 customers: populær Functionen Rate(b) vurderer bar b 13
14 Example: IF CREATE FUNCTION Rate (IN b CHAR(20)) BEGIN END; RETURNS CHAR(10) AS $$ DECLARE cust INTEGER; Antal kunder i bar b cust := (SELECT COUNT(*) FROM Frequents WHERE bar = b); IF cust < 100 THEN RETURN unpopular ; ELSEIF cust < 200 THEN RETURN average ; ELSE RETURN popular ; END IF; Nested IF statement 14
15 Loops Basic form: <<<label>>> LOOP <statements> END LOOP; Exit fra et loop med: EXIT <label> WHEN <condition> 15
16 Eksempel: Exit fra Loop <<loop1>> LOOP... EXIT loop1 WHEN...;... END LOOP; Hvis statement her returnerer sand... ender vi her 16
17 Andre Loops WHILE <condition> LOOP <statements> END LOOP; Ekvivalent til: LOOP EXIT WHEN NOT <condition>; <statements> END LOOP; 17
18 Andre Loop FOR <name> IN <start> TO <end> LOOP <statements> END LOOP; Ekvivalent til: <name> := <start>; LOOP EXIT WHEN <name> > <end>; <statements> <name> := <name>+1; END LOOP; 18
19 Forespørgsler Generelle SELECT-FROM-WHERE forespørgsler er ikke tilladt i PL/pgsql Men der er tre måder at få svaret på en forespørgsel: 1.Forespørgsel der producerer en enkelt værdi kan bruges som expression I en assignment 2.SELECT... INTO 3.Cursors 19
20 Eksempel: Assignment Brug lokal variabel p og Sells(bar, beer, price), til at få prisen Cafe Chino sælger Odense Classic til: p := (SELECT price FROM Sells WHERE bar = C.Ch AND beer = Od.Cl. ); 20
21 SELECT... INTO En anden måde er ved at bruge INTO <variable> efter SELECT delen Eksempel: SELECT price INTO p FROM Sells WHERE bar = C.Ch. AND beer = Od.Cl. ; 21
22 Cursor En cursor er essentielt en tuple-variabel der indeholder allle tuplerne I resultatet fra en forespørgsel Erklær en cursor c : DECLARE c CURSOR FOR <query>; 22
23 Open/Close Cursor For at bruge cursor c, skal vi åbne den med: OPEN c; Det afvikler forespørgslen, og placerer resultatet i c, pegende på det første element Når vi er færdige med c, skal vi bruge: CLOSE c; 23
24 Hente Tupler Fra en Cursor For at hente den næste tupel fra cursor c, brug: FETCH FROM c INTO x 1, x 2,,x n ; Hvor x erne er en liste af variable, en for hver kolonne i resultatet for c c flyttes automatisk til den næste tupel 24
25 Stoppe Cursor Loops (1) Den typiske måde at bruge en cursor er at oprette et loop, med en FETCH statement, og gøre noget med hver tuple Det specielle er at der skal stoppes når der ikke er flere tupler 25
26 Stoppe Cursor Loops (2) Mange operationer returnerer hvis en række er fundet, ændret, indsat eller slettet (SELECT INTO, UPDATE, INSERT, DELETE, FETCH) I plpgsql, kan vi finde resultatet I en variabel: FOUND 26
27 Stoppe Cursor Loops (3) Strukturen af et cursor loop er: <<cursorloop>> LOOP FETCH c INTO ; IF NOT FOUND THEN EXIT cursorloop; END IF; END LOOP; 27
28 Eksempel: Cursor Lad os skrive en procedure der undersøger Sells(bar, beer, price), hæver prisen med 10, for alle øl på Cafe Chino der sælges under 30 Kunne skrives som en simpel UPDATE, men jeg mangler et bedre (simpelt) eksempel 28
29 Needed Declaration CREATE FUNCTION RaisePrices() RETURNS VOID AS $$ DECLARE thebeer CHAR(20); theprice REAL; c CURSOR FOR (SELECT beer, price FROM Sells WHERE bar = C.Ch. ); Bruges til at holde beer-price par når vi itererer cursor c Returnerer Cafe Chino s pris liste 29
30 Procedurens kode BEGIN OPEN c; <<menuloop>> LOOP FETCH c INTO thebeer, theprice; EXIT menuloop WHEN NOT FOUND; IF theprice < 30 THEN UPDATE Sells SET price = theprice + 10 WHERE bar = C.Ch. AND beer = thebeer; END IF; END LOOP; CLOSE c; END;$$ LANGUAGE plpgsql; Check hvis den seneste FETCH ikke fandt en tupel Hvis Cafe Chinos pris er mindre end 30 for øllen, hæv prisen med 10 30
31 Tuple-Valued Variables PL/pgsql tillader en variabel x at have tuple type x R%ROWTYPE giver x typen of R s tupler R kan være enten en relation eller en cursor x.a giver værdien af componenten for attribut a i tuplen x 31
32 Eksempel: Tuple Type Gentagelse af RaisePrices() med variablen bp af typen beer-price par CREATE FUNCTION RaisePrices() RETURNS VOID AS $$ DECLARE CURSOR c IS SELECT beer, price FROM Sells WHERE bar = C.Ch. ; bp c%rowtype; 32
33 RaisePrices() brug af bp BEGIN OPEN c; LOOP FETCH c INTO bp; EXIT WHEN NOT FOUND; IF bp.price < 30 THEN UPDATE Sells SET price = bp.price + 10 WHERE bar = C.Ch. AND beer = bp.beer; END IF; END LOOP; CLOSE c; END; Elementerne i bp tilgåes med. Og attribut-navn 33
34 Database-Connection Libraries 34
35 Host/SQL Interfaces Via Libraries Den tredje tilgang til at forbinde databaser til conventionelle programmeringssprog er at bruge biblioteker 1. C + CLI 2. Java + JDBC 3. Python + psycopg
36 3-lags arkitektur En typisk opsætning i arkitektur med databaser har tre lag: 1. Web servere Kommunikerer med brugeren. 2. Application servere Håndterer business logic 3. Database servere Håndterer hvad app serverne har brug for fra databasen 36
37 Eksempel: Amazon Databasen indeholder information om produkter, kunder, etc. Business logic inkluderer ting som Hvad skal jeg gøre når nogen klikker på checkout? Svar: Vis Hvordan vil du betale? skærmbilledet 37
38 Environments, Connections, Queries Database er, i mange DB-access languages, et environment Database servere tilbyder et antal connections, så app servere kan udføre forespørgsler og lave opdateringer App serveren afsender statements: typisk forespørgsler og ændringer 38
39 JDBC Java Database Connectivity (JDBC) er et library for adgang til sin DBMS med Java som host language >200 drivere tilgængeligt: PostgreSQL, MySQL, Oracle, ODBC,
40 Making a Connection import java.sql.*;... Statisk loaded URL for databasen, brugernavn og password The JDBC classes Class.forName( org.postgresql.driver ); Connection mycon =... DriverManager.getConnection( ); Driver for postgresql; 40
41 URL for PostgreSQL database jdbc:postgresql://<host>[:<port>]/<database >?user=<user>& password=<password> Alternativt brug getconnection variant: getconnection( jdbc:postgresql://<host>[:<p ort>]/<database>, <user>, <password>); DriverManager.getConnection( jdbc:postgre sql:// :5434/postgres, petersk, geheim ); På samme system: 'localhost' som ip adresse 41
42 Statements JDBC udbyder to klasser: 1. Statement = et objekt der kan acceptere en string der er et SQL statement og kan udføre denne forespørgsel 2. PreparedStatement = et objekt der har et tilhørende SQL statement klar til at udføre 42
43 Oprette Statements Connection klassen har metoder til at oprette Statement og PreparedStatement Statement stat1 = mycon.createstatement(); PreparedStatement stat2 = mycon.preparestatement( ); SELECT beer, price FROM Sells + WHERE bar = C.Ch. createstatement returnerer et Statement. preparestatement med argument returnerer et PreparedStatement 43
44 Afvikle SQL Statements JDBC skelner mellem forespørgsler og modifikationer, som den kalder updates Statement og PreparedStatement har hver methoderne executequery og executeupdate For Statements: et argument SQL der skal udføres For PreparedStatements: ingen argument 44
45 Eksempel: Update stat1 er et Statement Vi kan indsætte tupler således: stat1.executeupdate( ); INSERT INTO Sells + VALUES( C.Ch., Eventyr,30) 45
46 Eksempel: Forespørgsel stat2 er et PreparedStatement indeholdende SELECT beer, price FROM Sells WHERE bar = C.Ch. executequery returnerer et object of klassen ResultSet (kommer) Forespørglen udføres ved: ResultSet menu = stat2.executequery(); 46
47 Eksempel: Forespørgsel stat2 er et PreparedStatement indeholdende SELECT beer, price FROM Sells WHERE bar = C.Ch. executequery returnerer et object of klassen ResultSet (kommer) Forespørglen udføres ved: ResultSet menu = stat2.executequery(); 47
48 ResultSet Et objekt af typen ResultSet minder om en cursor Methoden next() peger cursor til næste tupel Første gang next() udføres, peges på første tupel Hvis der ikke er flere tupler returnerer, vil next() returnere false 48
49 Tilgå elementer i tupler Når et ResultSet refererer til en tupel, kan vi få elementerne med metoder på ResultSet Methoden getx (i ), hvor X er en type, og i er elementets number, returneres værdien af det element Værdien skal have type X 49
50 Eksempel: Tilgå elementer Menu = ResultSet for SELECT beer, price FROM Sells WHERE bar = C.Ch. Tilgå beer og price fra hver tupel med: while (menu.next()) { } thebeer = menu.getstring(1); theprice = menu.getfloat(2); /* Gør moget med dem */ 50
51 Important Details Reusing a Statement object results in the ResultSet being closed Always create new Statement objects using createstatement() or explicitly close ResultSets using the close method For transactions, for the Connection con use con.setautocommit(false) and explicitly con.commit() or con.rollback() If AutoCommit is false and there is no commit, closing the connection = rollback 51
52 Et sidespring: SQL Injection SQL queries er ofte sammensat af programmer Disse queries kan have modtaget input fra brugerne Hvis man ikke passer på, kan det skabe yderst uventede resultater, når de afvikles 52
53 Eksempel: SQL Injection Relationen Accounts(name, passwd, acct) Web interface: Få name og password fra brugereb, gem i string n og p, udfør forespørgslen, vis account number s.executequery("select name, acct FROM accounts WHERE name = '" + navn + "' AND password= '" + password + "';"); 53
54 User (Der ikke er Bill Gates) Name: gates -- Kommentar i PostgreSQL Password: who cares? Your account number is
55 Den udførte forespørgsel SELECT acct FROM Accounts WHERE name = gates -- AND passwd = who cares? Behandlet som kommentar! 55
56 Resume 7 Det ved vi noget om nu: Stored Procedures, PL/pgsql Declarations, Statements, Loops, Cursors, Tuple Variables 3-lags arkitektur, JDBC 56
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,
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
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
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
Begrænsninger i SQL. Databaser, efterår 2002. Troels Andreasen
Databaser, efterår 2002 Begrænsninger i SQL Troels Andreasen Datalogiafdelingen, hus 42.1 Roskilde Universitetscenter Universitetsvej 1 Postboks 260 4000 Roskilde Telefon: 4674 2000 Fax: 4674 3072 www.dat.ruc.dk
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
Værktøjer fra værktøjskassen. Søren Breddam, Stevns Kommune
Værktøjer fra værktøjskassen Søren Breddam, Stevns Kommune [email protected] 1stevns kommune Mapbasic i Stevns Kommune Data Kørsel af planlagte opgaver, så data altid er opdaterede. Logfil til overvågning Dagligt
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
Introduktion til Oracle, Datalogi, RUC Af: Jens Lauterbach ([email protected]) 2002
Introduktion til Oracle, Datalogi, RUC Af: Jens Lauterbach ([email protected]) 2002 På datalogi har vi en databaseserver, som de studerende på datalogi kan benytte til projekter og som også benyttes i forbindelse
Web- og serverprogrammering
Dette materiale er under Åben Dokumentlicens, se http://www.sslug.dk/linuxbog/licens.html Web- og serverprogrammering Databasekommunikation - dag 7 Strategier til databaseadgang JDBC (Java DataBase Connectivity)
Indholdsfortegnelse Databaser og PHP... 3 Opgave... 4 Opgave... 5 Opgave... 6 Sidste opgave er en lille gæstebog... 7 Kilder og nyttige links:...
Indholdsfortegnelse Databaser og PHP... 3 Opgave... 4 Opgave... 5 Opgave... 6 Sidste opgave er en lille gæstebog... 7 Kilder og nyttige links:... 9 Nogle HTML tags... 9 Databaser og PHP Når vi snakker
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
En Kort Introduktion til Oracle
En Kort Introduktion til Oracle Henrik Bulskov 12. februar 2001 [email protected] 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
Introduktion til SQL queries
Denne guide er oprindeligt udgivet på Eksperten.dk Introduktion til SQL queries Denne artikel beskriver nogle forskellige muligheder i SQL queries. Eksemplerne skulle gerne være standard SQL og virke i
MySQL i Java. Tutorial lavet af Jákup W. Hansen TSU 2006 2.semester 05.januar 2007
MySQL i Java Tutorial lavet af Jákup W. Hansen TSU 2006 2.semester 05.januar 2007 Hvad er MySQL? Det er et database system, som er gratis for os at bruge. Det er lidt mere besværligt i starten at bruge
Nintex Workflow UK/DK
Nintex Workflow UK/DK Når Nintex Workflows anvendes i et Dansk sproget SharePoint miljø, er der lidt forskel på hvad de forskellige elementer kaldes, såvel som rækkefølgen på disse. Noget er oversat, noget
PHP 3 UGERS FORLØB PHP, MYSQL & SQL
PHP 3 UGERS FORLØB PHP, MYSQL & SQL Uge 1 & 2 Det basale: Det primære mål efter uge 1 og 2, er at få forståelse for hvordan AMP miljøet fungerer i praksis, og hvordan man bruger PHP kodesproget til at
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
Opret en Powerpoint præsentation automatisk med VBA
Opret en Powerpoint præsentation automatisk med VBA I denne vejledning bliver det gennemgået, hvordan man via VBA kan oprette en powerpoint med diagrammer og kommentarer fra Excel automatisk. Gør som følgende:
Ø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
Hent filoplysninger fra billeder og filer
Hent filoplysninger fra billeder og filer I denne vejledning bliver det gennemgået, hvordan man via Power Forespørgsel kan hente filoplysninger fra en mappe ind i Excel. Der skal opbygges følgende elementer:
OPC ACCESS HEARTBEAT 1
OPC Access Heartbeat Dette dokument gennemgår i et kort eksempel, hvordan OPC Access konfigureres til at anvende Heartbeat funktionen til at dokumentere kontinuerlig forbindelse mellem SQL Server og OPC
Data lagring. 2. iteration (implement backend)
Data lagring 2. iteration (implement backend) Emner Grundlæggende database begreber. Data definitionskommandoer ER-diagrammer og cardinalitet/relationer mellem tabeller Redundant data og Normalisering
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
! Kia Dahlen. Kamilla Klein, Pia Jensen og Maria Korshøj Andersen.
Copenhagen Business Academy Multimediedesigner 3. semester - 1. projekt, september 2014 Gruppe 1 - MulA Kia Dahlen. Kamilla Klein, Pia Jensen og Maria Korshøj Andersen. Study: Multimedia Design Project:
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 /
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
VÆR EFFEKTIV SOM SAS PROGRAMMØR MED SAS ENTERPRISE GUIDE 7.12 GEORG MORSING
VÆR EFFEKTIV SOM SAS PROGRAMMØR MED SAS ENTERPRISE GUIDE 7.12 GEORG MORSING Copyr i g ht 2013, SAS Ins titut e Inc. All rights res er ve d. Livet som SAS-programmør er blevet lettere med SAS Enterprise
De vigtigste SQL-sætninger. SQL kap Oprette database. DDL og DML
SQL kap 6-7 + 17-20 DDL og DML 1 De vigtigste SQL-sætninger Data Definition Language (DDL) create table: opretter en ny tabel create unique index: tilføjer et index til en tabel drop table : sletter en
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
Terese B. Thomsen 1.semester Formidling, projektarbejde og webdesign ITU DMD d. 02/11-2012
Server side Programming Wedesign Forelæsning #8 Recap PHP 1. Development Concept Design Coding Testing 2. Social Media Sharing, Images, Videos, Location etc Integrates with your websites 3. Widgets extend
MySQL C API. Denne artikel beskriver hvordan man bruger MySQL C API. Der er beskrivelse af build med forskellige compilere.
Denne guide er oprindeligt udgivet på Eksperten.dk MySQL C API Denne artikel beskriver hvordan man bruger MySQL C API. Der er beskrivelse af build med forskellige compilere. Den forudsætter lidt kendskab
HTML, PHP, SQL, webserver, hvad er hvad??
Dagens menu HTML og PHP: Baglæs fra output til input PHP: Variable, strenge og arrays Funktioner, oprettelse og kald (og variable på tværs af funktioner) echo vs return? if-else konstruktioner MySQL: Hvad
En opsamling af artefakter for Hotel Databasen som REST-service Bygger på Hotel opgaven i 8 trin
En opsamling af artefakter for Hotel Databasen som REST-service Bygger på Hotel opgaven i 8 trin Trin 1: Lav en Domain model Opgave beskrivelse - Scandic hotel kæde Lav en domain model af Hotel-kæden.
! Kia Dahlen. Kamilla Klein, Pia Jensen og Maria Korshøj Andersen.
Copenhagen Business Academy Multimediedesigner 3. semester - 1. projekt, september 2014 Gruppe 1 - MulA Kia Dahlen. Kamilla Klein, Pia Jensen og Maria Korshøj Andersen. Study: Multimedia Design Project:
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
Programmering for begyndere Lektion 2. Opsamling mm
Lektion 2 Opsamling mm God tone Der er indlagt spørge sessioner Lektion 2 - Agenda Programmering for Lidt ændringer til teknikken, herunder hvordan du genser en lektion Lidt generelle tilbagemeldinger
Eksamen, DSDS, efterår 2007
Eksamen, DSDS, efterår 2007 Introduktion til Scripting, Databaser og Systemarkitektur Jonas Holbech og Martin Elsman IT Universitetet i København 7. januar 2008 Alle hjælpemidler er tilladte, dog ikke
PHP Snippets. De små korte. Skrevet af Daniel Pedersen
PHP Snippets De små korte Skrevet af Daniel Pedersen Indhold PHP Snippets De små korte er en samling af små og praktiske kode eksempler med kort forklaring, som med formål at kunne benyttes til opsalgsværk
1 Domæne 2 1.1 Design valg... 2 1.1.1 User... 2. 2 Klassediagran 5
INDHOLD 1 Domæne 2 1.1 Design valg.................................... 2 1.1.1 User.................................... 2 2 Klassediagran 5 3 Serbio 7 3.1 Kommunikation..................................
The Design Diaries Project 3 2. Semester. Blog om designprincipper
The Design Diaries Project 3 2. Semester Blog om designprincipper By Lif Neergaard www.lifmediadesign.dk [email protected] Mathias Larsen www.nefjam.dk [email protected] Ida Christensen www.idamedia.dk
Interaktionsudvikling
Projektopgave 3: Interaktionsudvikling CPH business, klasse: MulA2013 Projektansvarlige undervisere Thomas Hartmann MereteGeldermann lützen: Projekt produkt url: www.amalieardahl.dk/projekt3/index.html
Eksamen, DSDS, efterår 2008
Eksamen, DSDS, efterår 2008 Introduktion til Scripting, Databaser og Systemarkitektur Jonas Holbech IT Universitetet i København 6. januar 2009 Alle hjælpemidler er tilladte, dog ikke computer og kommunikationsmidler.
Dokumentering af umbraco artikeleksport:
Dokumentering af umbraco artikeleksport: Lav en artikel side 2-3. Installationsguide side 3-5. Opsættelse af databasen og web.config side 5-8. Umbraco: templates side 8. Umbraco: borger.dk tab side 8.
Python 3 kursus lektion 1:
Python 3 kursus lektion 1: Her laves et nyt program Her køre programmet! Her skrives koden: Gem (CTRL-s) Tryk F5 (for at køre) www.madsmatik.dk d.14-01-2016 1/5 At skrive til skærmen: Hello World Man kan
Kapitel 4 Løkker i C#
Kapitel 4 Løkker i C# Løkker en vigtig del af alle programmeringssprog, og C# er ikke andeles. En løkke er en måde at udføre en del af koden gentagne gange. Ideen er at du fortsætter med at udføre en opgave
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
Hack of the Month opgave 2
Hack of the Month opgave 2 www.hackofthemonth.dk Holdet bag www.hackofthemonth.dk: Søren Rasmus (ikke mig) Roninz Stiller hver måned en ny opgave: Applikationssikkerhed Webapplikationssikkerhed Slide 2
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
DMX styring med USB-interface
DMX styring med USB-interface Introduktion...2 DMX bibliotek...3 Programmering af kanaler...7 Sådan skabes et show/en lyssekvens...11 Introduktion DMX LightPlayer er en avanceret men meget brugervenlig
DPR lokal persondatabase. Checkliste for CPR migrering
DPR lokal persondatabase Checkliste for CPR migrering Dokumentinformation Titel DPR lokal persondatabase, Checkliste for CPR migrering Dokumentplacering Dokumentejer Lars Bolgann Godkender CSC Dokumentlog
Opret ODBC datakilde Vejledning
Vejledning V. 1 APRIL 2011 FOR KUNDESERVICE Indholdsfortegnelse 1 Indledning... 3 1.1 Formål... 3 1.2 Målgruppe... 3 1.3 Krav... 3 2 Opret ODBC Datakilde (Open Database Connectivity)... 3 2.1 Forbindelse
SQL for MySQL-begyndere
Denne guide er oprindeligt udgivet på Eksperten.dk SQL for MySQL-begyndere I denne artikel vil jeg prøve at beskrive MySQL på begynderniveau. SQL står for Structured Query Language, og er et sprog til
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 /
PBX Online Brugervejledning www.pbxonline.dk
PBX Online Brugervejledning www.pbxonline.dk Indledning PBX Online er dit personlige omstillingsanlæg som ikke kræver noget fysisk udstyr installeret i dit firma. Du styrer det hele via din web browser.
Python programmering. Per Tøfting. MacFest
Python programmering MacFest 2005 Per Tøfting http://pertoefting.dk/macfest/ Indhold Måder at afvikle Python program på Variabler Data typer Tal Sekvenser Strenge Tupler Lister Dictionaries Kontrolstrukturer
DM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2019 Projekt, del I Institut for matematik og datalogi Syddansk Universitet 27. februar, 2019 Dette projekt udleveres i tre dele. Hver del har sin deadline, således
Advanced Word Template Brugermanual
Advanced Word Template Brugermanual Forord: Advanced Word Template er et værktøj, der anvendes sammen med Microsoft Word til at opbygge ensartet beskrivelser på en mere intelligent måde end Copy and Paste
Enigma. Et programmeringssprog. Forfatter: Niels Serup X. Y Vejleder: A B C. Fag: Programmering Uddannelsessted: N M
Enigma Et programmeringssprog Forfatter: Niels Serup X. Y Vejleder: A B C Fag: Programmering Uddannelsessted: N M 25. maj 2010 Indholdsfortegnelse Indledning 3 Sproget 3 Syntax.............................................
Opsætning af Backup. Hvis programmet registreres korrekt vises nedenstående skærmbillede. Genstart herefter programmet.
Opsætning af Backup Dette er en guide til opsætning af backup med Octopus File Synchronizer. Det første der skal ske er, at programmet skal registreres (programmet kan dog bruges i 30 dage, hvis det ikke
4 Basal Objekt-orienteret Programmering I.
4 Basal Objekt-orienteret Programmering I. Klasser i forhold til abstrakte datatyper og record-typer. Variable og operationer. Klasse-interfaces. Klasser og typer. Klasse-instantiering og initialisering.
User Manual for LTC IGNOU
User Manual for LTC IGNOU 1 LTC (Leave Travel Concession) Navigation: Portal Launch HCM Application Self Service LTC Self Service 1. LTC Advance/Intimation Navigation: Launch HCM Application Self Service
Systemair Connect. Opsætning
Systemair Connect Opsætning Opsætning af Systemair Connect Denne vejledning er lavet for at hjælpe dig i gang med opsætningen af Systemair Connect. Du kan bl.a. læse om, hvordan du opbygger en understruktur
Umbraco installationsvejledning
på et ScanNet ASP Webhotel Indledning Beskrivelse Denne vejledning vil indeholde installation af CMS systemet Umbraco på et ASP Webhotel. Det dansk grundlagt Content Management System (CMS) Umbraco er
Database. lv/
Database 1 Database Design Begreber 1 Database: En fælles samling af logiske relaterede data (informationer) DBMS (database management system) Et SW system der gør det muligt at definer, oprette og vedligeholde
