Innehåll Programability Del 2
|
|
- Ebba Johansson
- för 6 år sedan
- Visningar:
Transkript
1 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 för Datavetenskap, för Kommunikation Fysik o och design Matematik 1
2 Transaktioner (1 av 3) En transaktion kan sägas vara när en förändring ska genomföras. Den kan bestå av en sats eller flera satser. En ensats transaktion kan bara lyckas eller misslyckas. Implicit transaktion. En flersats transaktion kan lyckas helt, delvis lyckas (=delvis misslyckas) och misslyckas helt. Explicit transaktion. Antag att en ny fakturarad ska skapas. Då ska en ny post läggas in i fakturarad och en avräkning av antal i artikel äga rum: INSERT INTO Fakturarad Fakturaid,Artikelid,Antal,Pris,rabatt,momsid) VALUES (2,104,23,12.50,0,1); UPDATE Artikel Set Antal=Antal-23 WHERE Artikelid=104; Om ett fel uppstår efter att första satsen genomförts så att den andra satsen inte kan genomföras så har vi inte en konsistent databas längre. Det ska inte få hända. Data kommer inte längre vara korrekta i databasen. Sven Åke Johansson Institutionen Institutionen för Datavetenskap, för Kommunikation Fysik o och design Matematik 2
3 Transaktioner (2 av 3) En transaktion är en odelbar arbetsuppgift där allt eller inget ska genomföras. Som standard är varje SQL sats en egen arbetsuppgift. Om du har fler SQL satser som måste genomföras så ska dessa grupperas att tillhöra EN transaktion. TRANSACTION COMMIT TRANSACTION ROLLBACK TRANSACTION -- Anger start av transaktion -- Avslutar lyckad transaktion och -- sparar till disk. -- Återställer misslyckad transaktion Använd TRY / CATCH för felhantering. Sven Åke Johansson Institutionen Institutionen för Datavetenskap, för Kommunikation Fysik o och design Matematik 3
4 Transaktioner (3 av 3) TRY TRAN UPDATE Artikel SET antal=antal Uppdaterar i Artikel WHERE artikelid=104; -- Lägger upp en post i -- fakturarad INSERT INTO Fakturarad (Fakturaid,Artikelid,Antal,Pris,rabatt,momsid) VALUES (2,104,23,6.50,0,1); COMMIT TRAN TRY CATCH ROLLBACK TRAN Om något går fel efter TRY innan COMMIT TRAN så genomförs CATCH. Om allt går bra genomförs COMMIT TRAN -- Avslutar TRAN och sparar på -- disk. -- Återställer till status -- innan TRAN RAISERROR( Transaktionen gick inte att genomföra!,16,1) CATCH Sven Åke Johansson Institutionen Institutionen för Datavetenskap, för Kommunikation Fysik o och design Matematik 4
5 Ny fakturarad Lägga till en ny fakturarad. Hämta data ur artikel och uppdatera artikel. CREATE PROCEDURE int AS Decimal(6,2); GO Pris From Artikel WHERE TRAN INSERT INTO Fakturarad (Fakturaid,Artikelid,Antal,Pris,rabatt,momsid) VALUES UPDATE Artikel Set WHERE COMMIT TRAN EXEC usp_insfakturarad 6,104,2,0.05,1 Sven Åke Johansson Institutionen Institutionen för Datavetenskap, för Kommunikation Fysik o och design Matematik OBS! Förenklad på transaktionssidan av utrymmesskäl OBS! Decimaltal anges med decimalpunkt 5
6 Exempel RaderaFakturarad (1) Radera en fakturarad och uppdatera artikel. CREATE PROCEDURE int AS TRAN UPDATE Artikel Set WHERE DELETE From Fakturarad WHERE OBS! Förenklad på transaktionssidan av utrymmesskäl -- Uppdaterar artikel -- med ändring i antal -- raderar raden från -- fakturarad COMMIT TRAN GO EXEC usp_fakturaradradera 6,104,2 Sven Åke Johansson Institutionen Institutionen för Datavetenskap, för Kommunikation Fysik o och design Matematik 6
7 Exempel RaderaFakturarad (2) CREATE PROCEDURE int AS int = From Fakturarad WHERE Fakturaradid=@Fakturaradid OBS! Förenklad på transaktionssidan av utrymmesskäl TRAN UPDATE Artikel Set Antal=Antal+@antal -- Uppdaterar artikel WHERE Artikelid=@Artid; -- med ändring i antal DELETE From Fakturarad WHERE fakturaradid=@fakturaradid; COMMIT TRAN -- raderar raden från -- fakturarad EXEC usp_fakturaradradera 6 Sven Åke Johansson Institutionen Institutionen för Datavetenskap, för Kommunikation Fysik o och design Matematik 7
8 Exempel RaderaFakturarad (3) CREATE PROCEDURE int AS int = From Fakturarad WHERE Fakturaradid=@Fakturaradid; TRY TRAN UPDATE Artikel Set Antal=Antal+@antal WHERE Artikelid=@Artid; DELETE From Fakturarad WHERE fakturaradid=@fakturaradid; COMMIT TRAN TRY CATCH ROLLBACK TRAN RAISERROR ( Borttagningen gick inte att genomföra!,16,1) CATCH Sven Åke Johansson Institutionen Institutionen för Datavetenskap, för Kommunikation Fysik o och design Matematik 8
9 Att radera en hel faktura Beskriv i ett dataflöde hur du ska gå tillväga för att radera en hel faktura! Sven Åke Johansson Institutionen Institutionen för Datavetenskap, för Kommunikation Fysik o och design Matematik 9
10 Parameter OUTPUT De parametrar vi hittills behandlat är INPUT parametrar. De för värden till proceduren (förutom return) och tas sedan om hand av den lagrade proceduren. Om en procedur ska lämna från sig värden så ska dessa definieras som OUTPUT: CREATE PROCEDURE usp_maxantal integer OUTPUT) AS OUTPUT anges FROM Artikel; Deklarera lokal variabel. OUTPUT måste anropas med en variabel as integer EXEC OUTPUT as MaxAntal; OUTPUT måste anges vid anrop Resultatet Sven Åke Johansson Institutionen Institutionen för Datavetenskap, för Kommunikation Fysik o och design Matematik 10
11 RETUR värden En funktion levererar alltid returvärden i SQL Server. Lagrade procedurer kan också returnera värden med hjälp av RETURN. Användbarheten är dock begränsad: Returvärdet kan endast vara ett heltal Värden -1 till -99 är reserverade för SQL Server Konvention: 0 = lyckad operation, -100 eller lägre = Fel CREATE PROCEDURE int = Null AS is Null RETURN -100 int From Faktura WHERE Kundid=@Kundid; int RETURN orsakar uthopp ur sproc usp_getantalfakturakund 1 RAISERROR ( Data saknas!',16,1) ELSE as Antal fakturor! Sven Åke Johansson Institutionen Institutionen för Datavetenskap, för Kommunikation Fysik o och design Matematik 11
12 Ny kund med en telefon En kund ska läggas till och dessutom en telefon på kunden. Vi behöver då veta kundid innan vi kan lägga till telefonen: Senaste IDENTITY värde för sessionen finns i Kund CREATE PROCEDURE int AS INSERT INTO KUND (Namn) VALUES (@namn); Lägger till kunden som får ett nytt Kundid (Identity) INSERT INTO Telefon (Telenr, Kundid, Teletypid) @@IDENTITY innehåller senaste IDENTITY-värde som är Kundens. Kolla också SCOPE_IDENTITY och IDENT_CURRENT EXEC usp_newkund Färgbutiken, ,1 Sven Åke Johansson Institutionen Institutionen för Datavetenskap, för Kommunikation Fysik o och design Matematik 12
13 Dymanisk SQL Prestanda - Ej kompilerad Du kan skapa SQL-satsen och sedan köra den utan att ha en lagrad procedur. Int EXEC ( SELECT * FROM Artikel WHERE Artid = Byt ut EXEC mot PRINT så får du utskrivet exakt hur din SQL-sats ser ut: Int PRINT ( SELECT * FROM Artikel WHERE Artid = + str(@artid)) varchar(30) DVD PRINT ( SELECT * FROM Artikel WHERE Artikelnamn LIKE % + % ) Med PRINT så får du en bra kontroll på hur din SQL-sats verkligen ser ut. OBS! Det som skickas in till PRINT måste vara en sträng. Därför är Artid ovan konverterad till en sträng. Sven Åke Johansson Institutionen Institutionen för Datavetenskap, för Kommunikation Fysik o och design Matematik 13
14 FETCH Hämta data löpande / Sekventiellt För att göra en radvis bearbetning av data från en eller flera tabeller så använder du följande kommandon och ordning 1. DECLARE Skapa en cursor på servern 2. OPEN Skapa ett resultatset i tempdb 3. FETCH Hämta en rad från cursorpositionen 4. CLOSE Ta bort resultat-setet från tempdb 5. DEALLOCATE Ta bort cursor-definitionen från servern En cursor är en öppning till tabell/tabeller via en select (DECLARE). Den används sedan för att öppna data, ett resultatset som du kan behandla (OPEN). FETCH används för att hämta rad för rad som du vill behandla via din kod. När du är klar stänger du resultatsetet med CLOSE och slutligen tar du bort cursor med DEALLOCATE. Sven Åke Johansson Institutionen Institutionen för Datavetenskap, för Kommunikation Fysik o och design Matematik 14
15 FETCH Hämta data löpande forts int = 0 = DECLARE mycursor INSENSITIVE CURSOR FOR SELECT Kundid, Namn FROM Kund FOR READ ONLY; OPEN mycursor nvarchar(30) FETCH = 0 + ; +@Namn FETCH CLOSE mycursor DEALLOCATE mycursor SELECT Antal är : + str(@inr) as Antalet SELECT Kunderna är : as Kunderna -- Deklarerar Cursor -- med innehåll -- Endast för läsning -- Öppnar Cursor (resultatset) -- variabler -- Hämtar första posten -- Antalet rader finns här -- Så länge det finns poster -- Behandlar data -- Hämtar nästa post -- Stäng Cursor (resultatset) -- Tar bort deklarationen -- Skriver ut -- Skriver ut Sven Åke Johansson Institutionen Institutionen för Datavetenskap, för Kommunikation Fysik o och design Matematik 15
16 CURSOR Se books on line Syntax: DECLARE CursorName [INSENSITIVE] [SCROLL] CURSOR FOR select_statement [FOR {READ ONLY UPDATE [OF column_name [,...n]]}] Parameter INSENSITIVE Innebär Skapar resultat-set i tempdb snapshot Stöder inte uppdateringar Ser inte uppdateringar, inserts och deletes gjorda av andra Inte INSENSITIVE SCROLL Skapar kopia av resultatsetets nycklar i tempdb Stöder uppdateringar Ser uppdateringar och deletes gjorda av andra Ser inte inserts gjorda av andra tillåter läsning framåt och bakåt Skapar en kopia av resultatsetets nycklar i tempdb länk FOR READ ONLY och FOR UPDATE Kontrollerar vilka rader som kan uppdateras Använd READ ONLY för att minimera onödiga låsningar Sven Åke Johansson Institutionen Institutionen för Datavetenskap, för Kommunikation Fysik o och design Matematik 16
17 CURSOR Exempel int = 0 = DECLARE mycursor SCROLL CURSOR FOR SELECT Kundid, Namn FROM Kund FOR UPDATE ; OPEN mycursor nvarchar(30) FETCH = 0 UPDATE Kund SET Rabatt=0 WHERE CURRENT OF mycursor; FETCH CLOSE mycursor DEALLOCATE mycursor -- Deklarerar Cursor -- med innehåll -- För uppdatering -- Öppnar Cursor (resultatset) -- Hämtar första posten -- Antalet rader finns här -- Så länge det finns poster -- Uppdaterar posten -- OBS! WHERE annars alla -- Hämta nästa post -- Stäng Cursor (resultatset) -- Tar bort deklarationen Sven Åke Johansson Institutionen Institutionen för Datavetenskap, för Kommunikation Fysik o och design Matematik 17
18 OPEN Se books on line När cursorn öppnas skapas ett resultset i tempdb. Antalet rader du har fått i resultatsetet kan du kontrollera med Om du har ett värde <0 (negativt) anger det att data fylls på asynkront. Asynkron påfyllning av cursors kan sättas med server-parametern Cursor Threshold. (Se books on line) DECLARE mycursor INSENSITIVE CURSOR FOR SELECT Kundid, Namn FROM Kund FOR READ ONLY; OPEN mycursor nvarchar(30) FETCH : : CLOSE mycursor -- Deklarerar Cursor -- med innehåll -- Endast för läsning -- Öppnar Cursor (resultatset) -- Hämtar första posten -- Stäng Cursor (resultatset) Sven Åke Johansson Institutionen Institutionen för Datavetenskap, för Kommunikation Fysik o och design Matematik 18
19 FETCH Se books on line Med hjälp av FETCH hämtar vi en ny rad (post) från den position cursorn befinner sig. nvarchar(30) FETCH -- Hämtar -- data Hämtar till variablerna data : FETCH NEXT FROM -- Hämtar data Cursors deklarerade med SCROLL kan använda NEXT, PRIOR, FIRST, LAST och RELATIVE. RELATIVE betyder +/- n rader från aktuell position ABSOLUTE betyder +n rader från början eller -n rader från slutet INTO definierar en lista med lokala variabler där den hämtade posten kan läggas Efter varje FETCH innehåller den globala väsentlig statusinformation Värde Beskrivning 0 Success -1 Vid slutet av record setet -2 Raden har raderats Sven Åke Johansson Institutionen Institutionen för Datavetenskap, för Kommunikation Fysik o och design Matematik 19
20 Exempel. Läs alla rader från cursorn mycursor och anropar en lagrad procedur för varje rad. FETCH WHILE = 0 FETCH Läs varannan rad från cursorn mycursor och anropar en lagrad procedur för varje rad som läses. FETCH ABSOLUTE 2 FROM = 0 FETCH RELATIVE 2 FROM -- läser andra raden i resultatset -- läser två rader fram i resultatset Sven Åke Johansson Institutionen Institutionen för Datavetenskap, för Kommunikation Fysik o och design Matematik 20
21 Trigger - vad är En trigger är en variant av en lagrad procedur- Skillnaden är att en procedur startar när någon anropar den. En trigger startar på en händelse och är knuten till en händelse i en tabell. Starten sker vid händelser som är av typen DML eller DDL. Det kan vara att om du tar bort en fakturarad ska händelsen (DML DELETE) med raderingen i faktura starta en funktionalitet som uppdaterar samma artikel i artikel-tabellen med rätt antal. Dvs öka på antalet på artikeln med samma antal som raderas i fakturarad. Det är alltså möjligt att göra extra bearbetning när ändringar genomförs i en tabell. Kan vara ett bättre sätt än att använda en lagrad procedur. En trigger startar även om du utför operationen manuellt direkt i tabellen. Det som sker i en lagrad procedur utförs endast när anrop sker av den lagrade proceduren. Alltså en trigger är en lagrad procedur som startar automatiskt på en händelse i en tabell. Sven Åke Johansson Institutionen Institutionen för Datavetenskap, för Kommunikation Fysik o och design Matematik 21
22 Trigger används till Lägga till avancerade valideringar och affärsregler. Logga händelser / operationer- Både DML och DDL. Ex: Man vill alltid kunna se ändringar som genomförts i en tabell. När de har gjorts och av vem och naturligtvis vad som har hänt. Meddela ansvarig (DBA DataBase Administrator) via e-post när något viktig har hänt. Underhålla härledd information såsom beräknade kolumner, löpande totaler, aggregat etc. I en blogg så kanske man alltid ska se antalet inlägg på en tråd när man ser på inlägget. DML-trigger som reagerar på händelser såsom: INSERT, UPDATE, DELETE DDL- trigger som reagerar på händelser såsom: CREATE, ALTER, DROP, GRANT, DENY, REVOKE, or UPDATE STATISTICS Det sker AFTER eller INSTEAD OF Sven Åke Johansson Institutionen Institutionen för Datavetenskap, för Kommunikation Fysik o och design Matematik 22
23 Trigger syntax Förenklad modell för DML trigger. Books Online CREATE TRIGGER [trigger-name] ON [table] AFTER INSERT DELETE UPDATE -- triggar på alla tre AS rader med kod rader med kod GO Så här skapar du en. Högerklicka på triggers i den tabell där du ska koppla in trigger. och här hittar du den Sven Åke Johansson Institutionen Institutionen för Datavetenskap, för Kommunikation Fysik o och design Matematik 23
24 Trigger Ett exempel En trigger som kan användas för att tilldela utgångsposten med antal inlägg i en blogg. Blogg CREATE TRIGGER ut_uppdaterablogg ON Blogg AFTER INSERT DELETE -- startar på insert och int = 23 UPDATE Blogg SET antal= (SELECT Count(*) FROM Blogg WHERE Bloggid_U=@Bloggid) WHERE Bloggid=@Bloggid; När en post läggs till eller raderas i tabellen Blogg kommer fältet Antal i Blogg att uppdateras med antalet poster i Blogg som tillhör tråden. Sven Åke Johansson Institutionen Institutionen för Datavetenskap, för Kommunikation Fysik o och design Matematik 24
25 Trigger - Hur fungerar När en trigger används så skapas två tabeller, virtuella tabeller, som du kan använda dig av: Tabellnamn inserted deleted Innehåller Nya eller uppdaterade rader i samband med INSERT och UPDATE Tabellen är tom vid DELETE De ursprungliga ändrade eller raderade rader. Dvs innan de ändrades / raderades. Gäller även för INSERT. Tabellerna har samma kolumner som tabellen som triggern ligger i Tabellerna finns endast tillgängliga för triggern Alla påverkade rader finns i de virtuella tabellerna DML Inserted Deleted Insert Poster är infogade Tom Update Poster är uppdaterade Poster innan uppdatering Delete Tom Raderade poster Sven Åke Johansson Institutionen Institutionen för Datavetenskap, för Kommunikation Fysik o och design Matematik 25
26 Trigger Ett exempel En trigger som kan användas för att uppdatera antal i Artikel när en fakturarad skapas. Detta är ett exempel som helst löses med en transaktion i en lagrad procedur. Kan du undvika triggers gör det då. CREATE TRIGGER ut_uppdateraatrikel ON Fakturarad AFTER INSERT -- startar på insert AS UPDATE Artikel SET antal= antal- (SELECT Antal FROM inserted) WHERE Artikelid=(SELECT Artikelid From Inserted); Sven Åke Johansson Institutionen Institutionen för Datavetenskap, för Kommunikation Fysik o och design Matematik 26
27 Trigger transaktionsflöde Att utveckla triggers kräver att man förstår var i händelsekedjan som en trigger exekveras. Följande flöde av MS SQL Server: 1. IDENTY INSERT check 2. Nullability constraint 3. Datatype check 4. INSTEAD OF trigger execution 5. Primary Key constraint 6. Check constraint 7. Foreign Key constraint 8. DML execution and update to the transactions log 9. AFTER trigger execution 10. COMMIT transaction. Sven Åke Johansson Institutionen Institutionen för Datavetenskap, för Kommunikation Fysik o och design Matematik 27
28 Trigger - Tips AFTER körs EFTER!!! Ändringar genomförts i databas. - ändringar av original DML är redan utförd och kan läsas av andra - triggern kan efteråt ändra gjord operation INSTEAD OF Trigger körs i original DML - inserted/deleted tabellerna har data som om operationen genomförts Intigritets constraints görs innan DML ändringar görs i databasen - triggrar körs aldrig om det blir intigritets fel - om en kombination av constraints och trigger krävs måste allt implementeras i triggern Använd hellre constraints istället för trigger om det går Trigger tar mycket mera resurser än constraints Avsluta en trigger så fort som möjligt. En trigger är alltid en del av den transaktion som startar den. En trigger kan därför avslutas med en ROLLBACK Transaction Sven Åke Johansson Institutionen Institutionen för Datavetenskap, för Kommunikation Fysik o och design Matematik 28
29 Trigger - UPDATE Före ändring UPDATE Kund Set namn= SVEMEK WHERE KundID=1 Tabellen INSERTED = Rader efter ändring Tabellen DELETED Rader före ändring If UPDATE(Namn)=True -- Se också COLUMNS_UPDATE() INSERT INTO Log (ID, Tbl, Kol, Old, New, Datum, Usr) VALUES (@Kundid, Kund, Namn,@Old,@New,getdate,@Usr) Sven Åke Johansson Institutionen Institutionen för Datavetenskap, för Kommunikation Fysik o och design Matematik 29
30 Trigger - INSTEAD OF Ett sätt att kontrollera att man inte för in för kostsamma rabatter så kan man begränsa det med hjälp av trigger. Än bättre är att använda Check constraints eller ha en typ-tabell som man endast kan välja tillåtna rabattvärden från. Kan du undvika triggers gör det då. CREATE TRIGGER ut_checkrabatt ON Fakturarad INSTEAD OF INSERT -- startar på insert AS If (SELECT rabatt From Inserted)>0.1 ROLLBACK TRAN RAISERROR( Felaktigt värde på rabatten!,16,1) RETURN Sven Åke Johansson Institutionen Institutionen för Datavetenskap, för Kommunikation Fysik o och design Matematik 30
31 Exempel Radera Faktura Radera en Faktura med sina fakturarader med hjälp av en trigger. På denna sida finns den lagrade proceduren. På nästa sida finns triggern. CREATE PROCEDURE usp_raderafaktura int) AS TRY TRAN -- Radera fakturarader först DELETE FROM Fakturarad WHERE -- Uppdatering av antal i -- Artikel-tabellen sköts -- med trigger (se nästa slide) DELETE FROM Faktura -- radera fakturan sist WHERE FakturaID=@FakturaID; COMMIT TRAN TRY CATCH ROLLBACK TRAN RAISERROR('Borttagningen gick inte att genomföra!', 16, 1) CATCH GO Sven Åke Johansson Institutionen Institutionen för Datavetenskap, för Kommunikation Fysik o och design Matematik 31
32 Exempel Trigger När en fakturarad raderas så startar triggern som uppdaterar Artikel. CREATE TRIGGER ut_uppdateraartikel ON Fakturarad AFTER DELETE -- Startar på DELETE AS int DECLARE mycursor INSENSITIVE CURSOR -- Skapar Cursor FOR SELECT ArtikelID, Antal FROM DELETED -- Ur Deleted FOR READ ONLY; -- Enbart läsa OPEN mycursor -- Öppnar Cursor FETCH -- Hämta första raden WHILE = 0 UPDATE Artikel SET Antal = Antal WHERE ArtikelID FETCH -- Nästa rad CLOSE mycursor DEALLOCATE mycursor; Sven Åke Johansson Institutionen Institutionen för Datavetenskap, för Kommunikation Fysik o och design Matematik 32
33 Exempel utan Trigger Ett (förenklat av utrymmesskäl) exempel där en faktura raderas med uppdatering av antal på artikel. CREATE PROCEDURE INT = NULL AS TRAN -- startar transaktionen -- Uppdaterar artikel UPDATE Artikel SET Antal = Antal+COALESCE ((SELECT SUM(ANTAL) FROM FakturaRad WHERE FakturaID And Fakturarad.ArtikelID = Artikel.ArtikelID ),0) DELETE FROM dbo.fakturarad WHERE FakturaID DELETE FROM dbo.fakturan WHERE FakturaID COMMIT TRAN -- raderar fakturarader -- raderar fakturan -- avslutar transaktionen COALESCE Returnerar icke null värden Sven Åke Johansson Institutionen Institutionen för Datavetenskap, för Kommunikation Fysik o och design Matematik 33
Innehå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
TENTAMEN 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
Innehåll Programability del 1
Innehåll Programability del 1 Lagrade Procedurer, introduktion Variabler, Lokala och Globala Skapa och ändra en lagrad procedur Indata parametrar till lagrade procedurer Temporära tabeller Flöden med IF/ELSE,
Labb 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...
DDL 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
Fö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
Innehåll Programability del 1
Innehåll Programability del 1 Lagrade Procedurer, introduktion Variabler, Lokala och Globala Skapa och ändra en lagrad procedur Indata parametrar till lagrade procedurer Temporära tabeller Flöden med IF/ELSE,
Databaskunskap 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
1.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
Du 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
Databasfö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
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.
Databasutveckling Microsoft T-SQL - Fortsättning. Funktioner GROUP BY HAVING Skapa databaser Skapa tabeller Lite om transaktioshantering
Databasutveckling Microsoft T-SQL - Fortsättning Copyright Mahmud Al Hakim mahmud@webacademy.se www.webacademy.se Agenda Funktioner GROUP BY HAVING Skapa databaser Skapa tabeller Lite om transaktioshantering
Vyer, 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
Design 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
Transaktioner. 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
Structured 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
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
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ä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
INNEHÅ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
Klientprogrammering 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.
9. :new och :old -värden 10. Triggerns olika delar 11. Olika typer av triggrar 12. Kodexempel. Pär Douhan,
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.
Se kurshemsidan för användbara länkar för att genomföra denna laboration.
Laboration, SQL DML Observera Det är fullt tillåtet att göra laborationen innan laborationstillfället. Observera dock att alla uppgifter måste kunna redovisas på redovisningstillfället. Laborationen ska
Ö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
Stored 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
Det är fullt tillåtet att göra laborationen innan laborationstillfället.
Observera Det är fullt tillåtet att göra laborationen innan laborationstillfället. Laborationen ska genomföras individuellt, men det är tillåtet att diskutera eventuella problem och lösningar med dina
Laboration 2, MS SQL. Observera. Tips. Förberedelse. Genomförande
Observera Det är fullt tillåtet att göra laborationen innan laborationstillfället. Observera dock att alla uppgifter måste kunna redovisas på redovisningstillfället. Laborationen ska genomföras individuellt,
1. 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
WCMS-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,
Ö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.
ADO.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
Introduktion 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
INTRODUKTION 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,
Sample 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
Databasens 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
SQLs 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
Starta 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
Innehåll Security. Chapter 4 och 7 Beginning SQL Server 2008 for Developers
Innehåll Security SQL Injektions Säkerhetssystemet Schema Login Användare Roller User Applikationsanvändare AppUser Backup av databas Restore / Recovery av databas Flytta/Kopiera en databas, Detach/Attach
Databasapplikationen HYR AKS. Vers 1.0 6, AKS har framtagits av ApplData AB på uppdrag av TillSaluGrejorAB
Databasapplikationen HYR AKS Vers 1.0 6, 2012-01-31 AKS har framtagits av på uppdrag av TillSaluGrejorAB Innehåll Sida 1 Problembeskrivning 2 2 Konceptuell Datamodell 3 3 Fysisk datamodell 4 4 Exempeldata
INNEHÅ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
Skapa 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
VAD 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
DVA234 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ö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
TER3. 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
Idag. 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?
Genomgå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
1. 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.
Python. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python.
är, som Scheme, ett interpreterat språk men det finns kompilatorer för. När man interpreterar ett språk tillhandahåller man en interpretator som läser sats för sats och försöker tolka den. När man kompilerar
D1. 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(
KAP 18 SQL SERVER AGENT
KAP 18 SQL SERVER AGENT Tjänsten Sql Server Agent Operator Job Alert (larm) http://www.youtube.com/watch?v=ii1tc493bzm 1 VAD ÄR SQL SERVER AGENT? SQL Server Agent är en tjänst (service) som ansvarar för:
Arbeta med databas. Översikt. Lektion 1: Arbeta med Entity Data Models. Arbeta med Entity Data Models. LINQ (Language Integrated Query).
Arbeta med databas Översikt Arbeta med Entity Data Models. LINQ (Language Integrated Query). Lektion 1: Arbeta med Entity Data Models Introduktion till ADO.NET Entity Framework. Stöd i ADO.NET Entity Framework.
Labb 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
Python. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python.
är, som Scheme, ett interpreterat språk men det finns kompilatorer för. När man interpreterar ett språk tillhandahåller man en interpretator som läser sats för sats och försöker tolka den. När man kompilerar
Vad ä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
Innehåll Security. Chapter 4 och 7 Beginning SQL Server 2008 for Developers
Innehåll Security SQL Injektions Säkerhetssystemet Schema Login Användare Roller User Applikationsanvändare AppUser Backup av databas Restore / Recovery av databas Flytta/Kopiera en databas, Detach/Attach
Fö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.
Databasutveckling 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
Stored 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
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
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
Tentamen i Introduktion till programmering
Tentamen i Introduktion till programmering Kurskod: Skrivtid: D0009E 09:00-13:00 (4 timmar) Totalt antal uppgifter: 7 Totalt antal poäng: 38 Tentamensdatum: 2014-05-17 Jourhavande lärare: Tillåtna hjälpmedel:
Programmering 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,
Denna 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
Att skriva till och läsa från terminalfönstret
Att skriva till och läsa från terminalfönstret Oftast används grafiska komponenter i Java för att kommunicera med användaren (användargränssnitt), men det finns objekt i standardbiblioteken för de tillfällen
Introduktion till programmering SMD180. Föreläsning 2: Variabler, uttryck och satser
Introduktion till programmering Föreläsning 2: Variabler, uttryck och satser 1 1 Värden De grundläggande saker som en dator manipulerar resultaten av beräkningar kallas värden Värden vi stött på: 2 och
MySQL - 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ösningar till tentamen i EDAF75
Lösningar till tentamen i EDAF75 4 april 2018 Lösning 1 (a) Här är ett förslag till E/R-modell: Det finns flera rimliga alternativa sätt att modellera, så du behöver inte vara orolig bara för att du inte
SQL. 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,
Funktioner, Procedurer och Parametrar. Funktioner, Procedurer och Parametrar... Funktioner, Procedurer och Parametrar procedurspecifikation
Funktioner, Procedurer och Parametrar I delar vi upp underprogram i två grupper : Funktioner: lämnar alltid ett värde som resultat Funktionsnamnet får ett värde i funktionen genom: funktionsnamn := expr;
Språket Python - Del 2 Grundkurs i programmering med Python
Hösten 2009 Dagens lektion Funktioner Filhantering Felhantering 2 Funktioner 3 FUNKTIONER Att dela upp program Att dela upp program i mindre delar, funktioner är ett viktigt koncept i programmering. Viktigt
Fö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
Kompendium 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...
Typkonvertering. Java versus C
Typer Objektorienterad programmering E Typkonvertering Typkonvertering Satser: while, for, if Objekt Föreläsning 2 Implicit konvertering Antag att vi i ett program deklarerat int n=3; double x = 5.2; Då
729G04 Programmering och diskret matematik. Föreläsning 7
729G04 Programmering och diskret matematik Föreläsning 7 Föreläsningsöversikt Information Interaktion via text Läsa från fil Skriva till fil Spara och läsa abstrakta datatyper från fil Information Felaktigt
Tentamen ID1004 Objektorienterad programmering May 29, 2012
Omtentamen för ID1004 Objektorienterad programmering HT11, 29 maj 2012, 09-13 Denna tentamen examinerar 3 högskolepoäng av kursen. Inga hjälpmedel är tillåtna. Tentamen består av 12 frågor. Varje fråga
Systembeskrivning 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
Innehå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
VAD 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
Karlstads Universitet, Datavetenskap 1
DAV B04 - Databasteknik KaU - Datavetenskap - DAV B04 - MGö 229 PHP Hypertext Preprocessor Scriptspråk på serversidan Innebär att webbservern översätter php-scripten innan sidan skickas till webbläsaren,
Code-Lite tutorial ( /RoJ)
Code-Lite tutorial (2013-03-20/RoJ) Följ dessa anvisningar för att skapa projekt, kompilera/länka och testa dina laborationsuppgifter 3,4. Project Projekt, innehåller bland annat ett antal källtextfiler
TDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 6 Erik Nilsson, Institutionen för Datavetenskap, LiU
TDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 6 Erik Nilsson, Institutionen för Datavetenskap, LiU På denna föreläsning: Mer om Interface Generiska klasser Undantag Nästlade klasser 1
732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Muddy. Funktioner / metoder. Punktnotation. Evalueringsordning
Varför? 732G11 Linköpings universitet 2011-02-08 Varför? 1 2 3 Varför? 4 5 Medelvärde av 5000 tal Varför? while-loopen int nrofints = 5000; int [] integers = new int [ nrofints ]; int pos = 0; while (
Tentamen Programmeringsteknik II Skrivtid: Hjälpmedel: Java-bok (vilken som helst) Skriv läsligt! Använd inte rödpenna!
Tentamen Programmeringsteknik II 2014-01-09 Skrivtid: 0800-1300 Hjälpmedel: Java-bok (vilken som helst) Tänk på följande Skriv läsligt! Använd inte rödpenna! Skriv bara på framsidan av varje papper. Börja
Logisk modell. Fysisk modell. Datamodeller Konceptuell modell
Datamodeller Konceptuell modell Logisk modell Fysisk modell En modell som återspeglar verksamheten (verkligheten). Identifiera objekten, viktiga för verksamheten Indentifiera relationerna Indentifiera
Innehåll MySQL Intro. Historik / Utveckling Produkter Primära delsystem Installation Tabell och datatyper Namnsättning
Innehåll MySQL Intro Historik / Utveckling Produkter Primära delsystem Installation Tabell och datatyper Namnsättning Institutionen Institutionen för Datavetenskap, för Kommunikation Fysik o och design
Föreläsning 2 Programmeringsteknik och C DD1316. Mikael Djurfeldt
Föreläsning 2 Programmeringsteknik och C DD1316 Mikael Djurfeldt Föreläsning 2 Programmeringsteknik och C Python introduktion Utskrift Inläsning Variabler Datatyp Aritmetiska operatorer Omvandling
Databaser och Datamodellering Foreläsning IV
Webbprogrammering - 725G54 Databaser och Datamodellering Foreläsning IV Agenda Databaser ERD SQL MySQL phpmyadmin Labb 4 Databaser Databas - samling med data Databashanterare Enkelt Kraftfullt Flexibelt
Kopiering av objekt i Java
1 (6) Kopiering av objekt i Java Först När du läser detta papper bör du samtidigt studera dokumentationen för klasserna Object, Cloneable (java.lang) och ArrayList (java.util). Mycket blir klarare genom
Föreläsning 10 Datalogi 1 DA2001. Utskrift på skärmen. Syntax. print( Hej ) Hur är det? Hej. print( Hej,end= ) print( Hur är det? ) HejHur är det?
Föreläsning 10 Datalogi 1 DA2001 python introduktion Variabler Datatyp Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer på skärmen print( Hej ) print( Hur är det?
Sä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,
732G16: 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,
I denna laboration skriver jag inte ut resultatet på de flesta frågorna utan du kör dem själv i din miljö.
Laboration 2, Databashantering med MySQL Av: Marcus Rejås I denna laboration skall vi jobba vidare på bildatabasen som vi började på förra gången. Vi skall ändra fält och lära oss att
Disposition. 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
Fö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
SQL, 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
Metoder. Inledande programmering med C# (1DV402)
Metoder Upphovsrätt för detta verk Detta verk är framtaget i anslutning till kursen Inledande programmering med C# vid Linnéuniversitetet. Du får använda detta verk så här: Allt innehåll i detta verk av