Databasutveckling Microsoft T-SQL - Fortsättning. Funktioner GROUP BY HAVING Skapa databaser Skapa tabeller Lite om transaktioshantering

Relevanta dokument
Databasutveckling Introduktion till SQL och TSQL

Databasföreläsning. Del 2 lagrade procedurer, vyer och transaktioner

Lösningar till tentamen i EDAF75

Databaser design och programmering. Transaktionshantering och säkerhet säkerhetsproblem fleranvändarproblem transaktioner låsning

Databaser - Design och programmering. Säkerhetsproblem. SQL-injektion. Databashanteraren. Transaktion. Exempel. Transaktionshantering och säkerhet

Transaktioner. 1. Transaktioner 2. Samtidighet ( concurrency ) och lås. 3. Deadlock. Kap. 17. Informatik B: Databashantering med SQL Server

Föreläsning 6 Databaser och säkerhet

I denna laboration skriver jag inte ut resultatet på de flesta frågorna utan du kör dem själv i din miljö.

Introduktion MySQL och MariaDB

Objektorienterad programmering Föreläsning 9. Copyright Mahmud Al Hakim Agenda (halvdag)

Övningar i SQL. SQLAccess.doc Ove Lundgren

Vad är SQL? Introduktion till SQL

KAP 16 BACKUP, RESTORE OCH RECOVERY

ÖVERVAKNING AV SQL SERVER

Vad är en databas? Databasutveckling Med MySQL/MariaDB

Vad är en databas? Databaser. Relationsdatabas. Vad är en databashanterare? Vad du ska lära dig: Ordlista

SQL, nästlade delfrågor Nästlade delfrågor. En nästlda delfråga är ett select-from-where uttryck inom where-klausulen i en annan fråga.

Structured Query Language (SQL)

Objektorienterad programmering

Objektorienterad programmering Föreläsning 8. Copyright Mahmud Al Hakim Agenda (halvdag)

TENTAMEN DATABASKUNSKAP ITEK12

Structured query language (SQL)

Databaser design och programmering Säkerhetsproblem Databashanteraren SQL-injektion

Databasutveckling Tabeller. tinyint 1 byte (0-255) Upp till 8 bytes

Objektorienterad programmering Föreläsning 11. Copyright Mahmud Al Hakim

Innehåll Programability Del 2

ER-Diagram. Databasutveckling Diagram

Objektorienterad programmering

Objektorienterad programmering Föreläsning 10. Copyright Mahmud Al Hakim Sorteringsalgoritmer

NORMALISERING. Mahmud Al Hakim

Vad är en databas? Databaser. Relationsdatabas. Vad är en databashanterare? Vad du ska lära dig: Ordlista

Laboration SQL. Kom igång.

Labb LIVE. Exempelkod från föreläsningen. Plushögskolan Frågeutveckling inom MSSQL - SU14

Stored procedure i ASP.NET

Agenda (obs! halvdag)

Databaser - Design och programmering. Kursöversikt. Exempel: telefonbok. Varför databaser?

! Teori och praktik. ! Ändringar från förra året. ! Examination (tenta, projekt) LiU. ! Varför ni? ! Varför överhuvudtaget? LiU

Föreläsning 7: Transaktioner

Introduktion till frågespråket SQL (v0.91)

Innehåll. MySQL Grundkurs

Innehåll MySQL Intro. Allmänt om Lagrade Procedurer Enkel utformning Skapa en lagrad procedur Använda parameter som indata

Objektorienterad programmering Föreläsning 12. Copyright Mahmud Al Hakim

9. Between 10. Group by 11. Aggregatfunktionerna max, min, sum och avg 12. Nästlade sökningar

Databaser - Design och programmering

732G16: Databaser - Design och programmering

Objektorienterad programmering

Databasens består av: Tabell Kolumner fält Rader poster (varje post är unik)

Konceptuella datamodeller

Tentamen ISGB01 (delkurs i ISGB24) Databasdesign 7,5 Poäng

1. SQL DML (Data Manipulation Language) 2. Lägga till data. 4. Uppdatera data 5. Aktivera default value 6. Hantera datum 7.

Agenda. Objektorienterad programmering Föreläsning 13

DIVISIONSEXEMPEL RELATIONSALGEBRA OCH SQL. r s använder vi för att uttrycka frågor där ordet alla figurerar:

Tentamen i Databasteknik

6 PIVOTTABELLER SKAPA PIVOTTABELL. Skapa pivottabell

