Information Integration



Relaterede dokumenter
Data Warehouse Knowledge is Power - Sir Francis Bacon -

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

DM08115 DATABASE

Tietgenskolen - Nørrehus. Data warehouse. Database for udviklere. Thor Harloff Lynggaard DM08125

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

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

Normalisering, del 2

ER-modellen. Databaser, efterår Troels Andreasen. Efterår 2002

Funktionel afhængighed

Business Intelligence brug data til at gøre din virksomhed smart

ER-modellen. Databaser, efterår Troels Andreasen. Efterår 2002

SOL - et Statistik Og Ledelsesrapporteringssystem til TDC Mobil Analyse og Økonomi

Objektorientering og databaser

Henrik Bulskov Styltsvig

Design ved normalisering

Import af rekursivt (parent-child) hierarki i Palo

Appendiks - Speciale ITU 2002 Offline XML Datavarehus. Figuroversigt. Afsnit 1 Figur 1.1 Fiktiva s nuværende datastruktur

Skriftlig eksamen i. Databaser. Vinter 2002/2003

DM08114 Database: OLAP

Virksomhedens informationssystem. Det elektroniske kontor. Elektronisk dokumenthåndtering Samfundet. Systembeskrivelse II IT og økonomi

Databasesystemer. IT Universitetet i København 7. juni 2005

Brugergrænseflader i VSU

Database optimering - Indeks

efuture Kubebaseret ad hoc rapportering fra SQL databaser Henrik Mønsted Kgs. Lyngby 2003 IMM-THESIS

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

Relationel Algebra og SQL

Dorthes Bog Centrum har ca forskellige bøger (bibliografiske enheder), som alle skal være søgbare fra prototypen.

Opgave 1 Basal select med (stjerne)

1. Basal select med (stjerne)

En opsamling af artefakter for Hotel Databasen som REST-service Bygger på Hotel opgaven i 8 trin

Eksempel på en database: studenter, kurser, eksamener

Efterår 2002 Note 10. Temaopgave

! Kia Dahlen. Kamilla Klein, Pia Jensen og Maria Korshøj Andersen.

Vejledning udvidelse af datagrundlag i LDV og Power BI

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

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

Fra ER til RM. Databaser, efterår Troels Andreasen. Efterår 2002

Databasesystemer fra forskellige synsvinkler

SAS Scalable Performance Data Server

Introduktion til SQL queries

Obligatorisk opgave 2. SQL, relationel algebra og relationel kalkyle

Views. Et view er en relation defined ud fra gemte tabeller ( base tables ) og andre views To typer:

Henrik Bulskov Styltsvig

Views etc. Databaser

Database. Pr jekt. Hold CLmul-a14e Gruppe 3 3. semester Vejledere: Tue Becher Ivan R. Frederiksen

Henrik Bulskov Styltsvig

En Kort Introduktion til Oracle

Fra ER-Diagram til Relationel model i 7 step

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

"A subject-oriented, integrated, time-variant, and non-volatile collection of data in support of managements dicision-making process.

Software Projekt NoSQL vs RMDB

Henrik Bulskov Styltsvig

Afleveringsopgave. Efterår 2001

Skriftlig eksamen i. Datalogi. Databaser. Sommer 2001

Introduktion til SQL

Microsoft Dynamics AX Scanfak. Fall

Microsoft Dynamics. Fall. 16 AX Scanfak

Eksamen, DSDS, efterår 2007

Region Nordjylland. Hvordan skaber et datavarehus værdi i en regional forvaltning? Juni 2015

Kursus/workshop: SQL

Database-sproget SQL. SELECT A1,, Ar FROM R1,, Rk WHERE B med. SQL ~ SEQUEL ~ Structered English QUEry Language SQL-forespørgsel, generel form

SAS Asset Management. Mikal Netteberg Marianne Hansen Søren Johansen SAS Institute A/S. Copyright 2006, SAS Institute Inc. All rights reserved.

Databaseadgang fra Java

