Les SGBDs Supports de Dcisions - PowerPoint PPT Presentation

1 / 79
About This Presentation
Title:

Les SGBDs Supports de Dcisions

Description:

Le r sultat peut tre attendu sous forme. d'un graphique (business ... Le r sultat peut tre attendu sous forme. d'un graphique (business graphics) 3-D. 24. Le ... – PowerPoint PPT presentation

Number of Views:36
Avg rating:3.0/5.0
Slides: 80
Provided by: lit105
Category:

less

Transcript and Presenter's Notes

Title: Les SGBDs Supports de Dcisions


1
Les SGBDs Supports de Décisions
  • Witold Litwin

2
Besoin
  • Utilisation massive de fonctions agrégats
  • celles de SQL
  • autres
  • dans le langage hôte
  • Exemples
  • La moyenne de ventes
  • Le commercial du jour
  • La corrélation entre certaines attributs

3
Problèmes nouveaux
  • Parcours fréquent de tous les tuples
  • d'une grande table
  • d'une collection de tables à joindre
  • L'opération peut prendre beaucoup de temps
  • quel que soit l'optimisation de chemins d'accès
  • Des requêtes peuvent être impossible à formuler
    en SQL seul
  • Classement par rang selon les valeurs de T.a
  • Corrélation entre T.a et T.b ?
  • Les attributs les plus corrélés ?

4
Solutions
  • Nouvelles fonctions de SQL
  • Fonctions agrégats
  • Rank, Rollup, Cube, Covariance, Correlation
  • Fonctions scalaires
  • Nouveaux concepts
  • Donnée multidimensionnelle
  • Espaces des agrégations
  • Espace des influences
  • Espace des variations

5
Solutions
  • Nouvelles techniques d'implémentation
  • Calcul parallèle et scalable
  • Prè-calcul partiel ou total de requêtes
  • Échantillonnage
  • Séparation de calculs en plusieurs bases et
    systèmes

6
Solutions
  • Nouveau types de SGBD
  • Entrepôts de Données
  • Data Warehousing
  • Fouille de Données
  • Data Mining (DM)
  • Analyse en ligne
  • Online Analytical Processing (OLAP)
  • Les SGBD "traditionnels" sont dès lors souvent
    appelés
  • Online Transaction Processing (OTPS) Systems
  • Les nouveaux constituent les
  • Systèmes de Support de Décisions
  • Decision Support Systems

7
Principaux produits
  • Informix
  • Basé sur l'achat de Red Brick
  • DB2
  • SGBD
  • Data Warehouse Center
  • SQL Server
  • SGBD
  • Data Analysis Services
  • OLAP Services renommés pour SQL Server 2000
  • Oracle Express

8
OLAP traditionnel
Prix de produit 123
Espace des Données
Support de Decisions
9
OLAP traditionnel
Prix de produit 123
Vente par produit et par mois
Espace (OLAP) des Agrégations
Espace des Données
Support de Decisions
10
OLAP traditionnel
Prix de produit 123
Vente par produit et par mois
Espace (OLAP) Des Agrégations
Espace des Données
Espace Des Influences (Data Mining)
Facteurs d'influence des ventes à Paris
Support de Decisions
11
OLAP traditionnel
Prix de produit 123
Vente par produit et par mois
Espace (OLAP) des Agrégations
Espace des Données
Espace des Influences (Data Mining)
Facteurs d'influence des ventes à Paris
Support de Decisions
Changement de ventes depuis 3 mois
Espace des Variations
12
Espaces de Données Concepts Relations Ensembl
es Agrégations Arithmétique Influences Logiq
ue et Stats. Variations Calcul différentiel
13
Technologie
  • BDs parallèles, distribuées, scalables
  • Jointures pré-calculées
  • intégrité référentielle
  • Vues matérialisées
  • Algorithmes statistiques
  • Algorithmes décisionnels
  • revus pour l'application aux BDs
  • Systèmes multibases
  • Entrepôts de données
  • Data warehousing