Objektorienterad programmering Föreläsning 5

INNEHÅLL SQL DEL 2. Funktioner inbyggda Aggregatfunktioner Skalärfunktioner. Chapter 11. Beginning SQL Server 2008 for Developers

Tentamen. Databasmetodik Lördag 27 september 2014 kl

Se kurshemsidan för användbara länkar för att genomföra denna laboration.

Du skall naturligtvis visa körexempel med output där det behövs i din rapport!

Transaktioner och samtidighet

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.

07/11/14. Databasteknik och informationssystem DD1370 F2. Allmänna frågor. Är Lab0 svårbegriplig? Nu: Clickers. Är Kurswebben svårbegriplig?

WCMS-15, Webbutvecklare CMS

Grunderna i SQL del 1

Databaser och. SQL, utsökningar mot en tabell

Databaser och Datamodellering Foreläsning IV

Vyer, Prepared Statements, Triggers

Spara papper! Skriv inte ut sammanfattning utan ladda ner PDF!

Tentamen ISGB01, ISGB24. Databasdesign 7,5 Poäng

Sample exam questions. Database exam TIG058

Databaser. Vad du ska lära dig: Ordlista

DDL Kommandon CREATE/DROP Database CREATE /ALTER/DROP Table ALTER/ADD/DROP Column CREATE /ALTER/DROP Index

1. PLSQL 2 2. Select into

Relationsdatabashanteringssystem RDBHS

729G28 Webprogrammering och databaser. Föreläsning 1: Diverse praktiskt om kursen Webprogrammering Databaser, terminologi

INTRODUKTION TILL JDBC

Webprogrammering och 729G28 databaser Webprogrammering och databaser Kursöversikt Webprogrammering Designprocessen Lösningsförslag

ADO.NET Murach Kapitel 17-20

Classpath. Class loading + resurser. Class loader. jar-filer

Lösningsförslag, tentamen i Databaser

Starta MySQL Query Browser

Arbeta med databas. Översikt. Lektion 1: Arbeta med Entity Data Models. Arbeta med Entity Data Models. LINQ (Language Integrated Query).

Databasspråket SQL - online.

Databaser & databasdesign. Personuppgiftslagen, säkerhet och transaktioner.

Databasspråket SQL - online.

Databasspråket SQL - online.

08/11/13. Databasteknik och informationssystem DD1370 F3. Ett urval ur databasen bestäms av en SQL-fråga. Påminnelse: Deadline på tisdag

Tentamen DATABASTEKNIK - 1DL116

EndNote online T5 hösten Camilla Persson

JAVAUTVECKLING LEKTION 4

An English version of the questions is found at the back of each page.

TENTAMEN TDDB77 Databaser och Bioinformatik 19 april 2002, kl 14-18

Transaktionshantering med samtidighetskontroll i databaser

Sid 1 (9) Tillämpad fysik och elektronik Karin Fahlquist. Laboration: Databasdesign & SQL

VAD GÖR DU / VEM ÄR DU?

STEG 1 Samla referenser till ditt EndNote-bibliotek

Transkript:

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 Copyright 2015 - Mahmud Al Hakim www.webacademy.se 2 1

SQL Funktioner AVG() - Returns the average value COUNT() - Returns the number of rows MAX() - Returns the largest value MIN() - Returns the smallest value SUM() - Returns the sum ROUND() - Rounds a numeric field to the number of decimals specified LEN() - Returns the length of a text field FORMAT() - Formats how a field is to be displayed http://www.w3schools.com/sql/sql_functions.asp Copyright 2015 - Mahmud Al Hakim www.webacademy.se 3 AVG() Copyright 2015 - Mahmud Al Hakim www.webacademy.se 4 2

COUNT() Visa antal länder från tabellen Customers Copyright 2015 - Mahmud Al Hakim www.webacademy.se 5 Visa antal länder från tabellen Customers (utan dubbletter) Copyright 2015 - Mahmud Al Hakim www.webacademy.se 6 3

MAX() och MIN() Copyright 2015 - Mahmud Al Hakim www.webacademy.se 7 SUM() Copyright 2015 - Mahmud Al Hakim www.webacademy.se 8 4

ROUND() Copyright 2015 - Mahmud Al Hakim www.webacademy.se 9 LEN() Copyright 2015 - Mahmud Al Hakim www.webacademy.se 10 5