Database. lv/

Skriftlig eksamen i kurset. Informationssystemer

Datalagring og formater

Jayne Alice Jensen [Link til portfolio]

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

Databaser Obligatorisk opgave 2 Vejledende løsning

CASEEKSAMEN INFORMATIONSTEKNOLOGI NIVEAU: C. 22. maj 2015

DML, Foresprgsler Relationel algebra + noget mere! af skemaer (overlap m. DDL)

Database design for begyndere

Kursusoversigt for juli 2007 januar 2008

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

! Kia Dahlen. Kamilla Klein, Pia Jensen og Maria Korshøj Andersen.

Opgave 1. Opret de 4 tabeller i FTSFrontend programmet. Indsæt mindst 3 forskellige tabelværdier i kunder, målerstatus, byer og regning..

Øvelser i Business Intelligence

Logning. V/ Hans Kennet Larsen

Undervisningsbeskrivelse

GIS-OIS INTEGRATION BRUGERMANUAL, VERSION 2 I G I S

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

Bemærk! Et PHP script har kun brug for at forbinde én gang til databaseserveren. Det kan så sagtens udføre flere kommandoer vha. denne forbindelse.

Ratingsystem i PHP og MySQL

Database-sproget SQL. SELECT A1,, Ar FROM R1,, Rk WHERE B med. SQL ~ SEQUEL ~ Structered English QUEry Language SQL-forespørgsel, generel form

Modul 2 Database projekt Multimediedesign 3. semester Gruppe 3 IRF/TUJE

MAPINFO PROFESSIONAL V11.5

Indholdsfortegnelse for kapitel 3

Data lagring. 2. iteration (implement backend)

Analyse, problemområde, anvendelsesområde

Modernisering af BI miljø i Codan v.h.a. SAS V9

Tema Titel Materiale 1 IS i sundheds-sektoren Patientdatas anvendelighed Lynge et al.

ProMark workforce management ProJob

Hvorfor starte fra bunden?

Klargør dine data til business intelligence og forretningsanalyse med Master Data Management

Målet for disse slides er at beskrive nogle algoritmer og datastrukturer relateret til at gemme og hente data effektivt.

SQL-opgaver 5 løsning

Hjælp mig med at arbejde med mine kundedata (Customer Intelligence)

Sammenligning af Objekt-orienteret databaser og Relationelle databaser.

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

Conceptual, logic, physical

Transkript:

Databaser, efterår 2002 Information Integration Troels Andreasen Datalogiafdelingen, hus 42.1 Roskilde Universitetscenter Universitetsvej 1 Postboks 260 4000 Roskilde Telefon: 4674 2000 Fax: 4674 3072 www.dat.ruc.dk

"Information Integration" Tre former for "Information Integration" "Federated Databases" "Mediated Databases" "Data Warehouse" (kun denne form ser vi nærmere på) "Federated Databases" uafhængige databaser der understøtter indbyrdes forbindelser (f.eks. Oracle SQL-net) forbindelser skal "programmeres" enkeltvist "Mediated Databases" integration i form af en virtuel base fremtræder for brugere som en enkelt fysisk database "wrapper" definerer hver kildedatabase overfor "mediator" Troels Andreasen 2

"Data Warehouse" / Data-Varehus Hyppigste form for information integration: kopier kilde-db's ind i en en enkelt fælles DB og prøv at holde den løbende opdateret Almindelig metode til løbende opdatering periodevis rekonstruktion Troels Andreasen 3

OLTP Versus OLAP OLTP Fleste database operationer er af typen OLTP ("on-line transaction processing"). Simple forespørgsler og hyppige opdateringer på et lille udvalg af tupler f.eks. billetreservation, bankposteringer, kasseregistrering, webhandel,... OLAP Af tiltagende vigtighed er OLAP ("on-line analytic processing") Få, men komplekse og tidskrævende operationer (læsning) Opdateringer er sjældne eller svaret på en forespørgsel er brugbart selvom DB ej er up-to-date. Eksempler: Amazon analyserer købsmønster Dansk Supermarked analyserer salg for at optimere placeringen af varer Troels Andreasen 4