14
Vue matérialisée
T
sum prod 30 p1 50 p2 27 p3
  • create materialized view T(sum, prod) as select
    sum(montant) prod from Ventes groupby produit
  • Les requêtes sont reformulées contre la vue
  • d'une manière transparente pour l'usager
  • select from T where prod 'p1'

15
Vue matérialisée
T
sum prod 30 p1 50 p2 27 p3
  • Problème général
  • Cohérence entre la vue et ses tables de base
  • Algorithme de MAJ
  • pour toute nouvelle vente de Produit p
  • add le montant à T.sum where prod p

16
Vue matérialisée
  • La cohérence peut être implantée par
  • des déclencheurs
  • des procédures stockées (stored procedures)
  • Exercise
  • Que faire pour la requête
  • select avg (montant) prod from Ventes
    groupby produit
  • Note plusieurs solutions existent

17
Problème de scalabilité
  • On peut difficilement maintenir un grand nombre
    de vues matérialisées
  • il faudrait executer des dizaines de déclencheurs
  • et ne pas handicaper les perf. OLTP
  • et comment faire pour les avortements et la
    concurrence ?

18
Axes de solutions
  • Systèmes multiordinateurs
  • Cohérence souple (ang. loose) entre les tables de
    bases et les vues matérialisées
  • la somme de ventes peut être 0.05 inexacte
    pendant 10 sec., de temps en temps, sans que le
    DBA se fasse gronder
  • nécessité dans les systèmes mobiles
  • Les MAJ sont propagées en asynchrone après le
    Commit

19
Les statistiques
  • Correlations
  • DFs notamment (correlation 1)
  • Regressions
  • Nuées Dynamiques
  • Diday
  • Analyse factorielle multi-dimensionnelle en
    général
  • Benzecri
  • Aide au diagnostic
  • Bayes

20
OLAP / Data Mining
  • OLAP
  • Les agrégations demandées sont connues
  • On peut formuler les requêtes SQL
  • ou SQL imbriqué
  • Data Mining
  • on ne sais pas a priori quoi demander
  • quelles sont les corrélations parmi les attributs
    de Ventes ?
  • Cette dichotomie est floue

21
Data Mining dans un espace des influences
  • Le résultat peut être attendu sous forme
  • d'un graphique (business graphics)

22
Data Mining dans un espace des influences
  • Le résultat peut être attendu sous forme
  • d'un graphique (business graphics) 2-D

23
Data Mining dans un espace des influences
  • Le résultat peut être attendu sous forme
  • d'un graphique (business graphics) 3-D

24
Data Mining dans un espace des influences
  • Le résultat peut être attendu sous forme
  • d'une règle logique
  • if
  • customer.age lt 25 and power gt '9 CH' and
    status 'bachelor'
  • then
  • prob (accid. / year gt 1) 0.99

25
Data Mining dans un espace des influences
  • Ceci conduit au problèmes d'inférence de règles
  • la logique
  • BDs actives
  • BD de connaissances
  • BDs déductives

26
Mesures dans un espace des variations
  • On observe les variations selon des dimensions
  • variation de cours de bourse
  • depuis une semaine, une année, 1 Janv. 1996...
  • variation de ventes (ang. lift)
  • selon la campagne de promotion
  • selon la saison
  • etc
  • Précalcul de variations est encore plus couteux
    que celui de facteurs statiques
  • surtout de variations temporelles

27
Mesures dans un espace des variations
28
Data Mining dans un espace des influences
  • On attend deux types de résultats distincts
  • l'état de l'existant
  • découverte, explication, confirmation
  • l'analyse de la tendance
  • prédictions
  • Lex deux aspects sont encore en état de recherche
    ou, au mieux, en développent avancé

29
Schéma en Étoile
  • Table de faits
  • En général très grande
  • Tables de dimensions
  • En général très petites
  • Liens clé primaire / clé étrangère

30
Architecture d'entrepôt de données IBM
31
Fonctions Agrégat pour OLAPDB2
  • CountBig
  • Pour le nombre de tuples gt 231
  • Covariance
  • entre des attributs ou des expressions de valeur
  • Correlation
  • entre des attributs ou des expressions de valeur
  • Regression functions
  • 10 fonctions
  • Les paramètres de la droite de régression entre
    des attributs ou des expressions de valeur
  • Rank, Dense_Rank
  • Rank en présence de duplicata 1,2,2,4,4,6
  • Dense_Rank en présence de duplicata
    1,2,2,3,3,4

