Anden undervisningsgang. Database

Størrelse: px
Starte visningen fra side:

Download "Anden undervisningsgang. Database"

Transkript

1 Anden undervisningsgang Database

2 Denne undervisningsgang Lektier fra sidst Forskellige database systemer Den relationelle model Normalformer uddybet Mere end CRUD Nøgler låser data op Forbind data til ny sæt - teori Forbind MySQL Workbench til MAMP Gennemgang af større eksempel 2

3 Lektier fra sidst Det der er produceret vises og forklares til underviseren og resten af klassen

4 Forskellige database systemer Og enkelte eksempler på brugere heraf

5 Oracle Database Oracle begyndte i 1979 som det første kommercielt tilgængelige relationelle database management system (RDBMS). Oracle's navn er synonymt med enterprise database systemer, urokkelig data levering og hård virksomhedskonkurrence fra CEO Larry Ellison. Oracle Database understøtter standard ANSI SQL men har også deres egne udvidelser, f.eks. Analytic SQL

6 Microsoft SQL Server Hvis du kører en Microsoft Windows-baseret server, vil du sandsynligvis køre SQL Server på Microsoft SQL Server. Kendt for sin brugervenlighed Understøtter standard SQL Har en række unikke værktøjer som SQL Server Profiler, SQL Server Management Studio, BI tools og Database Tuning Advisor.

7 IBM DB2 Den seneste udgave af DB2, DB2 11.1, kører på Linux, UNIX, Windows, IBM iseries og mainframes.

8 Informix En anden IBM-produkt løsning, Informix har en række versioner, der starter med Workgroup og Express Editions på arbejdsplan og opgraderer til Enterprise Edition, Enterprise Hypervisor Edition og endelig Informix Advanced Workgroup og Enterprise Editions med Informix Warehouse Accelerator (IWA). Informix fremhæver sine databaseløsninger som "intelligente databaser" til styring af internet af ting (IoT) data, med evnen til problemfrit at integrere SQL, NoSQL / JSON, timeseries og spatial data.

9 SAP Sybase ASE Sybase er stadig en stor spiller på enterprise markedet efter 25 års succes og forbedringer af Adaptive Server Enterprise-produktet. Selvom markedsandelen faldt i nogle år, har den set en stigning i næste generations transaktions-behandling efter at blive erhvervet af Sybase i 2010 og omdøbt til SAP Sybase Adaptive Server Enterprise (ASE). Sybase har også kastet en betydelig vægt bag den mobile virksomhed ved at levere partner løsninger til mobilenhedsmarkedet.

10 PostgreSQL PostgreSQL, eller blot Postgres, er et open-source objektrelations-baseret databasehåndterings-system (ORDBMS), der gemmer sig steder som online spilapplikationer, datacenter-automation og domæne-registre. PostgreSQL nyder også nogle højt profilerede opgaver på Skype og Yahoo

11 MySQL Solgt til Sun Microsystems i 2008, MySQL er siden 2009 blevet en del af Oracle-imperiet efter Suns overtagelse af Oracle. MySQL driver kommercielle hjemmesider i hundredtusindvis og den tjener også som backend for mange interne virksomheds-applikationer. I dag er MySQL stadig en meget populær løsning til brug i webapplikationer, og den fortsætter med at fungere som en central komponent i LAMP open source-applikations-softwarepakken sammen med Linux, Apache og PHP (eller Python eller Perl). MySQLs støtte fra brugere og udviklere er eroderet i løbet af årene efter Oracles overtagelse. MySQLs tilbagegang har bidraget til at styrke andre open source-databasemuligheder og forks af MySQL som den fuldt open source MariaDB, der ikke indeholder closed source modsat nyere versioner af MySQL Enterprise Edition som Percona og det cloud-optimerede Drizzle databasesystem.

12 MariaDB Enterprise MariaDB Enterprise er et fuldt open source databasesystem med alle kode udgivet under GPL, LGPL eller BSD. MariaDB stammer fra 2009 som en community-driven fork af MySQL RDBMS og ledes af de oprindelige udviklere af MySQL, der skabte forken efter bekymringer over Oracles erhvervelse af MySQL. MariaDB har set sin popularitet eksplodere for nylig på bekostning af MySQL, især i sin støtte af populære Linux distributioner. I 2013 alene gik Red Hat Enterprise Linux (RHEL) MySQL til MariaDB. Fedora valgte MariaDB over MySQL i sin Fedora 19-udgave, og både opensuse og Slackware Linux lavede lignende skift til MariaDB over MySQL. Wikipedia valgte også MariaDB over MySQL som backend-database i En anden vigtig faktor ved at flytte til MariaDB til fordel for MySQL er dets forbedrede forespørgselsoptimering og andre præstationsrelaterede forbedringer, som giver databasesystemet en mærkbar kant i den samlede præstation sammenlignet med MySQL.

13 Amazon SimpleDB Databaser og Amazon kan i første omgang synes verdener fra hinanden, men det er de ikke, især i vores stadig mere cloudcentrerede verden. Amazons SimpleDB (Simple Database Service) tilbyder virksomheder et simpelt, fleksibelt og billigt alternativ til traditionelle databasesystemer. SimpleDB gør det muligt for brugere at gemme og søge dataelementer via webserviceforespørgsler, og det kan prale af skalerbarhed, hastighed, minimal vedligeholdelse og Amazon services integration. Som en del af Amazons EC2-tilbud kan du komme i gang med SimpleDB gratis.

14 Den relationelle model En opsummering

15 Hvad er den relationelle model Den relationelle datamodel er den primære datamodel, som bruges over hele verden til datalagring og -behandling. Denne model er enkel, og den har alle de egenskaber og funktioner, der kræves til at behandle data med lagringseffektivitet. Relationelle databasesystemer forventes at være udstyret med et forespørgselssprog, som kan hjælpe sine brugere med at forespørge om databasernes forekomster. Der findes to slags forespørgselssprog - relationel algebra og relationelle kalkulus (beregninger). SQL bytter videre oven på disse sprog-tanker, og derfor bruger vi ikke tid derpå.