OLAP Generel arkitektur: Flere lokale databaser med primære data ("OLTP-data") Et varehus til Informations Integration og OLAP. warehouse Combiner Extractor Extractor Source 1 Source 1 Troels Andreasen 5

Stjerne skema Den hyppigste datamodel for et "varehus": Én central fakta-tabel Typisk insert-only med rekonstruktion eller periodevis opdatering f.eks salgs-data Et antal dimensions-tabeller Typisk næsten-statiske tabeller f.eks stamoplysninger om kunder, sælgere, varer, Dim7 Dim8 Dim1 Dim6 FAKTA Dim2 Dim5 Dim4 Dim3 Troels Andreasen 6

Stjerne skema, datamodel-skitse Normalt med mange-til-en fra FAKTA til dimension, altså en "stjerne" Dim7 Dim8 Dim1 Dim6 FAKTA Dim2 Dim5 Dim4 Dim3 Dim7 s7 Dim8 s8 Dim1 s1 svarer til ER-diagrammet: Dim6 s6 s5 FAKTA s4 s2 s3 Dim2 Dim5 Dim4 Dim3 Troels Andreasen 7

Eksempel: Datavarehus for salg af præparater Fakta-tabel Præperat-salg(præpid, salgsstedid, dato, pris) dimensions-attributter: præpid, salgsstedid, dato afhængige attributter: pris Dimensions-tabeller Præparat(præpid, Navn, Producent, Gruppe) Salgssted(salgsstedid, Navn, type, Gade, By) Salgssted Præparat s7 Salgssted s1 Præparat Præperat-salg dato Troels Andreasen 8

To måder at bygge Data-varehus på 1. ROLAP (Relationel OLAP): en relationel database tilpasset til stjerne-skemaer (bl.a. ved speciel indeksering) 2. MOLAP (Multidimensionel OLAP): En speciel model baseret på en (formél) data-cube Troels Andreasen 9

ROLAP Typiske forespørgsler begynder med en Stjerne-join : SELECT... FROM Præperat-salg, Præparat, Salgssted WHERE Præperat-salg.præpid=præparat.præpid AND Præperat-salg.salgsstedid=salgssted.salgsstedid; Typisk OLAP forespørgsel vil: Danne stjerne-join eller en del af denne. Filtrere interessante tupler baseret på fakta- og/eller dimensions-data. Gruppere på en eller flere dimensioner. Aggregere resultatet. Eksempel: For hver producent find det totale salg af produkter opdelt på byer". Troels Andreasen 10

Performance optimering i ROLAP Optimering i forhold til stor fakta-tabel bl.a. ved Materialiseret view Bitmap indeks Eksempel F.eks. kan følgende materialiseres så OLAP-forespørgsler imod salgssteder evalueres hurtigere: SELECT... FROM Præperat-salg, Salgssted WHERE Præperat-salg.salgsstedid=salgssted.salgsstedid; Troels Andreasen 11

MOLAP og Formel data kubus MOLAP "Multidimensional OLAP" Baseret på formel data kubus Formel data kubus ( formal data cube ) CUBE(F) for fakta-tabellen F nøgler fra dimensioner er akser i kubussen. f.eks tre dimensioner: præparat salgssted, tid afhængige attributter optræder i punkter i kubussen f.eks. pris MEN, kubussen indeholder også aggregeringer (normalt summation) langs hver dimension og hver kombination af dimensioner. f.eks. kubussen indeholder summeringer over salget pr. præparat Troels Andreasen 12

CUBE(Præperat-salg) Fakta-tabel Præperat-salg Præperat-salg(præpid, salgsstedid, dato, pris) dimensions-attributter: præpid, salgsstedid, dato afhængige attributter: pris CUBE(Præperat-salg): Salgssted Præparat dato Troels Andreasen 13

