Høgskolen i Oslo Webprogrammering SQL og databaser del 3.

Slides:



Advertisements
Liknende presentasjoner
Tilpasse spørringer i RT Kolonnetilpassninger Egne spørringer Legge spørring til forside Legge spørring til Dashboard.
Advertisements

Hans Olav Norheim
Tabeller av objekter Klassen ArrayList
Høgskolen i Sør-Trøndelag, Avdeling for informatikk og e-læring
Høgskolen i Oslo Webprogrammering Tilstandsbevaring Sessions og cookies.
Hvordan etablere nettbutikk med GoOnline Commerce
BraWeb Bestilling.
Kontoinnstillinger Slik kommer du til «Kontoinnstillinger»:
Høgskolen i Oslo Webprogrammering SQL og databaser del 1.
Mange til mange sammenhengen
Høgskolen i Oslo Webprogrammering Grunnleggende PHP.
Java database persistence framework.  SELECT by FROM postnr AS p WHERE ( SELECT DISTINCT postnr FROM addr AS a WHERE user.adrId = a.Id ) = p.postnr;
LC238D Datamodellering og databaser Introduksjon til fagfeltet Else Lervik, august 2012Forelesning 1, uke 34 Datafilerside.
Webprogrammering Arrays.
Skal du ha tak i en spesiell bok, trenger du bare å skrive inn etternavnet til forfatteren og ett av ordene i tittelen. Avslutt gjerne med * etter stammen.
Avansert SQL og problemløsning
Webprogrammering SQL og databaser del 2.
Høgskolen i Oslo Webprogrammering Introduksjon til Java-scripting.
Databaser Verktøybok om Access med innslag av Frontpage: Snarveien til Access.
Datamodellering og databaser Else Lervik, oktober 2011 Forelesning 9, uke 41 SQL, del 2 Eksempelbaseside 2 Virtuelle.
LC238D Datamodellering og databaser Else Lervik, november 2012 Forelesning 12, uke 45 Transaksjoner og flerbrukerproblematikk.
Databasehåndtering med MySQL
1 Øvingsforelesning 7 Kai Olav Ellefsen. 2 I dag… Databaser: Databasedesign og SQL JSP: Koble databasen til nettsiden Kai Olav Ellefsen, NTNU, 2010.
LC238D Datamodellering og databaser Else Lervik, september 2012 Forelesning 6, Uke 39 Objektorientering i ER-modeller.
Datamodellering og databaser Else Lervik, oktober 2011 Forelesning 9, uke 41 SQL, del 2 Eksempelbaseside 2 Virtuelle.
Å lage sikre klasser Unntaksklassene i Java-API-et Unntakshåndtering i databasesammenheng try-catch-finally-setningen Trelagsarkitektur; egen databaseklasse.
INF150 Programmering mandag 11.9
LC238D Datamodellering og databaser Else Lervik, september 2011 Forelesning 6, Uke 38 Objektorientering i ER-modeller.
Sqlite Et lite eksempel på en SQL- database. SQL kan startes på ulike måter Kommandolinjeversjon or Windows –Programmet må innstalleres Hentes fra
SQLHiA DAT 2800 Databaser I Prosedyrer / Triggere.
SQLHiA Transaksjoner. SQLHiA TransaksjonDefinisjon En transaksjon er en serie av en eller flere SQL-statement som til sammen danner en logisk enhet. Med.
Programmering i Java versjon Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik.
Programmering i Java versjon januar 2005 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Repetisjon av JSP Variabler, tabeller, if-setninger, for/while-løkker
IT for Medisinsk sekretær Kai Hagali. Hva er fletting  Koble en database(Tabell) til ett dokument  En eller flere mottakere  Annet bruk en dokument.
Komme i gang med BIBSYS På bibliotekets hjemmeside bruker vi denne linken til BIBSYS.
Komme i gang med BIBSYS På bibliotekets hjemmeside bruker vi denne linken til BIBSYS.
Høgskolen i Oslo Web-programmering Feilhåndtering i PHP.
Structured Query Language Kræsj-kurs
Høgskolen i Oslo Webprogrammering Ajax og PHP. I dag l Hvordan få en bedre brukeropplevelse via Ajax- script l Gjennomgang av kode l Oppgaveløsning på.
Webprogrammering Skjema i HTML og PHP.
Høgskolen i Oslo Webprogrammering Java-scripting 2 Klientvalidering.
Webprogrammering MySQL og PHP Sikkerhet.
Stringmanipulasjon, RegEx og validering
Eksempel på SQL ”SQL-setninger” har en struktur som likner på ”naturlig språk”, med ”verb, subjekter og adjektiver”. SQL-setningene begynner alltid med.
DATABASE: Oppgave 2 et medlemsregister for en idrettsklubb med flere idrettsgrener (fotball, håndball, osv). klubben ønsker å lagre informasjon om medlemmenes.
Dynamiske nettsider PHP Del 4 – Eksterne datakilder.
Dynamiske nettsider PHP Del 2 – Kontrollstrukturer.
Dynamiske nettsider PHP Del 1 – variable. PHP  PHP (Personal Home Page)  Fritt tilgjengelig programmeringsspråk  åpen kildekode  Plattformuavhengig.
Databasen III Nodekoblinger og tags. Mer om proptype Spesifikasjonen for egenskaper. Verdikolonner: value, number, url, datetime, lang, ref. Kan egenskaper.
Andre funksjoner. Her kommer en beskrivelse av søkefunksjoner, knapper og annen funksjonalitet. 2.
Hvordan kan foreldre bruke de vangligste funksjonene i Itslearning.com
Linq To SQL Fagdag 20. November DataContext  DataContexten er mappingen mot databasen –Generer objekter for alle entiteter (tabeller), med properties.
Tabeller Dette er en tabell, eller array. Den kan defineres sånn som dette: public int[] heltallsTabell = new int[11]; //Her er 11 tabellens lengde for.
Termbaser Lars Nygaard. Termbaser Database over begreper Innhold –Definisjoner –Oversettelser –Leksikalske relasjoner –Eksempler.
1 Java Database Connectivity (JDBC) Norvald H. Ryeng
Programmering i Java versjon desember 2002 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Ortering Mål: Se på forskjellige måter for sortering.
Upload av bildefiler Utdrag fra ImageIn Ved Kirsten Klæbo Tirsdag 25/11-03.
Inf1000 (Uke 5) Arrayer, filer og tekst
1 Java Database Connectivity (JDBC) Norvald H. Ryeng
Expression web. Front Page vs Expression web ● Front Page er ute ● Undervisning i Front Page er undervisning i gammeldags teknologi i forhold til standarder.
FUNKSJONSBESKRIVELSE En detaljert forklaring for kunden hvordan en funksjon er tiltenkt å virke Viktig for å sette forventningsstyring, begrensninger og.
Registrering av pårørende i PasDoc og DocuLive Avdeling for kliniske systemer.
Oversikt Access Hva en bør beherske så langt. Tabeller Felt Typer (heltall, desimaltall, tekst, Boolean) Primary Key.
فصل هفتم شاخص گذاری.
Ә.Тәжібаев “Сырдария ” өлеңі ашық сабақ 7-сынып
Екпетал мектеп – балабақшасы Ана тілі 2 класс Өткізген: Г
“Сыни тұрғыдан ойлауға оқыту” модулі сабақтар топтамасында орындаған: бастауыш сынып мұғалімі:Алимбаева Алмаш Иренгалиевна санаты ІІ.
Коучинг тақырыбы: “Оқыту мен оқудағы жаңа әдіс-тәсілдер”
Utskrift av presentasjonen:

Høgskolen i Oslo Webprogrammering SQL og databaser del 3

I dag l Databasetransaksjoner l Søk l Kodegjennomgang l Oppgaveløsning

Databasetransaksjoner l For å sikre at flere sql’s blir skrevet til databasen konsistent (alle eller ingen rader) l F.eks ved –Innsetting i to forskjellige tabeller –Oppdatering av to forskjellige tabeller l Bruker MySql-i fortsatt l Må bruke spesiell databasemotor på alle tabellene (InnoDB)!

DB transaksjoner l Knytte seg til DB l Sette autocommit = false l Utføre de SQL’s som ønskes (f.eks inserts) l Sjekke om hver enkelt SQL gikk bra l Dersom alle SQL-setningene OK –Commit l Dersom feil –Rollback

Eksempel: Kunde-Bestilling l En kunde skal registreres i en tabell samtidig som en vare skal registreres i en annen l Dersom ikke kunden eller bestillingen kan registreres skal ingen av dem lagres Kunde IDKunde Navn Adresse … Bestilling IDBestilling Varenavn Pris IDKunde

DB-tx uten feilhåndtering $db = new mysqli("localhost","root","","butikk"); $db->autocommit(false); $sql = "Insert Into kunde (Navn, Adresse) Values ('$navn','$adresse')"; $resultat = $db->query($sql); $id = $db->insert_id; $sql = "Insert Into bestilling (idKunde, Varenavn, Pris) Values ('$id','$vare',$pris)"; $resultat = $db->query($sql); $db->commit(); $db->close();

