Relationel Algebra og SQL



Relaterede dokumenter
Introduktion til SQL queries

Hvad er en relationsdatabase? Odense, den 19. januar Version 1.0

Trin 1 INSERT INTO Debitor (DebitorNr, KundeKategori, KreditMax, SidstRykket, Sælger ) VALUES (20121, 10, 40000, NULL, "Bjarne Larsen");

Databaser Obligatorisk opgave 1

1. Basal select med (stjerne)

SQL-opgaver 5 løsning

DB undervisning 01-01

Listen over reserverede ord er meget lang, men de væsentligste vil jeg beskrive her i denne artikel:

De vigtigste SQL-sætninger. SQL kap Oprette database. DDL og DML

Skriftlig eksamen i kurset. Informationssystemer

Views etc. Databaser

Databasesystemer fra forskellige synsvinkler

Eksamen Uden hjælpemidler - normeret til 60 minutter

Databaser Obligatorisk opgave 2 Vejledende løsning

Databasesystemer. Databaser, efterår Troels Andreasen. Efterår 2002

Kursus/workshop: SQL

Database optimering - Indeks

Database design for begyndere

Eksempel på en database: studenter, kurser, eksamener

Skriftlig eksamen i. Databaser. Vinter 2002/2003. Vejledende løsninger

Skriftlig eksamen i Databaser, Vinter 2001/2002. Pa opfordring har jeg udarbejdet mulige lsninger pa eksamensopgaverne, men

Samspillet mellem databaser og kort styres af GeoCAD programmet GeoDB.

Søren Løbner (lobner) ddb Databaser

Database. lv/

Begrænsninger i SQL. Databaser, efterår Troels Andreasen

1. Indholdsfortegnelse. 2. Landeopsætning. ClickLearn Bog October 4, 2010 NAV undervisning 1/15. SW-Tools ClickLearn Bog 10/4/2010 1/15

Risikovurdering af. Bilag 1. Definition af udtræk fra databaser. Risikovurdering af lossepladsers påvirkning af overfladevand 1

Side 1. Databaser og SQL. Dagens gang. Databasebegreber. Introduktion til SQL Kap 1-5

Databasesystemer. IT Universitetet i København 8. juni 2006

Introduktion til Oracle, Datalogi, RUC Af: Jens Lauterbach 2002

Guide. Administration af FDF.dk/Nyborg. 1. Udgave Ide og layout Christoffer S. Rasmussen

Eksamen, DSDS, efterår 2007

Information Integration

Kom godt i gang med elektroniske ansøgninger om parallelimport Indhold

Screening af forureningsrisiko. Data- og GIS-udfordringer ved kompleks datasammenstilling PB Insights, den 19. september 2013 John Pedersen / Orbicon

3.0 Velkommen til manualen for kanalen Shift Introduktion til kanalen Hvad er et spot? Opret et nyt spot 2

Manglende konsistens i datamodellen og upræcise SQLsætninger er årsagen til, at mange IT-systemer fejler.

Buildvejledning (Release, patch og testversion)

MsSQL: Basal performance tuning, part 1

DATABASE - MIN MUSIKSAMLING

Introduktion til programmering

NS 5.0 C/SIDEklient. dansk

Anklagemyndighedens Vidensbase

51 Københavns Universitet 52 Københavns Universitet 53 Københavns Universitet 54 Århus Universitet 55 Århus Universitet 56 Århus Universitet 57

Funktionel afhængighed

Karens lille vejledning til Access

Databaseadgang fra Java

Guide til Web-direct. Indholdsfortegnelse

Database tips. Den forudsætter lidt kendskab til SQL men er for mindre erfarne. Denne guide er oprindeligt udgivet på Eksperten.dk

Databasesystemer. IT Universitetet i København 8. juni 2006

Efteruddannelse.dk uden EASY-A - Delleverance 4A Hent udbudsoplysninger i EU.dk - Design

Allan C. Malmberg. Terningkast

Bilag d. SYSTEMDOKUMENTATION til Inventarsystemet MS Access løsning

SQL Server 2008 Spatiale eksempler. Plan & Miljø, GIS

Eksamen, DSDS, efterår 2008

1. Generelt om WFS Opsætning Eksempler... 6

ISO 27001/27002:2013 i SecureAware Policy TNG

Projekt: Database. Multimedia Design: Semester 3 - projekt 01. Sabine Larsen cph-sl176@cphbusiness.dk. Anastasia Keller cph-ak186@cphbusiness.

Program Dokumentation PC Software Skrevet af. Gruppen. Version 1.0

Øvelse 9. Klasser, objekter og sql-tabeller insert code here

MedWin vagtlægesystem Brugervejledning

Affine - et krypteringssystem

Brugervejledning til udfyldelse og udstedelse af Europass Mobilitetsbevis i Europass Mobilitetsdatabasen

POLITIETS TRYGHEDSINDEKS

Kapitel 9. Selvvurderet helbred, trivsel og sociale relationer

Regler for puljeturneringer

