[PDF] [PDF] Bases de données relationnelles

4 déc 2018 · Calcul des tuples, calcul relationnel sur les domaines (logique) • Langages insert ligne into table de chacun des tuples d'une instance de la relation Il n' est possible d'insérer un tuple dans la table vente sans spécifier la \copy classe from 'classe' Le verrouillage à effectuer est bien moindre que



Previous PDF Next PDF





[PDF] Bases de données relationnelles

4 déc 2018 · Calcul des tuples, calcul relationnel sur les domaines (logique) • Langages insert ligne into table de chacun des tuples d'une instance de la relation Il n' est possible d'insérer un tuple dans la table vente sans spécifier la \copy classe from 'classe' Le verrouillage à effectuer est bien moindre que



[PDF] Contraintes dintégrité - domaines - triggers - PL/SQL - LaBRI

Une contrainte peut porter sur plusieurs attributs d'un même tuple peut être une des commandes INSERT/DELETE/UPDATE dans une ou plusieurs tables Cette contrainte ne peut être prise en compte qu'en utilisant les triggers ou bien les



[PDF] Bases de Données — Module M2104 - LIPN

17 jan 2020 · Lors de l'insertion de tuples dans une relation, il arrive qu'un attribut soit inconnu ou non la valeur de l'attribut type existe bien dans la table MODÈLE Après avoir créé les tables d'une base de données, on peut y insérer des tuples, les mettre à insert into Avion values (3,'B737','British Airways'); 3



[PDF] Aller plus loin

de définir les événements déclenchant (INSERT, UPDATE, DELETE, ou TRUNCATE insérer » dans zonage_etiq un nouvel enregistrement (avec les nouvelles valeurs) 4) créer Plan rows : indique que 5 lignes sont retournées Plan width (exécute la requête), ce qui est beaucoup plus précis mais coûteux en temps



[PDF] SQL - Faculté des HEC (HEC Lausanne) - HEC UNIL

[ WHERE ] Dans le WHERE du SELECT interne, on aurait pu tout aussi bien écrire : Insérer des tuples de produits à rajouter à P : Catalogue (NP, nomP, couleur, poids, prix) INSERT



[PDF] Poly PLpgSQL-Anomyme

