22/092VE/E00/RB1 Introduktion til SQL Datalogi 2VE E00 DIKU Forelæsninger 22/9 og 29/9.

Slides:



Advertisements
Lignende præsentationer
Stored Procedure Stored Procedure er programstumper, der gemmes i databasen og afvikles op databaseserveren på samme måde som forespørgsler. Med Stored.
Advertisements

SQL introduktion og basis
v/ Professor Lars Ehlers, Aalborg Universitet
SQL underforespørgsler og Join
Relationsdatabaser og SQL
SQL 1 DDL og DML.
E/R model Enhanced E/R-model (EE/R-model) Relationelle model Relationelle algebra Omformning fra E/R-model til relationelle model Tirsdag.
SQL sortering og gruppering. RHS – IT A 2 SQL - sortering Hvis en forespørgsel returnerer mange rækker, kan det være bekvemt at sortere resultatet SQL.
Eksamensspørgsmål: 4: Brugen af nøgler i en "Relationel DB" herunder: Primary Key og Foreign Key samt Super Key og Candidate Key.
Datastrukturer og Collections Oversigt og forskel imellem Jave og.net Collections library Collection interfaces ArrayList IList interface Hashtable Hashtable.
SQL - Database Lektion 3 7. Semester.
View Procedures Trigger og Function Jesper Tørresø DAB1 E07 1. november 2007.
Regnskab & økonomistyring - Lektion 15 HD 5. semester forår 2010 v/ Jens Godik Højen, April 2010.
Database Normalization without Mathmatics
FEN Databaser/DBAdgang21 DB-adgang - Connectionless Connectionless DataAdapter DataSet.
NOEA/IT FEN - Databaser/Sikkerhed 1 Lektion 10 Sikkerhed og integritet Områder Autorisationsmatrix Realisering i SQL.
XML1 4.7 XML and Its Data Model. XML2 Introduktion til XML, 178 XML = eXtensible Markup Language Markup language –sprog, hvor data "pakkes ind" i tags.
GP5, Martin Lillholm 1 Grundlæggende Programmering (GP) Efterår 2005 Forelæsning 5 Slides ligger på nettet. Du er velkommen til at printe dem nu. Vi begynder.
SQL Introduktion Jesper Tørresø DAB1 F08 6. Februar 2008.
6. SQL1 Standardiseret spørge-sprog mv. til relationsdatabaser.
Relationsdatabaser og SQL
Lasse Steensgaard [xls]Opsamlende forelæsning på W2, 2. april 2003slide 1 HTML og PHP: Baglæs fra output til input PHP: Variable, strenge og arrays Funktioner,
Begreber og Redskaber 9. Plan for idag I dag: Datastrukturer Tabeller Lister, mængder, maps, grafer Hægtede lister.
Side 1Copyright © 2007 JaKoFi. All rights reserved. DB2 Performance: Optimering af SQL læsninger mod DB2 med AllFusion Gen Jan Erik Jensen, JaKoFi.
Operationer på relationer
Relationsdatabaser og SQL
7. SQL constraints og triggers1 Aktive elementer i SQL.
Opsummering.
FEN Prædikater/Seminar 11 Prædikatslogik eller Kvantificerede udtryk Prædikater udvider propositionslogikken på to måder: –Vi tillader variable.
Begreber og Redskaber 5. Collections i Java 1.2 Framework: samling af datastrukturer og algoritmer som generelt værktøj. En ramme til at arbejde med søgning.
2009NOEA/IT - Databaser/SQL1 Realisering af den relationelle model i SQL-baserede DBMS’er SQL er mere end forespørgsler - det omfatter bl.a. –DDL Data.
1 HMAK XMLRelationel model og XMLNOEA / PQC 2005 SQLServer og XML Hent data via URL Generering af xml –Raw –Auto –Explicit Hent data via template Evt.
1 SQL2. 2 Funktioner der laver aggregerede beregninger Returnerer count() Antal rækker der opfylder bestemt betingelse min() Laveste værdi (eller null)
Databaser – SQL, Structured Query Language SQL Grundlæggende om SQL –select-udtryk –syntaks og semantik SQL og relationel algebra –mængdeoperationer.
Årsmøde Organisationen Danske Arkiver
No. 1 TemaTitelMateriale 1 IS i sundheds-sektorenPatientdatas anvendelighedLynge et al. 2 Registrering af patientdata Berg. Kap. 2 Waiting for Godot. 3.
1 XMLRelationel model og XMLNOEA / FEN 2007 Relationelle databaser og XML Overblik. –For detaljer se PQC: sqlOgXml.ppt og SqlServerOgXml.ppt RDB-struktur.
SQL – Oracle Relationsdatabase
SQL Jesper Tørresø DAB1 E oktober Punkter for i dag. SQL baggrund. Relationel algebra. Brug af VS2005.
2009NOEA/IT - Databaser/arkitektur1 Den relationelle model En teoretisk model for databaser Hviler på et sundt teoretisk grundlag Omfatter: Datastruktur.
Grunde til at jeg elsker dig
1 SQL2. 2 Funktioner der laver aggregerede beregninger Returnerer count() Antal rækker der opfylder bestemt betingelse min() Laveste værdi (eller null)
8.7 Security: Grant and revoke1 Sikkerhed 8.7 Security and User Authorization in SQL.
Fundamentale datastrukturer
Clustered Index Scan & Seek Af Anita (DM08204). Clustered Index Organiserer/strukturer Organiserer/strukturer Én pr. tabel Én pr. tabel Valg af indexeringskolonne.
Slide Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 15 Algorithms for Query Processing and Optimization.
Opsamling og repetition. Forelæsning 12 1) Opsamling og repetion - arrays - PHPs mysql-funktioner - SQL: SELECT, UPDATE, INSERT, DELETE - sikkerhed og.
Intro Større applikationer, f. eks: Bogpris.dk. Nye bøger.
1 Fundamentale datastrukturer. 2 Definitioner: abstrakt datatype, datastruktur Elementære datastrukturer og abstrakte datatyper : arrays, stakke, køer,
Administratordelen - Sidsel Præsentation af administratordelen Sitemap Webstruktur Transaktioner Fremtid.
Tina Ratzer Hendes hjemmeside skal indeholde: Kontakt Forhandlerliste
Eksamen i Databasesystemer. Eksamen 4 timers skriftlig eksamen afholdes 8. januar 2004 kl Alle skriftlige hjælpemidler. Der gives karakter efter.
FENNOEA IT - Databaser/SQL-Eval1 SQL: Opsamling Om SELECT Vurdering af SQL.
Intro Databaserne? Gik det som det skulle?. Databasestøttet webpublicering Forelæsning nr 8 Hvorfor data i en RDB (relationel database)? Databasemodellering.
Databaser, introduktion1 Kurset ”Databaser” Introduktion.
Januar 2003Databaser, introduktion1 Databaser, forår 2003 Introduktion.
SQL Jesper Tørresø DAB1 E September Punkter for i dag. SQL baggrund. Relationel algebra. SQL koncept –Vises ved brug af VS2008.
SQL – Oracle Vigtige SQL sætninger Lektion 6 7. Semester.
OPERATIONEL ANALYSE AF WEBADFÆRD OAW – LEKTIONSGANG 11.
Database.
Database Some walk through. Database Design – Begreber 1 Database: En fælles samling af logiske relaterede data (informationer) DBMS (database management.
PHP.
Anmelderklub.dk. Struktur - Betina Indledning Hvad er brugervenlighed? Er Anmelderklub.dk brugervenlig? Hvordan kunne vi have testet anderledes? Hvad.
Objekt-relationel DBMS1 4.5 The Object-Relational Model 9.4 User-Defined Types in SQL 9.5 Operations on Object-Relational Data Ullman: Object-Relational.
Omsætning af en model til en RDB Jesper Tørresø DAB1 F Marts 2008.
Database Some walk through lv/ Figures & some text from: © Pearson Education Limited 1995,
Query optimization MICHAEL I
Modellering og data Nyt forløb.
MySQL dat2sem2018Fall Modul 2 – uge 2.
Dat2sem2019 Bornholm Modul 2 – uge 2
Præsentationens transcript:

22/092VE/E00/RB1 Introduktion til SQL Datalogi 2VE E00 DIKU Forelæsninger 22/9 og 29/9

22/092VE/E00/RB2 Plan for SQL forelæsninger 22/9 SQL92 - DDL Relationel Algebra SQL92 - DML 29/9 SQL99 OQL

22/092VE/E00/RB3 SQL92 Data Definition Language CREATE TABLE ALTER TABLE DROP TABLE CREATE VIEW DROP VIEW CREATE INDEX DROP INDEX

22/092VE/E00/RB4 Tabel behandling CREATE TABLE person (cpr CHAR(10) NOT NULL, navn VARCHAR(50) NOT NULL, vej VARCHAR(80), husnr SMALLINT, by VARCHAR(30), PRIMARY KEY (cpr) ) ALTER TABLE person ADD COLUMN tlf CHAR(8) DROP TABLE person

22/092VE/E00/RB5 Data Manipulation Language Opdatering af data INSERT INTO person (cpr, navn, adr, husnr, by) VALUES (” ”,”Anders And”, ”Paradisæblevej”,14, ”Andeby”) UPDATE person SET husnr=13 WHERE cpr=” ” DELETE FROM person WHERE navn like ”Kla%” AND by=”Andeby”

22/092VE/E00/RB6 Udvælgelse af data Relational Operators defined by Codd (70,72) Union Intersection Difference Cartesian product Restrict Project Join Divide

22/092VE/E00/RB7 Beskrivelse af de otte relationelle operatorer

22/092VE/E00/RB8 SQL92 Data Manipulation Language Forespørgsler Forespørgsel (find cpr og navn på alle i Andeby, sorteret efter navn): SELECT DISTINCT navn, by FROM person WHERE by=”Andeby” ORDER BY navn Resultat: navn by Anders And Andeby Fætter Højben Andeby Joakim Von And Andeby

22/092VE/E00/RB9 Kolonnefunktioner Forespørgsel (list antallet af indbyggere i Andeby): SELECT COUNT(*) FROM person WHERE by=”Andeby” Resultat: COUNT(*) Øvrige funktioner: SELECT SUM(kolonnenavn)… SELECT AVG(kolonnenavn)… SELECT MIN(kolonnenavn)… SELECT MAX(kolonnenavn)…

22/092VE/E00/RB10 Join CREATE TABLE superhelt (navn CHAR(80) NOT NULL, hem_id CHAR(10) NOT NULL, hjemby CHAR(30), PRIMARY KEY (navn,hem_id), FOREIGN KEY (hem_id) REFERENCES person(cpr) ) Forespørgsel (list alle superhelte og deres hemmelige identiteter): SELECT S.navn, P.navn FROM superhelt S, person P WHERE hem_id=cpr Resultat: S.navn P.navn StålandenAnders And

22/092VE/E00/RB11 Gruppering Forespørgsel (list antal superhelte grupperet efter hjemby): SELECT hjemby, count(*) FROM superhelte GROUP BY hjemby Resultat: hjemby count(*) Andeby 1 Metropolis 28

22/092VE/E00/RB12 Nested forespørgsler og Al-kvantorer Forespørgsel (list superhelte som har samtlige evner): SELECT navn FROM superhelt H WHERE NOT EXISTS ( SELECT * FROM superevne E WHERE NOT EXIST ( SELECT * FROM helteevne HE WHERE H.navn = HE.heltenavn AND H.hem_id = HE.hem_id AND E.navn = HE.evnenavn )

22/092VE/E00/RB13 NULL NULL betyder ”værdi ukendt” X = NULL; X <> NULL  X IS NULL; X IS NOT NULL X er NULL; X = 10? X og Y er NULL; X = Y? SANDT, FALSK, UKENDT Kun ”SANDT” medtages i resultater, så foreningsmængden af resultaterne SELECT * FROM T WHERE X =5 giver ikke hele tabellen T. Det vil kræve at SELECT * FROM T WHERE X IS NULL også medtages.

22/092VE/E00/RB14 Embedded SQL Pre-compiled EXEC SQL DECLARE … EXEC SQL SELECT x,y INTO :x, :y FROM … Indikator variable for NULL Cursors: EXEC SQL DECLARE C CURSOR FOR SELECT x, y FROM … EXEC SQL OPEN C; while (sqlcode == 0) { EXEC SQL FETCH C INTO :x, :y; } EXEC SQL CLOSE C;

22/092VE/E00/RB15 Optimering af SQL SQL er ”selvoptimerende” Benytter –Indekser –Statistikker Explain/showplan/queryplan/... Masser af standardafvigende optimeringer –Tvungen brug af bestemte indeks –Parallel udførsel –Kreativ brug af indeks (MDAM) –Server optimering (memory etc.)