16 SQL databasens historie Den moderne database har rødder tilbage i 1960erne takket være bl.a. IBM. I 1970 udgav Edgar Ted Codd, der også var ansat ved IBM, en artikel der beskriver en relationel. Han lagde senere navn til en af normal-formerne (Boyce Codd normal formen). IBM var dog langsomme til at implementere den relationelle database, og lavede således det ikkerelationelle sprog SEQUEL, der var så godt at det allerede inden udgivelse blev kopieret og brugt i Oracle Database af Larry Ellison og navnet blev skiftet til SQL. Det blev en vedtaget ANSI standard i 1986 og ISO i 1987, og selv om der i dag findes mange mere eller mindre proprietære implementeringer er det grundlæggende sprog universelt mellem mange database systmer.

17 Koncepterne bag den relationelle model Tables (tabeller) I relationel datamodel gemmes relationer i tabeller. Dette format lagrer forholdet mellem entities (enheder). En tabel har rækker og kolonner, hvor rækker repræsenterer poster og kolonner repræsenterer attributterne. Tuple (tupel) En enkelt række i en tabel, som indeholder en enkelt post for et forhold, hedder en tuple. Relation instance (relations instans) Et finite (begrænset) sæt tupler i relationsdatabasesystemet repræsenterer relative forekomster. Relations instanser har ikke duplikat tuples.

18 Koncepterne bag den relationelle model Relation schema (relations skema) Et relationsschema beskriver forholdets navn (tabelnavn), attributter og deres navne. Relation key (relations nøgle) Hver række har en eller flere attributter, kendt som relations nøgle, som kan identificere rækken i relationen (tabellen) entydigt. Attribute domain (attribute domæne) Hver attribut har noget foruddefineret value scope (værdiomfang), kendt som attributdomenet.

19 Constraints (begrænsninger) Hvert forhold har nogle betingelser, der skal opretholdes for at danne et gyldigt forhold. Disse betingelser kaldes Relational Integrity Constraints (Relationelle Integritets Begrænsninger). Der er tre primære begræsninger: Key constraints (nøgle begrænsnigner) Domain constraints (domæne begrænsninger) Referential integrity constraints (Reference integritet begrænsninger)

20 Key constraints (nøgle begræsninger) Der skal være mindst en minimal delmængde af attributter i forholdet, som kan identificere en tuple entydigt. Denne minimal delmængde af attributter kaldes en nøgle for den relation. Hvis der er mere end en sådan minimal delmængde, kaldes disse kandidatnøgler. Nøglebegrænsninger gennemtvinger at i et forhold til en nøgleattribut, kan ingen to tupler have identiske værdier for nøgleattributter. en nøgleattribut kan ikke have NULL-værdier. Nøglebegrænsninger kaldes også Entity Constraints (entitets begrænsniger).

21 Domain constraints (domæne begrænsninger) Attributter har specifikke værdier i real-world scenarier. For eksempel kan alder kun være et positivt heltal. De samme begrænsninger er blevet forsøgt at benyttet på attributterne af en relation. Hver egenskab er forpligtet til at have et specifikt udvalg af værdier. For eksempel kan alderen ikke være mindre end nul, og telefonnumre kan ikke indeholde et tegn uden for 0-9.

22 Referential integrity constraints (Reference integritet begrænsninger) Referential integritet begrænsninger fungerer ud fra begrebet foreign keys (fremmed nøgler). En fremmed nøgle er en nøgleattribut til et forhold, der kan henvise til et andet forhold. Referential integritets begrænsning angiver, at hvis en relation refererer til en nøgle attribut for et andet eller lignende forhold, så skal nøgleelementet eksistere.

23 Normalformer uddybet Resume og flere former

24 Normalformens historie Edgar F. Codd, der også opfandt relationsmodellen, introducerede Den Første Normal Form i 1970 og anden og tredje form i I 1977 føjede Ronald Fagin en Fjerde og en Femte Normal Form til. Den nyeste tilføjelse af den Sjette Normal Form fra 2002 af C.J. Date, Hugh Darwen og Nikos Lorentzos Der er andre former ud over disse, f.eks. den tidligere nævnte Boyce Codd Normal

25 Opsummerende video af konceptet

26 Problemer uden normalisering Uden Normalization er det svært at håndtere og opdatere database uden at risikere data tab. Insert, Update og Delete anomalier er meget hyppige hvis en database ikke er normaliseret. Lad os kigge på Student tabellen for at illustrere dette:

27 Problemer uden normalisering De problemer vi møder er: Updation Anomaly: For at opdatere adressen på en elev, der er opført to gange eller mere i en tabel, skal vi opdatere S_Address kolonnen i alle rækker, ellers bliver data inkonsekvent. Insertion Anomaly: Antag for en ny optagelse, hvor vi har en Student ID (S_id), navn og adresse på den studerende, men at deb en studerende ikke har valgt noget fag endnu, så skal vi indsætte NULL der, hvilket leder til Insertion Anomaly. Deletion Anomaly: Hvis (S_id) 401 kun har et fag og midlertidigt dropper det, når vi så sletter rækken vil hele studenter optegnelsen ryge dermed.

28 Tabellen i 1ste normal form

29 Tabellen i 1ste normal form

30 Problemer uden 2nden normal form I eksempelet for Første Normal Form er der to rækker til Adam, der omfatter flere emner, som han har valgt. Selvom dette er søgbart, og følger Første normale form, er det en ineffektiv udnyttelse af pladsen. Også i ovenstående tabel i første normale form, mens kandidatnøglen er {Student, Emne}, afhænger Age af Student kun af Studentkolonnen, hvilket er forkert i anden normal form. For at opnå anden normal form ville det være nyttigt at opdele emnerne i en selvstændig tabel og sammenstille dem med de studerendes navne som fremmednøgler.

31 Tabellen i 2nden normal form I Student tabellen er kandidat nøglen Student kolonnen, da alle andre kolonner, dvs. Age, er afhængig af den.

32 Tabellen i 2nden normal form I Subject tabellen er kandidat nøglen {Student, Subject} kolonnen. Nu er begge tabeller i Anden Normal Form og vil aldrig lide af Update anomalier. Der er dog et par komplekse tilfælde, hvor tabeller i anden normal form kan lide af opdateringsanomalier, for at håndtere disse scenarier, er den tredje normale form der.

