Rigtig SQL Programmering
|
|
- Johan Bonde
- 8 å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,
Læs mereViews. 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 mereEksempel 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 mereSkriftlig 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 mereDatabase 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 mereBegræ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
Læs mereOracle PL/SQL. Overview of PL/SQL
Oracle PL/SQL John Ortiz Overview of PL/SQL Oracle's Procedural Language extension to SQL. Support many programming language features. If-then-else, loops, subroutines. Program units written in PL/SQL
Læs merePrepared Statements. Denne artikel beskriver hvorfor prepared statements er gode. Den forudsætter lidt kendskab til Java og JDBC.
Denne guide er oprindeligt udgivet på Eksperten.dk Prepared Statements Denne artikel beskriver hvorfor prepared statements er gode. Den forudsætter lidt kendskab til Java og JDBC. Skrevet den 18. Feb 2010
Læs mereBemæ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 mereVærktøjer fra værktøjskassen. Søren Breddam, Stevns Kommune
Værktøjer fra værktøjskassen Søren Breddam, Stevns Kommune sb@stevns.dk 1stevns kommune Mapbasic i Stevns Kommune Data Kørsel af planlagte opgaver, så data altid er opdaterede. Logfil til overvågning Dagligt
Læs mereapplikation----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 mereListen 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 mereDen forudsætter kendskab til C++ og lidt kendskab til SQL og MySQL C API.
Denne guide er oprindeligt udgivet på Eksperten.dk Brug af MySQL i C++ Denne artikel bygger ovenpå artiklen "MySQL C API" og forklarer hvordan man kan programmere mere objekt orienteret. Den forudsætter
Læs mereIntroduktion til Oracle, Datalogi, RUC Af: Jens Lauterbach (jeans@ruc.dk) 2002
Introduktion til Oracle, Datalogi, RUC Af: Jens Lauterbach (jeans@ruc.dk) 2002 På datalogi har vi en databaseserver, som de studerende på datalogi kan benytte til projekter og som også benyttes i forbindelse
Læs mereWeb- 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)
Læs mereIndholdsfortegnelse 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
Læs mereDatabase 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 mereEn 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 mereIntroduktion 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
Læs mereMySQL 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
Læs mereNintex 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
Læs merePHP 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
Læs mereViews 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 mereOpret 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:
Læs mereObjektorientering 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Ø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 merePROJEKT 3. The Design Diaries. LINK TIL BLOG: Af Mikkel Borg Svendsen & Sebastian Frank MUL B
PROJEKT 3 The Design Diaries LINK TIL BLOG: http://mbsgraphic.dk/blog/ Af Mikkel Borg Svendsen & Sebastian Frank MUL B 1 INDHOLDS- FORTEGNELSE HVEM ER BLOGGERNE? 3 USE CASE 4 ATTRIBUT TABEL 5 PHP CODE
Læs mereObligatorisk 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 mereHent 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:
Læs mereOPC 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
Læs mereData 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
Læs mereDatabase 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 mereWorkshop Persistence
Workshop Persistence University College Nordjylland Datamatikeruddannelsen Klasse: dmaa0216 Titel: Workshop Persistence Versionskontrol-sti: https://github.com/mrurb/workshop-persistans/invitations versionsnummer:
Læs mere! 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:
Læs mereSkrevet den 18. Feb 2010 af arne_v I kategorien Programmering / Visual Basic.NET
Denne guide er oprindeligt udgivet på Eksperten.dk Parameters Denne artikel beskriver hvorfor parameters er gode. Den forudsætter lidt kendskab til VB.NET og ADO.NET. Der findes en tilsvarende artikel
Læs mereMsSQL: 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 mereODBC 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 mereVÆ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
Læs mereDe 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
Læs mereProgrammering 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 mereTerese 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
Læs mereMySQL 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
Læs mereDML, 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 mereRatingsystem i PHP og MySQL
Denne guide er oprindeligt udgivet på Eksperten.dk Ratingsystem i PHP og MySQL Lær at lave et system til at vise rating/bedømmelse på artikler og nyheder. Skrevet den 03. Feb 2009 af virtual1ty I kategorien
Læs mereHTML, 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
Læs mereEn 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.
Læs mere! "# $$ &'()*"* +*, & &"*0* & "# % %- %
!"! "# $$ & &'()*"* +*, &- & &"./+0 & &"*0* & & & 1 2 ()))))$$" "# - " # $!&!!" 34 3((5(4 6()))))5 3((5# 7())))) 4 3((58 43((58 3((5#9! 3((5#4 3((584 6 9 # '"!&()!" * " 49 9-3 :; & Private Sub Workbook_Open()
Læs mere! 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:
Læs mereParameters. Denne artikel beskriver hvorfor parameters er gode. Den forudsætter lidt kendskab til C# og ADO.NET.
Denne guide er oprindeligt udgivet på Eksperten.dk Parameters Denne artikel beskriver hvorfor parameters er gode. Den forudsætter lidt kendskab til C# og ADO.NET. Der findes en tilsvarende artikel med
Læs mereData 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 mereDatabase Implementering
Database Implementering 1 Database Implementering Er det ikke nemt at implementere et database system? Gemme relationer Parse statements Print resultater Ændre relationer 2 Må vi præsentere Database Management
Læs mereProgrammering 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
Læs merePHP Crash course. Databaser
PHP Crash course Databaser PHP Intro PHP er et server scripting sprog der kan bruges til at lave aktivt indhold på hjemme sider. Der er to betingelser som skal opfyldes for at serveren fortolker PHP koden.
Læs mereDatabasesystemer. 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 mereEksamen, 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
Læs mereXML Difftool brugervejledning
XML Difftool brugervejledning UNI C maj 2007 XML Difftool brugervejledning UNI C Maj 2007 Af UNI C Indhold 1 Kort om XML Difftool og Import... 1 1.1 XML Difftool... 1 1.2 Opbygning af XML import fil...
Læs merePHP 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
Læs mere1 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..................................
Læs mereDesign Diaries.
Design Diaries http://blog.lykkeeilert.dk/ Patricia Gambula Larsen Patrick Lykke Eilert Ninette Andersen cph-pl130@cphbusiness.dk cph-pe58@cphbusiness.dk cph-na96@cphbusiness.dk INDHOLD Use case model
Læs mereParameterisering af databasekald med ASP og ADO
Denne guide er oprindeligt udgivet på Eksperten.dk Parameterisering af databasekald med ASP og ADO Jeg har efterhånden set en del spørgsmål her på Eksperten vedr. SQL injections og hvordan man kan beskytte
Læs mereThe 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 cph-ln175@cphbusiness.dk Mathias Larsen www.nefjam.dk cph-ml414@cphbusiness.dk Ida Christensen www.idamedia.dk
Læs mereInteraktionsudvikling
Projektopgave 3: Interaktionsudvikling CPH business, klasse: MulA2013 Projektansvarlige undervisere Thomas Hartmann MereteGeldermann lützen: Projekt produkt url: www.amalieardahl.dk/projekt3/index.html
Læs mereA11: Last Year s Exam
A11: Last Year s Exam Agenda Design of Site map and Web- structure (3) Design of data model (1) Design of database transactions (2) Construction of HTML and PHP scripts (3) Exercise 3: Design of Site map
Læs mereEksamen, 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.
Læs mereReeksamen, DSDS, forår 2008
Reeksamen, DSDS, forår 2008 Introduktion til Scripting, Databaser og Systemarkitektur Jonas Holbech IT Universitetet i København 22. august 2008 Alle hjælpemidler er tilladte, dog ikke computer og kommunikationsmidler.
Læs mereDokumentering 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.
Læs mereKlasser og objekter. (Afsnit i manualen)
Klasser og objekter (Afsnit 4 + 5 i manualen) Grundbegreber Klasser og objekter beskrivelse oprettelse Attributter og metoder tilstand opførsel Indkapsling afskærmning datarepræsentationsuafhængighed Klasser
Læs mereDerfor vil jeg bygge dette eksempel på een table hvor der kan tilkyttes personer til ALLE noder og der kan tilføjes et vilkårligt antal niveauer
Denne guide er oprindeligt udgivet på Eksperten.dk TreeView i Access II Jeg vil i denne anden udgave af treeview føljetonen begynde på et mere brugbart eksempel med et TreeView. Vi laver en ny database
Læs mereJava web applikationer med Tomcat
Denne guide er oprindeligt udgivet på Eksperten.dk Java web applikationer med Tomcat Denne artikel beskriver hvordan man kan konfigurere container managed security og en database connection pool i Tomcat.
Læs mereThe Design Diaries PHP projekt
The Design Diaries PHP projekt Anna Emely Jensen cph-aj215@cphbusiness.dk www.annaemely.dk Oliver Alexander Vedel Trojhan cph-ot46@cphbusiness.dk www.olivervedeltrojahn.com Link til GoLogo blog http://olivervedeltrojahn.com/project%203%20php/index.php
Læs merePython 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
Læs mereKapitel 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
Læs mereSidste forelæsning. Jacob Aae Mikkelsen. 28. april 2013 IMADA. Jacob Aae Mikkelsen (IMADA) Sidste forelæsning 28.
Sidste forelæsning Jacob Aae Mikkelsen IMADA 28. april 2013 Jacob Aae Mikkelsen (IMADA) Sidste forelæsning 28. april 2013 1 / 36 Outline 1 Brugere og Sikkerhed Jacob Aae Mikkelsen (IMADA) Sidste forelæsning
Læs mereEksamen, DSDS, forår 2009
Eksamen, DSDS, forår 2009 Introduktion til Scripting, Databaser og Systemarkitektur Jonas Holbech IT Universitetet i København 3. juni 2009 Alle hjælpemidler er tilladte, dog ikke computer og kommunikationsmidler.
Læs mereUdvikling 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 mereImport 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 mereHack 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
Læs mereDatabase 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 mereDMX 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
Læs mereOPC Access 3.0 opdatering via Stored Procedure
OPC Access 3.0 opdatering via Stored Procedure Dette dokument gennemgår et eksempel på, hvordan OPC Access 2.0 kan konfigureres til at opdatere en database via en stored procedure. OPC ACCESS 2.0 OPDATERING
Læs mereDPR 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
Læs mereOpret 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
Læs mereSQL 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
Læs mereSoftware 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 merePBX 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.
Læs mereThe Design Diaries. Link til blog
The Design Diaries Link til blog www.alexklug.dk/blog/index.php Alexander Nicholas Klug Rasmussen cph-ar162@cphbusiness.dk www.alexklug.dk Melissa Pietrykoski cph-mp328@cphbusiness.dk www.melissapietrykoski.dk
Læs merePython 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
Læs mereDM507 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
Læs mereMODUL 2 ASSIGNMENT 3 PHP/DB SYSTEM 9. OKTOBER 2016
9. OKTOBER 2016 MODUL 2 ASSIGNMENT 3 PHP/DB SYSTEM SEBASTIAN FRANK ANDERSEN CPH-SA169@CPHBUSINESS.DK http://sebastianfrank.dk/modul2ass3/projectlist.php https://github.com/seb94frank/modul2ass3 Beskrivelse
Læs mereEksempel: Skat i år 2000
Kursus 02199: Programmering afsnit 2.1-2.7 Anne Haxthausen IMM, DTU 1. Værdier og typer (bl.a. char, boolean, int, double) (afsnit 2.4) 2. Variable og konstanter (afsnit 2.3) 3. Sætninger (bl.a. assignments)
Læs mereDynamisk PHP design OPDATERET
Denne guide er oprindeligt udgivet på Eksperten.dk Dynamisk PHP design OPDATERET I har måske undret jer over "http://bla.dk/?side=kontakt", her beskriver jeg hvordan, og hvorfor Skrevet den 03. Feb 2009
Læs mereAdvanced 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
Læs mereEnigma. 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.............................................
Læs mereOpsæ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
Læs mere4 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.
Læs mereUser 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
Læs mereSystemair 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
Læs mereUmbraco 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
Læs mereForskellige 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 mereDatabase. 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
Læs mere