DB-tx med feilhåndtering $db->autocommit(false); $sql = "Insert Into kunde (Navn, Adresse) Values ('$navn','$adresse')"; $resultat = $db->query($sql); $ok = true; if(!$resultat) { $ok = false; } else { if($db->affected_rows==0) { $ok=false; } $sql = "Insert Into bestilling (Varenavn, Pris) Values ('$vare',$pris)"; $resultat = $db->query($sql); if(!$resultat) { $ok = false; } else { if($db->affected_rows==0) { $ok=false; } } if($ok) { $db->commit(); echo "Innsetting OK"; } else { $db->rollback(); echo "Feil i innsettingen i databasen”; }

Eksempel: Kunde-Bestilling l I eksemplet er det en relasjon! l Først lagres kunden. Så skal IDKunde (autonummer) lagres i bestillingen! Kunde IDKunde Navn Adresse … Bestilling IDBestilling Varenavn Pris IDKunde

For å finne IDKunde til neste Insert $sql = "Insert Into kunde (Navn, Adresse) Values ('$navn','$adresse')"; $resultat = $db->query($sql); $ok = true; if(!$resultat) { $ok = false; } else { if($db->affected_rows==0) { $ok=false; } else { $id = $db->insert_id; // alt OK her! } } $sql = "Insert Into bestilling (IDKunde, Varenavn, Pris) Values ('$id','$vare',$pris)"; $resultat = $db->query($sql); ……. osv Kunde IDKunde Navn Adresse … Bestilling IDBestilling Varenavn Pris IDKunde

Søk i databaser l Select * from ansatt where fornavn = ”Per”; l Select * from ansatt where fornavn = ”Per” and etternavn = ”Olsen”; l Rett frem søk l Bør vurdere om dere skal ha index for fornavn og etternavn for å gjøre slike søk mer effektive.

Søk med Like l Select * from ansatt where fornavn Like ”%Ole%”; l Da får vi treff for –Ole Petter –Ole –Nils Ole l Her bør en index brukes på fornavnskolonnen. –Worst case da: En full index-scan (ikke en tabell-scan)

Søk med Match Against l Fulltekstsøk er mulig med –Select * from ansatt where match (beskrivelse) against (”Prosjektleder Leder”). l Søker etter alle ordene i against listen (men ikke små ord som ”en”, ”og” el) l De ordene som går igjen i 50 % av radene lukes vekk –Ingen utsiling : (against (”Prosjektleder Leder” IN BOOLEAN MODE). Kolonne i ansatt

Søk med Match Against l Må bruke en FULLTEXT index på kolonnen(e) l Bruke text-blobs istedenfor varchar: l Kolonnetype –Text : maks 64 KB –MediumText : maks 16 MB –LongText : maks 4.2 GB l Bare for MyISAM (ikke InnoDB) –Da kan man ikke gjøre databasetransaksjoner