FORMAT() Copyright 2015 - Mahmud Al Hakim www.webacademy.se 11 Flera funktioner SELECT LEFT(ContactName,3) 'Initialer' FROM Customers; SELECT CONCAT(Address, ' ', PostalCode, ' ', City, ' ', Country) FROM Customers; Läs mer här https://msdn.microsoft.com/en-us/library/ms181984(v=sql.120).aspx Copyright 2015 - Mahmud Al Hakim www.webacademy.se 12 6

GROUP BY GROUP BY Används tillsammans med en funktion för att gruppera resultatet. Copyright 2015 - Mahmud Al Hakim www.webacademy.se 13 HAVING HAVING Används tillsammans med GROUP BY för att filtrera resultatet. Copyright 2015 - Mahmud Al Hakim www.webacademy.se 14 7

Skapa en databas med satsen CREATE DATABASE Copyright 2015 - Mahmud Al Hakim www.webacademy.se 15 Skapa en tabell med satsen CREATE TABLE Copyright 2015 - Mahmud Al Hakim www.webacademy.se 16 8

Infoga några rader Copyright 2015 - Mahmud Al Hakim www.webacademy.se 17 Transaktioner Transaktion (engelska: transaction) En följd av operationer som hör ihop som en enhet. De flesta databashanterare erbjuder stöd för att gruppera operationer till transaktioner. Ett exempel kan vara att flytta pengar från ett bankkonto till ett annat. Då drar man först bort beloppet från det ena kontot, och adderar det sen till det andra kontot. Läs kapitel 10 sid.324-334 Läs även www.databasteknik.se/webbkursen/transaktioner Copyright 2015 - Mahmud Al Hakim www.webacademy.se 18 9

ACID-transaktioner ACID anger fyra egenskaper som transaktioner bör ha, och som man vill att databashanteraren automatiskt ska garantera. 1. Atomicitet (odelbarhet). En transaktion ska vara odelbar. Det betyder att antingen ska hela transaktionen genomföras, så att alla ändringar den gör förs in i databasen, eller så ska inga ändringar alls göras. Om en transaktion avbryts mitt i, måste databashanteraren alltså ta bort alla ändringar som den hunnit göra. 2. Consistency (konsistensbevarande). Om databasen är konsistent, dvs utan några inre motsägelser, före en transaktion, så ska den också vara konsistent efter transaktionen. Det här betyder att databashanteraren måste kontrollera alla integritetsvillkor, så att de är uppfyllda. 3. Isolering. Transaktionerna ska hållas isolerade från varandra. Även om databashanteraren utför flera transaktioner samtidigt så får en transaktion aldrig se en annan transaktions halvfärdiga ändringar. 4. Durability, dvs "hållbarhet". När transaktionen är genomförd och avslutad ska de ändringar den gjort aldrig försvinna ur databasen, även om strömmen går, om datorn kraschar, och helst också om disken går sönder. Copyright 2015 - Mahmud Al Hakim www.webacademy.se 19 Commit och Abort När en transaktion har påbörjats så finns det tre sätt att avsluta den: 1. COMMIT Innebär att en transaktion är färdig. Databashanteraren måste se till att alla ändringar verkligen sparas ordentligt. 2. ROLLBACK (ABORT) Innebär att en transaktion ska avbrytas, och att de ändringar som eventuellt hunnit göras i databasen ska ändras tillbaka. 3. En krasch av något slag t.ex. om strömmen går eller datorn kraschar. Databashanteraren måste då genomföra en återhämtning (Recovery) Copyright 2015 - Mahmud Al Hakim www.webacademy.se 20 10

BEGIN Transaktioner - Exempel BEGIN TRY BEGIN TRANSACTION UPDATE Contacts SET Mobile = '070-00000000' WHERE NAME = 'Mahmud' UPDATE Contacts SET Mobile = '004670-000000000000000' WHERE NAME = 'Mats' -- Genomför flera uppdateringar COMMIT TRANSACTION PRINT 'Transaction committed' END TRY BEGIN CATCH ROLLBACK TRANSACTION PRINT 'Transaction Rolled Back' END CATCH Tips! https://youtu.be/shkt9z5gz-u END Copyright 2015 - Mahmud Al Hakim www.webacademy.se 21 Laboration 1. Utveckla telefondatabasen. Lägg till följande fält och uppdatera innehållet Home Job 2. Skapa en databas där du lagrar info om dina böcker. Skapa en tabell som innehåller följande fält, Titel Författare ISBN Lägg till några böcker Copyright 2015 - Mahmud Al Hakim www.webacademy.se 22 11