puissance d'un langage procédural, avec beaucoup de gains car il n'y a plus la surcharge Les valeurs dynamiques qui sont à insérer dans la requête construite Les instructions UPDATE, INSERT, et DELETE positionnent FOUND à true loop over rows must be a record or row variable » (NdT : une variable de boucle



[PDF] BASES DE DONNÉES ET MODÈLES DE CALCUL - IRIF

Bien sûr, construire une base de données ou une feuille de calcul correctes ajouter (insert), supprimer(delete) et modifier (update) les lignes d'une table Il est possible d'insérer dans une table existante des données extraites d'une ou of instances tuples in the association when the other N-1 values are fixed [UML 



[PDF] Corrigé cours 5 Python : Tuples - BDRP

C Travailler avec les tuples ; comparaison avec les listes : Le tuple est bien resté constant, non au sens des valeurs, liste2 = liste1 copy( ) Donc tuple clear( ), del tuple[k], tuple remove( ), tuple append( ), tuple insert( ), tuple extend( ) → 



[PDF] Amazon Redshift - AWS Documentation - Amazoncom

(6 rows) Le nom d'utilisateur rdsdb est utilisé en interne par Amazon Redshift pour vous aurez besoin du PID si vous devez annuler une requête qui prend trop de temps pour copier ( COPY) ou insérer (INSERT) dans une table externe

[PDF] Insérer de l`âme dans la science - Michaël - Jean

[PDF] Insérer des objets et les animer

[PDF] Insérer des sons dans un diaporama Powerpoint - Anciens Et Réunions

[PDF] Insérer des sons dans une applet - Espèces En Voie De Disparition

[PDF] INSERER DES SYMBOLES OU CARACTERES SPECIAUX

[PDF] Insérer images, liens, Sons, Vidéos dans un document Word

[PDF] Insérer le logo Formation Conseil Mauricie ainsi que le logo des 2

[PDF] Insérer le titre du projet - Gestion De Projet

[PDF] Insérer logo - Saint - Jumelles

[PDF] Insérer logo de Municipalité d`Ivry-sur-le-lac

[PDF] Insérer son et vidéo - Prêts Étudiants

[PDF] INSERER UN EXTRAIT VIDÉO

[PDF] INSERER UN LIEN

[PDF] Insérer un lien hypertexte dans un document

[PDF] Insérer un lien hypertexte dans un mail MAC

04/12/2018Michel Rueher1Bases de données relationnelles

Michel RueherSupports disponibles:

04/12/2018Michel Rueher2

1. IntroductionPlan

oBD ... informellementoLes grands principesoLe modèle conceptueloLe modèle relationneloPassage du modèle conceptuel au modèle relationnel

04/12/2018Michel Rueher3

BD ... informellement

... difficile à définirUn SGBD estoUn outil pour vérifier, modifier et rechercher efficacement des données dans un grand ensembleoUne interface

entre les applications "utilisateur" et la mémoire secondaireUn SGBD comprendoUn système de gestion de fichiers (gestion du stockage physique)oUn système interne (placement et accès aux données)oUn système externe (langage de requête élaboré)

04/12/2018Michel Rueher4

Les grands principesLes 3 niveaux: physique, logique, externe

oIndépendance entre représentation physique et logiqueoOffre différentes vues de la même structure

Modèle logique (modèle de données)

oLangage de définition des données (LDD)oLangage de manipulation des données (LMD)oAccès à des langages externes C,C++, Java

04/12/2018Michel Rueher5Vue externeVue externeVue externeModèle logiqueImplantation physique

Les grands principes(suite)

Intérêt de l'abstraction des données ANSI-SPARC oTotalement déclaratif(spécification abstraite )oAussi "riche" que possibleoIndépendant d'un langage de programmationoIndépendant de l'architectureoFacilitant la conception des applicationsoFacilitant l'expression de contraintes oFaciliter la gestion de l'intégrité de la base

04/12/2018Michel Rueher6

Les grands principes(suite)Fonctionnalités

oGestion du stockage secondaireoPersistanceoContrôle de concurrenceoProtection des donnéesoInterfaces homme / machineoGestion de données distribuées

04/12/2018Michel Rueher7

Les grands principes(suite): architecture d'un DBMS

04/12/2018Michel Rueher8

Le Modèle Relationnel : historique

o

Introduction du modèle relationnel en 1970

par E.F. Codd (IBM San Jose)o Langages d'interrogation et de définition de vues

•Langage algébrique •Calcul des tuples, calcul relationnel sur les domaines (logique)•Langages informatiques (SQL, QUEL, ...)o

Langages d'expression de contraintes

•Langages formels (logique, algébrique)•Langages ad-hoc (textuels, graphiques,...)•dépendances fonctionnelles: clés, références entre tables,...o

Le standard ANSI/SO depuis 1992

04/12/2018Michel Rueher9

Le Modèle relationnel : principes

Schéma

de base de données = ensemble de relations ->liens sémantiques implicitesoInstances de relations: tuples (tables)o contraintes sur les relations et les tuples, Ø

Langages déclaratifs

du premier ordre (LDD/LID de SQL)Ø

Algèbre Relationnelle

, calcul sur les tuples

04/12/2018Michel Rueher10

Eléments principaux de SQL (Version Ansi2)

o Langage d'interrogation et de définition de vues (LID)§ select colonnes from table where conditiono

Langage de modification de données

(LMD)§ insert ligne into tableo

Langage de définition de données

(LDD)§ créerles objets (tables, vues, procédures, démons, ...)§définir certaines contraintes

sur les tables :•clés, références externes (entre tables), contraintes locales, typage, etc ...

04/12/2018Michel Rueher11

Eléments principaux de SQL (suite)

o

Primitives pour la gestion des transactions

verrouillages , §retour en arrière, § validation o

Primitives de gestion de la sécurité

droits d'accès , privilèges, rôles§gestion des comptes

04/12/2018Michel Rueher12

Eléments principaux de SQL (suite)

o

Relations calculées

vues

§sources stockées sur le serveur §permettent de nommer et mémoriser sur le serveur des requêtes prédéfinieso

Procédures et Fonctions

§éléments algorithmiques§déclencheurs ( triggers

)•code exprimé dans le même langage procédural que pour les procédures (SQL2, PL/SQL, ...) •déclenchements opérés lors de modifications de la base

2. Le modèle relationnel

04/12/201813Michel Rueher

04/12/2018Michel Rueher14

Schémas relationnelsSchémas RelationnelsUne "table" structurée en colonnes fixes et en lignes est appelée relation..Le contenu, à un instant donné, de cette table, est une table instancede cette relationExemple: oRelation: marque(IdM, NomM, Classe,IdProp)otable marqueIdMNomMClasseIdProp122 233renault2124renault145 245sun-sparc27sun147 064 renegade24renaultUne relationn'est pas définie par des concepts positionnels ; les ligneset les colonnes peuvent être permutées.Une table instanced'une relation est un ensemble non-ordonnéde tuples(lignes). Chaque tupleest composé de valeurs correspondant aux attributs(noms des colonnes)de la relation.

04/12/2018Michel Rueher15

Schémas relationnels (suite)Relation

On appelle schéma relationnel (ou

relation ) tout ensemble fini d'attributs et de domaines : R = { (A1, dom1), ...., (An, domn) }• A = attr( R ) = {A1, ...., An} : l'ensemble des attributs de R •domi= dom (Ai) : le domaine non vide de chacun des attributs Ai

Domaine

•type du contenu des colonnes de la table: contraintes sur le contenu de chacun des tuples d'une instance de la relation•toujours de type scalaire (entiers, chaînes,...) : pas d'opérateur pour leur associer des types structurés

04/12/2018Michel Rueher16

Schémas relationnels (suite) Exemple:

la relation MARQUE

Attributs

:{IdM, NomM, Classe, IdProp}

Domaines

:§dom(IdM) = [1..99 999] §dom(NomM) = ensemble de tous les mots construits sur l'alphabet {A, B, ..Z,0.. 9} (chaînes limitées à 40 caractères)§dom(Classe) = [1..30]§dom(IdProp ) = ensemble de tous les mots de moins de 100 caractères construits à sur l'alphabet {A,...,Z, a,...,z,0.. 9}

04/12/2018Michel Rueher17

Instances de relationsTuple

oSoit R une relation, ayant comme ensemble d'attributs A = {A1, ...., An}.Un tuple défini sur R est un ensemble t de valeurs v1,....,vnassociées aux attributs

A1...., An, tel que

viÎ dom(Ai)oNotation §ensembliste: t = {v 1 : A 1 , ...., v n :A n

§notation parenthèsée :

t = (v 1 : A 1 ; ....; v n :A n

§valeur

viassociée à l'attribut

Aidu tuple

t v i = t.A i

04/12/2018Michel Rueher18

Instances de relations (suite)

Le tuple défini sur la relation MARQUE

t = {122 233:IdMarq, COCA :NomMarq,12 :Classe,CocaLtd:IdProp} peut se représenter par la ligne :

IdMarqNomMarqClasseIdProp122 233COCA12CocaLtd

On a alors

t.Classe = 12

04/12/2018Michel Rueher19

Table instance d'une relationTable instance de la relation R: tout ensemble de tuples (lignes) définies sur R.Instance de la relation MARQUE= {t1, t2,t3}t1 = {1222:IdM, COCA:NomM, 12 :Classe, CocaLtd:IdProp }t2= {1224 :IdM, ORANGINA:NomM, 12 :Classe,Perrier:IdProp } t3 = {1226 :IdM, PEPSI:NomM, 12 :Classe, PepsiLtd:IdProp }

04/12/2018Michel Rueher20

Contraintes

oUne relation sur l'ensemble des tuples présents dans une instanceoContraintes vérifiées à tout moment

par l'instance du schéma. ®facilitent la conception de la base ®aident au choix de représentations physiques (clés, ....)oOn peut associer à toute relation R, un ensemble

fini de contraintes, noté

C= contr(R) = { C1, .... }

oContrainte = fonction booléenne pouvant s'évaluer, pour chaque instance potentielle de R

04/12/2018Michel Rueher21

Langages de contraintesEnjeux des BDR :

odisposer de langages déclaratifs aussi riches que possible odisposer d'un vérificateur Si les contraintes ne pas peuvent s'exprimer en logique du premier ordre® vérifications programmées directement par l'usager, dans un langage procédural

04/12/2018Michel Rueher22

Contraintes et langages (suite)

t1,t2 marque((t1.NomM=t2.NomM pasdupremierordre: p dom(IdProp ) card( {t rt.IdProp = p}) < 20 )

04/12/2018Michel Rueher23

Schéma de bases de donnéesLiens Sémantiques entre tuples: ®implicites à travers les valeurs de certains attributs ... et non par adresseou pointeur comme dans des modèles navigationnels.Exempleotoute référence à une marque se fait depuis une autre relation à travers deux attributs (ici NomM, Classe) ola relation vente(NomM, Classe, Date, IdVend,IdAchat)définit les achats/ventes effectuées pour chacune des marques

04/12/2018Michel Rueher24

Schéma de bases de données (suite)

o" pointeurs visibles indépendants de tout choix d'implantation physiqueo

Navigation

à travers les liens §

dans les deux sens

§sans nécessité de mise en place de "pointeurs inverses"oImportance du choix d'attributs permettant d'identifier sans ambiguïté un tuple appartenant à une relation donnée

3. Algèbre relationnelle

04/12/201825Michel Rueher

04/12/2018Michel Rueher26

Algèbre relationnelle

Langage d'expressions algébriques en notation fonctionnelle :o

Les variables représentent des tables,

instances de relationso

Opérateurs

(unaires, binaires, ...) sur ces tables

04/12/2018Michel Rueher27Opérationsbooléennes:

Union,intersection,différence

Soient

r et s deux deuxtablesduschémaR union ,d' intersection etde différence R :r s={t|t rout s}r s={t|t rett s}r s={t|t rett s}Rem. : l'intersection peutse définir à l'aide de la soustraction :r s = r r s )

04/12/2018Michel Rueher28

Opérations booléennes : Exemples

menrIdNomProp223spksun147r19renault

04/12/2018Michel Rueher29Projection : définition

Opérationunaire

Soient

R unschéma, A ={A1,....,An}Í R ,unsous-ensembled'attributsde R

Laprojectionsur

A d'un tuplet définisur R ,estletupledéfinisur A par: p

A(t) =

p A1, ...,An(t)= {t.A1:A1, ..., t.An:An} La projection sur A d'une relationr est une instance du schéma A définie par : p

A(r) =

p

A1, ...,An(r) = {

p

A(tr) |tr

r}

04/12/2018Michel Rueher30ExempledeprojectionmarqueIdNomClasseProp122r2114renault145sparc12sun223spk12sun147 r19 13renault

pClasse,Prop(marque)ClasseProp

14renault12sun13renaultLes lignes redondantes disparaissent :

pClasse,Prop(145:Id; 'sparc':Nom; 12:Classe; 'sun':Prop)= pClasse,Prop(223:Id; 'spk':Nom; 12:Classe; 'sun':Prop)= (12:Classe; 'sun':Prop)

04/12/2018Michel Rueher31Projection : propriétésSiretssontdeuxinstancesde

R ,et A unsous-ensembled'attributsde R p A(r s )= p A(r )

È p

A(s )

Onn'apastoujours

p A(r s)= p A(r) Çp A(s) p A(r s)= p A(r) -p A(s)

04/12/2018Michel Rueher32Sélection : définition

Filtragedevaleurd'attribut

extraireparcopiecertaineslignes d'unerelation.

Soientr(

R )uneinstanced'unschéma R ,Aunattributde R s

A=a(r)={t

r|t.A=a}

04/12/2018Michel Rueher33Sélection:propriétésCommutativité:s

A=a( s

B=b(r))=

s B=b( s

A=a(r))Onécrit:

s A=a( s

B=b(...

s

L=l(r)...))=

s A=a,B=b,...,L=l(r)DistributivitésurlesopérationsbooléennesPour O , -} on a: s

A=a(r O s) =

s

A=a(r) O

s

A=a(s) Commutativitéaveclaprojection:Soientr(

R p A( s

A=a(r)) =

s A=a( p A(r))

04/12/2018Michel Rueher34Exempledesélection

marqueIdNomClasseProp122r2114renault128r3014renault145sparc12sun223spk12sun147 r19 13renault sClasse=14(marque)IdNomClasseProp

122r2114renault128r3014renault

04/12/2018Michel Rueher35SélectionétendueSoientr(R)uneinstanced'unschémaR,{A1,...,An}unsous-ensembled'attributsdeR,etfunefonctionbooléennecalculable:

s f(A1, ..., An)(r) = {t r | f(t.A1, ..., t.An) = true}Exemples d'expressions de sélection étendue :s s

AB>16(r)

s s

Date>930301ÙProp='renault'(enreg)

04/12/2018Michel Rueher36ProcédésdecalculsdelasélectionPourlasélectionsimpleparégalité,l'ordredecalculest

O(n) n.kk dépendantdelafonctionutilisée.

04/12/2018Michel Rueher37JointureNaturelledetuplesPrincipe:®

Concaténation

Produitcartésiendestuplessiaucunnomd'attributpartagéNotation Si R et S sont deux ensembles d'attributs,

RS désigne

l'ensemble d'attributs égal à l'union de R et de S. RS R S

04/12/2018Michel Rueher38JointureNaturelledetuples(suite)

Jointure de tuples :

On dit que deux tuplestr(

R ) et ts( S )sont joignables, ssi il existe un tuple t(RS) tel que : p

R(t) = tret

quotesdbs_dbs14.pdfusesText_20