Om foredragsholderen
|
|
- Eva Nissen
- 8 år siden
- Visninger:
Transkript
1 Om foredragsholderen Svenne Krap Cand.Merc Selvstændig programmør, DBA og SysAdmin Arbejdet med databaser i ti år (Mysql, DB2, Oracle, SQL Server og PostgreSQL) Arbejdet med PostgreSQL siden 1999
2 På dette foredrag Databaser generelt (7 slides) PostgreSQL (12 slides) Første gang (11 slides) Hands on (24 slides + live session) Afslutning
3 Databaser generelt
4 Hvad er en RDBS? En database (RDBS) er konceptuelt set en black-box storage engine, der styres via et kunstigt sprog (SQL). Databaser har to typer kommandoer, administrationskommandoer (DDL) og brugskommandoer (DML). De typiske (DML) er select, insert, update og delete.
5 Hvad er en RDBS (2) Et antal homogene data (kaldet rækker) har et antal målepunkter (kaldet felter) og samles i en tabel, et antal tabeller samles i en database. Først defineres datas udseende med create table (DDL), hvorefter de kan behandles med DMLkommandoer, fx. indsættes med insert. Eksisterende data kan opdateres med update eller slettes med delete. Endeligt kan data forespørges med select.
6 Hvad er en RDBS (3) Det er vigtigt at holde sig for øje, at SQL tænker i mængder, hvilket betyder at en forespørgsel sagtens kan være resultatløs men korrekt. Forestil jer: vælg alle deltagere (i rummet her), der er højere end 40 meter. Eller: Vælg alle tal som er lige og som er ulige Der er ikke noget galt med forespørgslerne, men der er (formodentligt) ikke nogen der opfylder kriteret. Dvs databasen ville svare tilbage ok, ingen fundet.
7 Hvad er en RDBS (4) Husk at selvom data typisk vises i en grid-control, har databaser konceptuelt meget lidt med regneark at gøre! For databaser er der et koncept af aktuel række, og den kan ikke referere til rækker før eller efter sig selv (men til sine egne felter og andre forespørgsler).
8 Den magiske select SELECT felter FROM kilder WHERE betingelser ORDER BY sortering Der sker nu (konceptuelt): Saml kilder Eliminer rækker der ikke opfylder betingelser Kopier / Skab felter til resultat Sorter resultat
9 Hvordan bliver man god til SQL 1) Tænk i mængde sprog fx. giv mig alle dem, hvor det (ikke) gælder at osv 2)Tænk i samme rækkefølge som databasen (kilder, begræsninger, felter og sortering) 3)Tænk på at der typisk er mere end en måde at udtrykke det samme på. (også med hensyn til hastighed) 4)Divide and conquer, prøv ikke at løse hele problemet (forespørgslen) i et forsøg, men tag den bid for bid alle databaser har gode interaktive værktøjer! 5)Lær og brug profiling værktøjerne (EXPLAN/EXPLAIN ANALYZE i PostgreSQL) 6)Lær og brug så mange features som muligt i SQL (der er en årsag til de findes!) 7) Undgå gui-værktøjerne Easy is the worst enemy of skilled 8)Øvelse gør mester
10 Termer brugt i dette foredrag Nogle database termer har forskellig mening ved forskellige leverandører, i dette foredrag betyder: Server = fysisk maskine Instans = een kørende udgave på en server lyttende til en given port på en given IP-adresse (flere instanser kan køre på samme server) Database = en samling af data kørende i een instans. Flere databaser kan køre simultant i en instans. Schema = namespaces i en given database
11 PostgreSQL
12 PostgreSQL historie 1977 Berkeley: Ingres (nu Computer Ass.) 1986 Berkeley: post Ingres (Postgres) Kommercielt Illustra -> Informix (nu, IBM) 1994: RIP Postgres 1995 Berkeley: SQL engine -> Postgres Udvikling uden for Berkeley PostgreSQL 6.0 (1996) Idag, PostgreSQL (8.3 i feature freeze)
13 PostgreSQL filosofi Datasikkerhed (ACID) Atomicity (transactions) Consistency (foreign keys) Isolation (transactions) Durability Korrekthed Count(*) Stabilitet Hastighed
14 PostgreSQL facts 'n' features BSD Licens (og kommercielle søskende) Alle POSIX platforme + Win32 Det meste af SQL92 og SQL99 MVCC (multi version concurrency control) VACUUM, men ingen undolog Native BLOBS og CLOBS (TOAST) Interfaces: C, C++,.NET, Perl, Python, Ruby, Tcl, JDBC, ODBC osv. PLs: Java, Perl, Python, Ruby, Tcl, C/C++, PL/PgSQL, R Unicode og Locale* Max Tablesize: 32TB Rowsize: 1,6TB Fieldsize: 1GB Columns:
15 PostgreSQL facts 'n' features (2) SQL 92/99 support: Subqueries (også i from-klausuler) read committed & serializable transaction levels Information schema (multi-column) Pkeys, Fkeys (restrict/cascade), check constraints, unique & not nulls Sequences LIMIT/OFFSET Partial og Functional indexes Table inheritance Async notification
16 Fremtiden 8.3 (lige om hjørnet): Tsearch2 (full-text) i core Asynkron commit Updateable cursors XML Masser af performance ting Senere: Fuld locale support Replikering i core Politik: Major release = 18 mdr., 8.3 = 12ish mdr., 8.4+ ukendt Kun nye features i major releases (kræver dump/restore)!
17 Hvem bruger PostgreSQL? Mig :) BASF.ORG Universiteter (Berkeley, Alabama, NSW, Oslo, Sydney, Prag) U.N. US CDC US Dep. of Labor Creative Commons IMDB Macworld Debian Sourceforge Fujitsu Sun Cisco Skype
18 PostgreSQL vs. andre MVCC er pessimistic version control Transaction levels kan være stricter end forespurgt Ingen planner hints (men sofistikeret statistisk optimizer) Aldrig uden for transactions (dog auto trans. wrap) PL/pgsql ligner PL/SQL (oracle) SQL syntax (MySQL: pas på string concat.) Ingen storage engines, ingen memory tables Contrib og andet eksternt udviklet Tsearch2 PostGIS Slony
19 PostgreSQL vs. andre (2) Ingen cross database selects! (dblink findes dog) Meget udvidbar (types, aggregates, languages, operators, conversions, rules) Kun to filer (pg_hba.conf, postgresql.conf) Alle catalog data ligger i basen (pg_...) og kan modificeres via SQL. from-less selects as i column alias er ikke optionelt Længdeangivelse på varchar ej nødvendig Count(*) Normalt ingen explict håndtering af CLOB eller BLOB pga. TOAST
20 Performance Generelt god, skaleringsproblemer ved store systemer (16+ CPUer, store disk systemer). Kører single-threaded.. dvs. multi-core/cpu kan kun udnyttes ved tilstrækkeligt antal simultane queries (kommerciel Bizgres MPP) Ikke så mange knobs and switches i opsætning, overlader så meget caching som muligt til O/S. Ingen planner hints
21 Performance (2) For x86 lineær skalering til ca. 10 concurrent queries, herfra flat Niagara længere lineær skalering, dog væsentlig lower throughput (single threading) Ved concurrency > 10 på woodcrest 3.0 = 600 rps
22 Performance (3) Skalerer lineært optil ca. 5 i concurrency derpå ydelsesfald! På intet tidspunkt over 525ish på 3.0 Woodcrest
23 Perfomance (4) Første industry standard benchmark (Jun 2007): SPECjAppServer2004 Næste benchmark (Jul 2007): SPECjAppServer2004 Oracle på lignende* hardware: 1000ish
24 Første gang
25 Installation og upgrade Installation: Installer pakke Initdb (eller re-initdb) Tun postgresql.conf og pg_hba.conf Tænd Profit... Upgrades Indenfor major release (8.2.1->8.2.4) : installer pakke Fra en major til en anden: 1) Installer ny version parallelt 2) DUMP gammel data med NY pg_dump! 3) Import dump i ny (psql < dump.sql)
26 Vedligehold Problem: Pessimistic storage strategy = dead rows Løsning: VACUUM (FULL/ANALYZE/FREEZE) Ny løsning: Auto vacuum daemon I praksis gør man tit begge dele Ellers glem den findes og brug den!
27 Brug Værktøjer: psql (cli) PhpPgAdmin (web) PgAdminIII (gui) Shelltools (createuser, createlang) Egne tools (husk psql -E) Jeg bruger primært psql (+ egne scripts + vcs), men afhængigt af opgave også de andre... HUSK: PgAdmin3 er IKKE til at vurdere perf. med (net latency + sløv gridcontrol tælles med!)
28 Sikkerhed Brugere laves direkte i sql (CREATE ROLE <navn> with password '<password>' LOGIN), adgang til baser styres via PG_HBA.CONF (husk HUP postmaster) samt evt. CONNECT-privilege. To adgangsveje: Lokale unix-sockets TCP/IP ( med/uden SSL) To modes : Trust Password/MD5
29 Første gang Næsten altid re-initdb... tegnsæt/locale Default user postgres Default database template1 Dvs. psql template1 postgres Første to normale kommandoer 1) create role sk with password 'secret' login; 2) create database sk with owner sk; Hvis min unixacc. er sk kan jeg nu logge på via psql eller psql database-navn da default via unix-sockets er trust.
30 Performance i 5 simple steps * 1) ALTID, ALTID nyeste, stable version! 6.x, 7.x, 8.0.x, 8.1.x (snart +8.2) er gammelt l*rt! ca. 20 % performance ekstra for hver major release siden 7.0 Meget lidt backportes (af core team) 2) Shared_buffers og Effective_cache_size til hhv. 0,25 og 0,50 gange system memory (husk sysctl) 3)ANALYZE (eller bedre VACUUM ANALYZE) tabeller tit og altid ved problemer med en tabel! 4)log_min_duration_statement for at finde sløve queries 5)EXPLAIN og EXPLAIN ANALYZE dine queries
31 En RL-optimering På en kundes system loadede en PHP-side på 20 sekunder. Siden indeholdt tre queries, hvoraf to afsluttede sub-sekund. Den sidste leverede det rette resultat, men langsomt. Først lidt statistik: > select count(*) from runs; count (1 row) > select count(*) from company_run; count (1 row)
32 En RL-optimering (2) explain analyze select r.*, (select count(*) from company_run where run_id = r.id) as leadcount from runs r where gone_through = true and not exists (select null from runs r2 where gone_through = false and r2.zipcode = r.zipcode) and not exists(select null from runs r3 where r3.zipcode = r.zipcode and r3.ts > r.ts) order by id; QUERY PLAN Index Scan using runs_pkey on runs r (cost= rows=225 width=37) (actual time= rows=699 loops=1) Filter: (gone_through AND (NOT (subplan)) AND (NOT (subplan))) SubPlan -> Seq Scan on runs r3 (cost= rows=1 width=0) (actual time= rows=1 loops=1484) Filter: ((zipcode = $1) AND (ts > $2)) -> Seq Scan on runs r2 (cost= rows=1 width=0) (actual time= rows=0 loops=1490) Filter: ((NOT gone_through) AND (zipcode = $1)) -> Aggregate (cost= rows=1 width=0) (actual time= rows=1 loops=699) -> Seq Scan on company_run (cost= rows=241 width=0) (actual time= rows=95 loops=699) Filter: (run_id = $0) Total runtime: ms (11 rows) Inner-loop * 27,119 ms = 18,95 sekunder!
33 En RL-optimering (3) create index company_run_run_id on company_run(run_id); explain analyze select r.*, (select count(*) from company_run where run_id = r.id) as leadcount from runs r where gone_through = true and not exists (select null from runs r2 where gone_through = false and r2.zipcode = r.zipcode) and not exists(select null from runs r3 where r3.zipcode = r.zipcode and r3.ts > r.ts) order by id; QUERY PLAN Index Scan using runs_pkey on runs r (cost= rows=225 width=37) (actual time= rows=699 loops=1) Filter: (gone_through AND (NOT (subplan)) AND (NOT (subplan))) SubPlan -> Seq Scan on runs r3 (cost= rows=1 width=0) (actual time= rows=1 loops=1484) Filter: ((zipcode = $1) AND (ts > $2)) -> Seq Scan on runs r2 (cost= rows=1 width=0) (actual time= rows=0 loops=1490) Filter: ((NOT gone_through) AND (zipcode = $1)) -> Aggregate (cost= rows=1 width=0) (actual time= rows=1 loops=699) -> Bitmap Heap Scan on company_run (cost= rows=241 width=0) (actual time= rows=95 loops=699) Recheck Cond: (run_id = $0) -> Bitmap Index Scan on company_run_run_id (cost= rows=241 width=0) (actual time= rows=95 loops=699) Index Cond: (run_id = $0) Total runtime: ms (13 rows) Inner-loop nu 699 * 0,280 ms = 195,72 ms!
34 En RL-optimering (4) create index runs_not_gone_through_zipcode on runs(zipcode) where gone_through = false; explain analyze select r.*, (select count(*) from company_run where run_id = r.id) as leadcount from runs r where gone_through = true and not exists (select null from runs r2 where gone_through = false and r2.zipcode = r.zipcode) and not exists(select null from runs r3 where r3.zipcode = r.zipcode and r3.ts > r.ts) order by id ; QUERY PLAN Index Scan using runs_pkey on runs r (cost= rows=225 width=37) (actual time= rows=699 loops=1) Filter: (gone_through AND (NOT (subplan)) AND (NOT (subplan))) SubPlan -> Seq Scan on runs r3 (cost= rows=1 width=0) (actual time= rows=1 loops=1484) Filter: ((zipcode = $1) AND (ts > $2)) -> Index Scan using runs_not_gone_through_zipcode on runs r2 (cost= rows=1 width=0) (actual time= rows=0 loops=1490) Index Cond: (zipcode = $1) -> Aggregate (cost= rows=1 width=0) (actual time= rows=1 loops=699) -> Bitmap Heap Scan on company_run (cost= rows=241 width=0) (actual time= rows=95 loops=699) Recheck Cond: (run_id = $0) -> Bitmap Index Scan on company_run_run_id (cost= rows=241 width=0) (actual time= rows=95 loops=699) Index Cond: (run_id = $0) Total runtime: ms (13 rows)
35 En RL-optimering (5) create index runs_zipcode on runs(zipcode) ; explain analyze select r.*, (select count(*) from company_run where run_id = r.id) as leadcount from runs r where gone_through = true and not exists (select null from runs r2 where gone_through = false and r2.zipcode = r.zipcode) and not exists(select null from runs r3 where r3.zipcode = r.zipcode and r3.ts > r.ts) order by id ; QUERY PLAN Index Scan using runs_pkey on runs r (cost= rows=225 width=37) (actual time= rows=699 loops=1) Filter: (gone_through AND (NOT (subplan)) AND (NOT (subplan))) SubPlan -> Bitmap Heap Scan on runs r3 (cost= rows=1 width=0) (actual time= rows=1 loops=1484) Recheck Cond: (zipcode = $1) Filter: (ts > $2) -> Bitmap Index Scan on runs_zipcode (cost= rows=2 width=0) (actual time= rows=3 loops=1484) Index Cond: (zipcode = $1) -> Bitmap Heap Scan on runs r2 (cost= rows=1 width=0) (actual time= rows=0 loops=1490) Recheck Cond: (zipcode = $1) Filter: (NOT gone_through) -> Bitmap Index Scan on runs_zipcode (cost= rows=2 width=0) (actual time= rows=3 loops=1490) Index Cond: (zipcode = $1) -> Aggregate (cost= rows=1 width=0) (actual time= rows=1 loops=699) -> Bitmap Heap Scan on company_run (cost= rows=241 width=0) (actual time= rows=95 loops=699) Recheck Cond: (run_id = $0) -> Bitmap Index Scan on company_run_run_id (cost= rows=241 width=0) (actual time= rows=95 loops=699) Index Cond: (run_id = $0) Total runtime: ms (19 rows)
36 Hands on
37 Limit/offset Bruges til at begrænse antallet af rækker, og flytte vinduet. select * from sometable order by id limit 10; select * from sometable order by id limit 10 offset 10; Husk selects uden order by er i tilfældig rækkefølge (typisk disklayout) og bør konceptuelt ikke bruges med limit/offset.
38 Sequences Når du skal bruge et autogenereret id-felt Er et navngivet objekt der giver næste tal i en række Garanti mod overlap, ikke mod huller! Skabes via CREATE SEQUENCE <navn> Kender principielt set kun 2 funktioner: nextval('<navn>') currval('<navn>') Kan dog selectes som tabel (mere info, ingen fremføring) Pseudotype serial sparer lidt tid: Serial = int4 not null default nextval('<tabelnavn>_seq')
39 Sequences DEMO create table test1 (id serial, navn varchar, primary key(id)); NOTICE: CREATE TABLE will create implicit sequence "test1_id_seq" for serial column "test1.id" NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "test1_pkey" for table "test1" CREATE TABLE insert into test1(navn) values ('Kurt'); INSERT 0 1 insert into test1(id, navn) values (default, 'Jens'); INSERT 0 1 insert into test1(id, navn) values (null, 'Ole'); ERROR: null value in column "id" violates not-null constraint select nextval('test1_id_seq'); nextval (1 row) insert into test1(id, navn) values (3, 'Niels'); INSERT 0 1
40 Sequences DEMO (2) create sequence customer_id_seq; create table company(company_id int4 not null default nextval('customer_id_seq'), company_name varchar not null, primary key(company_id)); create table person(person_id int4 not null default nextval('customer_id_seq'), person_name varchar not null, employee_of int4 not null references company, primary key(person_id));
41 Typer og casting PostgreSQL forsøger selv at finde de rette datatyper og konvertere om muligt. Nogle gange lykkes det ikke, og der kan man foran tekst angive et type-hint. Man kan også tvinge en type via CAST-funktionen eller dobbelt-kolon.
42 Typer og casting DEMO select '3'; select integer '3'; select float '3'; select 8/3; select cast(8 as float)/3; select 8 / 3::float; select ( * 1.04^50)::int4; select ' '; select date ' '; select timestamp ' ';
43 Tid og dato håndtering Fire datatyper handler om tid og dato: Date en simpel dato ' ' Timestamp er en dato og tid ' :45:00' Interval differencen mellem to Timestamps Time tid Date understøtter simpel addering og substrahering af heltal. Fx. ' ' + 5 = ' ' Timestamp kan adderes og substraheres af intervaller. Fx. ' :45:00' + interval '5 days' = ' :45:00'
44 Tid og dato håndtering (2) Vigtige funktioner: date_trunc(text,timestamp) beskærer timestamp til given præcision, fx. select date_trunc('quarter', ' :50:39'::timestamp); date_trunc :00:00 (1 row) extract(field from timestamp) henter (int) værdi fra timestamp
45 Tid og dato håndtering DEMO select age(' :50:00'::timestamp); select timestamp ' ' - timestamp ' '; select timestamp ' ' + interval '200 days'; select current_timestamp; select date_trunc('quarter', current_timestamp);
46 Transaktioner Transaktioner er krumptappen i ACID-compliant databaser. En transaktion sikrer at en gruppe af kommandoer enten alle sker eller slet ikke sker. Fire modes Read dirty: læs data som de er read committed: sikrer clean data Read repeated: sikrer at data forbliver ens i hele transaktionen Serializable: meget strengere, transaktioner failer ved ændrede data og skal nogle gange prøves igen
47 Transaktioner (2) Read committed er typisk standard. Kan fx. bruges til delete and re-fill strategier (dermed ingen huller i data availability). Serilizable bruges fx. til bank-konti. Transaktioner kan ikke køre parallelt da de ligger under fælles constraint (kontostand skal være større end 0 fx.) Serializable fejler hvis forudsætningerne ændrer sig.
48 Transactions i PGSQL PostgreSQL kører auto-commit mode som default, kun ganske få strukturelle kommandoer kører uden transaktioner. Auto-transaction mode disables ved explicit begin og explicit commit / rollback. Kun to modes mulige (pga. MVCC) : read committed og serializable. Uanvendelige modes opgraderes til strengere (read repeated -> serializable)
49 Foreign keys FKey sikrer at en reference til en anden tabel er gyldig. Ved indsættelse fejler transaktionen hvis referencen er ugyldig. Efterfølgende kan der ved ændringer (og sletninger) specificeres en af følgende strategier: Restrict (ændring mislykkes) Cascade (viderefør ændring) Set null Set default
50 Foreign keys DEMO create table companies(id serial, name varchar not null, primary key(id)); create table employees (id serial,name varchar not null, company_id int4 not null references company on update restrict on delete cascade, primary key(id));
51 Domains Bruges til at sikre ensartede datavalidering : create function test_ (varchar) returns boolean as... create domain nametype as varchar not null; create domain type as varchar check (test_ (value)); create table company (id serial, name nametype, type,... create table person(id serial, name nametype, type...) Nu er: - name not null - testes af funktion (men er ikke not null)
52 Partial Indexes Nogle gange findes data hvor kun et lille subset er interessant hele tiden (is_current = true). Partial indexes kan her både hjælpe på performance (pga. fysisk mindre indexes) og garantere uniqueness på det aktive sæt
53 Partial Indexes DEMO create table documents( id serial, filename varchar not null, is_current boolean not null default true, content varchar, primary key(id)); create unique index document_current_filename on documents(filename) where is_current = true; insert into documents (filename, content, is_current) values ('note.txt', 'husk 1', false); insert into documents (filename, content, is_current) values ('note.txt', 'husk 2', false); insert into documents (filename, content, is_current) values ('note.txt', 'husk 3', true); insert into documents (filename, content, is_current) values ('note.txt', 'husk 4', true); update documents set is_current = false where filename = 'note.txt' and is_current = true; insert into documents (filename, content, is_current) values ('note.txt', 'husk 4', true);
54 Functional indexes create table users (id serial, alias varchar not null, full_name varchar not null, primary key(id)); create index users_alias_ix on users(alias); Nu ønskes case-insensitive search på alias. select * from users where lower(alias) = 'something' Denne bruger dog ikke index, men dette kan opnås via create index users_alias_cis_ix on users(lower(alias));
55 Triggers Er en mekanisme til at køre en (PL) funktion ved ændringer i data (inserts/updates/deletes). Triggers kan kører FØR eller EFTER ændringen Triggers kan være på række eller statement niveau Triggers kan ændre data, blokere ændringen eller udføre yderligere ting (audit log fx).
56 Triggers DEMO create table login (id serial, username varchar, password varchar, valid_from timestamp not null default current_timestamp, valid_until timestamp, primary key(id)); create or replace function login_password_scrambler() returns trigger as $$ begin NEW.password = md5(new.password); return NEW; end; $$ language plpgsql; create trigger login_password_scrambler_trg before update or insert on login for each row execute procedure login_password_scrambler(); create or replace function login(username varchar, password varchar) returns setof login as $$ select * from login where username = $1 and password = md5($2) and (valid_until is null or valid_until > current_timestamp) ; $$ language sql; insert into login(username,password) values ('sk','password'); select * from login; select * from login('sk','password');
57 Triggers DEMO (2) create or replace function password_generator() returns varchar as $$ select varchar 'secret'; $$ language sql; create or replace function new_password(id int4) returns varchar as $$ declare holder varchar; begin select into holder password_generator(); update login set password = holder where id = $1; return holder; end; $$ language plpgsql;
58 Subqueries Laver et query i query. Tre typer: - where select * from users where company_id in (select id from companies where...) - from select id, 1- pct as rebate, value as list_price, pct * value as your_price from (select id, random() * 0.1 as pct, value from goods) - resultat select id, (select sum(value) from subtable st where st.id = mt.id) from maintable mt
59 Set-returning functions Demo create type mytype as (id int4, id2 int4); create or replace function myid(int4) returns setof mytype as $$ select * from generate_series(1,$1) a, generate_series(1,$1) b; $$ language sql; select *, cid * id * id2 as result from (select cid, (myid(cid)).* from generate_series (2,4) as c(cid)) x order by result desc; select * from myid(8) where id2 < id;
60 Schemas Er en måde at strukturere sine data på (tænk stier ). Vigtige kommanoder: create schema rapporter; set search_path = public, rapporter; create table schema.table select * from schema.table; Default search_path er $user, public
61 Afslutning
62 Interessante urls (sourceforge for PG projekter) (PostgreSQL blog) (PostgreSQL General Bits) (technical docs)
63 Videre herfra? For avanceret og hurtig sql generelt: For PostgreSQL: (rtfm) Især: II The SQL Language 8. Datatypes 9. Functions and Operators 12. Concurrency Control V Server Programming 33. Extending SQL 37. PL/pgSQL VI Reference I. SQL Commands
64 Tak for idag Spørgsmål?
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
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 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 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 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 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 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 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 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 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 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 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 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 mereDatabasesystemer. IT Universitetet i København 16. januar 2006
Databasesystemer IT Universitetet i København 16. januar 2006 Eksamenssættet består af 5 opgaver med 16 spørgsmål, fordelt på 6 sider (inklusiv denne side), samt et svarark, hvor visse spørgsmål skal besvares.
Læs 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 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 mereSQL Server 2016 Data Adgang
SQL Server 2016 Data Adgang MSBIP, 5. OKTOBER, 2015 Agenda SQL Server 2016 CTP 2.3 Pragmatisk Data Adgangskontrol Row Level Security Dynamic Masking Kombination af begge Alternativet Hvem er jeg Selvstændig
Læs mereRigtig SQL Programmering
Rigtig SQL Programmering 1 SQL i Rigtige Programmer Indtil nu har vi brugt SQL direkte i kommandolinje promt/gui program, hvor vi kan lave forespørgsler til databasen I virkeligheden: Programmer kontakter
Læs 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 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 mereDatabase optimering - Indeks
Database optimering - Indeks Alle kender til dette irritations moment, hvor programmet man sidder og arbejder med, bare ikke er hurtigt nok. Selvom det kun drejer sig om få sekunder man sidder og venter,
Læs 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 mereFå sin querystring til at fungere. (Nybegyndere)
Denne guide er oprindeligt udgivet på Eksperten.dk Få sin querystring til at fungere. (Nybegyndere) Artikelen henvender sig til nybegyndere der har problemer med at få sin querystring til at fungere (Access/ASP).
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 mereWeb Admin 5.5. Brugsvejledning for Domain admin. Copyright 2003 Gullestrup.net
Web Admin 5.5 Copyright 2003 Gullestrup.net Log ind på systemet Start med at gå ind på http://mailadmin.gullestrup.net i din browser. Indtast din Email Adresse samt Password, som du tidligere har modtaget
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 mereWeb Admin 5.5. Brugsvejledning for User admin. Copyright 2003 Gullestrup.net
Web Admin 5.5 Copyright 2003 Gullestrup.net Log ind på systemet Start med at gå ind på http://mailadmin.gullestrup.net i din browser. Indtast din Email Adresse samt Password, som hører til din konto, tryk
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 mereOpsætning af MobilePBX med Kalenderdatabase
Opsætning af MobilePBX med Kalenderdatabase Dette dokument beskriver hvorledes der installeres Symprex Exchange Connector og SQL Server Express for at MobilePBX kan benytte kalenderadadgang via database
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 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 mereIT Support Guide. Installation af netværksprinter (direkte IP print)
IT Support Guide Denne guide er hentet på www.spelling.dk Program: Microsoft Windows Vista Program sprog version: ENG (US) Guide emne: Installation af netværksprinter (direkte IP print) Publikationsnr.:
Læs mereInstallationsvejledning af ØS LDV
Installationsvejledning af ØS LDV Del 1 Klargøring af IT miljø Målgruppe: Systemansvarlig Januar 2011 Indledning Vejledningen er rettet til den systemansvarlige, der skal forestå den tekniske installering
Læs mereSøren Løbner (lobner) ddb Databaser 2007 10 10
ddb Excercise Week 4 Fra relationships til relations Nu når vi har fået vores skemaer på plads, kan SQL udtrykkene til konstruktion af relationerne laves Det foregår ved at vi tager en 1 til 1 oversættelse
Læs mere1 Indlæsning af script
1 Indlæsning af script Når opgraderingen af invokeren er foretaget, skal du indlæse et script på den SQL server, hvor I skal modtage jeres SLS-data. Scriptet henter du her http://www.oes.dk/sw49118.asp
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 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 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 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 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 mereCasper Fabricius http://casperfabricius.com. ActiveRecord. O/RM i Ruby on Rails
Casper Fabricius http://casperfabricius.com ActiveRecord O/RM i Ruby on Rails Casper Fabricius Freelance webudvikler - casperfabricius.com 9 års erfaring med webudvikling 6 år med ASP/ASP.NET/C# 3 år med
Læs mereOpsætning af Oracle Designer 10g repositorie
Opsætning af Oracle Designer 10g repositorie Dette dokument beskriver hvordan man opsætter det repositorie, som Oracle Designer gemmer sine data i. Udgangspunktet er at man har installeret Oracle Database
Læs 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 programmering
Introduktion til programmering Databaser Uge 38 L. Ingemann: SQL databaser på nettet, kap 2-4. Kompendium L. Ingemann: SQL databaser på nettet, kap 6-20, Kompendium Sidste gang Databaser Relationelle databaser
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 mereInstallation af Novapoint 19.35
Installation af Novapoint 19.35 Notatet her er en kort installationsvejledning til Novapoint version 19.35, der kun kan installeres på 64 bit versioner af: AutoCAD 2015 AutoCAD Map 3D 2015 AutoCAD Civil
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 mereNT PDC Udarbejdet af Kenneth Dalbjerg
NT PDC Udarbejdet af Kenneth Dalbjerg Titelblad Denne rapport er udarbejdet af Kenneth Dalbjerg, med det formål at lære noget omkring, NT PDC Server. Side 2 af 13 Indholdsfortegnelse Forside Titelblad
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 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 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 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 mereMapInfo Professional v11.0 & The MapInfo Location Intelligence Suite MapInfo Netværksmøder
MapInfo Professional v11.0 & The MapInfo Location Intelligence Suite MapInfo Netværksmøder Peter Horsbøll Møller, systems engineer Oktober 2011 Program MI Pro v11.0 overblik MI Pro Premium tjenester The
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 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 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 mereDB undervisning 01-01
Databaser... 2 Tabeller... 2 Redundans... 3 Første regel... 4 Anden regel... 4 Tredje regel... 5 Relationer... 5 Opskrift... 6 SQL sætninger til at oprette tabeller... 7 SQL sætninger til at indsætte data...
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 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 mereMSE PRESENTATION 2. Presented by Srunokshi.Kaniyur.Prema. Neelakantan Major Professor Dr. Torben Amtoft
CAPABILITY CONTROL LIST MSE PRESENTATION 2 Presented by Srunokshi.Kaniyur.Prema. Neelakantan Major Professor Dr. Torben Amtoft PRESENTATION OUTLINE Action items from phase 1 presentation tti Architecture
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 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 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 mereSAS2WPS Workshop. Torben Christensen! Senior Partner, MSc.! email: torben.christensen@uniqcus.com! tlf: +45 3064 9150. Copyright UniQcus 2014
SAS2WPS Workshop! Torben Christensen! Senior Partner, MSc.! email: torben.christensen@uniqcus.com! tlf: +45 3064 9150 Copyright UniQcus 2014 Torben Christensen 17 years with SAS institute (starting okt85)
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 mereInstruktioner i installation og afinstallation af Windows PostScript- og PCLprinterdrivere
Instruktioner i installation og afinstallation af Windows PostScript- og PCLprinterdrivere version 8 Denne fil med vigtige oplysninger indeholder en vejledning til installation af Custom PostScript- og
Læs mereBookie. IT-Universitetet i København. Grundlæggende Programmering. Eksamensprojekt. Forfattere: Sigrid Gyldenkærne Dalsgard Kasper Kronborg Isager
IT-Universitetet i København Grundlæggende Programmering Eksamensprojekt Bookie Forfattere: Sigrid Gyldenkærne Dalsgard Kasper Kronborg Isager Vejleder: Jesper Wendel Madsen 17. december 2014 Resumé Indhold
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 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 mereVejledning til Autodesk Account - Subscription
Vejledning til Autodesk Account - Subscription Denne vejledning beskriver, hvordan du logger på Autodesk Account samt de vigtigste funktioner, bl.a. download af software, hvor du finder serienumre, tildeling
Læs mereEksamen, DSDS, forår 2008
Eksamen, DSDS, forår 2008 Introduktion til Scripting, Databaser og Systemarkitektur Jonas Holbech IT Universitetet i København 3. juni 2008 Alle hjælpemidler er tilladte, dog ikke computer og kommunikationsmidler.
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 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 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 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 mereNEMT OG EFFEKTIVT - Ejendomsadministration
Ny Unik Bolig 4 version på trapperne Det er nu ca. 2 år siden, at første version af Unik Bolig 4 blev lanceret. Siden da er der blevet arbejdet hårdt på at forbedre versionen og finde på nye smarte ting
Læs mereDesign by Contract. Design and Programming by Contract. Oversigt. Prædikater
Design by Contract Design and Programming by Contract Anne Haxthausen ah@imm.dtu.dk Informatics and Mathematical Modelling Technical University of Denmark Design by Contract er en teknik til at specificere
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 mereInstallation af Elektronisk APV på flere PC er
Installation af Elektronisk APV på flere PC er Vejledning til installation af Elektronisk APV, når programmet skal installeres på flere PC er, der kobler sig op på en fælles server. 1 Installation af Elektronisk
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 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 mereTredje undervisningsgang. Database
Tredje undervisningsgang Database Denne undervisningsgang Lektier fra sidst Dagen eksempel database Mere ER diagrammer Matematikken bag databaser Forbind data til ny sæt praksis Keys og foreign keys -
Læs mereOpdatering af ISOWARE til version 6.1.0
Opdatering af ISOWARE til version 6.1.0 September 2015 Indhold Kontaktoplysninger... 1 VIGTIGT... 2 Opdatering af trejdepartssoftware... 2 Opdatering til version 6.1.0.... 2 1. Backup af databasen... 3
Læs mereSporbarhed og Rapportering i Quality Center. Kim Stenbo Nielsen NNIT Application Management Services
Sporbarhed og Rapportering i Quality Center Kim Stenbo Nielsen NNIT Application Management Services Indhold INTRODUKTION Hvem er jeg Hvad vil jeg fortælle om QC std. rapporteringsfaciliteter EXCEL RAPPORTER
Læs mereLESSOR-5. Inquiry (teknisk beskrivelse) Tilgængelighed for andre systemer
LESSOR-5 Inquiry (teknisk beskrivelse) Effektive og fleksible IT-løsninger til LØN, TID og HR Tilgængelighed for andre systemer LESSOR-5 Inquiry har til formål at gøre data i LESSOR-5 tilgængelig for andre
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 mereDatabase design for begyndere
Denne guide er oprindeligt udgivet på Eksperten.dk Database design for begyndere Denne artikel beskriver hvordan man kommer fra ide til database design. Den stopper inden normal former. Den forudsætter
Læs mereDatabasesystemer fra forskellige synsvinkler
Databasesystemer fra forskellige synsvinkler Kim Skak Larsen kslarsen@imada.sdu.dk IMADA DM534 Introduktion til datalogi, 8/10 2015 p.1/60 Oversigt Introduktion Del 1: en designers synsvinkel Del 2: en
Læs mere2. udgave April 2008 Tilpasset FirstClass version 8.3, dansk
Installation af SPAM-filter 2. udgave April 2008 Tilpasset FirstClass version 8.3, dansk Indhold Installation af SkoleKoms SPAM-filter... 3 Hvilke mails bliver placeret i SPAM mail-mappen?... 4 Hvordan
Læs mereKIH Database. Systemdokumentation for KIH Databasen. 1. maj 2013. Side 1 af 13
KIH Database Systemdokumentation for KIH Databasen 1. maj 2013 Side 1 af 13 Indholdsfortegnelse Indholdsfortegnelse... 2 Indledning... 3 Systemoverblik... 3 KIH Database applikationsserver... 5 Forudsætninger
Læs mereAnne Randorff Højen
Anne Randorff Højen arra@hst.aau.dk Forelæsning og opgaver: Introduktion til SQL pause Forlæsning og Opgaver: SQL 2. del pause Introduktion til PhPMyAdmin Opgaver SQL Der modelleres ud fra reelle relationer
Læs mereBuildvejledning (Release, patch og testversion)
Buildvejledning (Release, patch og testversion) 1. Opdater Post deployment filen for SBSYS hoved databasen. 2. Deploy til SBSYS databasen. 3. Build - fra og med version 1.95.00.00 4. Udarbejd historik
Læs mereKom godt igang med Inventar registrering
Kom godt igang med Inventar registrering (InventoryDB) (Med stregkodesupport) programmet fra PetriSoft Introduktion... 1 Inventar registrering... 2 Værktøjsudleje... 3 Service database til reperationer
Læs mereEasyIQ ConnectAnywhere Release note
EasyIQ ConnectAnywhere Release note Version 2.4 Der er over det sidste år lavet en lang række forbedringer, tiltag og fejlrettelser. Ændringer til forudsætningerne: o Klienten skal ved førstegangs login
Læs mereDagens program. Domæner. change log- screen shots hver gang I har arbejdet med themet. Arkitekturen bag en wp blog. Hvad er widgets.
Dagens program Har alle fået? Har nogen betalt for meget? Hav jeres koder klar Domæner change log- screen shots hver gang I har arbejdet med themet. Arkitekturen bag en wp blog Hvad er widgets Hvad er
Læs mereHELLO INSTALLATIONS GUIDE - DANSK RACKPEOPLE
HELLO INSTALLATIONS GUIDE - DANSK RACKPEOPLE 1 Tekniske Krav 1.1 Hardware krav: En skærm gerne med touch Hvis skærmen ikke har touch, skal du bruge et tastatur og en mus Webcam Gerne i HD En ekstern lydenhed
Læs mereIBM Network Station Manager. esuite 1.5 / NSM Integration. IBM Network Computer Division. tdc - 02/08/99 lotusnsm.prz Page 1
IBM Network Station Manager esuite 1.5 / NSM Integration IBM Network Computer Division tdc - 02/08/99 lotusnsm.prz Page 1 New esuite Settings in NSM The Lotus esuite Workplace administration option is
Læs mereMS Dynamics NAV 5.0 SP1 Update 2
Side 1 af 23 MS Dynamics NAV 5.0 SP1 Update 2 05. januar 2011 ØKO/MAC/MAG/ CRA/CPS SystemInfo Økonomistyrelsen udgiver, ved hver Navision Stat frigivelse, en beskrivelse af den samlede installation sammen
Læs mereVejledning til Autodesk Account - Subscription
Vejledning til Autodesk Account - Subscription Denne vejledning beskriver, hvordan du logger på Autodesk Account samt de vigtigste funktioner, bl.a. download af software, hvor du finder serienumre, tildeling
Læs mereDigital Print Room Implementering og tilretning. 11. Sep. 2001 TMC Plot-SIG
Digital Print Room Implementering og tilretning 11. Sep. 2001 TMC Plot-SIG Agenda. Priser. Forskellen mellem de 3 versioner. Hardware og software. Sikkerheden og opsætning af rettigheder. Opgradering fra
Læs mere