33 Tredje normal form Tredje normalform gør at alle ikke-primære attributter i tabellen skal være afhængige af primærnøglen. En anden værdi må ikke være direkte afhængig af en anden værdi, kun af primær nøglen. Lad os se på denne Student_Detail tabel

34 Tabellen i 3die normal form I tabellen på sidste slide er Student_id primærnøgle, men gade, by og stat afhænger af Zip. Afhængigheden mellem zip og andre felter kaldes transitiv afhængighed. Derfor skal vi anvende 3NF til at flytte gaden, byen og staten til en ny tabel, med Zip som primærnøgle. Ny Student_Detail tabel Adresse tabel

35 Opsummering af de første tre (de essentielle) Den første normalform definere at der må ikke være forskellig data i samme felt, hvilket betyder at informationen deles i tabeller efter relation. Ligeledes fjernes gentagne grupper fra individuelle tabeller, hvor hvert sæt af relateret data har en primær-nøgle. I anden normalform fjernes den redundante data, således sættes værdisæt, der kan bruges til flere poster, i særskilte tabeller. I tredje normalform bliver det, der ikke beskriver primærnøglen fjernet eller flyttet til andre tabeller.

36 Opsummering af de første tre (de essentielle) Esssensen af de første tre normalformer er altså at dataen i tabellen skal beskrive nøglen. I web-udvikling plejer man normalt kun at gå op i at opfylde de første tre normal-former, da det er de mest essentielle, og de følgende former leder til strukturer der ikke nødvendigvis er optimale til denne brug. Dette ledte til den klassiske huskeregel inspireret af den amerikanske ed ved domstolene: The data should depend on the key (1NF), the whole key (2NF) and nothing but the key (3NF) (so help med Codd).

37 Boyce and Codd Normal Form (BCNF) BCNF er en smule stærkere udgave af 3. normalform, derfor kaldes den også 3.5NF Den er lavet til at dække nogle anomalier som 3NF ikke dækker. Kun i sjældne tilfælde opfylder en 3NF-tabel ikke kravene i BCNF. En 3NF-tabel, der ikke har flere overlappende kandidatnøgler, garanteres at være i BCNF. Afhængigt af dens funktionelle afhængigheder er, kan en 3NF-tabel med to eller flere overlappende kandidatnøgler være eller ikke være i BCNF.

38 Boyce and Codd Normal Form (BCNF) Et eksempel på en 3NF tabel der ikke opfylder BCNF I Today s Court Bookings-tabel er der ingen ikke-primære attributter: det vil sige alle attributter tilhører en kandidatnøgle. Derfor opfylder tabellen både 2NF og 3NF. Tabellen overholder ikke BCNF. Dette skyldes afhængighedsfrekvenstype Court, hvori den bestemmende attributsfrekvenstype, som Court afhænger af, hverken er en kandidatnøgle eller et supersæt af en kandidatnøgle. Afhængighedsfrekvenstype Court respekteres, da en Rate Type kun skal kunne gælde for en enkelt Court.

39 Boyce and Codd Normal Form (BCNF) Tabellen delt i to så den opfylder BCNF Kandidatnøglerne for tabellen Rate Types er {Rate Type} og {Court, Member Flag}; Kandidatnøglerne til Today s Bookingstabel er {Court, Start Time} og {Court, End Time}. Begge tabeller er i BCNF. Når {Rate Type} er en nøgle i tabellen Rate Types er det umuligt at have en Rate Type tilknyttet to forskellige Courts, så ved at bruge {Rate Type} som en nøgle i tabellen Rate Types er uregelmæssigheden, der påvirker originaltabellen, blevet elimineret.

40 Fjerde normal form Her må en tabel ikke have flere en-til-mange og mange-til-en relationer, der ikke direkte hænger sammen og en værdi må ikke have flere afhængigheder.

41 Femte normal form Alle ikke-trivielle joins skal relatere til primær-nøglen, hvilket betyder at det nogle gange sparer resurser at dele ellers relateret data op.

42 Sjette normal form Den sjette normalform er ret radikal da der ikke må være nogen trivielle join afhængigheder overhovedet. Den bruges i store datavarehuse og resulterer i rigtig mange tabeller, hvoraf de fleste droppes undervejs.

43 MAMP Lokal web (PHP) og MySQL database-server pakke installeres

44 Gå til og hent softwaren

45 I har ikke behov for at installere MAMP PRO med

46 Hvor I vælger at lægge web dokumenter er ikke så vigtigt da vi primært vil bruge database delen

47 Når I starter MAMP ser I at der kører en MySQL Server

48 Når I er på MAMPs start side vil I under Tools finde phpmyadmin, herfra styres MySQL databasen

49 Sådan ser phpmyadmin ud

50 Mere end CRUD Vi læser, skriver og sletter mere

51 Essensen af SQL Klausuler (clauses), der er konstituerende bestanddele af erklæringer og forespørgsler i nogle tilfælde valgfri. Udtryk (expressions), der kan producere enten skalar værdier, eller tabeller, der består af kolonner og rækker af data. Prædikater (predicates), der angiver betingelser, der kan evalueres til SQL tre-værdi logik (3VL) (sandt / falsk / ukendt) (three-valued logic) eller Boolske værdier (boolsk algebra), der anvendes til at begrænse virkningerne af erklæringer og forespørgsler, eller til at ændre programmets flow. Forespørgsler (queries), der henter data baseret på specifikke kriterier. Dette kan betegnes ssom essensen af SQL.

