Tredje undervisningsgang. Database
|
|
- Merete Bech
- 5 år siden
- Visninger:
Transkript
1 Tredje undervisningsgang Database
2 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 - praksis At finde den rette data Transaktioner Databaser i web (PHP) MySQLi og PDO Eksamen og krav 2
3 Lektier fra sidst Det der er produceret vises og forklares til underviseren og resten af klassen
4 En tupel tydeliggjort
5 Dagens eksempel database Hent mysqlsampledatabase.sql fra dagens lektion på Fronter og pak den ud Start derefter MAMP og MySQL Workbench og åbn forbindelsen til din lokale databaseserver
6 Åbn SQL Script
7 Vælg mysqlsampledatabase.sql
8 Kør scriptet
9 Hvis den ikke viser det ny classicmodels schema så bed den Refresh All
10 Du kan bede om at Reverse Engineer et ERD
11 ERD
12 Note om linje typer Vi tegner en massiv linje, hvis og kun hvis vi har et ID-afhængigt forhold; ellers ville det være en stiplet linje. Ved et svagt men ikke ID-afhængigt forhold tegnes en stiplet linje, fordi det er et svagt forhold.
13
14 Matematikken bag databaser Relationel algebra og relationel calculus
15 Baggrund Relationelle databasesystemer forventes at være udstyret med et forespørgselssprog, som kan hjælpe deres brugere med at query (forespørge) databaserne forekomsterne. Der findes to slags forespørgselssprog den relationelle algebra og de relationelle beregninger (calculus).
16 Den relationelle algebra Den relationelle algebra er et proceduremæssigt forespørgselssprog, der tager forekomster af relationer som input og giver forekomster af relationer som output. Den bruger operatører til at udføre forespørgsler. En operatør kan enten være unær (unary) eller binær. Den accepterer relationer som input og giver relationer som output. Den relationelle algebra udføres rekursivt på en relation, og mellemresultater betragtes også som relationer.
17 Den relationelle algebra De fundamentale operationer inden for den relationelle algebra er: Select Project Union Set difference Cartesian product Rename
18 Den relationelle algebra Select operation (σ) Den vælger tupler, der tilfredsstiller det givne prædikat fra en relation. Notation σ p (r) σ står for valg prædikat og r står for relation. p er en præpositionel logisk formel, som kan bruge konnektorer som and, or, og not. Disse udtryk kan bruge relationelle operatører som - =,,, <,>,.
19 Den relationelle algebra Project operation ( ) Den projekterer kolonne (r), der opfylder et givet prædikat. Notation - ΠA1, A2, An (r) Hvor A1, A2, An er attribut attributter af relation r. Duplicerende rækker elimineres automatisk, da forholdet er et sæt.
20 Den relationelle algebra Union operation ( ) Udfører en binær union mellem to givne relationer og defineres som r s = { t t r or t s} Notation r U s Hvor r og s er enten database relationer eller relations resultat sæt (midlertidig relation). For at en union skal være gyldig skal følgende betingelser opretholdes: r og s skal have det samme antal attributter. Attribut domæner skal være kompatible. Duplikat tupler fjernes automatisk.
21 Den relationelle algebra Set difference ( ) Resultatet af set difference er tupler, som er til stede i ét forhold, men ikke er i det andet forhold. Notation r s Finder alle de tupler, der er til stede i r, men ikke i s.
22 Den relationelle algebra Cartesian product (Χ) Kombinerer information af to forskellige relationer til en. Notation - r Χ s r og s er relationer, og deres output vil blive defineret som r Χ s = {q t q r og t s}
23 Den relationelle algebra Rename operation (ρ) Resultaterne af den relationelle algebra er også relationer, men uden navn. Rename operationen giver os mulighed for at omdøbe outputforholdet. Rename operation er betegnet med det lille græsk bogstav rho ρ. Notation - ρ x (E) Hvor resultatet af udtryk E er gemt med navnet x.
24 Relationelle beregninger I modsætning til Relational Algebra er Relational Calculus et ikkeproceduremæssigt forespørgselssprog, det vil sige, det fortæller hvad man skal gøre, men forklarer aldrig, hvordan man gør det. Relationelle beregninger findes i to former: Tuple Relational Calculus (TRC) Domain Relational Calculus (DRC)
25 Relationelle beregninger - TRC Filtrering af variabelintervaller over tupler Notation - {T Condition} Returnerer alle tupler T, der opfylder en tilstand. TRC kan kvantificeres. Vi kan bruge Existential ( ) og Universal Quantifiers ( ).
26 Relationelle beregninger - DRC I DRC bruger filtreringsvariablen domæne for attributter i stedet for hele tupel værdier (som udført i TRC, nævnt tidligere). Notation - {a1, a2, a3,..., an P (a1, a2, a3,..., an)} Hvor a1, a2 er attributter og P står for formler bygget af indre attributter. Ligesom TRC kan DRC også skrives ved hjælp af eksistentielle og universelle kvantifikatorer. DRC involverer også relationelle operatører. Ekspressionsstyrken i Tuple Relation Calculus og Domain Relation Calculus svarer til Relational Algebra.
27 Forbind data til ny sæt - praksis Joins i praksis
28 Åbn vores database og lav en ny quert (ctrl+t)
29 Vi vil gerne finde hvilken ansat der er tilknyttet den enkelte kunde
30 Vi vil sætte ansatte sammen med de relevante kunder, og kun hvor en ansat har kunder, så vi vælger et almindeligt join SELECT * FROM employees JOIN customers ON employees.employeenumber = customers.salesrepemployeenumber Læg mærke til at al data hænger sammen uden nogen former for null, da de kun parres hvor der er overlap
31 Vi vil alligevel have alle ansatte, men kun de kunder der er tilknyttet ansatte SELECT * FROM employees LEFT JOIN customers ON employees.employeenumber = customers.salesrepemployeenumber Læg mærke til at der nu er kolonner, hvor vi har felter med NULL
32 Nu sætter vi al info om ansatte sammen med kunder SELECT * FROM employees RIGHT JOIN customers ON employees.employeenumber = customers.salesrepemployeenumber Læg mærke til at der nu er andre kolonner, hvor vi har felter med NULL
33 Nu sætter vi al info om kunder sammen med ansatte SELECT * FROM employees INNER JOIN customers ON employees.employeenumber = customers.salesrepemployeenumber Læg mærke til de mange felter med NULL
34 Nu sætter vi al info om ansatte sammen med kunder hvor der er overlap SELECT * FROM employees INNER JOIN customers ON employees.employeenumber = customers.salesrepemployeenumber Læg mærke til de mange felter med NULL
35 MySQL understøtter ikke OUTER JOINS eller FULL JOINS
36 Keys og foreign keys i praksis Vi gennemgår dagens database
37 At finde den rette data Filtrering og søgning i resultater
38 ORDER BY Indtil videre returnerer vi posterne fra vores databaser i den rækkefølge, de vises i databasen. I eksemplet har vi således sorteret efter employeenumber. ORDER BY-klausulen kan ændre på dette. SELECT firstname, lastname, FROM employees ORDER BY firstname ASC Prøv med DESC i stedet for ASC
39 ORDER BY med flere kolonner Nogle gange kan det være rart at sortere efter flere parametre hvis et domæne har gentagelser, således at man stadig har styr på indholdet ud fra en sekundær værdi SELECT productline, productname, quantityinstock FROM productsorder BY productline DESC, quantityinstock ASC
40 Begræns antal svar Nogle gange har man ikke behov for at hente alt data der opfylder ens krav ud Ofte vil det være mere praktisk at vise svar ad gangen I nogle SQL varianter (f.eks. MS SQL Server / MS Access) vil koden være SELECT TOP(5) productline, productname, quantityinstock FROM products Bemærk at man også kan angive % istedet for et tal SELECT TOP(5) PERCENT productline, productname, quantityinstock FROM products
41 Begræns antal svar I MySQL virker TOP dog ikke, men så kan vi bruge LIMIT SELECT productline, productname, quantityinstock FROM products ORDER BY productline DESC, quantityinstock ASC LIMIT 5 TOP og LIMIT fungerer, uanset hvilke poster der returneres fra resten af ens SELECT-kommando. Derefter vil ting som ORDER og filtrering ved hjælp af WHEREklausulen først udføres. Når du har et sæt resultater, vil TOP/LIMITklausulen returnere XX antal poster fra det pågældende sæt.
42 Transaktioner Samlinger af databasehandlinger
43 Hvad er en transaktion En transaktion er en arbejdsenhed, der udføres mod en database. Transaktioner er enheder eller sekvenser af arbejde udført i en logisk rækkefølge, uanset om den er manuelt skrevet af en bruger eller automatisk lavet af en slags databaseprogram. En transaktion er udbredelsen af en eller flere ændringer i databasen. Hvis du for eksempel opretter en post eller opdaterer en post eller sletter en post fra tabellen, udfører du en transaktion på den pågældende tabel. Det er vigtigt at kontrollere disse transaktioner for at sikre dataintegriteten og håndtere databasefejl. Praktisk set samler man mange SQL-forespørgsler i en gruppe og udføre dem alle sammen som en del af en transaktion.
44 Egenskaber for transaktioner - ACID Transactions have the following four standard properties, usually referred to by the acronym ACID. Atomicity sikrer, at alle operationer inden for arbejdsenheden gennemføres med succes. Ellers afbrydes transaktionen i tilfælde af fejl, og alle tidligere operationer rulles tilbage til deres tidligere tilstand. Consistency sikrer, at databasen korrekt ændrer states på en vellykket transaktion. Isolation gør det muligt for transaktioner at fungere uafhængigt af og transparent for hinanden. Durability sikrer, at resultatet eller effekten af en committed (forpligtet/indsendt) transaktion fortsætter i tilfælde af systemfejl.
45 Transaction Før man kan udnytte alle de førnævnte fordele skal man dog samle sin SQL i en transaktion, så den udføres samlet. SET TRANSACTION [ READ WRITE READ ONLY ]; I nogle varianter som MySQL er det START TRANSACTION [ READ WRITE READ ONLY ]; Man begynder med ovenstående og afslutter med COMMIT
46 Transaktions kontrol og kommandoer De følgende kommandoer bruges til at kontrollere transaktioner: COMMIT til at gemme ændringerne. ROLLBACK til at rule ændringerne tilbage. SAVEPOINT skaber et sted i gruppen af transaktioner hvortil man kan forestage et ROLLBACK. SET TRANSACTION giver et navn til en transaktion. Transaktionskontrolkommandoer bruges kun med DMLkommandoerne som f.eks. - INSERT, UPDATE og DELETE. De kan ikke bruges, når du opretter tabeller eller dropper dem, fordi disse operationer automatisk committes til databasen.
47 COMMIT kommandoen COMMIT-kommandoen er transaktionskommandoen, der bruges til at gemme ændringer, der påberåbes af en transaktion til databasen. COMMIT kommandoen gemmer alle transaktioner til databasen siden den sidste COMMIT eller ROLLBACK kommando. Syntaksen for COMMIT-kommandoen er blot: COMMIT;
48 ROLLBACK kommandoen ROLLBACK-kommandoen er transaktionskommandoen, der bruges til at fortryde transaktioner, der ikke allerede er gemt i databasen. Denne kommando kan kun bruges til at fortryde transaktioner, siden den sidste COMMIT- eller ROLLBACK-kommando blev udstedt. Syntaksen for ROLLBACK-kommandoen er blot: ROLLBACK;
49 SAVEPOINT Er SAVEPOINT er et punkt i en transaktion, hvor man kan rulle transaktionen tilbage til et bestemt punkt uden at skulle rulle hele transaktionen tilbage. Syntaksen for en SAVEPOINT-kommando er som vist nedenfor: SAVEPOINT savepointname; For at rulle tilbage til et SAVEPOINT er syntaksen således: ROLLBACK TO savepointname;
50 RELEASE SAVEPOINT Hvis man ikke vil bruge et savepoint mere kan man slippe det fri med følgende kommando RELEASE SAVEPOINT savepointname; Herefter er det væk og man kan ikke rulle tilbage til det mere.
51 Samlet eksempel START TRANSACTION; BEGIN; SAVEPOINT sp1; ALTER TABLE customersdrop FOREIGN KEY customers_ibfk_1; ROLLBACK TO SAVEPOINT sp1; DELETE FROM employees WHERE officecode = 6 AND employeenumber > 1600; COMMIT;
52 Databaser i web Sådan forbinder du og kommunikerer med en database i PHP
53 PHP generelt Den er tre måder man typisk forbinder til en database på med PHP, MySQL, MySQLi og PDO. Den ældste, MySQL, regnes som dog som forældet og understøttes ikke af de nyeste udgaver af PHP. MySQLi er dog bare en videreudvikling af MySQL, i et står for Improved, så det er let at oversætte alle de gamle projekter man støder på hos kunder til den mere moderne standard. MySQLi kan kodes både procedural og objekt orienteret, hvor PDO udelukkende er objekt orienteret. Her er nogle eksempler på hvordan man forbinder til en database
54 PHP og MySQLi procedural <?php $servername = localhost"; $username = "username"; $password = password"; // Skab forbindelse $conn = mysqli_connect($servername, $username, $password); // Tjek forbindelse if (!$conn) { die("connection failed: ". mysqli_connect_error()); } echo "Connected successfully ; Man benytter herefter $conn variablen når man vil forbinde til database.
55 PHP og MySQLi objekt orienteret <?php $servername = localhost"; $username = username"; $password = password ; // Skab forbindelse $conn = new mysqli($servername, $username, $password); // Tjek forbindelse if ($conn->connect_error) { die("connection failed: ". $conn->connect_error); } echo "Connected successfully ; Her behandler vi $conn som et objekt, som vi så tjekker for forbindelses fejl.
56 PHP og PDO <?php $servername = localhost"; $username = username"; $password = password ; try { $conn = new PDO( mysql:host=$servername;dbname=mydb", $username, $password); $conn->setattribute(pdo::attr_errmode, PDO::ERRMODE_EXCEPTION); echo "Connected successfully"; } catch(pdoexception $e) { echo "Connection failed: ". $e->getmessage(); } Her opretter man først et $conn objekt, som vi så giver attributten PDO::ERRMODE_EXCEPTION, som vi så fanger med en catch og returnerer fejl-beskeden i $e.
57 Hent data via SQL via MySQLi $sql = "SELECT id, firstname, lastname FROM MyGuests"; $result = $conn->query($sql); if ($result->num_rows > 0) { // output data of each row while($row = $result->fetch_assoc()) { echo "id: ". $row["id"]. " - Name: ". $row["firstname"]. " ". $row["lastname"]. "<br>"; } } else { echo "0 results"; }
58 Hent data via SQL via PDO $stmt = $conn->prepare("select id, firstname, lastname FROM MyGuests"); $stmt->execute(); // set the resulting array to associative $result = $stmt->setfetchmode(pdo::fetch_assoc); foreach(new TableRows(new RecursiveArrayIterator($stmt-fetchAll())) as $k=>$v) { echo $v; }
59 Luk forbindelsen Man bør huske at lukke forbindelsen når man er færdig med den for at frigive resurser og for sikkerhedens skyld. Den lukkes selvfølgelig ved scriptets afslutning, men man kan sagtens være færdig med at benytte den inden og bør derfor lukke den. MySQLi procedural mysqli_close($conn); MySQLi objekt orienteret $conn->close(); PDO $conn = null;
60 Lektier til næste gang Læsning og opgaver 60
61 Læsning og opgaver til næste gang Læs side i SQL - The Ultimate Beginners Guide Lav en kort skriftlig opsummering af de fire grupper af SQL kommandoer (se anden undervisnings gang) Jeg hører jer kort I dem næste gang, og de skal bruges til eksamen I gør ER diagrammet over jeres selvvalgte database færdigt I laver SQL statements til at bygge og søge i jeres selvvalgte database Ekstra Forklar hvorfor eksemplet med ROLLBACK ikke virker 100% 61
62 Forsmag på næste gang
63 Kilder Materiale benyttet i denne undervisningsgang 63
64 Kilder Dagens database Matematikken bag databaser
65 Kilder Forbind data til ny sæt - praksis At finde den rette data
66 Kilder At finde den rette data Transaktioner
67 Kilder Eksempler på web sprog
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 merePHP Snippets. De små korte. Skrevet af Daniel Pedersen
PHP Snippets De små korte Skrevet af Daniel Pedersen Indhold PHP Snippets De små korte er en samling af små og praktiske kode eksempler med kort forklaring, som med formål at kunne benyttes til opsalgsværk
Læs mereRelationel 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 mereDatabaseadgang fra Java
Databaseadgang fra Java Grundlæggende Programmering med Projekt Peter Sestoft Fredag 2007-11-23 Relationsdatabasesystemer Der er mange databaseservere Microsoft Access del af Microsoft Office MySQL god,
Læs mereIntroduktion til 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 mereIndholdsfortegnelse Databaser og PHP... 3 Opgave... 4 Opgave... 5 Opgave... 6 Sidste opgave er en lille gæstebog... 7 Kilder og nyttige links:...
Indholdsfortegnelse Databaser og PHP... 3 Opgave... 4 Opgave... 5 Opgave... 6 Sidste opgave er en lille gæstebog... 7 Kilder og nyttige links:... 9 Nogle HTML tags... 9 Databaser og PHP Når vi snakker
Læs 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 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 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 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 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 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 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 mereThe Design Diaries Project 3 2. Semester. Blog om designprincipper
The Design Diaries Project 3 2. Semester Blog om designprincipper By Lif Neergaard www.lifmediadesign.dk cph-ln175@cphbusiness.dk Mathias Larsen www.nefjam.dk cph-ml414@cphbusiness.dk Ida Christensen www.idamedia.dk
Læs 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 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 mereThe Design Diaries. Link til blog
The Design Diaries Link til blog www.alexklug.dk/blog/index.php Alexander Nicholas Klug Rasmussen cph-ar162@cphbusiness.dk www.alexklug.dk Melissa Pietrykoski cph-mp328@cphbusiness.dk www.melissapietrykoski.dk
Læs mereI denne arktikle går jeg gennem Slet, Ret og Opret data i en MySQL database. der er også en lille del i den hvor den postere datanen ud i en løkke
Denne guide er oprindeligt udgivet på Eksperten.dk MySQL for nybegynder I denne arktikle går jeg gennem Slet, Ret og Opret data i en MySQL database. der er også en lille del i den hvor den postere datanen
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 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 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 mereDesign Diaries.
Design Diaries http://blog.lykkeeilert.dk/ Patricia Gambula Larsen Patrick Lykke Eilert Ninette Andersen cph-pl130@cphbusiness.dk cph-pe58@cphbusiness.dk cph-na96@cphbusiness.dk INDHOLD Use case model
Læs 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 mereHTML, PHP, SQL, webserver, hvad er hvad??
Dagens menu HTML og PHP: Baglæs fra output til input PHP: Variable, strenge og arrays Funktioner, oprettelse og kald (og variable på tværs af funktioner) echo vs return? if-else konstruktioner MySQL: Hvad
Læs mereWeb 2.0. World Wide Web (www)
Web 2.0 World Wide Web (www) I marts 1989 skrev Tim Berners-Lee et information udveksling program kaldt ENQUIRE. Da han arbejde i CERN, var han ikke tilfreds med kommunikationen, derfor videreudviklede
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 mereBegrænsninger i SQL. Databaser, efterår 2002. Troels Andreasen
Databaser, efterår 2002 Begrænsninger i SQL Troels Andreasen Datalogiafdelingen, hus 42.1 Roskilde Universitetscenter Universitetsvej 1 Postboks 260 4000 Roskilde Telefon: 4674 2000 Fax: 4674 3072 www.dat.ruc.dk
Læs 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 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 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 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 mereBegrynder til at lave log ind system
Denne guide er oprindeligt udgivet på Eksperten.dk Begrynder til at lave log ind system Hej Vil jeg gerne lave en lille programmering forklare til hvordan du laver din helt egen lille start på at log ind
Læs mereSoftware 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 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 mereKursus/workshop: SQL
Kursus/workshop: SQL En workshop - med fokus på workshop. En workshop arrangeret af PROSA Palle Nygaard Hansen Frank Jensen Indledning Gennemgang af alle basale SQL-sætninger Forløb for alle 3 aftener:
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 mereLoginsystem (med MySQL)
Denne guide er oprindeligt udgivet på Eksperten.dk Loginsystem (med MySQL) Dette er en guide til, hvordan man kan lave et loginsystem med php og muligvis også med sessioner og MySQL Skrevet den 02. Feb
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 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 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 mereRatingsystem i PHP og MySQL
Denne guide er oprindeligt udgivet på Eksperten.dk Ratingsystem i PHP og MySQL Lær at lave et system til at vise rating/bedømmelse på artikler og nyheder. Skrevet den 03. Feb 2009 af virtual1ty I kategorien
Læs 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 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 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 mereDynamisk PHP design OPDATERET
Denne guide er oprindeligt udgivet på Eksperten.dk Dynamisk PHP design OPDATERET I har måske undret jer over "http://bla.dk/?side=kontakt", her beskriver jeg hvordan, og hvorfor Skrevet den 03. Feb 2009
Læs 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 mereDenne rapport er skrevet af:
Rapport til Kajakklubben Rapport til Kajakklubben Generelt: Frontend: Backend Admin: Backend instruktør sign up: Backend medlem sign up: Database: Oprettelse af database og SQL sætning: Konklusion: Bilag:
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 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 mereInteraktionsudvikling
Projektopgave 3: Interaktionsudvikling CPH business, klasse: MulA2013 Projektansvarlige undervisere Thomas Hartmann MereteGeldermann lützen: Projekt produkt url: www.amalieardahl.dk/projekt3/index.html
Læs mereEksamen 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 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 mereGæstebog med validering opbygget med MySQL
Denne guide er oprindeligt udgivet på Eksperten.dk Gæstebog med validering opbygget med MySQL Dette er en simpel gæstebog, som kan hjælpe folk med at lave en velfungerende gæstebog uden alt for meget arbejde.
Læs mere1. Basal select med (stjerne)
1. Basal select med (stjerne) 1. List alle øltyper. a. select * from oltyper 2. List alle bryggerier a. select * from bryggeri 3. List alle Danmarks postnumre samt tilhørende by, landsdel og antal indbyggere
Læs mere3. 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 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 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 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 mereWorkshop Persistence
Workshop Persistence University College Nordjylland Datamatikeruddannelsen Klasse: dmaa0216 Titel: Workshop Persistence Versionskontrol-sti: https://github.com/mrurb/workshop-persistans/invitations versionsnummer:
Læs 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 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 mereProjekt 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 mereDatabasesystemer. 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 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 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 mereThe Design Diaries PHP projekt
The Design Diaries PHP projekt Anna Emely Jensen cph-aj215@cphbusiness.dk www.annaemely.dk Oliver Alexander Vedel Trojhan cph-ot46@cphbusiness.dk www.olivervedeltrojahn.com Link til GoLogo blog http://olivervedeltrojahn.com/project%203%20php/index.php
Læs 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 mereTagwall 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 mereConceptual, logic, physical
Conceptual, logic, physical Conceptual er et billede af virkeligheden. Entity names og attributter relaterer til den faktiske verden. Physical er i SQL databasen, her skriver vi de navne på tabeller og
Læs mereProjekt 3: Interaktionsudvikling 11/04.14
Projekt 3: Interaktionsudvikling 11/04.14 Gruppe 5 http://kostecki.dk/cph/cupcakes/v2/opskrifter.php Christina Juulmann www.chrissycreations.dk Jacob Kostecki www.kostecki.dk Jayne Alice www.jaynealice.com
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 mere3. SEMESTER 2. PROJECT MULB Gruppe 1. 20. september 2015
PROJECT DATABASE 3. SEMESTER 2. PROJECT MULB Gruppe 1. 20. september 2015 Ved at underskrive dette dokument bekræfter vi, at det indsendte materiale alt sammen er vores eget materiale og arbejde. Andreas
Læs mereSkriftlig 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 mereRelationel Algebra...1. Indholdsfortegnelse...1. Operationer på den relationelle model...2
Relationel Algebra Indholdsfortegnelse Relationel Algebra...1 Indholdsfortegnelse...1 Operationer på den relationelle model...2 Mængdeoperationerne...2 Union...2 Difference...2 Intersection...3 Hvilke
Læs mereI mit script tager jeg højde for det problem ved, at gemme et unikt tal mellem 0-9 på 6 cifre og derved vil de så blive vist som 2 online.
Denne guide er oprindeligt udgivet på Eksperten.dk Hvem er online? Online script, som tager højde for at der kan være flere personer, som har den samme IP-adresse. Scriptet viser hvor lang tid brugeren
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 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 mereif (mysqli_num_rows($res) > 0) { while ($result = $res->fetch_array(mysqli_assoc)) { "<div class=\"article\">".
isset($_get['id'])) { $id = $mysqli->real_escape_string($_get['id']); $sql = "SELECT * FROM `opskriftreg` WHERE `id` =? LIMIT 1;"; $stmt = $mysqli->prepare($sql); $stmt->bind_param('s', $id); $stmt->execute();
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 mereSamspillet mellem databaser og kort styres af GeoCAD programmet GeoDB.
GeoCad modul GeoDB I GeoCAD er det muligt at koble relationsdatabase til GeoEDIT. Her igennem er det muligt at lagre forskellige oplysninger i databasen og koble disse oplysninger til objekter i kortet.
Læs mereProjekt: 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 mereDatabase for udviklere. Jan Lund Madsen PBS10107
Database for udviklere Jan Lund Madsen PBS10107 Indhold LINQ... 3 LINQ to SQL og Arkitektur... 3 O/R designere... 5 LINQ Den store introduktion med.net 3.5 er uden tvivl LINQ(udtales link): Language-INtegrated
Læs mereAnden undervisningsgang. Database
Anden undervisningsgang Database 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
Læs mereObligatorisk opgave 2. SQL, relationel algebra og relationel kalkyle
DM26 Obligatorisk opgave 2 SQL, relationel algebra og relationel kalkyle Jacob Christiansen 130282 moffe42 Thomas Duerlund 040980 duerlund Side 1 af 9 Opgave 1: Formål: Ud fra en database omhandlende en
Læs 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 merePHP Pagination. Denne guide er oprindeligt udgivet på Eksperten.dk. Skrevet den 01. May 2011 af dab93 I kategorien Programmering / Andre
Denne guide er oprindeligt udgivet på Eksperten.dk PHP Pagination I denne guide lærer du om at lave et pagination system med programmerings sproget PHP og MySQL database. Et pagination system er en "side-skiftende"
Læs mere- Hvad er PHP? - Hurtigt historisk overblik - Installation - Indstillinger - Hello world - Tekststrenge - PHP og HTML - En doven programmør er en god
5 For begyndere - Hvad er PHP? - Hurtigt historisk overblik - Installation - Indstillinger - Hello world - Tekststrenge - PHP og HTML - En doven programmør er en god programmør - Include filer - Funktioner
Læs mereDOCUMENTATION FULLY DRESSED USE-CASE. 29. oktober 2012 [ TEMA PERSISTENS DOKUMENTATION] Use-case: Process Order
DOCUMENTATION FULLY DRESSED USE-CASE Use-case: Process Order Omfang og niveau: Dette omhandler en ordre der går gennem systemet Primær aktør: Sælger Pre betingelser: At der ikke er registret kunder Post
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 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 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 mereDatabaser 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 mereTietgenskolen - Nørrehus. Data warehouse. Database for udviklere. Thor Harloff Lynggaard DM08125
Tietgenskolen - Nørrehus Data warehouse Database for udviklere Thor Harloff Lynggaard DM08125 Juni 2010 Indhold Beskrivelse... 3 Data warehouse... 3 Generelt... 3 Sammenligning... 3 Gode sider ved DW...
Læs 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 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 mereVejledning til Teknisk opsætning
Vejledning til Teknisk opsætning v. 1.0 Adm4you, 2010. Indhold Kort om denne vejledning... 3 Generelt om easyourtime... 3 Installation af databasen... 3 Sikkerhed og rettigheder... 4 SQL Login... 4 Rettigheder
Læs 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 mereLog ind med PHP. Denne guide er oprindeligt udgivet på Eksperten.dk. Skrevet den 09. May 2011 af dab93 I kategorien Programmering / Andre
Denne guide er oprindeligt udgivet på Eksperten.dk Log ind med PHP Med denne guide lærer du hvordan du kan logge ind på din hjemmeside med PHP. Guiden viser dig hvordan koderne skal opstilles, og hvad
Læs mereIndholdsfortegnelse. Rasmus R. Sørensen, Christina Svenstrup og Lasse Bager 1
Indholdsfortegnelse Indholdsfortegnelse... 1 Projekt Lægehuset... 2 Fordele ved det nye system... 2 Klassifikation af forandring... 3 Problemstillinger i forbindelse med forandringerne... 4 Modstand mod
Læs mere