Академический Документы
Профессиональный Документы
Культура Документы
Englobent toutes les applications qui ncessitent de prendre en compte le temps dans
lorganisation des informations.
Exemples dapplication :
Domaine mdial : conserver lhistorique des patients
Systme de rservation : arienne , htelire
Bases de donnes scientifiques : garder les donnes dexpriences
Les entreprises : garder larchive.
3- Concept de temps :
Les bases de donnes temporelles considrent le temps comme une suite ordonne de points
dont la granularit est dtermine par le besoin de lapplication.
Exemple : application ne ncessite jamais dunits de temps infrieures une seconde
chaque point reprsente une seconde.
Les chercheurs ont employ le terme de chronon au lieu de point pour dcrire cette
granularit minimale.
la principale consquence du choix de la granularit minimale est que les vnements se
produisant pendant le mme chronon seront considrs comme des vnements simultans.
4- Modlisation de base de donnes temporelle :
5- Types temporels :
Instants ou intervalles?
Pour illustrer ce propos, considrons une application qui gre des informations sur les ventes
et les employs dune chaine de magasins. Plus prcisment, chaque instant dans la vie dun
magasin, on sintresse ses ventes journalires, ses responsables successifs, et
lvolution du salaire de chacun de ses employ au cours du temps. Ces informations peuvent
tre modlises sous forme de deux relations :
Schma No. 1 :
LesMagasins(codeMagasin, jour, ventes, responsable)
LesEmploys(codeEmploy, jour, salaire)
Cette modlisation logique conduit des relations dont la cardinalit est proportionnelle au
nombre dinstants pendant lesquels lvolution des donnes est observe. Dans beaucoup
dapplications, ceci produit des situations inacceptables.
Une approche classique pour diminuer la cardinalit des relations, consiste estampiller les n-
uplets non pas par des instants, mais par des intervalles.
Dans lexemple ci-dessus, le choix dune reprsentation par intervalles conduit au schma
suivant
Schma No. 2 :
LesMagasins (codeMagasin, dateDbut, dateFin, ventes, responsable) .
LesEmploys (codeEmploy, dateDbut, dateFin, salaire).
1- il est possible davoir dans la relation LesEmploys, deux n-uplets
(10, 1/1/99, 25/3/99, 10000) et (10, 1/3/99, 31/8/99, 12000) sans violer la contrainte dunicit
de cl ! Ces incohrences peuvent tre vites en introduisant quelques contraintes sur les
estampilles temporelles.
Base de Donnes Temporelle SAOUDI Lalia
Plus prcisment, tant donns deux n-uplets n1 et n2 dans la relation LesEmploys, tels que
n1[codeEmploy] =n2[codeEmploy], on impose que les intervalles reprsents par les
attributs dateDbut et dateFin de ces deux n-uplets, ne sintersectent pas.--> la charge des
applications
2- Notons aussi que le schma ci-dessus (avec la contrainte quon vient dintroduire)
permet plusieurs reprsentations dune mme information. Ainsi, linformation entre le
1/3/99 et le 31/8/99, lemploy de code 10 a pour salaire 12000, peut tre reprsente soit
par un seul n-uplet 10, 1/3/99, 31/8/99, 12000 soit par deux n-uplets. Dans le pire de cas, cette
information peut tre disperse sur autant de n-uplets quil y a dinstants entre le 1/3/99 et le
31/8/99, se ramenant ainsi une reprsentation par instants.
Afin dviter cette situation, il est ncessaire dintroduire une contrainte supplmentaire :
tant donns deux n-uplets dans une relation temporelle, dont les valeurs concident sur tous
les attributs sauf sur ceux dnotant lestampille temporelle, il faut que ces estampilles ne se
jouxtent pas.--> la charge des applications.
3- Contraintes d'intgrit contrainte dunicit-
A chaque instant un Un magazin na quun seul responsable.
modlisation par instant cette contrainte est vrifie par la cl de la relation (codeM,jour).
modlisation par intervalle cette contrainte est la charge des applications.
4- Contraintes d'intgrit rfrentielle
Etant donn les deux relations :
Responsables (codeEmploy, dateDbut, dateFin, salaire)
LesMagasins (codeMagasin, dateDbut, dateFin,responsable)
Temps de transaction :
le temps physique ou temps de transaction : associ un fait, il correspond au temps
durant lequel ce fait est ou tait considr courant dans la BDT. Ce type de temps est
arrt par la montre du systme. Il est gnr automatiquement par le SGBD et nest jamais
modifi par lutilisateur.
Exemple : le fait .elle a t employ du 1/7/2000 au 31/8/2002. est enregistr dans la BD le
10/9/2002 11:31:11
Aussi bien les temps de validit que les temps de transaction peuvent tre spcifis comme
des instants, des intervalles temporels ou des ensembles dintervalles temporels. Ces temps
permettent de dfinir trois types de faits temporels :
Un fait temporel de validit, reprsentant un fait estampill par un temps de validit. Il
permet de conserver la suite des valeurs valides prises successivement par un fait,
conformment ce qui est appliqu dans le monde rel.
Exemple :
Un fait temporel de transaction, reprsentant un fait estampill par un temps
de transaction. Il permet de conserver la suite des valeurs (valides et errones) dun fait,
saisies successivement dans la BDT.
Un fait bitemporel, reprsentant un fait estampill la fois par un temps de validit et par
un temps de transaction. Il permet de conserver lensemble des valeurs saisies pour un fait, en
distinguant celles qui sont valides et celles qui sont errones. Par ailleurs, il devient possible
de connatre lcart entre le temps de validit de chaque valeur dun fait dans le monde rel et
le temps de sa prise en charge par le systme informatique.
7- Incorporation du temps aux bases de donnes relationnelles :
7-1 Relations en temps valide :
Chaque tuple v ne reprsente une version des informations qui ne sont valides dans le monde
rel que durant la priode de validit V .TDV et V.TFV .
Employ ( num, nom , prnom, fonction, salaire , TDV,TFV).
La version courante de chaque employ a gnralement une valeur spciale , now, comme
temps de fin de validit :
Num Nom Prnom Fonction Salaire TDV TFV
1/10 Sss Lll XXX 20000 15/06/02 31/05/03
1/10 Sss Lll XXX 21000 1/06/03 NOW
2/10 Mm Ooo Yyy 30000 1/09/04 31/01/06
Cas de modification : Chaque fois quun ou plusieurs attributs sont mis jour, le systme
ncrase pas les anciennes valeurs, mais il cre une nouvelle version et ferme la prcdente en
affectant son attribut TFV la valeur de temps de fin
Exemple : mis jour du salaire de lemploy numro 1/10 et lui affecter la valeur 25000
partir le 1/3/04
Num Nom Prnom Fonction Salaire TDV TFV
1/10 Sss Lll XXX 20000 15/06/02 31/05/03
1/10 Sss Lll XXX 21000 1/06/03 31/02/04
1/10 Sss Lll XXX 25000 1/03/04 NOW
2/10 Mm Ooo Yyy 30000 1/09/04 31/01/06
2/10 Mm Ooo Yyy 30000 1/02/06 now
Base de Donnes Temporelle SAOUDI Lalia
Cas de suppression :
Pour illustrer la faon dont une opration de suppression serait implmente, considrant la
relation employ , lemploy X1 a quitt lentreprise compter du 10 aout 2010 et la
suppression logique est effectue par une transaction T avec TS(T)= 12-08-2010, 10 :11 :08.
TSQL2
Un peu d'histoire :
Avril 1992 : vers la dfinition d'une extension temporelle de SQL2.
Juillet 1993 : dmarrage d'un projet .sans mur., TSQL2
Mars 1994 : premire proposition de TSQL2
Juillet 1995 : les comits de standardisation ISO et ANSI considrent les concepts temporels
dfinis dans TSQL2 (vers SQL/Temporal)
1997 . 2001 : introduction progressive des constructions de TSQL2 dans SQL/Temporal
.Due to disagreements within the ISO committee as to where temporal support in SQL should
go, the project responsible for temporal support was canceled near the end of 2001. Hence,
the working draft, "Part 7, SQL/Temporal" is in limbo. [Snodgrass, personal page].
Modle de donnes
Trois types de relations :
Instantane : sans rfrence au temps (snapshot table),
Evnements : chaque n-uplet est associ un instant (event table),
Etats : chaque n-uplet est associ un lment temporel (state table).
Types temporels : instant, intervalle et lment temporel
Instant : First (2, 9)2.
Intervalle :First ([3, 6], [8,now]) [3, 6],
Elment :{[3, 6], [8,now]} + {[1, 5]} {[1, 6], [8,now]}.
Creation de table:
Snapshot table: rien aprs les attributs
Validtime state table: AS VALID [ STATE ] <granularity>
Validtime event table: AS VALID EVENT <granularity>
Transactiontime table: AS TRANSACTION
Bitemporal state table: AS VALID [ STATE ] <granularity> AND TRANSACTION
Bitemporal event table: AS VALID EVENT <granularity> AND TRANSACTION
Certaines des oprations les plus communment utilises dans les requtes sont le suivantes :
[T.TDV, T.TFV] INCLUDES [ T1,T2] [T.TDV, T.TFV] AFTER [ T1,T2]
[T.TDV, T.TFV] INCLUDED_IN [ T1,T2] [T.TDV, T.TFV] MEETS_BEFORE [ T1,T2]
[T.TDV, T.TFV] OVERLAPS [ T1,T2] [T.TDV, T.TFV] MEETS_AFTER [ T1,T2]
[T.TDV, T.TFV] BEFORE [ T1,T2]
Exemple:
create table LesOuvriers (codeE, nom, dateNais, salaire, unit) as valid state Day ;
create table LesSuperviseurs (codeE, nom, dateNais, salaire, resp) as valid state Day ;
/* les estampilles sont des ensembles d'instants*/
create table LesUnProd (codeU, prod, qual) as valid event Day ; /* les estampilles sont des
instants*/
Exemple de requtes :
Select snapshot nom from lesouvriers les noms des ouvriers
Select nom from les ouvriers liste des noms ,chacun est associ sa (ses) priodes
maximales.
Base de Donnes Temporelle SAOUDI Lalia