32
Covariance
  • Soit avgexp1 le résultat de AVG(expression1) et
    soit avgexp2 le résultat de AVG(expression2),
  • Alors COVARIANCE(expression1, expression2)
    est
  • AVG( (expression1 - avgexp1) (expression2 -
    avgexp2 )

SELECT COVARIANCE(SALARY, BONUS) FROM EMPLOYEE
WHERE WORKDEPT 'A00'
33
Correlation
Définition COVARIANCE(expression1,expression2)/
(STDDEV(expression1)STDDEV(expression2))
SELECT CORRELATION(SALARY, BONUS) FROM EMPLOYEE
WHERE WORKDEPT 'A00'
34
Fonctions Agrégat pour OLAPDB2
  • Fonctions spécifiques à DB2 Data Warehouse
    Center
  • Analyse de la variance (ANOVA)
  • Distributions de Fisher-F
  • Valeur P
  • Sous-totaux par période de temps
  • Test de Chi-carré
  • Statistique T pour n paires de valeurs et à
    partir du coeff. de corrélation r
  • T r ((n 2 ) / (1 - r 2 ))0.5
  • T ? 0 indique une corrélation entre les
    attributs

35
Fonctions Agrégat pour OLAPTeradata
  • RANK
  • CSUM (Cumulative (Running) Sums)
  • MAVG and MSUM
  • MDIFF (Moving Difference)
  • QUANTILE
  • QUALIFY
  • SAMPLE

36
SELECT EmployeeName, (HireDate - DATE) AS
ServiceDays, RANK ( ServiceDays ) as Seniority
FROM Employee ORDER BY EmployeeName
EmployeeName
Service Days Seniority
Robyn Baker 9931
2
Nick Garrison 9931
2 Kyle
McVicker 9408 5
Eva OMalley
10248 1
Norma Powers
9409 4
37
SELECT Item, SalesDate, CSUM(Revenue,Item,SalesDat
e) as CumulativeSales FROM (SELECT Item,
SalesDate, Sum( Sales ) as Revenue FROM
DailySales WHERE StoreId5 AND SalesDate
Between 1/1/1999 and 1/31/1999 GROUP BY
Item, SalesDate) AS ItemSales ORDER BY SalesDate
Item SalesDate
CumulativeSales InstantCOW
01/01/1999 972.99
InstantCOW 01/02/1999
2361.99
InstantCOW 01/03/1999
5110.97 InstantCOW
01/04/1999 7793.91
38
SELECT MarketDay,ClosingPrice,
MAVG(ClosingPrice,50,MarketDay) as XYZAverage
FROM MarketDailyClosing WHERE Ticker
XYZ ORDERBY MarketDay
MarketDay ClosingPrice
XYZAverage 12/27/1999
89 1/16 85 1/2
12/28/1999 91 1/8
86 1/16
12/29/1999 92 3/4
86 1/2 12/30/1999
94 1/2 87
39
SELECT MarketWeek, WeekVolume, MDIFF
(WeekVolume,1,MarketWeek)asXYZVolumeDiff FROM
(SELECT MarketWeek, SUM(Volume) as
WeekVolume FROM MarketDailyClosing WHERE Ticker
XYZ GROUP BY MarketWeek) ORDERBY
MarketWeek MarketWeek
WeekVolume XYZVolumeDiff
11/29/1999 9817671
?
12/06/1999 9945671
128000 12/13/1999
10099459 153788
12/20/1999
10490732 391273
12/27/1999 11045331
554599
40
SELECT Item, Profit, QUANTILE( 10, Profit ) as
Decile FROM (SELECTItem,Sum(Sales)(Count(Sales)
ItemCost) asProfit FROM DailySales, Items WHERE
DailySales.Item Items.Item GROUP BY Item) AS
ItemProfit Item Profit
Decile
High Tops 97112
9 Low Tops 74699
7 Running
69712 6 Casual
28912
3 Xtrain 100129
9
41
SELECT Item, Profit, QUANTILE( 100, Profit ) AS
Percentile FROM (SELECT Item,Sum(Sales)
(Count(Sales) Items.ItemCost) as Profit FROM
DailySales, Items WHERE DailySales.Item
Items.Item GROUP BY Item) AS
ItemProfit QUALIFY Percentile 99 Item
Profit Percentile Fat Free
Ice Cream 10.79
99 Sugar Free Ice Cream -100.55
99 Fake Chocolate Ice Cream
-1110.67 99 Fat/Sugar Free Ice
Cream -2913.88 99 Fake Ice
Cream -4492.12
99
42
SELECT customer_id, age, income, marital_status,
, SAMPLEID FROM customer_tableSAMPLE 0.6,
0.25, 0.15 customer_id age income
marital_status ... SAMPLEID 1362549
17 0
1 1
1362650 21 17804
2
1 1362605 34 16957
2
1 1362672 50
16319 2
3 1362486 76
10701 3
1 1362500
40 56708 1
3 1362489
35 55888
3 2
1362498 60 9849
2
1 1362551 27 23085
1
1 1362503 18
5787 1
.. 2
43
ROLLUP(DB2 SQL-Server)
  • Groupements multiples (super-groupes) selon une
    dimension
  • l ordre des attributs dans la clause a
    l importance
  • les attributs sont progressivement  oublies  de
    droite à gauche
  • Remplace plusieurs requêtes GROUP BY
  • SELECT p, sum (qty) as tot-qty from S,SP, P
  • WHERE SP. P P.P AND SP. S S.S
  • GROUP BY ROLLUP (P, S.CITY, COLOR)
  • HAVING tot-qty gt 100
  • Problèmes avec des nulls que lon verra plus tard

44
SELECT WEEK(SALES_DATE) AS WEEK,
DAYOFWEEK(SALES_DATE) AS DAY_WEEK,
SALES_PERSON, SUM(SALES) AS UNITS_SOLD
FROM SALES WHERE WEEK(SALES_DATE) 13 GROUP
BY ROLLUP ( WEEK(SALES_DATE), DAYOFWEEK(SALES_DATE
), SALES_PERSON ) ORDER BY WEEK, DAY_WEEK,
SALES_PERSON WEEK DAY_WEEK
SALES_PERSON UNITS_SOLD -----------
----------- --------------- -----------
13 6 GOUNOT 11
13 6 LEE 12
13 6 LUCCHESSI
4 13 6 -
27 13 7 GOUNOT
21 13 7 LEE
21 13 7
LUCCHESSI 4 13
7 - 46 13
- - 73
- - - 73
45
CUBE(DB2 SQL-Server)
  • Groupements multiples selon toutes les dimensions
  • l ordre des attributs dans la clause n a pas
    d importance
  • les attributs sont progressivement  oublies  de
    droite à gauche
  • Remplace plusieurs requêtes GROUP BY
  • SELECT p, sum (qty) as tot-qty from S,SP, P
  • WHERE SP. P P.P AND SP. S S.S
  • GROUP BY CUBE (P, S.CITY, COLOR)
  • HAVING tot-qty gt 100
  • Problèmes avec des nuls que lon verra plus tard
  • Opération bien plus chère que Rollup
  • 2N requêtes générées au lieu de N, pour N
    attributs

46
CUBE(DB2 SQL-Server)
SELECT WEEK(SALES_DATE) AS WEEK,
DAYOFWEEK(SALES_DATE) AS DAY_WEEK,
SALES_PERSON, SUM(SALES) AS UNITS_SOLD
FROM SALES WHERE WEEK(SALES_DATE) 13 GROUP
BY CUBE ( WEEK(SALES_DATE), DAYOFWEEK(SALES_DATE),
SALES_PERSON ) ORDER BY WEEK, DAY_WEEK,
SALES_PERSON
47
WEEK DAY_WEEK SALES_PERSON
UNITS_SOLD ----------- -----------
--------------- ----------- 13
6 GOUNOT 11 13
6 LEE 12 13
6 LUCCHESSI 4
13 6 - 27
13 7 GOUNOT
21 13 7 LEE
21 13 7 LUCCHESSI
4 13 7 -
46 13 -
GOUNOT 32 13
- LEE 33
13 - LUCCHESSI 8
13 - -
73 - 6 GOUNOT
11 - 6 LEE
12 - 6
LUCCHESSI 4 -
6 - 27 -
7 GOUNOT 21
- 7 LEE 21
- 7 LUCCHESSI
4 - 7 -
46 - - GOUNOT
32 - - LEE
33 - -
LUCCHESSI 8 -
- - 73
48
GROUPING SETS
  • On indique explicitement les groupes
  • entre (..)
  • le groupe () est constitué de toute la table
  • SELECT p, sum (qty) as tot-qty from S,SP, P
  • WHERE SP. P P.P AND SP. S S.S
  • GROUP BY GROUPING SETS ((P, S.CITY, COLOR),
    (P, COLOR), ())
  • HAVING tot-qty gt 100
  • Problèmes avec des nuls que lon verra plus tard

49
GROUPING SETS
SELECT SALES_PERSON, MONTH(SALES_DATE)
AS MONTH, SUM(SALES) AS UNITS_SOLD
FROM SALES GROUP BY GROUPING SETS (
(SALES_PERSON, MONTH(SALES_DATE)),
()
) ORDER BY SALES_PERSON, MONTH
50
GROUPING SETS
SALES_PERSON MONTH UNITS_SOLD
--------------- -----------
----------- GOUNOT 3
35 GOUNOT 4 14
GOUNOT 12 1 LEE
3 60 LEE
4 25 LEE
12 6 LUCCHESSI 3
9 LUCCHESSI 4
4 LUCCHESSI 12 1 -
- 155
51
GROUPING SETS ROLLUP
SELECT WEEK(SALES_DATE) AS WEEK,
DAYOFWEEK(SALES_DATE) AS DAY_WEEK,
MONTH(SALES_DATE) AS MONTH, REGION,
SUM(SALES) AS UNITS_SOLD FROM SALES GROUP
BY GROUPING SETS ( ROLLUP( WEEK(SALES_DATE),
DAYOFWEEK(SALES_DATE) ),
ROLLUP( MONTH(SALES_DATE), REGION ) ) ORDER BY
WEEK, DAY_WEEK, MONTH, REGION
52
WEEK DAY_WEEK MONTH REGION
UNITS_SOLD ----------- -----------
----------- --------------- -----------
13 6 - -
27 13 7 -
- 46 13
- - -
73 14 1 - -
31 14
2 - - 43
14 - - -
74 53 1
- - 8
53 - - -
8 - - 3
Manitoba 22 -
- 3 Ontario-North
8 - - 3
Ontario-South 34 -
- 3 Quebec
40 - - 3 -
104 -
- 4 Manitoba 17
- - 4
Ontario-North 1 -
- 4 Ontario-South 14
- - 4 Quebec
11 - -
4 - 43
- - 12 Manitoba
2 - -
12 Ontario-South 4 -
- 12 Quebec
2 - - 12 -
8 -
- - - 155
- - - -
155
53
Rollup, Cube, Grouping Setssous MsAccess
  • Il y en a pas
  • On peut simuler ces manipulations en utilisant
  • GROUP BY
  • UNION ALL
  • ORDER BY
  • Peut être laborieux pour le CUBE

54
ROLLUP
Remarquez le  null as city
55
ROLLUP
56
ROLLUP
Une solution pour l ambiguïté de certains
nuls ?
Et le CUBE ?
57
Fonctions scalaires
  • S appliquent aux valeurs individuelles
  • d attributs
  • d agrégations SQL
  • Il y a plusieurs catégories
  • mathématiques
  • financières
  • chaînes de caractères
  • .
  • Varient entre les dialectes
  • MsAccess possède UCASE, pas DB2
  • DB2 possède LOG10, pas MsAccess

58
Fonctions scalaires
  • Peuvent simbriquer
  • contrairement aux agrégats SQL
  • SELECT log((sum(qty2)(1/2))) as
    exempleFROM SP group by phaving
    int(log(sum(qty))) 5

exemple 5.70875764008279 5.99146454710798
59
Tabulations Croisées(Crosstab queries)
  • Présentent les résultat sous forme habituelle de
    feuilles de calculs
  • Les agrégats SUM, AVG.. de GROUP BY et les
    valeurs individuelles en même temps
  • Impossible avec SQL standard
  • Transforment les valeurs d'attributs en attributs
  • Par exemple
  • les valeurs de P trouvés pour un même S
    deviennent les attributs P1, P2,...
  • les valeurs de P1, P2.. sont les QTY (par ex.)
    correspondants

60
Tabulations Croisées
  • TRANSFORM Sum(SP.Qty)
  • SELECT SP.S, Sum(SP.Qty) AS Row Summary
  • FROM SP
  • GROUP BY SP.S
  • PIVOT SP.p

Nouvelles colonnes
61
Tabulations Croisées
  • S Total Qty p1 p2 p3 p4 p5 p6
  • s1 1300 300 200 400 200 100 100
  • s2 700 300 400
  • s3 200 200
  • s4 900 200 300 400

L'intitulé Total Qty est mis par défaut par
MsAccess
62
Tabulations Croisées
  • La fonction agrégat dans la clause TRANSFORM est
    obligatoire
  • bien que SUM(QTY) AVG(QTY) QTY
  • mais, COUNT(QTY) 1
  • On peut générer une expression de valeur
  • TRANSFORM SUM(0.5QTY) AS Q2SELECT
    Sum(SP.Q2) AS Qte tot. dans 1 mois,
    Avg(P.Q2) AS Qte moy. dans 1 moisFROM
    SPGROUP BY SP.SPIVOT SP.p

63
Tabulations Croisées
  • On peut utiliser la clause WHERE
  • WHERE P IN ('P1', 'P2')
  • Alors les fonctions ne calculent les agrégats que
    sur P1 et P2.
  • On peut aussi restreindre la tabulation seulement
  • PIVOT SP.p IN ('P1', P2')
  • Mais, cette clause n'affecte pas les calculs des
    agrégats
  • Peut-on appliquer la clause ORDER BY ?
  • Si oui, quel serait leffet sur les valeurs
    pivotées ?
  • Peut-on ordonner par rapport à une fonction
    agrégat ?
  • Comme on a fait pour les requêtes à GROUP BY ?
  • Peut-on appliquer la clause HAVING ?

64
Clauses COMPUTE FOR BROWSE(SQL Server 6.5 et
7)
  • expression générale de sélection
  • SELECT DISTINCT attribut(s)
  • FROM table(s)
  • WHERE condition
  • GROUP BY ROLLUP CUBE field(s)
  • HAVING condition
  • ORDER BY attribute(s)COMPUTE row-agg
    (colonne), row-agg (colonne)... BY (colonne),
    (colonne)...FOR BROWSE
  • Clause FOR BROWSE permet une MAJ de données
    dynamiquement visualisées

65
Compute
  • select title, type, price, advancefrom titles
    where ytd_sales is not nullorder by type
    desc compute AVG(price), SUM(advance) by
    type compute SUM(price), SUM(advance)go
  • title type price advancefifty
    years... trad_cook 11.95 4000Onions.. trad_coo
    k 20.95 7000Sushi... trad_cook
    14.99 8000 avg 15.96 sum 1900
    0 title type price advanceComputer... psyc
    hology 21.95 7000... psychology
    .... .... avg 15.96 sum 19000
    sum sum 236.00 88400

66
Fermeture transitive (DB2)
  • Considère la table COURS (CNOM, PNOM,
    NMIN)contenant les cours et leur pré-requis avec
    les notes minimales pour l admission en cours
  • ex. (BDs, Str-Ph, 15)
  • Tout PNOM est une clé étrangère avec CNOM comme
    clé primaire ailleurs dans COURS
  • Un cours peut avoir plusieurs pré-requis
  • Trouver les noms de tous les pré-requis de cours
    CNAME  BDs 
  • y compris les pré-requis de pré-requis etc.
  • C est le calcul de la fermeture transitive
  • Impossible encore sous MsAccess, SQL Server lt
    6.5, Oracle, Informix
  • Possible sous DB2, à partir de V 5.0

67
Fermeture transitive (DB2)
  • WITH PRQ (CNOM, PNOM) AS
  • ((SELECT CNOM, PNOM FROM COURS
  • WHERE CNOM  BDs )
  • UNION ALL
  • (SELECT C.CNOM, C.PNOM FROM PRQ AS P, COURS AS
    CWHERE C.CNOM P.PNOM))
  • SELECT DISTINCT PNOM FROM PRQ
  • La requête récursive s exécute tant que la
    sélection dans PRQ avec PRQ courant nest pas
    vide.

Requête initiale
Requête récursive
Requête finale
68
Fermeture transitive (DB2)
Requête initiale (préreq. de BDs
COURS
1ere exécution de la Requête récursive (préreq.
de BDs)
2eme exécution de la Requête récursive (préreq.
de préreq. de BDs)
3eme exéc. de la RR (préreq. de préreq. de
préreq. de BDs) etc.
69
Fermeture transitive (DB2)
CNOM PNOM NMIN BDs StPh 15 BDs LPrg 12 StPh InfG 1
3 InfG Math 11 Lprg InfG 12
CNOM PNOM BDs StPh Bds Lprg
70
Fermeture transitive (DB2)
CNOM PNOM NMIN BDs StPh 15 BDs LPrg 12 StPh InfG 1
3 InfG Math 11 Lprg InfG 12
CNOM PNOM BDs StPh Bds Lprg
StPh InfG Lprg InfG
71
Fermeture transitive (DB2)
CNOM PNOM NMIN BDs StPh 15 BDs LPrg 12 StPh InfG 1
3 InfG Math 11 Lprg InfG 12
CNOM PNOM BDs StPh Bds Lprg
StPh InfG Lprg InfG
InfG Math InfG Math
72
Fermeture transitive (DB2)
CNOM PNOM NMIN BDs StPh 15 BDs LPrg 12 StPh InfG 1
3 InfG Math 11 Lprg InfG 12
CNOM PNOM BDs StPh Bds Lprg
StPh InfG Lprg InfG
InfG Math InfG Math
PNOM StPh InfG Math
73
Fermeture Transitive Oracle
Clause Connect By
Calcul d'un arbre généalogique "Oracle 8i The
Complete Reference" Loney, K., Koch, G., Osborne,
2000
74
Fermeture Transitive Oracle
Clause Connect By
75
(No Transcript)
76
Fermeture transitive
  • Trouver aussi les notes minimales nécessaires
  • Autres applications
  • Tous les subordonnées d un chef
  • EMPL (E, ENOM, CHEF)
  • Toutes les composantes PMIN de pièces composées
  • COMP (PMAJ, PMIN)
  • Tous les descendants / ascendants d une personne
  • Toutes les participations d une entreprise
  • Limite dapplication
  • Pas de cycles entre les attributs sélectionnes
  • pour que l on a la fermeture transitive (point
    fixe)
  • ex. pas de participations réciproques

77
Fermeture transitiveMsAccess
  • Il faut simuler
  • par CREATE TABLE PRQ
  • avec la création de clé primaire
  • Insert into PRQ .. select from COURS...
  • Insert into PRQ .. select from PRQ, COURS
  • exécuté interactivement ou par programme jusqu'à
    ce que le point fixe est atteint
  • Select FROM PRQ
  • A compléter par vos soins

78
Conclusion
  • Un champs nouveau
  • encore grandement ouvert à la recherche
  • La connexion logique avec le domaine des SGBD
    n'est pas toujours claire
  • Un point de vue sur cette connexion
  • On prend un champs classique d'analyse de donnés
    et on s'intéresse
  • aux performances pour une grande quantité de
    données
  • Aux extensions correspondantes de SQL

79
FIN
Write a Comment
User Comments (0)
About PowerShow.com