CUBE(Præperat-salg) Fakta-tabel Præperat-salg Præperat-salg(præpid, salgsstedid, dato, pris) dimensions-attributter: præpid, salgsstedid, dato afhængige attributter: pris CUBE(Præperat-salg) indeholder "aggregerings-tupler" på formen (med skemaerne): Præperat-salg( *, salgsstedid, dato, pris) Præperat-salg(præpid, *, dato, pris) Præperat-salg(præpid, salgsstedid, *, pris) Præperat-salg( *, *, dato, pris) Præperat-salg( *, salgsstedid, *, pris) Præperat-salg(præpid, *, *, pris) Præperat-salg( *, *, *, pris) eksempel på aggregerings-tupel: Præperat-salg( *, "Roskilde Apotek", "1-12-2002", 37.545,75) (svarende til det samlede salg (alle præparater) på Roskilde Apotek 1-12-2002) Troels Andreasen 14

"Operationer" på kubussen "Dicing" "udskæring i terninger" dvs. partitionering af kuben efter partitioner i dimensionerne "Slicing" "udskæring af skive": vælg en værdi langs en dimension, f.eks. Et bestemt præparat Drill-Down at de-aggregere, dvs. at bryde en aggregering op i dens dele f.eks givet at salgssted 17 sælger meget lidt, undersøg salgets fordeling på præparater Roll-Up aggregere (igen) langs en dimension. f.eks. (omvendt) givet salgsted 17 salg fordelt på præparater undersøg samlet salg Troels Andreasen 15

Performance optimering i MOLAP Bl.a (også) ved: Materialiseret view specielt (naturligvis) i form af aggregeringer i en eller flere dimensioner Troels Andreasen 16

Data Mining Komplekse forespørgsler der udtrækker regler for, eller mønstre" i, data F.eks: associations-regler eller hyppigt forekommende delmængder Handler bl.a. om statistik Troels Andreasen 17

Data Mining Indkøbskurv data Associations-regler: Når en kunde går igennem kassen kan vi lære om hvilke vare han/hun køber, f.eks. Øl og bleer. Giver data med skema kurv(kurvnr,vareid). Interessant i forbindelse med, f.eks. Placering af vare i butikker Udarbejdelse af kataloger/reklamer. Pris-sætning (hæv priser for sekundær -varer dem man kun køber fordi man ikke kunne lade være da man nu alligevel var i butikken) Troels Andreasen 18

Simpelt Problem: Find hyppige par af varer Støtte for mængde af varer {v 1,..., v n } antallet af kurve, der indeholder alle v 1,...,v n Givet en nedre grænse for "støtten" s, kunne vi spørge: Find par af varer, med støtte mindst s (der optræder sammen i mindst s indkøbskurve) SELECT k1.vareid, k2.vareid FROM kurv k1, kurv k2 WHERE k1.kurvnr=k2.kurvnr AND k1.vareid < k2.vareid GROUP BY k1.vareid, k2.vareid HAVING COUNT(*) >= s; Troels Andreasen 19

A-Priori algoritme Ovenstående forespørgsel er MEGET dyr for store mængder af data. A-priori algoritme benytter det oplagte forhold at Et par (i, j) kan ikke have støtte s med mindre i og j hver for sig har støtte s F.eks. kan benyttes mellemresultatet kurv1: INSERT INTO kurv1(kurvnr,vareid) SELECT * FROM kurv WHERE vareid IN ( SELECT vareid FROM kurv GROUP BY vareid HAVING COUNT(*) >= s ); Herefter kan forespørgslen køres på kurv1 i stedet for på kurv. Troels Andreasen 20

Association Støtte for mængde af varer {v 1,..., v n } antallet af kurve, der indeholder alle v 1,...,v n Association {v 1,..., v n } v konfidens sandsynlighed for at finde v i en kurv med {v 1,..., v n } interesse forskel imellem sandsynlighed for at finde v i vilkårlig kurv at finde v i en kurv med {v 1,..., v n } Troels Andreasen 21