9. :new och :old -värden 10. Triggerns olika delar 11. Olika typer av triggrar 12. Kodexempel. Pär Douhan,
|
|
- Leif Lundgren
- för 7 år sedan
- Visningar:
Transkript
1 FÖ 12: Databaskursen 1. Lagrade procedurer 2. Fördelar med procedurer 3. Parametrar 4. Vanliga fel 5. Lagrade funktioner 6. Skillnad mellan procedurer och funktioner 7. Triggrar 8. Användningsområde 9. :new och :old -värden 10. Triggerns olika delar 11. Olika typer av triggrar 12. Kodexempel 1 Pär Douhan, pdo@du.se
2 Stored procedures Lagrade procedurer 2
3 Lagrade procedurer En lagrad procedur är ett namngivet PLSQL-block som kan: 1. Lagras i databasen 2. Ta emot parametrar 3. Anropas av en applikation, 4. Eller ett annat PLSQL-block Procedur anrop Explicit exekvering PLSQL- kod Oracle 3
4 En enkel procedur Världens enklaste procedur: create procedure minproc as null; -- den gör ingenting... Procedur: minproc PLSQL- kod eller is (spelar ingen roll) Oracle grant create session to role_name; grant execute ecute on minproc to role e_ name; 4
5 Fördelar 1. Modularisering Skriv små hanterbara procedurer som tillsammans kan bygga ett komplext program. Detta medför att procedurerna är lätta att modifiera och att dela mellan olika applikationer. 2. Återanvändning Eftersom de lagras i databasen kan de användas av flera olika applikationer, t. ex. webbservrar. 3. Inkapsling Vi kan se en procedur som en svart låda. Vi vet vad den heter, vad den gör och vilka parametrar den tar emot. 4. Säkerhet Vi kan sätta upp vår applikation så att det enda sättet att komma åt data är via våra procedurer, d.v.s. via våra API:er.(Application Programming Interface). 5. Underhåll S.P.O.D. (Single Point of Definition)Vi behöver inte ändra SQL och PLSQL på flera ställen. 5
6 Irriterande create procedure goaway is dbms_output.put_line('go away!'); error at line 1 ORA-00955: Name is already in use by another object... Lösning: create or replace procedure goaway Satsen or replace fungerar för procedurer, funktioner, triggrar och vyer. 6
7 Anropa en procedur create or replace procedure goaway is dbms_ output.put p _ line('take a walk!'); Från ett PLSQL-block: goaway; Från Oracle's klientprogram SQL Plus eller SQL Developer: exec goaway; execute goaway; 7
8 Syntax Syntax för att skapa en lagrad procedur: create [or replace] procedure namn [optional = ej tvingande] [(parameter1,parameter2,...)] is eller as [lokala variabeldeklarationer] exekverbara SQL eller PLSQL-satser; exception -- OBS! skriv inte declare 8
9 Parametrar Anroparen av en procedur kan skicka k med parametrar (värden) äd som proceduren kan använda. anropa en procedur = invoke a procedure, call a procedure Det finns tre olika modes eller tillstånd på parametrar. Dessa är: 1. in 2. out 3. in out Kommer inte att tas upp på denna kurs. in-parametrar är s.k. read only parametrar. De kan bara läsas av proceduren, ej modifieras. 9
10 Kompileringsfel i l *?!!***?? Vi skapar något som medför kompileringsfel: create or replace procedure printnamn( p_namn in varchar2) is p_namn := 'Olle'; dbms_output.put_line(p_namn);? PROCEDURE PRINTNAMN compiled Errors: check compiler log Hur ska vi få reda på vilka fel vi har gjort? 10
11 Visa loggen! Vi måste titta i compiler log. Hur gör vi det? create or replace procedure printnamn( p_namn in varchar2) is p_namn := 'Olle'; dbms_output.put_line(p_namn); OK! PROCEDURE PRINTNAMN compiled Errors: check compiler log Show errors; 51 PLS-00363: expression 'P_NAMN' cannot be used as an assignment target 51 PLSQL: Statement ignored Eller så kan vi visa loggen i SQL Developer genom: view - log, eller CTRL + SHIFT + L 11
12 Exempel create or replace procedure createnewcustomer( p_fnamn in kund.fnamn%type, -- parameter 1 p_enamn in varchar2) -- parameter 2 as v_knr number(6); OBS! Ingen längd på select seq_knr.nextval datatypen! into v_knr from dual; insert into kund(knr,regdatum,fnamn,enamn) values(v_knr,sysdate,p_fnamn,p_enamn); commit; -- glöm inte att ta hand om transaktionen... p_enamn := 'Carl-Henrik'; Förbjudet! Read Only 12
13 Anropa createnewcustomer t createnewcustomer p_fnamn p_enamn Den skapar en ny rad i tabellen kund. Vi måste skicka med förnamn och efternamn när vi anropar den. parameter 1 parameter 2 createnewcustomer('hans','rosendahl'); -- parametrarna måste vara i rätt ordning 13
14 Vanliga fel De tre vanligaste felen enligt Oracle: 1. Fel antal parametrar i anropet 2. Fel ordning od gpå parametrarna a a a 3. Fel datatyp på parametrar Vid problem. Kontrollera detta först! 14
15 Stored functions Lagrade funktioner 15
16 Stored functions Funktioner är precis som procedurer, namngivna PLSQL-block PLSQLbl som lagras i databasen. Samma regler gäller för funktioner som för procedurer med avseende på hur vi: 1. Skapar dem. 2. Skickar parametrar till dem. 3. Delar ut behörighet till dem. Den huvudsakliga skillnaden mellan procedurer och funktioner är att funktioner måste returnera ett värde. Detta värde kan vara av enkel datatyp, som number eller varchar2, eller en komplex datatyp, t. ex. en record eller en PLSQL tabell. 16
17 En enkel funktion create or replace function getgoaway return varchar2 is return 'Keep walking!'; Tala om vilken datatyp som funktionen skall returnera. Se till att returnera något med rätt datatyp. Vid anrop av funktionen måste returvärdet fångas: declare v_text varchar2(20); v_text := getgoaway; -- returvärdet fångas i v_text dbms_output.put_line(v_text); 17
18 Testa att den fungerar När vi har skapat en funktion så måste vi kontrollera att den fungerar: select getgoaway from dual; GETGOAWAY Keep Walking! Den verkar fungera! 18
19 Uppgift ARTIKEL artnr artnamn varumärke lagerantal pris 1 Såskastrull Sofoni Traktörpanna Hackman Atlantis kastrull Demeyere Opera Såskastrull i koppar 18 cm Ruffoni Prima Matera Såskastrull i koppar de Buyer Uppgift: Skriv en lagrad funktion som tar ett artnr som inparameter. Funktionen ska sedan returnera pris på den artikeln som har samma artnr som funktionens inparameter. 19
20 Skapa funktionen getpris create or replace function getpris( p_artnr in artikel.artnr%type) return number as v_pris artikel.pris%type; select pris into v_pris from artikel where artnr = p_artnr; return v_pris; exception when no_ data_ found then return -1; en in-parameter Om artikeln inte finns 20
21 Anropa getpris create or replace procedure skrivutpris( p_artnr in artikel.artnr%type) anropa getpris as dbms_output.put_line('artikel: ' p_artnr 'kostar: ' getpris(p_artnr)); Anropa proceduren: skrivutpris(5); Artikel: 5 kostar:
22 Ti Triggers Triggrar 22
23 Ti Triggrar Triggrar är namngivna block med PLSQL-kod som exekverar när vissa fördefinierade händelser inträffar. Triggrar har s.k. implicit exekvering. Detta innebär att Oracle exekverar dem automatisk, d.v.s. de går inte att anropa. Ti Trigger fixasaldo Oracle PLSQL-kod 23
24 Regler för användning Använd ti triggrar för att: 1. Förhindra ogiltiga transaktioner 2. Garantera, att när en viss händelse inträffar, så utförs relaterade händelser automatiskt Använd inte triggrar för att: 1. Upprätthålla constraints (PK, FK etc.) Varning! 1. Skapa inte rekursiva triggers (triggrar som startar sig själva) 2. Använda aldrig TCL kommandona commit eller rollback i en trigger eller procedur som anropas av en trigger. 3. Detta måste skötas av den T som sätter startar triggern. 4. Begränsa storleken till max 60 rader kod mellan och end. Behövs det mer kod, så skapa en procedur och anropa den från triggern. 24
25 Uppgift: Skapa ti trigger KUND knr fnamn enamn stad Rolf Björk Borlänge Malin Ek Borlänge Jossef Mdoud Borlänge Uppgift: Skriv en trigger som formaterar för- och efternamn så att dessa alltid lagras, med stor begynnelsebokstav och resten gemener, i databasen. 'ErIK' 'MaGNUssON' 'borlänge' Before new values :old.fnamn = NULL :old.enamn = NULL :old.knr = NULL :old.stad = NULL insert into kund(knr,fnamn,enamn,stad) values(58477,'erik','magnusson','borlänge'); commit; :new.fnamn = 'ErIK' :new.enamn = 'MaGNUssON' :new.knr = :new.stad = 'borlänge' :new = "Det nya som är på väg in till tabellen" 25
26 Skapa triggern biufer_kund KUND knr fnamn enamn stad Rolf Björk Borlänge insert into kund(knr,fnamn,enamn,stad),e a,stad) values(58477,'erik','magnusson','borlänge'); commit; Malin Ek Borlänge Jossef Mdoud Borlänge Erik Magnusson Borlänge 'ErIK' 'MaGNUssON' 'borlänge' new values create or replace trigger biufer_kund before insert or update of fnamn, enamn, stad 'Erik' 'Magnusson' on kund for each row :new.fnamn := initcap(:new.fnamn); it :new.enamn := initcap(:new.enamn); :new.stad := initcap(:new.stad); Triggern formaterar data innan den hamnar i tabellen 'Borlänge' new values
27 Triggerns olika delar En trigger består av fyra olika delar: 1) Trigger name 2) Triggering statement 3) Trigger restriction 4) Triggered action 27
28 Ti Trigger name Trigger name: Namnet på triggerobjektet biufer_kund Använd alltid en namngivningskonvention biufer? Before insert or update for each row Trigger Happy 28
29 Ti Triggeringi statement t t Triggering statement: Händelsen (eventet) som får Oracle att exekvera triggern. En sådan händelse kan vara: DML-satser: insert, update eller delete på tabeller och vissa vyer. DDL-satser: create alter eller drop på något databasobjekt. "start up" eller "shut down" av Oracle instance. Olika typer av systemfel. Olika systemhändelser, t. ex. inloggning. i inte på kursen kolumn tabell before insert or update of fnamn,enamn,stad on kund 29
30 Ti Trigger restriction: titi studera! KUND knr fnamn enamn stad Rolf Björk Borlänge Malin Ek Borlänge insert into kund(knr,fnamn,enamn,stad) values(58478,'malin','ekholm','mora'); commit; Jossef Mdoud Borlänge 'Malin' 'ekholm' Erik Magnusson Borlänge 'Mora' new values new.stad = 'Mora' create or replace trigger biufer_stad_kund before insert or update on kund for each row when(upper(new.stad) not in('borlänge')) -- when() blir, i detta exempel, sant! raise_ application _ error(-20001,'vi tillåter bara kunder som bor i Borlänge!'); 30
31 Ti Trigger restriction titi Trigger restriction: Trigger restriction: when(upper(new.stad) ( not in('borlänge')) ')) Triggerns kod, det som finns mellan och end, kommer bara att exekveras när "trigger restriction" evalueras till true, d.v.s. när villkoret inom parenteserna i when() är sant. 31
32 Ti Triggered action Ti Triggered action: Koden mellan och end, d.v.s. det arbete som triggern utför. I våra exempel: :new.fnamn := initcap(:new.fnamn); :new.enamn := initcap(:new.enamn); :new.stad := initcap(:new.stad); och: raise_application_error(-20001,'vi tillåter bara kunder som bor i Borlänge!'); 32
33 Olika typer av triggers Det finns fem olika typer av triggers: 1) Statement triggers (fire_only_once_triggers) 2) Row triggers (fire_for_each_row_triggers) 3) Instead of triggers 4) System event triggers 5) User event triggers inte på kursen 33
34 Statement t t triggers En statement trigger kommer bara att exekvera sin kod en gång. create or replace trigger biud_kund before insert or update or delete on kund declare no_way exception; if user not in('douhan') then raise no_way; end if; exception when no_ way then raise_application_error(-20007,'obehörig!'); En statement tt tti trigger har inte tillgång till new och old-värden. Vi skriver inte for each row i en statement trigger. Triggern stoppar den T som startar den 34
35 Loggning Vi kan logga förändringar i en tabell med en trigger: create table kund_kopia as select * from kund; create table kund_kopia_logg( vem varchar2(30), när date); create or replace trigger aiud_kund_kopia after insert or update or delete on kund_kopia insert into kund_kopia_logg(vem,när) values(user,sysdate); Om det sitter flera triggers av samma typ på en tabell, så avfyras de i en slumpvis ordning! OBS! Inget commit 35
36 Kontrollera vilken DML Bestämma vilken DML-sats som är aktiv. create or replace trigger aiud_kund_kopia after insert or update or delete on kund_kopia declare v_händelse kund_kopia_logg.händelse%type; kopia if inserting then v_händelse := 'insert'; elsif updating then v_händelse := 'update'; elsif deleting then v_ händelse := 'delete'; end if; insert into kund_kopia_logg(vem,när,händelse) values(user,sysdate,v_händelse); alter table kund_kopia_logg add(händelse varchar2(20)); This is really cool! 36
37 Before eller After Skall vi använda before eller after? Går vilket som. Låt förnuftet avgöra! Säkerhetskontroll k t before Loggning after 37
38 Row ti triggers En radtrigger: 1. Exekverar en gång för varje rad som påverkas av transaktionen som startar t ti triggern. update kund set rabatt = rabatt * 0.95; 2. Krav: for each row måste vara med. Om det är rader i tabellen kund, så kommer triggern att exekvera gånger. 3. Har tillgång till :new och :old -referenser. insert har tillgång till :new delete har tillgång g till :old update har tillgång till :new och :old 38
39 The Oracle way: Exempel på en radtrigger som kan användas för att fixa en automatisk primärnyckel till en tabell: create table keynote( id number(9) primary key, data varchar2(200)); create sequence seq_id; create or replace trigger bifer_keynote before insert on keynote for each row select seq_id.nextval into :new.id from dual; This is also really cool! 39
40 The End 40
1. PLSQL 2 2. Select into
FÖ 11: Databaskursen 1 1. PLSQL 2 2. Select into 3. Anchored declaration 4. Cursorvariabler 5. Olika typer av cursors 6. Cursorattribut 7. Cursorloop 8. Datatypen record: %rowtype 9. Cursor for loop 10.
Läs merVyer, Prepared Statements, Triggers
Vyer, Prepared Statements, Triggers Vyer En vy är en virtuell tabell, som ej behöver existera fysiskt, en namngiven fråga En vy är inte snabbare än SELECT satsen som definierar vyn Det är möjligt att ställa
Läs merInnehåll MySQL Intro. Allmänt om Lagrade Procedurer Enkel utformning Skapa en lagrad procedur Använda parameter som indata
Innehåll MySQL Intro Allmänt om Lagrade Procedurer Enkel utformning Skapa en lagrad procedur Använda parameter som indata 1 Lagrad procedur / Stored Procedure Lagrad procedur har många namn, förkortningen
Läs mer1. SQL DML (Data Manipulation Language) 2. Lägga till data. 4. Uppdatera data 5. Aktivera default value 6. Hantera datum 7.
FÖ 5: Databaskursen 1 1. SQL DML (Data Manipulation Language) 2. Lägga till data 3. Kopiera tabell 4. Uppdatera data 5. Aktivera default value 6. Hantera datum 7. Ta bort data 8. SQL TCL (Transaction Control
Läs mer1. SQL DDL (Data Definition Language) 2. Skapa tabell
FÖ 4: Databaskursen 1. SQL DDL (Data Definition Language) 2. Skapa tabell 3. Lägga till PK 4. Data Dictionary Views 5. Namn på constraints 6. Lägga till FK 7. Lägga till en kolumn 8. Objektet sekvens 9.
Läs merInnehåll Programability Del 2
Innehåll Programability Del 2 Transaktioner Returvärden och OUTPUT Dynamisk SQL CURSOR / FECTH Trigger Chapter 8, 10 och 13. Beginning SQL Server 2008 for Developers Sven Åke Johansson Institutionen Institutionen
Läs mer9. Anonyma block 10. Clean code och läsbarhet 11. Variabeltyper och variabeldeklaration 12. Olika loopar: Basic, while och for loop
FÖ 10: Databaskursen 1. Vyer (Views) 2. Vyer och dataåtkomst 3. Olika typer av vyer 4. Fördelar med vyer 5. Syntax för att skapa vyer 6. Enkla och komplexa vyer 7. Vyer och constraints 8. PLSQL - introduktion
Läs merLabb LIVE. Exempelkod från föreläsningen. Plushögskolan Frågeutveckling inom MSSQL - SU14
Labb LIVE Exempelkod från föreläsningen Plushögskolan Frågeutveckling inom MSSQL - SU14 Här kommer exempelkoden jag använde under föreläsningen Exemplen Constraints... 2 Transactions... 4 Views... 5 Functions...
Läs merDDL Kommandon CREATE/DROP Database CREATE /ALTER/DROP Table ALTER/ADD/DROP Column CREATE /ALTER/DROP Index
INNEHÅLL SQL DEL 4 DDL Kommandon CREATE/DROP Database CREATE /ALTER/DROP Table ALTER/ADD/DROP Column CREATE /ALTER/DROP Index Chapter 3, 6, 8 delar av. Beginning SQL Server 2008 for Developers 1 CREATE
Läs mer2. Säkerhet 3. Autentisering. 5. Dataintegritet 6. Data privacy 7. PuL 8. Personuppgifter 9. Säkerhetspolicy. Pär Douhan,
FÖ 13: Databaskursen 1. Olika kodexempel 2. Säkerhet 3. Autentisering 4. Auktorisering i 5. Dataintegritet 6. Data privacy 7. PuL 8. Personuppgifter 9. Säkerhetspolicy 1 Pär Douhan, pdo@du.se Procedurer,
Läs merDu skall naturligtvis visa körexempel med output där det behövs i din rapport!
och databprogrammering Christilinda Göstson - PL/SQL, paket och ref cursor Du skall naturligtvis visa körexempel med output där det behövs i din rapport! OBS! Denna labb redovis i labbrapport via mail
Läs mer2. Objekt, operatorer och integritetsregler 3. Databasobjekt
FÖ 3: Databaskursen 1. Relationsdatabaskomponenter 2. Objekt, operatorer och integritetsregler 3. Databasobjekt 4. Objektet tabell 5. Synonymer 6. Schema 7. Integritetsregler och constraints: PK, FK, Unique,
Läs merFÖ 13: Databaskursen. Pär Douhan,
FÖ 13: Databaskursen 1. Olika kodexempel 2. Säkerhet 3. Autentisering 4. Auktorisering 5. Dataintegritet 6. Data privacy 7. GDPR 8. Personuppgifter 9. Säkerhetspolicy 1 Pär Douhan, pdo@du.se Procedurer,
Läs merStructured query language (SQL)
Structured query language SQL) Varför SQL? SQL är ett standardspråk som är oberoende av databashanteringssystemen som finns på marknaden. Med andra ord kommer du kunna arbeta mot nästan alla sorters relationsdatabaser
Läs merTENTAMEN DATABASKUNSKAP ITEK12
TENTAMEN DATABASKUNSKAP ITEK12 Tid: Fredag den 19 oktober kl. 9-00-12.00, sal D409 Tillåtna hjälpmedel: Endast papper och penna. Poäng: Maxpoäng: 56. Gräns för G: 50%. Gräns för VG: 75%. Om något som verkar
Läs mer1.Lär känna MS SQL Observera. Tips. Förberedelse
1.Lär känna MS SQL 2008 Observera Övningar som finns tillgängliga är till för att du ska kunna testa dina kunskaper och träna på dem. Det är helt upp till dig när du vill genomföra och om du vill genomföra
Läs merStarta MySQL Query Browser
Starta MySQL Query Browser 1. Starta MySQL Query Browser genom att antingen välja i Startmenyn: 2. eller leta upp ikonen på skrivbordet för start av MySQL Query Browser och dubbelklicka på den. 3. Du bör
Läs merDatabasföreläsning. Del 2 lagrade procedurer, vyer och transaktioner
Databasföreläsning Del 2 lagrade procedurer, vyer och transaktioner Lagrade procedurer (Stored procedures) En stored procedure är en procedur (funktion) lagrad i en databas, och exekveras direkt på databasservern
Läs merDesign och underhåll av databaser
Design och underhåll av databaser 1. Modell av verkligheten 2. Normalformer 3. Introduktion till DDL 4. Skapa databaser 5. Skapa tabeller 6. Skapa index 7. Restriktioner 8. Ta bort databaser, tabeller
Läs merTransaktioner. 1. Transaktioner 2. Samtidighet ( concurrency ) och lås. 3. Deadlock. Kap. 17. Informatik B: Databashantering med SQL Server
Transaktioner 1. Transaktioner 2. Samtidighet ( concurrency ) och lås Kap. 17 3. Deadlock Sid. 1 5. Transaktioner En transaktion är en grupp av frågor samlade till en logisk enhet Normalt är varje SQL
Läs mer9. Between 10. Group by 11. Aggregatfunktionerna max, min, sum och avg 12. Nästlade sökningar
FÖ 8: Databaskursen 1. SQL 2. Utsökningar mot en tabell 3. Od Order by 4. Funktionerna upper, lower och initcap 5. Konkatenering 6. Kolumnalias 7. Distinct 8. Hantera nullvärden med nvl-funktionen 9. Between
Läs merFör att XCOPY i SQL Server Express ska fungera måste data och logg ligga i samma mapp, vilket naturligtvis inte är så bra.
1 Datafiler tillhör alltid en filgrupp. Det måste alltid finnas en PRIMARY group. Det är inget som hindrar att datafiler på olika diskar tillhör samma filgrupp. PRIMARY gruppen innehåller huvudfilen till
Läs merSQLs delar. Idag. Att utplåna en databas. Skapa en databas
Idag SQLs delar Hur skapar vi och underhåller en databas? Hur skapar man tabeller? Hur får man in data i tabellerna? Hur ändrar man innehållet i en tabell? Index? Vad är det och varför behövs de? Behöver
Läs merLär känna MS SQL 2008 / Övning. Observera. Tips. Förberedelse
Lär känna MS SQL 2008 / Övning Observera Övningar som finns tillgängliga är till för att du ska kunna testa dina kunskaper och träna på dem. Det är helt upp till dig när du vill genomföra och om du vill
Läs merSQL. Structured Query Language. Frågespråk för att används för. Kommandon. data åtkomst data manipulation
SQL Structured Query Language Frågespråk för att används för data åtkomst data manipulation Kommandon Lägga in ny data, INSERT Ändra data, UPDATE Radera data, DELETE Hämta data, SELECT mfl 2005-10-13 Gk/ÖK:ITO,
Läs merDatabasens består av: Tabell Kolumner fält Rader poster (varje post är unik)
Databasföreläsning Databasens består av: Tabell Kolumner fält Rader poster (varje post är unik) Tabeller Personer Databas Nummer Namn Födelseår 1 Tina 1950 2 Siv 1965 3 Olle 1980 Platt databas: all information
Läs mer! Teori och praktik. ! Ändringar från förra året. ! Examination (tenta, projekt) LiU. ! Varför ni? ! Varför överhuvudtaget? LiU
Databaser Design och programmering, IDA Kursen, diverse praktiskt Varför databaser? Vad är en databas? Andra viktiga begrepp Kursöversikt Teori och praktik Fö och bok lektioner, labbar i projekt (3,5hp=100h)
Läs mer732G16: Databaser - Design och programmering
732G16: Databaser - Design och programmering Eva L. Ragnemalm, IDA (eva.ragnemalm@liu.se) Johan Falkenjack, IDA (johan.falkenjack@liu.se) Fö 1 Introduktion 2 Kursöversikt Teori och praktik Kursbok, lektionshäfte,
Läs merKompendium till databaser och informationssystem 10p för SY2 2000
Högskolan Dalarna Anders Forsman tel: 023-778956 email: afm@blg.du.se Kompendium till databaser och informationssystem 10p för SY2 2000 2000-09-04 Innehållsförteckning INNEHÅLLSFÖRTECKNING... 2 1 DATAMODELLERING...
Läs merVad är en databas? Exempel på databaser: Databas = Organiserad samling och lagring av information.
Vad är en databas? Exempel på databaser: Kortregister på kontor Sjukvårdsjournal Bokregister på bibliotek Medlemsregister i en förening Kundregister på företag Telefonkatalogen Databas = Organiserad samling
Läs merSQL, nästlade delfrågor 3-19. Nästlade delfrågor. En nästlda delfråga är ett select-from-where uttryck inom where-klausulen i en annan fråga.
SQL, nästlade delfrågor 3-19 Nästlade delfrågor SQL har en mekanism för nästling av delfrågor: En nästlda delfråga är ett select-from-where uttryck inom where-klausulen i en annan fråga. Delfrågor används
Läs merKlientprogrammering mot databaser
Klientprogrammering mot Databaser Java DataBase Connectivity, JDBC Klientprogrammering mot databaser Native API olika för olika DBMS, ofta i C/C++ ODBC, Open Datbase Connectivity samma API för olika databashanterare.
Läs merIdag. Hur skapar vi och underhåller en databas? DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20
Idag Hur skapar vi och underhåller en databas? DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten 2009 1 / 20 Idag Hur skapar vi och underhåller en databas? Hur skapar man tabeller?
Läs merFNTSK SKNNK Fonetisk sökning
FNTSK SKNNK Fonetisk sökning Sven Heidorn Centrala Studiestödsnämnden sven.heidorn@csn.se Swedish DB2 User Group 05/01/19 Bakgrund CSN gör s.k. SPAR-sökningar på namn hos InfoData för ca. 100 000 kr/månad
Läs merUppstart Inloggning SSMS Skapa Databas Skapa Tabell Skapa Diagram, Fk, RI Hantering av Index, Pk, Fk, Ix Constraints Beräknande fält Några funktioner
INNEHÅLL Uppstart Inloggning SSMS Skapa Databas Skapa Tabell Skapa Diagram, Fk, RI Hantering av Index, Pk, Fk, Ix Constraints Beräknande fält Några funktioner Kapitel 5 och 6. Beginning SQL Server 008
Läs merDatabaser - Design och programmering. Kursöversikt. Exempel: telefonbok. Varför databaser?
Databaser Design och programmering! Diverse praktiskt! Varför databaser?! Vad är en databas?! Andra viktiga begrepp Kursöversikt! Teori och praktik! Samläsning! Olika projekt! Examination (tenta, labb
Läs merDatabaser - Design och programmering
Databaser - Design och programmering Eva L. Ragnemalm, IDA (eva.ragnemalm@liu.se) Fö 1; introduktion Kursen, diverse praktiskt Varför databaser? Vad är en databas? Andra viktiga begrepp 2 Kursöversikt
Läs merSkapa exempeldatabasen
Skapa exempeldatabasen Koden i detta dokument är avsedd att exekveras i SQL Editor i MySQL Workbench. Skapa databasen För att kunna använda svenska alfabetet för lagring av data deklareras teckenensuppsättningen
Läs mer1. SQL 2. Utsökningar mot flera tabeller. 4. IN-operatorn 5. Join 6. Kartesisk produkt 7. Tabellalias
FÖ 9: Databaskursen 1. SQL 2. Utsökningar mot flera tabeller 3. Nästlad sökning eller sub queries 4. IN-operatorn 5. Join 6. Kartesisk produkt 7. Tabellalias 8. Distincti 9. Group by 10. Having 11. In
Läs merTER3. Försättsblad till skriftlig tentamen vid Linköpings universitet G28 TEN1 Webprogrammering och databaser Tentamen IDA 1 (7)
1 (7) Försättsblad till skriftlig tentamen vid Linköpings universitet Datum för tentamen Sal (1) Tid Kurskod Provkod Kursnamn/benämning Provnamn/benämning Institution Antal uppgifter som ingår i tentamen
Läs merDatabasutveckling Introduktion till SQL och TSQL
Databasutveckling Introduktion till SQL och TSQL Copyright Mahmud Al Hakim mahmud@webacademy.se www.webacademy.se Agenda Introduktion till SQL SELECT satsen, enkla frågor Hämta specifika kolumner Alias
Läs merDVA234 Databaser. Dag Nyström, Introduktion till databaser och MS SQL Server
DVA234 Databaser 1(6) Kurs: DVA234 Databaser Version: 4, uppdaterad 2016-03-21 Utvecklad av: Dag Nyström, dag.nystrom@mdh.se Laboration 1: Introduktion till databaser och MS SQL Server I den här laborationen
Läs merÖVERVAKNING AV SQL SERVER
ÖVERVAKNING AV SQL SERVER Hantering resurser för samtidiga användare Övervakning av SQL Servers aktiviteter Hantering av blockerade processer Användning av SQL Profiler för att hitta besvärliga frågor
Läs merSystembeskrivning Sakfrågan
KTH Programutvecklingsprojekt, 2D1954 Nada - Institutionen för Numerisk analys och datalogi 2003-04-28 Systembeskrivning Sakfrågan Amr El-Ghazaly Joakim Andersson John Holmström Jens Modig Carl Drott SYSTEMÖVERSIKT
Läs merLabb LABB 1. Databassagan och en rundtur i databasers märkliga värld. Plushögskolan Frågeutveckling inom MSSQL - SU14
Labb LABB 1 Databassagan och en rundtur i databasers märkliga värld Plushögskolan Frågeutveckling inom MSSQL - SU14 I Microsoft SQL-Server Management Studio kan man arbeta på olika sätt. Antingen via användargränssnittet
Läs merDatabaskunskap 7,5 högskolepoäng Provmoment: Ladokkod: Tentamen ges för:
Databaskunskap 7,5 högskolepoäng Provmoment: Ladokkod: Tentamen ges för: Namn: Personnummer: Individuell prövning 41E03B Öppen för alla Tentamensdatum: 2013-08-20 Tid: 09:00-13:00 Hjälpmedel: Inga hjälpmedel
Läs merD1. Create Domain TEXT30 char(30) Default INGET VÄRDE! ;
Lösningsförslag till Övning i SQL Data Definition Language (DDL) D1. Create Domain TEXT30 char(30) Default INGET VÄRDE! ; D2. Create Domain CHARNRKEY char(7 D3. Create Table Skiva( T1. Create Table Skiva(
Läs merINNEHÅLL. Historik Vad är SQL Språkuppbyggnad SELECT Operatorer Logiska/Jämförelse SELECT med Alias och JOIN INSERT UPDATE DELETE
INNEHÅLL Historik Vad är SQL Språkuppbyggnad SELECT Operatorer Logiska/Jämförelse SELECT med Alias och JOIN INSERT UPDATE DELETE Chapter 8, 9, 11 delar av. Beginning SQL Server 2008 for Developers 1 VAD
Läs merVAD GÖR DU / VEM ÄR DU?
INNEHÅLL Vad blir din roll Databaser vad är och varför Terminologi Datamodellering vad är och varför Utvecklingsprocessen SQL vad är det Data / Information / Kunskap Kapitel 1 delar av. Praktisk Datamodellering
Läs merDenna laboration skapades för elever vid Roslagens Högskola men kan användas av vem som helst. Namnen på servrarna måste i så fall ändras.
Laboration 1, Databashantering med MySQL Av: Marcus Rejås I denna laboration skall du se till att du kommer åt databasmotorn och att det fungerar. Du kommer också att skapa en tabell
Läs merTabeller och kolumner SQL. Lägga till en ny post. Lägga till en ny post
SQL Structured Query Language Frågespråk för att används för data åtkomst data manipulation Kommandon Lägga in ny data, INSERT Ändra data, UPDATE Radera data, DELETE Hämta data, SELECT mfl Rader Tabeller
Läs merRecitation 4. 2-D arrays. Exceptions
Recitation 4. 2-D arrays. Exceptions Animal[] v= new Animal[3]; 2 declaration of array v Create array of 3 elements v null a6 Assign value of new-exp to v Assign and refer to elements as usual: v[0]= new
Läs merStored procedure i ASP.NET
Stored procedure i ASP.NET OBS! Om du vill jobba med att skapa en stored procedure i en SQL Serverdatabas ifrån VS2010 måste du ha fullversion, expressversionen tillåter dig ej att skapa triggers, stored
Läs merSample exam questions. Database exam TIG058
Sample exam questions Database exam TIG058 Distribution of topics covered 1. Grundläggande om Databaser och Databashanterare (5p) 2. SQLite-databashanteraren (5p) 3. SQL - SELECT, ORDER BY, WHERE, LIMIT
Läs merDatabaser och. SQL, utsökningar mot en tabell
Databaser och Informationssystem 5 hp IK008 Föreläsning 7 SQL, utsökningar mot en tabell Övningsuppgifter Övningstabell SQL> desc personal Name Null? Type ------------------------------------- --------
Läs merADO.NET Murach Kapitel 17-20
Databaser och C# ADO.NET Murach Kapitel 17-20 2013-01-30 1 Winstrand Development Databas ADO.NET Är en del av.net ramverket och tillhandahåller delar för att kommunicera med olika datakällor. Dessa kan
Läs merWCMS-15, Webbutvecklare CMS
WCMS-15, Webbutvecklare CMS Övningstentamen, delkurs Dynamiska webbplatser (20 YH-poäng) Plats: Medieinstitutet, Malmö Tid: 25 november 2015, kl. 13.00-16.00 Tillåtna hjälpmedel: Papper, penna, suddgummi,
Läs merÖvningar i SQL. SQLAccess.doc Ove Lundgren 2000-11-14
Övningar i SQL Övningar i SQL Använd Access för att öva SQL (= Structured Query Language) Skapa tabeller med SQL 1. Ny databas: SQLÖVNING Klicka: Frågor > Ny > Design > OK >Stäng > SQL Radera ordet SELECT.
Läs merGenomgång av tentamen. Databasteknik ITHS 4/3 2016
Genomgång av tentamen Databasteknik ITHS 4/3 2016 Tentans upplägg Täcka in de 10 delar av kursen vi bedömt som viktigast Säkerställa att det funnits såväl teoripass som övningspass kring varje del Lätt
Läs merFöreläsning 6: Introduktion av listor
Föreläsning 6: Introduktion av listor Med hjälp av pekare kan man bygga upp datastrukturer på olika sätt. Bland annat kan man bygga upp listor bestående av någon typ av data. Begreppet lista bör förklaras.
Läs merFöreläsning 2: Översikt över ett databassystem
Föreläsning 2: Översikt över ett databassystem DVA234 Databaser IDT Akademin för Innovation, Design och Teknik Innehåll Föreläsningens mål: Att ge en överblick över databassystemets arkitektur, delar och
Läs merMySQL - testmiljöer på minuter. Thomas Johansson IT-avdelningen
MySQL - testmiljöer på minuter Thomas Johansson IT-avdelningen 1 Kort presentation! MySQL-DBA Unix-gubbe sedan 90-talet 2 Testmiljöer för MySQL För att testa innan uppgradering För att testa uppgradering
Läs merTentamen i Databasteknik
Tentamen i Lördagen den 21 oktober 2006 Tillåtna hjälpmedel: Allt skrivet material Använd bara framsidan på varje blad. Skriv max en uppgift per blad. Motivera allt, dokumentera egna antaganden. Oläslig/obegriplig
Läs merSupport Manual HoistLocatel Electronic Locks
Support Manual HoistLocatel Electronic Locks 1. S70, Create a Terminating Card for Cards Terminating Card 2. Select the card you want to block, look among Card No. Then click on the single arrow pointing
Läs merL0009B. Moment. Introduktion till geografiska databaser: G:\L0009B\Allmänt\IntroGeoDB.pdf (F)
L0009B Moment FL 1: Kursintroduktion. Kursinformation: G:\L0009B\Allmänt\KursInformationL0009B.pdf (F) Kursplan: Se https://portal.student.ltu.se/stuka/kurs.php?kurs=l0009b&lang=swe (F) Allt som markerats
Läs merINTRODUKTION TILL JDBC
INTRODUKTION TILL JDBC Vad är JDBC? JDBC står för Java DataBase Connectivity. JDBC ingår i Java och består av en del klasser som har hand om databasfunktionalitet. Med Java följer JDBC-ODBC Bridge driver,
Läs merInnehåll. Föreläsning 3. javax.naming.context. javax.sql.datasource. Vad är JDBC? Java Naming and Directory Interface(JNDI) Viktigaste metoder:
Föreläsning 3 JDBC Innehåll JNDI Java Naming and Directory Interface En slags DNS för Objekt JDBC Grunderna Uppkoppling Exekvera SQL-satser Ta hand om resulterande ResultSets Finesser PreparedStatement
Läs merSätta upp e-post server Ubuntu 14.04, del 1 installation av programvara, konfiguration av mysql och Postfix
Sätta upp e-post server Ubuntu 14.04, del 1 installation av programvara, konfiguration av mysql och Postfix Arbetsuppgift 1: Uppdatera och uppgradera din installation. Steg 1: Starta och logga på din server,
Läs merLösningsförslag, tentamen i Databaser
LUNDS TEKNISKA HÖGSKOLA 1(4) Institutionen för datavetenskap Lösningsförslag, tentamen i Databaser 2004-04-20 1. ER-diagram: Matsedel år vecka serveras 1..5 lagas-med Maträtt Ingrediens dag mängd Allergi
Läs merDisposition. 1. Kopplingen mellan Processanalys (DFDdiagram) 2. Treskikts Client-Server arkitektur (Fig 1.8) 3. Data layer
Disposition 1. Kopplingen mellan Processanalys (DFDdiagram) och konceptuell modellering (ERdiagram) (se kap 4) 2. Treskikts Client-Server arkitektur (Fig 1.8) 3. Data layer Databasen (Kap 2) Den relationella
Läs merDatabaser och. SQL, utsökningar mot flera tabeller TENTA. # radnr (#) studnr (#) kursnr * tentadatum * betyg
Databaser och Informationssystem 15 hp IK1008 Föreläsning 8 SQL, utsökningar mot flera tabeller Övningsuppgifter STUDENT TENTA KURS # studnr * fnamn * enamn o regdatum # radnr (#) studnr (#) kursnr * tentadatum
Läs merStored procedure i ASP.NET
Stored procedure i ASP.NET OBS! Om du vill jobba med att skapa en stored procedure i en SQL Serverdatabas ifrån VS2010 måste du ha fullversion, expressversionen tillåter dig ej att skapa triggers, stored
Läs merGU / Chalmers Campus Lindholmen Tentamen Programutveckling LEU 482 / TIG167
GU / Chalmers Campus Lindholmen Tentamen Programutveckling 2016-01-13 LEU 482 / TIG167 Examinator: Henrik Sandklef (0700-909363) Tid för tentamen: 2016-01-13, 08.30 12.30 Ansvarig lärare: Henrik Sandklef,
Läs merIntroduktion till Jasmine 1.2 ODQL
Introduktion till Jasmine 1.2 ODQL I detta avsnitt beskrivs ett antal praktiska handgrepp som behövs för att köra Jasmine ODQL. 1 ODQL miljön Man kan enklast köra ODQL mot Jasmine från ett vanligt Command
Läs merInnehåll MySQL Intro. Ex på ett index Index typer ISAM Balanserat träd Pk och Fk i MySQL Eget index För o nackdelar med index
Innehåll MySQL Intro Ex på ett index Index typer ISAM Balanserat träd Pk och Fk i MySQL Eget index För o nackdelar med index Institutionen Institutionen för Datavetenskap, för Kommunikation Fysik o och
Läs merAnalytisk relationsdatabasdesign
Analytisk relationsdatabasdesign Att förbättra kvaliteten i databaser Presenter s Name Organization name www.horton.com Domän-regler och främmande nyckel regler via DDL Datatyp! Datatyp! Maxvärde! Maxvärde!
Läs merRättningsmall tenta den 25e oktober Uppgift 1. Uppgift 2. se slides
Rättningsmall tenta den 25e oktober 2011 Uppgift 1 A) Null (Connolly/Begg, p.103) Represents a null value for an attribute that is currently unknown or is not applicable for this tuple. Its not a value
Läs merWebprogrammering och 729G28 databaser Webprogrammering och databaser Kursöversikt Webprogrammering Designprocessen Lösningsförslag
729G28 Webprogrammering och Kursansvarig: Eva Ragnemalm, IDA eva.ragnemalm@liu.se Kursassistent: Anders Märak Leffler anders.marak.leffler@liu.se Webprogrammering och Föreläsning 1: Diverse praktiskt om
Läs merVad är en databas? Databaser. Relationsdatabas. Vad är en databashanterare? Vad du ska lära dig: Ordlista
Databaser Vad är en databas? Vad du ska lära dig: Använda UML för att modellera ett system Förstå hur modellen kan översättas till en relationsdatabas Använda SQL för att ställa frågor till databasen Använda
Läs merINNEHÅLL SQL DEL 2. Funktioner inbyggda Aggregatfunktioner Skalärfunktioner. Chapter 11. Beginning SQL Server 2008 for Developers
INNEHÅLL SQL DEL 2 Funktioner inbyggda Aggregatfunktioner Skalärfunktioner Chapter 11. Beginning SQL Server 2008 for Developers 1 FUNKTIONER, INBYGGDA Det finns ett mängd med funktionen du kan använd dig
Läs merSchenker Privpak AB Telefon VAT Nr. SE Schenker ABs ansvarsbestämmelser, identiska med Box 905 Faxnr Säte: Borås
Schenker Privpak AB Interface documentation for web service packageservices.asmx 2012-09-01 Version: 1.0.0 Doc. no.: I04304b Sida 2 av 7 Revision history Datum Version Sign. Kommentar 2012-09-01 1.0.0
Läs merFöreläsning 3: Booleans, if, switch
TDA 545: Objektorienterad programmering Föreläsning 3: Booleans, if, switch Magnus Myréen Chalmers, läsperiod 1, 2015-2016 Påminnelse om klasser och objekt Boll boll1 = new Boll(5,12); skapar ett nytt
Läs merInga hjälpmedel är tillåtna
Databaser och Affärssystem Provmoment: Ladokkod: Tentamen ges för: Tentamen 41F08A KITEK15h 7,5 högskolepoäng TentamensKod: Tentamensdatum: 2016-10-27 Tid: 9-12 (3 timmar) Hjälpmedel: Inga hjälpmedel är
Läs merProgrammeringsteknik med C och Matlab
Programmeringsteknik med C och Matlab Kapitel 2: C-programmeringens grunder Henrik Björklund Umeå universitet Björklund (UmU) Programmeringsteknik 1 / 32 Mer organisatoriskt Imorgon: Datorintro i lab Logga
Läs merDet finns även möjlighet att göra "Java - kopplingar" mot DB2 enligt diverse standarder som ODBC, SQLj mm.
Syftet med detta dokument är att ge studenterna de nödvändiga kunskaperna för att snabbt komma igång med att använda IBM DB2 för Windows / NT. DB2 v 6.1 är en i grunden en relationsdatabas men det finns
Läs merStructured Query Language (SQL)
Structured Query Language (SQL) Christer Stuxberg christer.stuxberg@im.uu.se Institutionen för Informatik och Media Översikt Introduktion Enkla frågor (queries) Hämta en specifik kolumn Sök Sammanfattning
Läs merKompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering
Föreläsning 1 Objektorienterad programmering DD1332 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer Kompilering och exekvering Ett program måste översättas till datorns språk
Läs merIntroduktion till MATLAB, med utgångspunkt från Ada
Introduktion till, med utgångspunkt från Desktop-miljö som innefattar editor, kommandofönster, graffönster och mycket mer. Interpreteras Snabbt att testa kommandon Terminal + emacs + gnatmake Kompileras
Läs merProgrammering I Tobias Wrigstad fredag, 2009 augusti 28
Programmering I Tobias Wrigstad tobias@dsv.su.se Vad är programmering? Lågnivåspråk och högnivåspråk Kompilering och interpretering Variabler Notation för flödesschema (flow chart) Kontrollstrukturer (conditionals,
Läs merFunktionens deklaration
Funktioner - 1 Teknik för stora program #include #include......... cout
Läs merProva på-laboration i SQL
Prova på-laboration i SQL Peter Dalenius petda@ida.liu.se Institutionen för datavetenskap, Linköpings universitet 2006-09-19 1. Introduktion till databaser Databaser finns i så gott som alla sammanhang
Läs mer1. Kvalitetsbegreppet 2. Kommunikation 4. Olika typer av datalagring. 5. Databas 6. DBMS 7. Molntjänster 8. Tabeller. 10. SQL 11.
FÖ 2: Databaskursen 1. Kvalitetsbegreppet 2. Kommunikation 3. Olika typer av data 4. Olika typer av datalagring 5. Databas 6. DBMS 7. Molntjänster 8. Tabeller 9. ANSI-SPARC 10. SQL 11. Oracle Arkitektur
Läs merDagens föreläsning Programmering i Lisp. - Bindning av variabler (avs 14.6) fria variabler statisk/lexikalisk och dynamisk bindning
1 Dagens föreläsning Programmering i Lisp - Block, räckvidd - Bindning av variabler (avs 14.6) fria variabler statisk/lexikalisk och dynamisk bindning - Felhantering (kap 17) icke-normala återhopp catch
Läs merVad är SQL? Introduktion till SQL
Introduktion till SQL Copyright Mahmud Al Hakim mahmud@webacademy.se www.webacademy.se Vad är SQL? Structured Query Language (SQL) är ett standardiserat frågespråk för att hämta och modifiera data i en
Läs merFöreläsning 6 Databaser och säkerhet
Databasbaserad publicering Föreläsning 6 1 Föreläsning 6 Databaser och säkerhet & Läs kapitel 13 i Databasteknik och kapitel 9 i boken PHP & MySQL: Novice to Ninja Databasbaserad publicering Föreläsning
Läs mer729G28 Webprogrammering och databaser. Föreläsning 1: Diverse praktiskt om kursen Webprogrammering Databaser, terminologi
729G28 Webprogrammering och databaser Föreläsning 1: Diverse praktiskt om kursen Webprogrammering Databaser, terminologi 2 Personal Examinator, Ansvarig databasteori: Eva Ragnemalm, eva.ragnemalm@liu.se
Läs merKursplan. IK1051 Behörighetsgivande kurs i databassystem för masterprogram i Business Intelligence. 7,5 högskolepoäng, Grundnivå 1
Kursplan IK1051 Behörighetsgivande kurs i databassystem för masterprogram i Business Intelligence 7,5 högskolepoäng, Grundnivå 1 Qualification course in Database Systems for masterprogram in Business Intelligence
Läs mer