RUTruteplanlægningsvejledning. Folkekirkens Nødhjælp Sogneindsamling 2015

Cochrane Library Vejledning

Brugervejledning. Administration af egen mailkonto - SDNMail. Computer Sciences Corporation

Transkript:

Relationel Algebra og SQL Indholdsfortegnelse Relationel Algebra og SQL...1 Indholdsfortegnelse...1 De oprindelige mængdeoperationer...2 1. UNION (foreningsmængde)...2 2. INTERSECTION (fællesmængde)...2 3. DIFFERENCE (differensmængde)...2 4. PRODUKT (kartesisk produkt)...3 RESTRIKTION, SELEKTION (udvælgelse)...3 PROJEKTION...4 JOIN (samling)...4 DIVISION...5 SQL Side 1 af 5

De oprindelige mængdeoperationer 1. UNION (foreningsmængde) To mængder forenes til en foreningsmængde. Alle rækker (tupler) i den ene tabel (relation) forenes med alle rækker i den anden tabel. Rækkerne i de to tabeller skal være af samme slags. from UNION from ; 2. INTERSECTION (fællesmængde) Fællesmængden fra to mængder er de elementer, som findes både i den ene og i den anden mængde. SELECT m.afdnr, m.personnr FROM m, f WHERE m.afdnr = f.afdnr AND m.personnr = f.personnr; 3. DIFFERENCE (differensmængde) Ved at trække to mængder fra hinanden, fås mængdedifferencen mellem dem. Forekomsterne i begge mængder skal være af samme slags. FROM f WHERE not EXISTS ( FROM m WHERE m.afdnr = f.afdnr AND m.personnr = f.personnr); Det modsatte fra eksemplet med fællesmængde. Dvs. at mængdedifferencen udgøres af de formænd som også er mer, men som ikke er formænd og mer i samme afdeling. SQL Side 2 af 5

4. PRODUKT (kartesisk produkt) Produktet mellem to mængder er mængden af ordnede par, hvor det ene element stammer fra den ene mængde, og det andet element stammer fra den anden mængde. FROM afdeling, ; Formand Afdeling AfdNr PersonNr AfdNr AfdNavn 1 7 1 Håndbold 2 3 2 Fodbold 3 1...... Formand Afdeling AfdNr PersonNr AfdNr AfdNavn 1 7 1 Håndbold 1 7 2 Fodbold 2 3 1 Håndbold 2 3 2 Fodbold 3 1 1 Håndbold 3 1 2 Fodbold............ RESTRIKTION, SELEKTION (udvælgelse) Finder de forekomster, der opfylder en eller flere logiske betingelser. FROM post WHERE distrikt LIKE 'O%' AND distrikt <> Odense; Selektion Post PostNr Distrikt 6476 Otterup 6565 Ollerup 6477 Ovre SQL Side 3 af 5

PROJEKTION Undersøger de søjler (attributter), der er interesse for. SELECT fornavn FROM person; Projektion Person Fornavn Helge Tove Poul... JOIN (samling) Samling af forekomster fra flere mængder i én mængde. Udtrækket er kombineret med selektion og evt. projektion, dvs. et kartesisk produkt med restriktioner FROM afdeling a, f, person p WHERE a.afdnr = f.afdnr AND f.personnr = p.personnr; Den følgende (ækvivalente) SQL-sætning er Access bud på at lave en joinforbindelse: FROM afdeling a INNER JOIN ( f INNER JOIN person p ON f.personnr = p.personnr) ON a.afdnr = f.afdnr; I Access kan man bruge en INNER JOIN-handling i alle FROM-delsætninger. Dette er den mest almindelige type joinforbindelse. Indre joinforbindelser kombinerer poster fra to tabeller, når der er tilsvarende værdier i et felt, der er fælles for begge tabeller. Man kan bruge INNER JOIN sammen med tabellerne Afdeling og Medlem til at vælge alle merne i en afdeling. Hvis man derimod vil vælge alle afdelinger (selvom nogle ikke har tilknyttet mer) eller alle mer (selvom nogle ikke er tilknyttet en afdeling), kan man benytte en LEFT JOIN- eller RIGHT JOINhandling til at oprette en ydre joinforbindelse. Venstre ydre joinforbindelser medtager alle poster fra den første (venstre) af de to tabeller, selvom der ikke findes tilsvarende værdier for poster i den anden (højre) tabel, og man kan anvende en RIGHT JOIN-handling til at oprette en højre ydre joinforbindelse. Denne SQL Side 4 af 5

medtager alle posterne fra den anden (højre) af de to tabeller, selv om der ikke findes tilsvarende værdier for poster i den første (venstre) tabel. DIVISION R S R S Udvælger alle (kvotient) forekomster i en mængde (dividend), der er relateret til samtlige værdier i en anden mængde (divisor). SELECT distrikt, personnr, COUNT(*) Rest FROM GROUP BY personnr HAVING COUNT(*) = (SELECT COUNT(*) FROM afdeling); SQL Side 5 af 5