52 Essensen af SQL Udsagn (statements), som kan have en vedvarende effekt på skemaer (schema, samling af database objekter, typisk tabeller) og data, eller som kan kontrollere transaktioner, programmets flow, forbindelser, sessioner, eller diagnostik. SQL-sætninger benytter semikolon ( ;") terminatoren. Selv om det ikke kræves på alle platforme, det er defineret som en standard del af SQL-grammatik. Ubetydelige mellemrum er generelt ignoreret i SQLsætninger og forespørgsler, hvilket gør det let at formatere SQL kode læsbart.

53 SQL kommandoer kan deles i fire grupper

54 DDL DDL er en forkortelse for Data Definition Language, der omhandler databaseskemaer og beskrivelser af, hvordan data skal opholde sig i databasen. CREATE at lave databasens og dens objekter (table, index, views, store procedure, function, og triggers) ALTER ændrer strukturen på en eksisterende database DROP sletter objekter fra databasen TRUNCATE fjerner alle optegnelser fra en table, inklusiv al plads allokeret til optegnelserne COMMENT føjer kommentarer til data dictionary (ordbogen) RENAME omdøber et objekt

55 DML DML er kort for Data Manipulation Language der har med data manipulation at gøre og indkluderer de mest udbredte SQL statements som SELECT, INSERT, UPDATE, DELETE etc, og bruges til at gemme, modificere, hente, slette og opdatere data i en database. SELECT henter data fra en database INSERT indsætter data I en tabel UPDATE opdaterer eksisterende data i en tabel DELETE sletter alle optegnelser fra en database tabel MERGE UPSERT operation (insert eller update) CALL kald et PL/SQL eller Java subprogram EXPLAIN PLAN interpretation af data access path (data adgangs stien) LOCK TABLE concurrency control (samtidighedskontrol)

56 DCL DCL er kort for Data Control Language der indeholder kommandoer som GRANT og primært bekymrer sig om rights (rettigheder), permissions (tilladelser) og andre controller af database systemet. GRANT tillader brugere adgangs priviligier til databasen REVOKE trækker brugeres adgangs privilegier givet med GRANT kommandoen tilbage

57 TCL TCL er kort for Transaction Control Language der har med transaktioner inde i en database at gøre. COMMIT udfører en Transaction ROLLBACK ruller en transaktion tilbage i tilfælde af at der sker en fejl SAVEPOINT laver et retur punkt for transaktionerne i grupper SET TRANSACTION specificerer egenskaberne for transaktionen

58 Dette kursus I dette kursus kigger vi dog primært på nogle af elementerne inden for DDL og DML, de resterende samt DCL og TCL hører under videregående database Lad os se på nogle af SQL kommandoerne og bruge dem i praksis

59 Create Man laver en database og tabeller med create CREATE DATABASE [Name]; CREATE TABLE [Name] ([Column1 name] [Type], [Column2 name] [Type]);

60 Vi laver en ny database via phpmyadmin

61 Vælg SQL da vi gør det via kode

62 Lav en ny database og tabel CREATE DATABASE mydb; USE mydb; CREATE TABLE mytable (cpr BIGINT(10), name VARCHAR(50));

63 Vi har nu en database med en tabel i

64 Where Den primære betingelsesklausul (conditional clause) WHERE [key] = "[value]"!= < > <= >= OR [key] = "[value]" AND [key] = "[value]"

65 Vi sætter først data ind og henter derefter noget af det Husk at sørge for at være i mydb databasen når I kører SQL kommandoerne! INSERT INTO mytable (cpr,name) VALUES ( , "Erik Weber-Lauridsen"), ( , "Britta Manuela Weber-Lauridsen") Kør derefter: SELECT name FROM mytable WHERE cpr!=

66 Limit LIMIT-klausulen begrænser mængden af resultater Det vil sige at uanset hvor mange resultater du får vises de [Int] første kun God til pagination SELECT * FROM [Table] LIMIT [Int]

67 Order By Sorter efter en værdi, både stigende eller faldende ORDER BY [value] [ASC/DESC]

68 Nøgler låser data op Identifikation og kryds-referencer mellem tabeller

69 Hvad er nøgler En nøgle er et enkelt eller en kombination af flere felter i en tabel. Den bruges til at hente eller hente poster / data-rækker fra datatabellen i henhold til betingelsen / kravet. Nøgler bruges også til at skabe forhold mellem forskellige databasetabeller eller visninger.

70 Nøgle typer Der er følgende typer nøgler i SQL, som bruges til at hente poster fra tabeller og for at skabe forhold mellem tabeller eller visninger. 1. Super nøgle En supernøgle er et sæt af en eller flere nøgler, der kan bruges til at identificere en optegnelse unikt i en tabel. Eksempel: Primær nøgle, Unik nøgle, en Alternate (Alternativ) nøgle er en delmængde af Super nøgler. 2. Kandidat nøgle En kandidatnøgle er et sæt af et eller flere felter / kolonner, som kan identificere en post unikt i en tabel. Der kan være flere kandidatnøgler i en tabel. Hver kandidatnøgle kan fungere som primærnøgle. Eksempel: I følgende diagram er ID, RollNo og EnrollNo kandidatnøgler, da alle disse tre felter kan fungere som primærnøgle.

71 Nøgle typer 3. Primær nøgle En primærnøgle er et sæt af et eller flere felter / kolonner af en tabel, der unikt identificerer en post i database tabel. Den kan ikke acceptere null, duplikatværdier. Kun en kandidatnøgle kan være primærnøgle. 4. Alternate (Alternativ) nøgle En alternativ nøgle er en nøgle, som kan fungere som en primær nøgle. Dybest set er det en kandidatnøgle, der i øjeblikket ikke er primærnøgle. Eksempel: I følgende diagram bliver RollNo og EnrollNo alternativ nøgler, når vi definerer ID som primærnøgle.

72 Nøgle typer 5. Composite/Compound (komposit) nøgle En komposit nøgle er en kombination af mere end et felt / kolonner i en tabel. Det kan være en kandidatnøgle, primærnøgle. 6. Unik nøgle En unik nøgle er et sæt af et eller flere felter / kolonner af en tabel, der unikt identificerer en post i en database tabel. Det er som primærnøgle, men det kan kun acceptere én null værdi og det kan ikke have gentagne værdier. 7. Fremmed nøgle En fremmed nøgle er et felt i database tabel, der er primær nøgle i en anden tabel. Det kan acceptere flere null og gentagne værdier.

73 Nøgle typer

74 Forbind data til ny sæt - teori Fordi data sjældent ligger i kun én tabel

75 Hvad er Joins Et SQL join kombinerer kolonner fra en eller flere tabeller i en relationel database. Det skaber et sæt, der kan gemmes som et table eller bruges som det er. Et JOIN er et middel til at kombinere kolonner fra en (selvstændig tilslutning) eller flere tabeller ved at bruge værdier, der er fælles for hver. ANSI-standard SQL angiver fem typer JOIN: INNER, LEFT OUTER, RIGHT OUTER, FULL OUTER og CROSS. Som et specielt tilfælde kan en tabel (basisbord, visning eller sammenføjet tabel) LØSES til sig selv i en selvforening. En programmør erklærer en JOIN-erklæring for at identificere rækker for tilslutning. Hvis det evaluerede prædikat er sandt, produceres den kombinerede række i det forventede format, en rækkesæt eller en midlertidig tabel.

76 Joins

77 Inner Join SELECT * FROM tablea JOIN tableb ON tablea.tb_id = tableb.id SELECT * FROM tablea INNER JOIN tableb ON tablea.tb_id = tableb.id

78 Left Join SELECT * FROM tablea LEFT JOIN tableb ON tablea.tb_id = tableb.id

79 Right Join SELECT * FROM tablea LEFT JOIN tableb ON tablea.tb_id = tableb.id

80 Outer Join SELECT * FROM TableA FULL OUTER JOIN TableB ON TableA.name = TableB.name

81 Outer Join SELECT * FROM TableA FULL OUTER JOIN TableB ON TableA.name = TableB.name

82 Forbind MySQL Workbench til MAMP Forbind din workbench til din lokale database server

83 Lav en ny connection

84 Sæt forbindelsen op, info herunder passer med default MAMP indstillinger

85 Hvis der er problemer så sikr at der ikke står noget under Advanced fanen

86 Nu er forbindelsen på start-skærmen

87 Vi kan nu se og arbejde direkte med vores databaser

88 Den dobbelt pil i hjørnet gør tabel listen større/mindre

89 Gennemgang af større eksempel Hent flights.mwb og flights.sql fra denne lektions mappe på Fronter

90 Lektier til næste gang Læsning 90

91 Læsning til næste gang Læs side i SQL - The Ultimate Beginners Guide Lav SQL koden til at oprette den tabel du skitserede som diagram til denne lektion Læs om forskellene mellem en unik nøgle og en primær nøgle Læs om forskellene mellem en primær og en fremmed nøgle 91

92 Kilder Materiale benyttet i denne undervisningsgang 92

93 Kilder Forskellige database systemer ent_systems enterprise-database-systems-to-consider-2015.html

94 Kilder Den relationelle model Wilton, Paul & Colby, John. Beginning SQL. Wiley Publishing Codd_normal_form

95 Kilder Normalisering uddybet Mere end CRUD ANSI/ISO/IEC International Standard (IS). Database Language SQL Part 2: Foundation (SQL/Foundation)

96 Kilder Nøgler låser data op Forbind data til ny sæt

Database. lv/

Database. lv/ Database 1 Database Design Begreber 1 Database: En fælles samling af logiske relaterede data (informationer) DBMS (database management system) Et SW system der gør det muligt at definer, oprette og vedligeholde

Læs mere

De vigtigste SQL-sætninger. SQL kap Oprette database. DDL og DML

De vigtigste SQL-sætninger. SQL kap Oprette database. DDL og DML SQL kap 6-7 + 17-20 DDL og DML 1 De vigtigste SQL-sætninger Data Definition Language (DDL) create table: opretter en ny tabel create unique index: tilføjer et index til en tabel drop table : sletter en

Læs mere

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

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

Læs mere

Begrænsninger i SQL. Databaser, efterår 2002. Troels Andreasen

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 mere

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

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

Læs mere

Data lagring. 2. iteration (implement backend)

Data lagring. 2. iteration (implement backend) Data lagring 2. iteration (implement backend) Emner Grundlæggende database begreber. Data definitionskommandoer ER-diagrammer og cardinalitet/relationer mellem tabeller Redundant data og Normalisering

Læs mere

Database design for begyndere

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

Læs mere

Hvad er en relationsdatabase? Odense, den 19. januar Version 1.0

Hvad er en relationsdatabase? Odense, den 19. januar Version 1.0 Hvad er en relationsdatabase? Odense, den 19 januar 2004 Version 10 Program for 6 kursusdag: Databaser 0900-0945 Hvad er en relationsdatabase? -1045 Opgave om normalisering 1100-1145 Eksempel på database

Læs mere

Introduktion til Oracle, Datalogi, RUC Af: Jens Lauterbach (jeans@ruc.dk) 2002

Introduktion 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 mere

Database kursus Forår 2013

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

Læs mere

DB undervisning 01-01

DB 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 mere

Databaseadgang fra Java

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

Læs mere

Hvorfor skal vi bruge objekt orienteret databaser?

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

Læs mere

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

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

Læs mere

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

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

Læs mere

Introduktion til programmering

Introduktion 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 mere

Database for udviklere. Jan Lund Madsen PBS10107

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

Læs mere

Introduktion til SQL queries

Introduktion til SQL queries Denne guide er oprindeligt udgivet på Eksperten.dk Introduktion til SQL queries Denne artikel beskriver nogle forskellige muligheder i SQL queries. Eksemplerne skulle gerne være standard SQL og virke i

Læs mere

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

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

Læs mere

Efterår 2002 Note 10. Temaopgave

Efterår 2002 Note 10. Temaopgave Datalogi Database-kurset Efterår 2002 Note 10 Temaopgave Formålet med temaopgaven er at I skal arbejde med vigtige dele af kursusstoffet indenfor et specifikt problemområde/tema. Temaopgaven omfatter 4

Læs mere

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

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

Læs mere

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

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

Læs mere

Views etc. Databaser

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

Læs mere

Import af rekursivt (parent-child) hierarki i Palo

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

Læs mere

Tredje undervisningsgang. Database

Tredje 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 mere

Skriftlig eksamen i kurset. Informationssystemer

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

Læs mere

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

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

Læs mere

Database programmerings tips

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

Læs mere

Introduktion til SQL

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

Læs mere

Anvisning i aflevering af bitemporale data

Anvisning i aflevering af bitemporale data UDKAST udgivet juni 2019 Anvisning i aflevering af bitemporale data Baggrund Aflevering af data fra it-systemer til et offentligt arkiv er baseret på aflevering af en arkiveringsversion i en relationel

Læs mere

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

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

Læs mere

Sidste forelæsning. Jacob Aae Mikkelsen. 28. april 2013 IMADA. Jacob Aae Mikkelsen (IMADA) Sidste forelæsning 28.

Sidste 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 mere

En opsamling af artefakter for Hotel Databasen som REST-service Bygger på Hotel opgaven i 8 trin

En opsamling af artefakter for Hotel Databasen som REST-service Bygger på Hotel opgaven i 8 trin En opsamling af artefakter for Hotel Databasen som REST-service Bygger på Hotel opgaven i 8 trin Trin 1: Lav en Domain model Opgave beskrivelse - Scandic hotel kæde Lav en domain model af Hotel-kæden.

Læs mere

Afleveringsopgave. Efterår 2001

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

Læs mere

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

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

Læs mere

Projekt Database, Gruppe 4A. Projekt 1, 3. Semester D A T A B A S E. Klasse MulA13 Gruppenummer: A4

Projekt Database, Gruppe 4A. Projekt 1, 3. Semester D A T A B A S E. Klasse MulA13 Gruppenummer: A4 Projekt Database, Gruppe 4A 0 Projekt 1, 3. Semester D A T A B A S E Klasse MulA13 Gruppenummer: A4 Projekt Database, Gruppe 4A 1 Fakta-ark Klasse MulA13, Gruppenummer: A4 Gruppemedlemmer: Amalie Ardahl

Læs mere

Databasesystemer. IT Universitetet i København 8. juni 2006

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

Læs mere

Skriftlig eksamen i. Databaser. Vinter 2002/2003

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

Læs mere

Modul 2 Database projekt Multimediedesign 3. semester Gruppe 3 IRF/TUJE

Modul 2 Database projekt Multimediedesign 3. semester Gruppe 3 IRF/TUJE Modul 2 Database projekt Multimediedesign 3. semester Gruppe 3 IRF/TUJE Fact sheet Indholdsfortegnelse Fact Sheet Gantt kort Valgt af virksomhed Brainstorm Attribut tabel ER-diagram Skitse MySQLWorkbench

Læs mere

Relationel Algebra og SQL

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

Læs mere

Skriftlig eksamen i Databaser, Vinter 2001/2002. Pa opfordring har jeg udarbejdet mulige lsninger pa eksamensopgaverne, men

Skriftlig eksamen i Databaser, Vinter 2001/2002. Pa opfordring har jeg udarbejdet mulige lsninger pa eksamensopgaverne, men Roskilde Universitetscenter Skriftlig eksamen i Databaser, Vinter 2001/2002 Opgaver med lsninger Pa opfordring har jeg udarbejdet mulige lsninger pa eksamensopgaverne, men har ikke haft tid til at polere

Læs mere

A11: Last Year s Exam

A11: 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 mere

PHP Quick Teknisk Ordbog

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

Læs mere

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

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

Læs mere

SQL Server 2016 Data Adgang

SQL 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 mere

PHP 3 UGERS FORLØB PHP, MYSQL & SQL

PHP 3 UGERS FORLØB PHP, MYSQL & SQL PHP 3 UGERS FORLØB PHP, MYSQL & SQL Uge 1 & 2 Det basale: Det primære mål efter uge 1 og 2, er at få forståelse for hvordan AMP miljøet fungerer i praksis, og hvordan man bruger PHP kodesproget til at

Læs mere

Indholdsfortegnelse Databaser og PHP... 3 Opgave... 4 Opgave... 5 Opgave... 6 Sidste opgave er en lille gæstebog... 7 Kilder og nyttige links:...

Indholdsfortegnelse Databaser og PHP... 3 Opgave... 4 Opgave... 5 Opgave... 6 Sidste opgave er en lille gæstebog... 7 Kilder og nyttige links:... Indholdsfortegnelse Databaser og PHP... 3 Opgave... 4 Opgave... 5 Opgave... 6 Sidste opgave er en lille gæstebog... 7 Kilder og nyttige links:... 9 Nogle HTML tags... 9 Databaser og PHP Når vi snakker

Læs mere

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

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

Læs mere

PRÆSENTATION AF ER-DIAGRAMMER OG NORMALISERING

PRÆSENTATION AF ER-DIAGRAMMER OG NORMALISERING PRÆSENTATION AF ER-DIAGRAMMER OG NORMALISERING KIRSTINE ROSENBECK GØEG Tema Titel Materiale 1 IS i sundhedssektoren Patientdatas anvendelighed Lynge et al. 2 Registrering af patientdata Berg. Kap. 2 Waiting

Læs mere

Eksamen, DSDS, efterår 2007

Eksamen, DSDS, efterår 2007 Eksamen, DSDS, efterår 2007 Introduktion til Scripting, Databaser og Systemarkitektur Jonas Holbech og Martin Elsman IT Universitetet i København 7. januar 2008 Alle hjælpemidler er tilladte, dog ikke

Læs mere

Dokumentering af umbraco artikeleksport:

Dokumentering af umbraco artikeleksport: Dokumentering af umbraco artikeleksport: Lav en artikel side 2-3. Installationsguide side 3-5. Opsættelse af databasen og web.config side 5-8. Umbraco: templates side 8. Umbraco: borger.dk tab side 8.

Læs mere

Object-Relational Mapping

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

Læs mere

Data Warehouse Knowledge is Power - Sir Francis Bacon -

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

Læs mere

Anne Randorff Højen

Anne 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 mere

En Kort Introduktion til Oracle

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

Læs mere

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

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

Læs mere

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

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

Læs mere

IT opgave. Informationsteknologi B. Vejleder: Karl. Navn: Devran Kücükyildiz. Klasse: 2,4

IT opgave. Informationsteknologi B. Vejleder: Karl. Navn: Devran Kücükyildiz. Klasse: 2,4 IT opgave Informationsteknologi B Vejleder: Karl Navn: Devran Kücükyildiz Klasse: 2,4 Dato:03-03-2009 1 Indholdsfortegnelse 1. Indledning... 3 2. Planlægning... 3 Kommunikationsplanlægning... 3 Problemstillingen...

Læs mere

Manglende konsistens i datamodellen og upræcise SQLsætninger er årsagen til, at mange IT-systemer fejler.

Manglende konsistens i datamodellen og upræcise SQLsætninger er årsagen til, at mange IT-systemer fejler. Manglende konsistens i datamodellen og upræcise SQLsætninger er årsagen til, at mange IT-systemer fejler. Af Seniorkonsulent Carsten Saastamoinen-Jakobsen Skal datamodellen blot være på 3NF (normalform)?

Læs mere

Information Integration

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

Læs mere

Databasesystemer fra forskellige synsvinkler

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

Læs mere

Webside score khtsb.com

Webside score khtsb.com Webside score khtsb.com Genereret April 04 2019 09:19 AM Scoren er 50/100 SEO Indhold Titel Welcome to XAMPP Længde : 16 Perfekt, din titel indeholder mellem 10 og 70 bogstaver. Beskrivelse XAMPP is an

Læs mere

VÆR EFFEKTIV SOM SAS PROGRAMMØR MED SAS ENTERPRISE GUIDE 7.12 GEORG MORSING

VÆR EFFEKTIV SOM SAS PROGRAMMØR MED SAS ENTERPRISE GUIDE 7.12 GEORG MORSING VÆR EFFEKTIV SOM SAS PROGRAMMØR MED SAS ENTERPRISE GUIDE 7.12 GEORG MORSING Copyr i g ht 2013, SAS Ins titut e Inc. All rights res er ve d. Livet som SAS-programmør er blevet lettere med SAS Enterprise

Læs mere

Introduktion til programmering

Introduktion til programmering Introduktion til programmering Databaser Uge 37 Computer Science, kap 9. Hugh Darwen: what a database really is, G. Riccardi: Princples of database systems, kap 2., kompendium. Plan Oprette jer på IMV

Læs mere

FKG datamodellen Version 2.3.1 ArcGIS integration Sidste revisionsdato: 23. maj 2014

FKG datamodellen Version 2.3.1 ArcGIS integration Sidste revisionsdato: 23. maj 2014 FKG datamodellen Version 2.3.1 ArcGIS integration #1 FKG Fælleskommunale Geodatasamarbejde FKG datamodellen Version 2.3.1 ArcGIS integration Sidste revisionsdato: 23. maj 2014 1 FKG datamodellen Version

Læs mere

PHP Snippets. De små korte. Skrevet af Daniel Pedersen

PHP Snippets. De små korte. Skrevet af Daniel Pedersen PHP Snippets De små korte Skrevet af Daniel Pedersen Indhold PHP Snippets De små korte er en samling af små og praktiske kode eksempler med kort forklaring, som med formål at kunne benyttes til opsalgsværk

Læs mere

Databaser Obligatorisk opgave 1

Databaser Obligatorisk opgave 1 University of Southern Denmark Department of Mathematics and Computer Science Databaser Obligatorisk opgave 1 Afleveres senest: Lørdag d. 23. marts kl 23.59 Introduction Denne obligatoriske opgave indeholder

Læs mere

Objektorientering og databaser

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

Læs mere

Software Projekt NoSQL vs RMDB

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

Læs mere

Brugervejledning til databrowseren

Brugervejledning til databrowseren Brugervejledning til databrowseren Indholdsfortegnelse Indledning...2 Hvordan tilgås browseren og api et...2 Databrowseren...2 Søgning...2 Visning...4 Features i listevisningen...4 Detaljeret visning...5

Læs mere

3. semester, 2. projekt: Database

3. semester, 2. projekt: Database 3. semester, 2. projekt: Database MulA - Gruppe 1 7. september 2015-20. september 2015 Vejledere - IRF / TUJE FAKTAARK PROJEKTTITEL Database URL http://moodings.com Mette Line Tarp Jørgensen Email cph-mj420@cphbusiness.dk

Læs mere

Datamodeller. 1. Elementerne. Vi betragter E/R-diagrammet, som et diagram over entiteter og relationer Tegneregler: Entitet

Datamodeller. 1. Elementerne. Vi betragter E/R-diagrammet, som et diagram over entiteter og relationer Tegneregler: Entitet Datamodeller I forlængelse af noten om normalisering, følges der her op med redskabet E/R-diagrammer til opstilling af en datamodel, opfat således dette som en alternativ metode mere end endnu et redskab

Læs mere

Internet Information Services (IIS)

Internet Information Services (IIS) Internet Information Services (IIS) Casper Simonsen & Yulia Sadovskaya H1we080113 06-11-2013 Indholdsfortegnelse Problemformulering... 2 Hvorfor:... 2 Hvad:... 2 Hvordan:... 2 Problembehandling... 3 Introduktion...

Læs mere

KIH 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 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 mere

SAP R/3. Henrik Kroos

SAP R/3. Henrik Kroos SAP R/3 Henrik Kroos Velkommen.. Spørg undervejs Præsentation af mig Præsentation af jer Hvad er SAP?? SAP er et tysk firma startet af 5 tidligere IBM-folk i 1972 Hjemsted i Waldorf Tyskland, (nær Frankfurt)

Læs mere

Eksempel på en database: studenter, kurser, eksamener

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

Læs mere

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

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

Læs mere

Eksamen, DSDS, efterår 2008

Eksamen, DSDS, efterår 2008 Eksamen, DSDS, efterår 2008 Introduktion til Scripting, Databaser og Systemarkitektur Jonas Holbech IT Universitetet i København 6. januar 2009 Alle hjælpemidler er tilladte, dog ikke computer og kommunikationsmidler.

Læs mere

Første undervisningsgang. Database

Første undervisningsgang. Database Første undervisningsgang Database Noter til dette slideshow Slideshowet er gjort tilgængeligt for jer så I kan følge det på jeres egen pc og ikke kun på projektoren De vigtigste nøgleord er markeret med

Læs mere

5 ARBEJDE MED EDITOREN

5 ARBEJDE MED EDITOREN 5 ARBEJDE MED EDITOREN Editor (eller Rich Tekst Editor) er et indbygget indholdsredigerings værktøj, hvor man uden nogen kendskab til HTML kodning kan skrive tekst, indsætte billeder, videoer og links.

Læs mere

Undervisningsbeskrivelse

Undervisningsbeskrivelse Undervisningsbeskrivelse Stamoplysninger til brug ved prøver til gymnasiale uddannelser Termin Jan-juni 2016 Institution UCH/ Handelsskolen Uddannelse Fag og niveau Lærer(e) Hold EUX Business IT B Lars

Læs mere

Tagwall med Php & MySQL

Tagwall med Php & MySQL Denne guide er oprindeligt udgivet på Eksperten.dk Tagwall med Php & MySQL Her laver vi en tagwall i Php & MySQL... jeg forklarer dog ikke så meget, men jeg håber du kan få det til at blive til en tagwall

Læs mere

Arkitektur for begyndere

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

Læs mere

PHP kode til hjemmeside menu.

PHP kode til hjemmeside menu. PHP kode til hjemmeside menu. Home Hovedmenu 1 Hovedmenu 2 Hovedmenu 3 Hovedmenu 4 Undermenu 1 Breadcrumb Her vises indholdet af den valgte side Undermenu 2 Undermenu 3 Undermenu 4 Evt. en mulighed for

Læs mere

Jørgen Koch. och. Access. Normalisering m.v.

Jørgen Koch. och. Access. Normalisering m.v. Jørgen Koch och Access 2003 2003 for alle Normalisering m.v. Access 2003 for alle 1. udgave, 1. oplag 2004 Copyright 2004 Forlaget Libris Forfatter: Jørgen Koch Forlagsredaktion: Kirsten Bæk DTP: Jørgen

Læs mere

Kursusbeskrivelse. Forarbejde. Oprettelse af en Access-database

Kursusbeskrivelse. Forarbejde. Oprettelse af en Access-database Kursusbeskrivelse Oprettelse af en Access-database Som eksempel på en Access-database oprettes en simpelt system til administration af kurser. Access-databasen skal indeholde: et instruktørkartotek et

Læs mere

Projekt: Database. Multimedia Design: Semester 3 - projekt 01. Sabine Larsen cph-sl176@cphbusiness.dk. Anastasia Keller cph-ak186@cphbusiness.

Projekt: Database. Multimedia Design: Semester 3 - projekt 01. Sabine Larsen cph-sl176@cphbusiness.dk. Anastasia Keller cph-ak186@cphbusiness. Anslag: 21284 Multimedia Design: Semester 3 - projekt 01 Projekt: Database Projektperiode: 07. September 20. September 2015 Gruppe nummer: MulB07 Vejledere: Ivan Rosenvinge Frederiksen & Tuje Becher MULA

Læs mere

! Kia Dahlen. Kamilla Klein, Pia Jensen og Maria Korshøj Andersen.

! Kia Dahlen. Kamilla Klein, Pia Jensen og Maria Korshøj Andersen. Copenhagen Business Academy Multimediedesigner 3. semester - 1. projekt, september 2014 Gruppe 1 - MulA Kia Dahlen. Kamilla Klein, Pia Jensen og Maria Korshøj Andersen. Study: Multimedia Design Project:

Læs mere

ER-modellen. Databaser, efterår Troels Andreasen. Efterår 2002

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

Læs mere

Forskellige databaser

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

Læs mere

Eksamen 2013. Uden hjælpemidler - normeret til 60 minutter

Eksamen 2013. Uden hjælpemidler - normeret til 60 minutter ksamen 2013 Uden hjælpemidler - normeret til 60 minutter 1 er-diagram 1 /R iagram til relationelle model xported at: Mon May 13 2013 22:43:32 GMT+0200 (ST) Untitled etragt Page figur 1. Hvordan oversættes

Læs mere

Delphi og Databaser for begyndere

Delphi 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 mere

Startvejledning. Microsoft PowerPoint 2013 ser anderledes ud end tidligere versioner, så vi lavet denne guide for at gøre din læreproces nemmere.

Startvejledning. Microsoft PowerPoint 2013 ser anderledes ud end tidligere versioner, så vi lavet denne guide for at gøre din læreproces nemmere. Startvejledning Microsoft PowerPoint 2013 ser anderledes ud end tidligere versioner, så vi lavet denne guide for at gøre din læreproces nemmere. Find det du skal bruge Klik på en fane på båndet for at

Læs mere

DATABASE - MIN MUSIKSAMLING

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

Læs mere

Dorthes Bog Centrum har ca forskellige bøger (bibliografiske enheder), som alle skal være søgbare fra prototypen.

Dorthes Bog Centrum har ca forskellige bøger (bibliografiske enheder), som alle skal være søgbare fra prototypen. Afleveringsopgave Hermed afleveringsopgaven for kurset. Besvarelsen, der gerne må udfærdiges i grupper, er del af den mundtlige eksamen (som i øvrigt er individuel). Problemet Efter flere møder med firmaet

Læs mere

Installation og Drift. Aplanner for Windows Systemer Version 8.15

Installation 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 mere

Databaser. 3. Normalform. Mette Frost Nielsen

Databaser. 3. Normalform. Mette Frost Nielsen Databaser 3. Normalform Mette Frost Nielsen Normalisering Kvalitetssikring ej redundans Ej null i tabeller Hurtigere Lettere at vedligeholde Ordbog Relation = tabel Redundans = gentagelser, samme information

Læs mere

SYSTEM DESIGN. 18. december 2012 [Mink Farm Rapport] Dette projekt bruger UP model, som er et krav for dette semesters projekt.

SYSTEM DESIGN. 18. december 2012 [Mink Farm Rapport] Dette projekt bruger UP model, som er et krav for dette semesters projekt. SYSTEM DESIGN Dette projekt bruger UP model, som er et krav for dette semesters projekt. Unified Process (UP) er en iterativ og gradvis softwareudvikling proces ramme, der bruges til at modellere hvad,

Læs mere