CLR Integration. Af Torsten Holtse, pbs Indhold
|
|
- Mette Jensen
- 7 år siden
- Visninger:
Transkript
1 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... 3 Aggregate... 3 User-defined Type... 4 Intern adgang til databasen... 4 Registrering af assembly og funktionaliteter... 4 Registering af assembly... 4 Registering af funktionaliteter... 4 Fordele... 5 Flere funktionaliteter... 5 Objekt orienterede elementer... 5 Performance... 6 Kode-genbrug... 6 Ulemper... 6 Normalisering... 6 Performance... 6 Metadata-optimering... 7 Overvejelser
2 Opgavebeskrivelse Denne opgave omhandler integrationen af CLR 1 i MSSQL 2. Udover den praktiske anvendelse vil opgave også se på de fordele og ulemper, der er forbundet med brugen af CLR integration. Disse fordele og ulemper vil berøre funktionaliteter og performance. Introduktion Som så mange andre databaser benytter Microsoft sig af et SQL-baseret sprog til programmering af deres SQL Server, T-SQL. T-SQL giver, som mange andre varianter af SQL, mulighed for at udvikle mere generelle programmeringsopgaver, der håndteres af databasen. Det er dog ikke SQL-baserede sprogs primære formål hvilket f.eks. kommer til udtryk ved mangler på områder som datatyper og iterationsmuligheder. Siden udgivelsen af SQL Server 2005 har der været en alternativ mulighed for programmering af funktionaliteter i databasen. Fra den version af blev det muligt at udarbejde de mere generelle funktionaliteter i et.net-sprog for derefter at lade SQL Serveren eksekvere denne.net-kode via en integrering af.net s motor, CLR. Denne funktionalitet i SQL Server betegnes af Microsoft som CLR Integration. CLR Integrations muligheder Programmeringen af en databasefunktionalitet med CLR integration foregår ved, at man programmerer et assembly i et.net-sprog, hvorefter assembly, og de deri liggende funktionaliteter, registreres i den pågældende SQL Server. CLR Integration giver mulighed for programmering af fem forskellige typer funktionaliteter: Stored Procedure User-defined Function User-defined Trigger User-defined Aggregate User-defined Type Fælles for disse funktionaliteter er, at de bygger på helt almindelig.net-kode, der grundlæggende ikke er bundet til CLR Integration. Implementeringen foregår i almindelige statiske metoder eller klasser alt afhængig af hvilken type funktionalitet der er tale om. Hver funktionalitet identificeres ved sin registrering i SQL Serven ud fra metadata tilføjet under implementeringen i form af en specifik attribute afhængigt af typen af funktionalitet. Stored Procedures, Functions og Triggers Stored Procedures, Function og Triggers er fælles om at blive implementeret via statiske metoder. Eksemplet nedenfor viser konstruktionen af User-defined Function i C#. 1 Common Lanugage Runtime 22 Microsoft SQL SERVER 2
3 namespace CLRIntegration { public partial class UDF { const string _REGEX [SqlFunction(IsPrecise = true, IsDeterministic = true)] public static bool IsValid (SqlString str) { Regex regex = new Regex( _REGEX); return (str.isnull? false : regex.ismatch(str.value)); } } } Eksempel 1 - IsValid Det er kun selve metode-definitionen, der er interessant i dette tilfælde, men namespace og klasse skal dog også kendes i registreringsprocessen. SqlFunction-attributen er den afgørende forskel på en almindelig statisk metode og en metode, der skal bruges som user-defined function. Stored Procedures og Triggers har en tilsvarende attribute henholdsvis SqlProcedure og SqlTrigger. Udover at give CLR Integration mulighed for at identificere om en metode er beregnet til brug i SQL Server, indeholder SqlFunction også nogle properties, der benyttes som yderligere information for SQL Server til brugen af metoden. I eksemplet er metoden f.eks. specificeret som værende Precise, dvs. at metoden altid giver et præcist resultat. En funktion vil ikke være præcis hvis der f.eks. indgår beregninger med floating-points. Der findes flere af denne type metadata-properties, men disse vil ikke blive gennemgået nærmere. Aggregates og User-defined Types Aggregates og User-defined Types (UDT) konstrueres via en serialiserbar struct. Ligesom Stored Procedures, Functions og Triggers, defineres metadata i form af en attribute, henholdvis SqlUserDefinedAggregate og SqlUserDefinedType. Da der skal foretages en serialisering er det nødvendigt for SQL Serveren at vide hvordan dette skal foretages. Som udgangspunkt bruger SQL Serveren sin egen metode, kaldet Native, men i visse tilfælde kan det være nødvendigt, eller ønskværdigt, selv at bestemme hvordan serialiseringen foregår. I et sådan tilfælde betegnes serialiseringen som UserDefined og skal specificeres via en implementering af IBinarySerialize-interfacet. Nedenstående eksempel viser definitionen af UDT. [Serializable] [SqlUserDefinedType(Format.UserDefined, ValidationMethodName = "Validate ", MaxByteSize = 256, IsByteOrdered = true)] public struct Type : INullable, IBinarySerialize Eksempel 2 - User-defined Type Aggregate En aggregate i CLR Integration udfører sine handlinger ved at splitte arbejdet op i mindre dele. Delen samles igen efterhånden som de bliver færdige for til sidst at kunne levere ét samlet resultat. CLR Integrationen håndterer dette ved en struct med fire specifikke metoder, Init, Accumulate, Merge og Terminate. Init kaldes ved opstarten af en ny del af aggregaten. Dernæst løber den enkelte del sine egne værdier igennem og aggregerer dem i Accumulate. Når en del er færdig laver den en Merge med en anden 3
4 del. Når der til sidst kun er en del tilbage vil denne have opsamlet delresultaterne fra en andre dele og kører til sidst Terminate, der returnerer det endelige resultat. User-defined Type Udover de forudgående beskrevne krav kræves det også at en UDT er Nullable ved at implementere INullable. Dette bliver et krav da SQL Serverens normale typehåndtering som udgangspunkt tillader null. Intern adgang til databasen Mange funktionaliteter i SQL Server skal ikke bare foretage nogle beregninger baseret på input, de skal også kommunikere internt med databasen. I.NET håndteres denne interne kommunikation som den normalt gøres i ADO.NET. Da koden imidlertid kører internt i SQL Serveren skal der dog ikke oprettes en almindelig forbindelse til databasen. Der benyttes en speciel connectionstring, context connection = true. Denne connectionstring får et kald fra.net-metoden til at benytte samme forbindelse som den i forvejen kører på fordi den køres fra SQL Serveren selv, på samme måde som et databasekald i en funktionalitet skrevet i T-SQL ville gøre. Yderligere har giver.net adgang til en speciel kontekst-klasse, SqlContext, der også kan kommunikere internt i SQL Serveren eller identificere om der overhovedet er tale om CLR Integration. Registrering af assembly og funktionaliteter Når man har programmeret færdig i.net skal koden distribueres videre til SQL Serveren. Dette er en ret enkel proces, der deler store ligheder med konstruktionen af diverse almindelige funktionaliteter i SQL Server. Registering af assembly CREATE ASSEMBLY [CLRIntegration] FROM 'C:\Users\Annxii\Documents\CLRIntegrationLib.dll' WITH PERMISSION_SET = SAFE; Script eksempel 1 - Create Assembly Assembly et får her navnet CLRIntegration og den refererede DLL kopieres til databasen. Ved senere registrering eller eksekvering af metoder i CLRIntegration er det kopien i databasen, der benyttes. Der ud over sætte hvilken permission det pågældende assembly har, i dette tilfælde SAFE. Der er tre forskellige grader af assembly permissions, SAFE, EXTERNAL_ACCESS og UNSAFE. SAFE giver lov til at eksekvere koden og kommunikere internt i databasen. EXTERNAL_ACCESS giver lidt flere muligheder f.eks. adgang til filsystemet og netværkskommunikation. UNSAFE giver mulighed for at lade CLR kalde unmanaged code. UNSAFE benyttes af Microsoft til registrering af det grundlæggende.net Framework i SQL Server, men det anbefales ikke at almindelige udviklere benytter mere end EXTERNAL_ACCESS. Registering af funktionaliteter Efter registreringen af et assembly skal hver af de ønskede funktionaliteter tilføjes med hver deres registering. Nedenstående eksempel viser registreringen af metoden fra Eksempel 1. CREATE FUNCTION [IsValid ](@ nvarchar(max)) RETURNS bit AS EXTERNAL NAME CLRIntegration.[CLRIntegration.UDF].IsValid Script eksempel 2- Create Function 4
5 De første to linjer ligner starten på en almindelig definition af en Function. Det er dog vigtigt at funktionens parametre og retur type stemmer overens med dem i den pågældende metode i assembly et. Navngivningen er her irrelevant i forhold til assembly ets indhold. Derimod er navnene vigtige i sidste linje. Normalt vil implementeringen af funktionen begynde her, men da denne jo allerede er foretaget i. NET skal der refereres til hvor i assembly et den ønskede metode befinder sig. Det ovenstående eksempel finder sin metode i assembly et fra Script Eksempel 1 og derefter metoden fra Eksempel 1 baseret på hvilket namespace og hvilken klasse den pågældende metode har. Eksemplet er vist med en Function, men fremgangsmåde er den samme for de andre funktionaliteter. Fordele Som jeg startede med at skrive så er CLR Integration et alternativ til de tillempninger, som er foretaget i T- SQL for at gøre det muligt at udføre handlinger, der strækker sig ud over den grundlæggende forespørgselsfunktionalitet i SQL. Det grundlæggende argument for at benytte CLR Integration bør derfor være, at man benytter et sprog til det det er beregnet til. Sprogene i.net-familien er tiltænkt beregninger og kompleks logik, hvilket også gør dem optimerede til disse formål. Flere funktionaliteter Optimeringen af.net handlinger ikke kun om processorkraft, men også om de ekstra funktionaliteter, der følger med.net. I eksempel 1 er der f.eks. benyttet regular expressions til validering af en input streng, hvilket ikke er en funktionalitet i T-SQL. Nogle funktionaliteter, der allerede er i T-SQL, kan også forbedres af.net, hvor f.eks. arbejde med filsystemet eller XML lettere kan håndteres..net giver også flere kodemæssige elementer at arbejde med i forhold til T-SQL. Der er flere forskellige datatyper at arbejde med og større udvalg af code-flow. Udover de ekstra mere generelle funktionaliteter, der er i.net giver CLR Integration også nogle direkte database orienterede funktionaliteter. Det er kun muligt at lave sine egne aggregates via CLR Integration, alt hvad T-SQL kan bidrage med i den henseende er registreringen af funktionaliteten. Objekt orienterede elementer SQL Server udelukkende en relationel database, men brugen af UDT via CLR Integration kan give nogle objekt orienterede elementer. UDT i ren T-SQL kan kun være en indsnævring af en eksisterende type i SQL, eller bare benyttet som alias, eller det kan være en tabel. En UDT i CLR Integration bedre betegnes som et decideret objekt. Udover at det rent teknisk reelt set er et serialiseret.net-objekt, der ligger i en tabel, så kan Methods og Properties implementeres som ved en almindelig struct. Disse kan kaldes fra T-SQL, og bruges til at ændre dele af den data UDT en består af på samme måde som man kan i.net. Denne muligheder ses i ORDBMS, men manglen af andre vitale objekt orienterede dele som nedarvning, polymorfi og referencer gør at CLR Integration ikke kan gøre SQL Server til en ORDBMS. Fordelen ved disse tilnærmede objekt orienterede elementer kan tages fra ideen bag objekt orienterede databaser. Ved at bringe modellen fra programmeringen direkte ned i databasen undgås noget det overhead, og den kompleksitet, mapping mellem den relationelle og objekt orienterede verden giver. 5
6 Eftersom det ikke er en decideret objekt orienteret model der gemmes men kun isolerede objekter, vil man stadig have behov for data mapping i et vist omfang også selvom man benytter UDT. Performance De ekstra funktionaliteter er også dem, der kan give CLR Integration en fordel frem for rå T-SQL..NET er i langt højere grad optimeret til matematiske og logiske beregninger, og kan derfor give en fordel på disse områder. Foretages disse beregninger yderligere i loops er der endnu mere at vinde. En cursor er som udgangspunkt dyr i drift. Mulighederne i CLR Integration gør en i stand til at undgå cursor i flere tilfælde. I tilfælde hvor cursor funktionaliteten kan erstattes af egne aggregates vil dette være at foretrække rent performancemæssigt. Det samme gør sig gældende hvor en traverserende cursor kan erstattes af arbejde med et array. Kode-genbrug Ved at programmere funktionaliteter til CLR Integration har man også mulighed for at genbruge funktionaliteterne i en anden sammenhæng. Stored Procedures og Functions er dyest set stadig almindelige statiske metoder, og kan derfor kaldes fra andre.net-programmer. Eksempelvis kan funktionen fra Eksempel 1 bruges både i CLR Integration og i et hvilket som helst.net-program. Dette giver en fordel ved kun at skulle vedligeholde en funktionalitet også selvom denne bruges i flere forskellige sammenhæng. I Eksempel 1 skal der ikke foretages noget for at bruges koden andet sted end i SQL Server, men der kan i visse tilfælde være behov for, at foretage justeringer alt efter hvilken sammenhæng koden eksekveres i. Via SqlContext kan man identificere om der er tale om CLR Integration eller ej, og f.eks. ændre connectionstring i tilfælde hvor ADO.NET benyttes. Ulemper Hvis ikke der var nogle ulemper ved CLR Integration var der ikke nogen grund til, at SQL Server stadig benytter T-SQL som sit primære programmeringsprog. På trods af, at CLR Integration kan forbedre performance i visse situationer så kan det nemt også gøre det modsatte. Dertil kommer mulige problemer ved brug af UDT og kompleks finjustering. Normalisering Brugen af UDT kan give problemer for strukturen af databasen. En relationel database skal som oftest normaliseres, hvilket i første omgang indebærer atomare værdier. Om noget betegnes som en atomar værdi kan komme an situationen, men i og med at UDT grundlæggende er et serialiseret objekt vil det også være nærliggende, at UDTen kommer til at få objekt orienterede træk som gruppering af data. Dette stiller en i et dilemma ved brugen af UDT. Hvis man designer UDT til brug uden for databasen vil det ødelægge muligheden for normalisering, men hvis man tager højde for normaliseringen vil det ødelægge muligheden for den mapningsfri transition mellem database og applikation. Performance Som nævnt kan performance gå begge veje ved brugen af CLR Integration. Den negative indvirkning kommer i første omgang når arbejdet skal over i.net. SQL Server kører godt nok.net internt, men det er 6
7 trods alt stadig et andet system, hvilket vil sige at SQL Server skal overdrage ansvaret til.net og vice versa. Dette indbefatter ikke noget stort overhead, men det sker hver gang der skal skiftes mellem SQL Server og.net. Hvis en funktion med input, der er skrevet i.net, bruges i forbindelse med en projektion af et udtræk vil dette skifte sker for hver række i udtrækket. Performance vundet ved den forbedrede beregning i.net skal derfor overstige det overhead, skiftet mellem SQL Server og.net forsager. Af samme grund er det også farligt for performance hvis man benytter kald tilbage til databasen i loops. Performance kan også komme til at lide under manglende query optimering. Ved brugen af stored procedures eller functions i forbindelse med en query vil SQL Server normalt forsøger at tage indholdet af disse med i sin optimering af queryen. Hvis den pågældende stored procedure eller functions imidlertid er lavet i.net er det straks sværere. SQL Serveren kan ikke læse.net kode og kan derfor ikke tage højde for indholdet i sin optimering. Eventuel rå SQL internt i den pågældende stored procedure eller function vil blive optimeret separat. Optimeringen vil potentielt blive splittet i forhold til hvad T-SQL ville resultere i og SQL Serveren kan derfor ikke foretage optimeringen optimalt(!). Metadata-optimering SQL Serverens manglende evne til at læse.net, og de ulemper der kommer heraf, kan delvist afhjælpes via metadata på implementationen af visse funktionaliteter. Det store problem ved denne metadata er, at man selv skal specificere den, hvilket også vil sige at man manuelt skal bestemme specifikationer som SQL Serveren normalt klarer for en. Det tidligere eksempel 1 bruger IsPrecise og IsDeterministic. I det lille eksempel er det ikke så svært at overskue disse tilstande, men det kan være betydelig sværere i mere komplekse sammenhænge. Udover at dette selvfølgelig er ekstra arbejde giver det også en større mulighed for fejl end en automatiseret analyse udarbejdet af eksperter vil. Overvejelser CLR Integration er helt klart en niche inden for SQL Serveren. Det er funktionaliteter, der skal bruges med betydelig omtanke til specielle situationer. Det er en løbende debat hvor meget funktionalitet, der skal lægges ned i databasen, og CLR Integration har uden tvivl sin plads hvor man lægger store mængder funktionalitet i databasen. Med undtagelse af user-defined aggregate vedrører udvidelserne via.net funktionaliteter, der ikke direkte må siges at være SQL Serverens kærneområder. Man kan undre sig over hvorfor der ikke er nogen mulighed for implementation af aggregates i T-SQL. UDT kan være et stærkt redskab i visse tilfælde. At gemme objekterne fra.net direkte i databasen går naturlig nok arbejdet med data i.net lettere, mens understøttelsen af properties gør det muligt at stadig at arbejde med objektet uden for.net. Det er dog stadig langt fra en OODBMS eller ORDBMS. Brugen af UDT bør derfor selv sørge for ikke at bryde normalisering eller benyttes i situationer hvor normalisering ikke er en nødvendighed. Brugen af CLR Integration kan også bringe ekstra kompleksitet ind i programmeringen af databasen. Man kan ikke erstatte al T-SQL, hvilket vil resultere i at man har arbejder med to forskellige programmeringssprog og paradigmer, den relationelle- og den objekt orienterede. Denne sammenblanding muliggør kode-genbrug, men kan kræve, at der tages højde for forskellene i programmeringssprogene. Det vil godt nok give færre kode-dele at vedligeholde, men disse vil blive hver især blive mere komplicerede. 7
8 Idéen bag CLR Integration er ikke en Microsoft-opfindelse. SQL2003-standarden indeholder specifikationer til en implementation af samme typer funktionaliteter i Java, SQL/JRT 3. Hvis en Java implementation af database funktionaliteter skal være en del af SQL-standarden bør der også være belæg for at standardisere CLR Integration. Denne underliggende CLR er, ligesom Java-motoren, et produkt med en åben standard, der primært vedligeholdes og implementeres af et kommercielt firma. På trods af at være en standardiseret funktionalitet er SQL/JRT også en meget lille niche. Den eneste store database, der implementerer SQL/JRT er IBMs DB
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 mereHvorfor 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 mereMapBasic &.NET interaktion. MapBasic.NET. Jakob Lanstorp IT konsulent COWI. Odense 23. Juni 2011. 1 8 jun 2011 MapBasic &.
MapBasic &.NET interaktion MapBasic.NET Jakob Lanstorp IT konsulent COWI Odense 23. Juni 2011 1 MapBasic &.NET interaktion Erfaring med MapBasic.NET / Visual Studio Anden programmering 2 Program Hurtig
Læs mereMETODER ARV KLASSER. Grundlæggende programmering Lektion 5
METODER KLASSER ARV Grundlæggende programmering Lektion 5 1 METODER Sekvenser af kode om samme emne 2 REPETITION Række af statements der udfører en handling Mindst én metode der hedder main Forskellen
Læs mereLektion 6. Grundlæggende programmering i VR
Lektion 6 Grundlæggende programmering i VR Plan for i dag Simpelt FPS Triggerzones og animationer C# og objekt orienteret programmering Interfaces Generics Google Cardboard Video om VRs fremtid App til
Læs mereFESD-standardiseringsgruppen Att: Palle Aagaard IT- og Telestyrelsen IT-strategisk kontor Holsteinsgade 63 2100 København Ø
FESD-standardiseringsgruppen Att: Palle Aagaard IT- og Telestyrelsen IT-strategisk kontor Holsteinsgade 63 2100 København Ø Høringssvar vedr. FESD GIS-integrationsmodel version 2.0 Geodata Danmark har
Læs mereAbstrakte 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 mereIntroduktion 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 mereObject-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 mereVersion Dato Beskrivelse 1.0.0 26/11/2012 Initial version 1.2.0 05/03/2013 Tilføjet eksempel med Template Agent, generelt udvidet dokumentet.
MOX og APOS2 Forord Dette dokument er en del af APOS version 2 manualerne. APOS version 2 (APOS2 herefter) er et organisation, klassifikation og personale system baseret på Sag & Dokument standarderne.
Læs mereSingleton pattern i C#
Denne guide er oprindeligt udgivet på Eksperten.dk Singleton pattern i C# Denne artikel beskriver Singleton pattern og implementation i C#. Den forudsætter kendskab til C# men ikke til Singleton. Der er
Læs mereInstallation og Drift. Aplanner for Windows Systemer Version 8.15.12
Installation og Drift Aplanner for Windows Systemer Version 8.15.12 Aplanner for Windows løsninger Anbefalet driftsopsætning Cloud løsning med database hos PlanAHead Alle brugere, der administrer vagtplaner
Læs mereDatabaseadgang 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 mereIntroduktion til OPC Access
Introduktion til OPC Access OPC Access anvendes til at kommunikere med jeres produktionsudstyr via OPC. OPC Access kombinerer en SQL Server med OPC, således at jeres produktionsudstyr kobles sammen med
Læs mereUgeseddel 4 1. marts - 8. marts
Ugeseddel 4 1. marts - 8. marts Læs følgende sider i kapitel 6 i lærebogen: s. 233 258 og s. 291 317 (afsnit 6.3 overspringes). Begynd at overveje, hvad afleveringsopgaven skal omhandle. Læs vejledningen,
Læs mereSingleton pattern i Java
Denne guide er oprindeligt udgivet på Eksperten.dk Singleton pattern i Java Denne artikel beskriver Singleton pattern og implementation i Java. Den forudsætter kendskab til Java men ikke til Singleton.
Læs mereIntroduktion 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 mereArkitektur 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 mereEG Data Inform. Byggebasen. WCF og webservices. Jens Karsø
EG Data Inform Byggebasen WCF og webservices Jens Karsø 10 Indholdsfortegnelse Byggebasen Services indledning... 2 Målsætning... 2 Valg af teknologier... 3 Kommunikationsmodel for byggebasen... 3 Services.byggebasen.dk...
Læs mereTimePlan version 6.0 - Installationsvejledning
TimePlan version 6.0 - Installationsvejledning For opgradering af tidligere TimePlan versioner anvendes opdateringsprogrammet: TimePlan 6 Wizard.exe. Programmet kan afvikles på dansk eller engelsk. Opdateringsprogrammet
Læs mereDM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2016 Projekt, del III Institut for matematik og datalogi Syddansk Universitet 20. april, 2016 Dette projekt udleveres i tre dele. Hver del har sin deadline, således
Læs mereGrundlæggende OOA - OOD
Grundlæggende OOA - OOD Dette kursus henvender sig til personer, der har lille eller ingen erfaring med softwareudvikling. Med udgangspunkt i UML opbygges et solidt kendskab til softwareudviklingens kunst
Læs mereeducasoft - en professionel samarbejdspartner med speciale i uddannelse!
Velkommen til educasoft's hjemmeside educasoft - en professionel samarbejdspartner med speciale i uddannelse! Professionelle undervisere Undervisning i virksomheden Undervisning dag/aften eller week-end
Læs mereLØKKER METODER C S HISTORIE. Grundlæggende programmering Lektion 4
LØKKER METODER C S HISTORIE Grundlæggende programmering Lektion 4 1 LEKTIER UML struktur diagrammer om biler 2 OPERATORER Syntaks til at udføre forskellige beregninger og handlinger Booleans og hvorfor
Læs mereDM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2017 Projekt, del III Institut for matematik og datalogi Syddansk Universitet 6. april, 2017 Dette projekt udleveres i tre dele. Hver del har sin deadline, således
Læs mereSWC eksamens-spørgsmål. Oversigt
SWC eksamens-spørgsmål Oversigt #1 Typer og variable #2 Aritmetik og logik #3 Klasser (definition, objekter) #4 Klasser (metoder) #5 Klasser (nedarvning, polymorfi) #6 Conditional statements #7 Repetition
Læs mere0.9 19-09-2012 DAVAR Omdøbt til SagDokumentFormat. Attention er skilt ud i et selvstændigt format, AttentionFormat.
Specifikation 19. september 2012 DAVAR J.nr. 2012-6211-281 Sagdokumentformat Versionshistorik Version Dato Initialer Noter 0.7 15-06-2012 DAVAR Høringsversion. Indsat MeddelelseAttention. 0.9 19-09-2012
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 mereDatabasesystemer. 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 mereAAU, Programmering i Java Intern skriftlig prøve 18. maj 2007
AAU, Programmering i Java Intern skriftlig prøve 18. maj 2007 Opgavebesvarelsen skal afleveres som enten en printerudskrift eller som et passende dokument sendt via email til fjj@noea.dk. Besvarelsen skal
Læs mereKursusarbejde 3 Grundlæggende Programmering
Kursusarbejde 3 Grundlæggende Programmering Arne Jørgensen, 300473-2919 klasse dm032-1a 21. november 2003 Indhold 1. Kode 2 1.1. forestillinger.h............................................. 2 1.2. forestillinger.cc.............................................
Læs mereIntroduction til.net remoting i C#
Denne guide er oprindeligt udgivet på Eksperten.dk Introduction til.net remoting i C# Denne artikel beskriver teorien bag.net remoting og viser nogle simple kode eksempler i C#. Den forudsætter kendskab
Læs mereInstallation og Drift. Aplanner for Windows Systemer Version 8.15
Installation og Drift Aplanner for Windows Systemer Version 8.15 Aplanner for Windows løsninger Tekniske forudsætninger Krav vedr. SQL Server SQL Server: SQL Server 2008 Express, SQL Server 2008 R2 eller
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 mereVideregående Programmering Obligatorisk opgave - 3. semester, efterår 2004
Overvågningssystem Beskrivelse Bagagesorteringssystemet består af et antal skranker (check-in) til modtagelse og registrering af bagage, et automatiseret sorteringsanlæg samt et antal terminaler (gates),
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 mereVejledning til Teknisk opsætning
Vejledning til Teknisk opsætning v. 1.0 Adm4you, 2010. Indhold Kort om denne vejledning... 3 Generelt om easyourtime... 3 Installation af databasen... 3 Sikkerhed og rettigheder... 4 SQL Login... 4 Rettigheder
Læs mereWeb CMS kontra Collaboration
Web CMS kontra Collaboration Sammenligning mellem Sitecore og Sharepoint Lars Fløe Nielsen, Evangelism ln@sitecore.net Page 1 Sitecore har dyb integration til Microsoft Sitecore har integration til mange
Læs mere.NET Component Overview
.NET Component Overview Martin Søgaard og Erik K. Aarslew-Jensen 10. april 2005 1 Indhold 1 Indledning 3 2.NET Framework Overview 4 2.1 Common Language Runtime (CLR)................ 4 2.1.1 Common Language
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 mereEasyIQ Opdatering 5.2.3 -> 5.4.0
EasyIQ Opdatering 5.2.3 -> 5.4.0 Kunde: Forfatter: Thomas W. Yde Systemtech A/S Side: 1 af 17 1 Indholdsfortegnelse 2 GENERELT OMKRING FORUDSÆTNINGEN OG OPDATERINGS FORLØBET... 3 2.1 FORUDSÆTNINGER...
Læs mereStudieordning 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 mereDANMARKS TEKNISKE UNIVERSITET
DANMARKS TEKNISKE UNIVERSITET Skriftlig prøve, 14. december 2018, 4 timer Side 1 af 18 Kursus navn: 02101 Indledende Programmering Kursus : 02101 Tilladte hjælpemidler: Ikke-digitale skriftlige hjælpemidler
Læs mereSmartFraming Et vindue til nationale sundhedssystemer. Version 3.0
SmartFraming Et vindue til nationale sundhedssystemer Version 3.0 Infrastruktur i dagens sundheds IT Det sundhedsfaglige personale benytter sig i dag af en række forskellige systemer i forbindelse med
Læs mereSkriftlig eksamen i Datalogi
Roskilde Universitetscenter side 1 af 9 sider Skriftlig eksamen i Datalogi Modul 1 Vinter 1999/2000 Opgavesættet består af 6 opgaver, der ved bedømmelsen tillægges følgende vægte: Opgave 1 5% Opgave 2
Læs mereDygtig.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 mereDelphi og Databaser for begyndere
Denne guide er oprindeligt udgivet på Eksperten.dk Delphi og Databaser for begyndere Denne artikel handler om hvordan man udnytter noget af det bedste i Delphi: Dets gode muligheder for integrering med
Læs mereIndholdsfortegnelse. Systembeskrivelse kapitel 8 Administrationsdatabase
Indholdsfortegnelse 5. Administrationsdatabase... 2 5.1 Metadata... 2 5.2 Administrationsdata... 3 5.2.1 Indstillingsmuligheder... 3 5.2.2 Webside... 4 5.2.3 Klikafgift (Udgået)... 4 5.2.4 Modtageboks...
Læs mereProgram Dokumentation PC Software Skrevet af. Gruppen. Version 1.0
Program Dokumentation PC Software Skrevet af Gruppen. Version 1.0 Indholds fortegnelse 1. INDLEDNING...3 1.1. FORMÅL...3 1.2. REFERENCER...3 1.3. VERSIONSHISTORIE...3 1.4. DEFINITIONER...3 1.5. DOKUMENTATIONENS
Læs mereIntroduktion til funktioner, moduler og scopes i Python
Denne guide er oprindeligt udgivet på Eksperten.dk Introduktion til funktioner, moduler og scopes i Python Denne artikel er fortsættelsen af "I gang med Python", som blevet publiceret her på sitet for
Læs mereHvad 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 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 mereIntroduction til.net remoting i VB.NET
Denne guide er oprindeligt udgivet på Eksperten.dk Introduction til.net remoting i VB.NET Denne artikel beskriver teorien bag.net remoting og viser nogle simple kode eksempler i VB.NET. Den forudsætter
Læs mereEducasoft 2010 Side 1. Søgemaskineoptimering
Educasoft 2010 Side 1 Kurser: 2010 Søgemaskineoptimering Sælger din virksomhed nok via hjemmesiden? Lad kunderne finde din virksomhed - uden annoncering! Dette kursus henvender sig til virksomheder, der
Læs mereTest 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 merePID2000 Archive Service
PROLON CONTROL SYSTEMS Herstedvesterstræde 56 DK-2620 Albertslund Danmark Tlf.: (+45) 43620625 Fax: (+45) 43623125 PID2000 Archive Service Bruger vejledning Juni 2002 Denne manual beskriver brugen af softwaren
Læs mereSeptimas høringssvar vedrørende dokumenteterne FKG datamodellen - Version 2 3 1 - Fysisk implementering.pdf og FKG_2_3_1_mssql.sql
Septima P/S Larsbjørnsstræde 3 1454 København K +45 7230 0672 www.septima.dk 31. juli 2013 Septimas høringssvar vedrørende dokumenteterne FKG datamodellen - Version 2 3 1 - Fysisk implementering.pdf og
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 mereA 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 mereObjektorientering. Programkvalitet
1 PROSA-Bladet nr. 4 1993 Objektorientering = Programkvalitet? Af Finn Nordbjerg, adjunkt ved Datamatikeruddannelsen, Aalborg Handelskole 1. Indledning Objektorientering er blevet et edb-fagets mest udbredte
Læs mereSammenligning af Objekt-orienteret databaser og Relationelle databaser.
Sammenligning af Objekt-orienteret databaser og Relationelle databaser. Af Louis Fleron Databaser OODBMS og RDBMS PBS10101 Louis Fleron Side 2 Af 11 Indholdsfortegnelse 1. Forord....3 2. Hvad er et OODBMS?...3
Læs mereData 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 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 mereDatabase "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 mereTietgenskolen - 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 mereKursusarbejde 2 Grundlæggende Programmering
Kursusarbejde 2 Grundlæggende Programmering Arne Jørgensen, 300473-2919 klasse dm032-1a 31. oktober 2003 Indhold 1. Kode 2 1.1. hotel.h.................................................... 2 1.2. hotel.cc...................................................
Læs mereModern Concurrency Abstractions for C#
Modern Concurrency Abstractions for C# Nick Benton Luca Cardelli Cédric Fournet Presenter: Henrik Kragh-Hansen September 27, 2007 Motivation for concurrency Forbedring af concurrency Baggrundsinformation
Læs mereDM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2019 Projekt, del III Institut for matematik og datalogi Syddansk Universitet 10. april, 2019 Dette projekt udleveres i tre dele. Hver del har sin deadline, således
Læs mereRMI introduktion. Denne artikel beskriver Java RMI (Remtote Method Invocation).
Denne guide er oprindeligt udgivet på Eksperten.dk RMI introduktion Denne artikel beskriver Java RMI (Remtote Method Invocation). Den beskriver teorien bag RMI, viser et simpelt kode eksempel og forklarer
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 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 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 mereb) Udvid din implementation af forme til at understøtte.equals. To objekter af samme form er ens hvis de har samme værdier i felterne.
Exercise 1: Opgave 9.1 på CodeJudge. a) Lav klasserne Cirkel, Rektangel og Kvadrat, som implementerer vedhæftede interface From.java (se CodeJudge). Lav Rektangel før du laver Kvadrat. Kan du bruge nedarvning
Læs mereSYSTEMDOKUMENTATION AF POC
DIGITALISERINGSSTYRELSEN POC PÅ ORKESTRERINGSKOMPONENTEN SYSTEMDOKUMENTATION AF POC Version: 1.1 Status: Endelig Godkender: Forfatter: Copyright 2019 Netcompany. All rights reserved Dokumenthistorik Version
Læs mereFoto-Applikation Dokumentation. Et Kod-i-Ferien projekt
Foto-Applikation Dokumentation Et Kod-i-Ferien projekt 1 Indholdsfortegnelse Systemets generelle opsætning... 3 Systemets elementer... 4 iphone applikation... 4 PHP-script... 4 Wordpress-plugin... 4 Website...
Læs mereBypassing the. Brian Marick
Bypassing the GUI Brian Marick Problemer med GUI GUI er designet for mennesker, ikke automatisering Automatiseret test af GUI kræver specialiseret værktøjer Har tildens til at bryde ned når der sker ændringer
Læs mereNC_71 Quick Guide v1.0. CJ1W-NC_71 Mechatrolink-II Position Control Unit. Quick Guide
Quick Guide v1.0 CJ1W- Mechatrolink-II Position Control Unit Quick Guide Denne quick guide er ment som supplement til de respektive manualer for CJ1W- modulet og de monterede servodrev. Guiden beskriver
Læs mereIT-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 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 mereSpecifikation Abstrakt OO OS-API Rev. 1.7. Specifikation. Abstrakt, objektorienteret operativsystem-api
Specifikation Abstrakt, objektorienteret operativsystem-api Indhold 1 Indledning... 3 1.1 Introduktion... 3 1.2 Formål... 3 1.3 Overordnede krav... 3 2 Ressourcer i OS-API et... 4 2.1 Tråde... 4 2.2 Timere...
Læs mereKlasser og Objekter i Python. Uge 46 Learning Python: kap 15-16, 19-22.
Klasser og Objekter i Python Uge 46 Learning Python: kap 15-16, 19-22. Klasser og objekter En klasse beskriver en klump af samhørende funktioner og variable En klasse er en beskrivelse. En kage form Klassens
Læs mereHvilket 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 mereErfaringer 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 mereEksempel: et ordresystem note 5 Lagdeling s. 1
Eksempel: et ordresystem note 5 Lagdeling s. 1 Eksempel: et ordre-system NiceHair er et firma, som sælger udstyr, inventar og frisørartikler til frisørsaloner over hele landet. Det er ejet af et ægtepar
Læs mereJava Klasse nedarvninger
Denne guide er oprindeligt udgivet på Eksperten.dk Java Klasse nedarvninger Et let lille overblik i hvordan klasse nedarvning virker i java Skrevet den 07. dec 2011 af mochners I kategorien Programmering
Læs mereData repository løsningsbeskrivelse
Indhold Dokument status... 1 Beskrivelse af ICT s Analytiske Arbejdsområde... 2 Teknisk setup med Hadoop og Hive... 2 Arbejdsområder... 2 Arbejdsområder Udestående:... 3 Arkivet... 3 Arkivet Udestående:...
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 mereAnvendelse af metoder - Programmering
Denne guide er oprindeligt udgivet på Eksperten.dk Anvendelse af metoder - Programmering En forhåbentlig rigtig god forklaring på hvad metoder er og hvordan de anvendes. Lidt om private og public, retur
Læs mereDatatekniker med programmering som speciale
Datatekniker med programmering som speciale H3 H1 varer ti uger bestående af syv uddannelsesspecifikke fag, samt 2 Valgfri Udannelsesspecifikke Fag og 1 Valgfrit Speciale Fag Indhold På H2 er der fokus
Læs mere2. Systemarkitektur... 2
Indholdsfortegnelse 2. Systemarkitektur... 2 2.1 Præsentationsserverarkitektur... 3 2.2 Applikationsserverarkitektur... 7 Version 7.0 Side 1 af 7 5. Systemarkitektur Arkitekturen for Nyt BBR bygger på
Læs mereUniversity of Southern Denmark Syddansk Universitet. DM502 Forelæsning 4
DM502 Forelæsning 4 Flere kontrolstrukturer for-løkke switch-case Metoder Indhold Arrays og sortering af arrays String-funktioner for-løkke Ofte har man brug for at udføre det samme kode, for en sekvens
Læs mereDatatekniker med programmering som speciale
Datatekniker med programmering som speciale H1 H1 varer ti uger bestående af ti uddannelsesspecifikke fag. Indhold På H1 beskæftiger du dig med at lære at programmere helt fra bunden. Forløbet er designet
Læs mereEasyRun En løbers bedste ven
En løbers bedsteven Anders Arnfast 06525, Martin Søberg 0655, Ken Falk 06504 09 . INDHOLD. Indhold... 2 2. Introduktion... 3 Opsætning... 3 3. System arkitekturdesign... 4 4. Hardware Design... 5 Ethernet
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 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 mereDvs. at give dit program muligheden for at loade og bruge plugins som andre har lavet.
Denne guide er oprindeligt udgivet på Eksperten.dk Refleksion med.net Refleksion bruges til at undersøge klasser på runtime tidspunktet. Se hvordan du f.eks. loader en klasse fra en DLL, gennemkigger dens
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 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 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