Bases de données. Jean-Yves Antoine. VALORIA - Université François Rabelais Jean-Yves.Antoine@univ-tours.fr. L3 S&T mention Informatique



Documents pareils
Bases de Données relationnelles et leurs systèmes de Gestion

Le langage SQL pour Oracle - partie 1 : SQL comme LDD

Le langage SQL (première partie) c Olivier Caron

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2

Le Langage De Description De Données(LDD)

Bases de données relationnelles

Administration des bases de données. Jean-Yves Antoine

Langage SQL (1) 4 septembre IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes

Plan. Bases de Données. Sources des transparents. Bases de SQL. L3 Info. Chapitre 4 : SQL LDD Le langage de manipulation de données : LMD

Création et Gestion des tables

1. Qu'est-ce que SQL? La maintenance des bases de données Les manipulations des bases de données... 5

Bases de Données. Avancées

Chapitre 3 LE MODELE RELATIONNEL ET SQL (DDL)

Le Langage SQL version Oracle

ISC Système d Information Architecture et Administration d un SGBD Compléments SQL

Olivier Mondet

CREATION WEB DYNAMIQUE

Pour les débutants. langage de définition des données

TP Contraintes - Triggers

Intégrité sémantique dans les bases de données relationnelles

Langage SQL : créer et interroger une base

Partie 0 : Gestion des tablespace et des utilisateurs... 3

Bases de données et sites WEB

Bases de données avancées

Cours Bases de données 2ème année IUT

Notes de cours : bases de données distribuées et repliquées

Intégrité des données

TP3 : Creation de tables 1 seance

SQL sous SqlServer OLIVIER D. DEHECQ Olivier 0

Introduction au Système de Gestion de Base de Données et aux Base de Données

Les bases de données

Auto-évaluation Oracle: cours de base

MySQL / SQL EXEMPLES

INSTITUT NATIONAL DES TELECOMMUNICATIONS CONTROLE DES CONNAISSANCES. 2. Les questions sont indépendantes les unes des autres.

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL

ECR_DESCRIPTION CHAR(80), ECR_MONTANT NUMBER(10,2) NOT NULL, ECR_SENS CHAR(1) NOT NULL) ;

Compétences Business Objects

Les Triggers SQL. Didier DONSEZ. Université de Valenciennes Institut des Sciences et Techniques de Valenciennes

Historisation des données

ORACLE 10G DISTRIBUTION ET REPLICATION. Distribution de données avec Oracle. G. Mopolo-Moké prof. Associé UNSA 2009/ 2010

1 Position du problème

SQL Historique

PHP 5. La base de données MySql. A. Belaïd 1

A QUOI SERVENT LES BASES DE DONNÉES?

NFA 008. Introduction à NoSQL et MongoDB 25/05/2013

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles)

14/04/2014. un ensemble d'informations sur un sujet : exhaustif, non redondant, structuré, persistant. Gaëlle PERRIN SID2 Grenoble.

Gestion des utilisateurs et de leurs droits

Cours: Administration d'une Base de Données

Bases de données relationnelles & SQL

I4 : Bases de Données

SQL. Oracle. pour. 4 e édition. Christian Soutou Avec la participation d Olivier Teste

Mejdi BLAGHGI & Anis ASSÈS

CHAPITRE 4 POLITIQUES DE CONTRÔLES DES ACCÈS SOUS ORACLE ADMINISTRATION ET TUNING DE BASES DE DONNÉES 10/05/2015 RESPONSABLE DR K.

Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS

Partie II Cours 3 (suite) : Sécurité de bases de données

WEB DEVELOPER SGBD SYSTEME DE GESTION DE BASES DE DONNEES L étudiant sera capable :

OpenPaaS Le réseau social d'entreprise

Cours Bases de données 2ème année IUT

Cours Base de données relationnelles. M. Boughanem, IUP STRI

Licence de MIDO - 3ème année Spécialités Informatique et Mathématiques Appliquées

Bases de données et sites WEB Licence d informatique LI345

I. MySQL : Serveur et SGBD

Les BASES de DONNEES dans WampServer

Bases de Données Avancées

Le langage SQL Rappels

I/ Présentation. On considère une BD CIRQUE dont le schema conceptuel : PERSONNEL _CIRQUE (NOM, ROLE) ;

Modélisation et Gestion des bases de données avec mysql workbench

Gestion des transactions et accès concurrents dans les bases de données relationnelles

1/ Présentation de SQL Server :

Présentation du module Base de données spatio-temporelles

Bases de Données Réparties

TP Bases de données réparties

Application web de gestion de comptes en banques

Master Exploration Informatique des données DataWareHouse

Système de Gestion de Bases de Données Relationnelles. MySQL. Youssef CHAHIR

Bases de Données Réparties Concepts et Techniques. Matthieu Exbrayat ULP Strasbourg - Décembre 2007

A QUOI SERVENT LES BASES DE DONNÉES?

Bases de Données Relationnelles. Le Modèle Relationnel

16H Cours / 18H TD / 20H TP

Bases de Données Avancées

Université de Nice Sophia-Antipolis. Langage SQL. version 5.7 du polycopié. Richard Grin

Cours Bases de données 2ème année IUT

Bases de données Oracle Virtual Private Database (VPD) pour la gestion des utilisateurs d applications

CHAPITRE 1 ARCHITECTURE

A.E.C. GESTION DES APPLICATIONS TECHNOLOGIE DE L'INFORMATION LEA.BW

Gestion de base de données

1. Base de données SQLite

Laboratoires de bases de données. Laboratoire n 6. Programmation SQL. par Danièle BAYERS et Louis SWINNEN

Vincent Augusto

Support de cours. Introduction à SQL et MySQL. 2003, Sébastien Namèche

Corrigés détaillés des exercices

PHP. Bertrand Estellon. 26 avril Aix-Marseille Université. Bertrand Estellon (AMU) PHP 26 avril / 214

Systèmes de Gestion de Bases de Données

Procédures Stockées WAVESOFT ws_sp_getidtable Exemple : ws_sp_getnextsouche Exemple :... 12

Devoir Data WareHouse

Techniques de stockage. Techniques de stockage, P. Rigaux p.1/43

FileMaker 13. Guide de référence SQL

Transcription:

Bases de données Jean-Yves Antoine VALORIA - Université François Rabelais Jean-Yves.Antoine@univ-tours.fr L3 S&T mention Informatique Bases de Données IUP Vannes, UBS J.Y. Antoine 1

Bases de données SGBD ORACLE Organisation du Dictionnaire Oracle L3 S&T mention Informatique Bases de Données IUP Vannes, UBS J.Y. Antoine 2

Dictionnaire Oracle Base de données interne gérant tous les objets (tables, vues, utilisateurs, index etc...) connus du SGBD Information cryptée accessible uniquement via des vues - USER_* vues relatives aux objets appartement à l'utilisateur - ALL_* vues relatives aux objets accessibles par l'utilisateur (ceux dont il est propriétaire ainsi que ceux pour lesquels il a un droit d accès) - DBA_* vues relatives à l administration (droits utilisateurs, rollback segments, etc...) de la BD. Accessibles uniquement par l utilisateur SYSTEM. - V$* vues dynamiques relatives aux suivi des performances Vue DICTIONARY Point d entrée sur le dictionnaire : vue décrivant tous les objets du dictionnaire Bases de Données IUP Vannes, UBS J.Y. Antoine 3

Dictionnaire Oracle DICTIONARY ALL_ARGUMENTS ALL_CATALOG ALL_CLUSTERS ALL_COL_TYPES ALL_CONTRAINTS... ALL_USERS... USERS_CATALOG... DBA_2PC_NEIGHBORS... ALL_USERS......... ALL_CATALOG 2 Table USER 1... 1 Table USER 1 1 Table USER 2... ALL_CONTRAINTS 1 PRIMARY KEY... 1 REFERENCES R3... un utilisateur USER1 un autre utilisateur... USER2 2 1 R3 une BD... une autre BD... Bases de Données IUP Vannes, UBS J.Y. Antoine 4

Dictionnaire Oracle Vues principales (seules étudiées en L3) - DICTIONARY Table de référence de toutes les vues du dictionnaire - ALL_CATALOG Tous les objets (tables, vues,...) accessibles à l utilisateur - USER_CATALOG Tous les objets qui sont propriétés de l utilisateur, avec leur type ALL_ARGUMENTS ALL_CATALOG ALL_CLUSTERS ALL_COL_TYPES ALL_CONTRAINTS... ALL_USERS... USERS_CATALOG... DBA_2PC_NEIGHBORS... DICTIONARY ALL_CATALOG 2 Table USER 1... 1 Table USER 1 1 Table USER 2... Objets Oracle (seuls rencontrés en L3) - Tables - Vues - Synonyme Alias sur un objet. Objet permanent sauvegardé dans le dictionnaire Oracle Bases de Données IUP Vannes, UBS J.Y. Antoine 5

Bases de données SQL et LDD Langage de Définition de Données L3 S&T Mention Informatique Bases de Données IUP Vannes, UBS J.Y. Antoine 6

Création de relation : CREATE TABLE Création de relation : définition du schéma de la relation commande CREATE TABLE définition des attributs de la relation définition des contraintes associées aux attributs ou à la relation Contraintes de relation recommandé : contraintes d intégrité référentielle et de clé primaire obligatoire : contrainte sur plusieurs attributs (exemple : unicité sur un couple d attributs) Contraintes d attributs obligatoire : domaine de l attribut (contrainte implicite dans le CREATE TABLE) recommandé : autres cas non cités précédemment Bases de Données IUP Vannes, UBS J.Y. Antoine 7

Syntaxe CREATE TABLE Syntaxe simplifiée CREATE TABLE <nom table> ( <ATTRIBUTS> [, <CONTRAINTES TABLE > ] ) ; Définition attribut <ATTRIBUTS> ::= <DEF ATTR> [, <ATTRIBUTS> ] <DEF ATTR> ::= <nom attribut> <DATATYPE> [ <CONTRAINTES ATTR> ] DATATYPE : principaux types de données CHAR(n) VARCHAR(n) NUMBER(n,p) NUMBER DATE LONG Chaîne de caractères de longueur fixe égale à n Chaîne de caractères de longueur maximale égale à n Nombre réel de précision n et d échelle p Entier (Réel à 0 décimales) Date jj/mm/aaaa Données de type caractère allant jusqu à 2 Go. Bases de Données IUP Vannes, UBS J.Y. Antoine 8

CREATE TABLE : contraintes Type de contraintes Domaine Unicité Renseignement Arithmétique et Logique Clé primaire Référentielle contrainte implicite : DATATYPE clause SQL : UNIQUE clause SQL : NOT NULL clause SQL : CHECK clause SQL : PRIMARY KEY clause SQL : FOREIGN KEY... REFERENCES Clause CONSTRAINT Une commande par type (table_constraint, column_constraint) S il n est pas obligatoire de définir un nom à chaque contrainte, cela est fortement conseillé pour une observation facile dans le dictionnaire (ALL_CONSTRAINTS). Bases de Données IUP Vannes, UBS J.Y. Antoine 9

CREATE TABLE : contraintes Contraintes d attribut (conseillées) <CONTRAINTES_ATTR> ::= <CONTR_ATTR> [, < CONTR_ATTR >... ] < CONTR_ATTR > ::= CONSTRAINT <nom_contrainte> NOT NULL < CONTR_ATTR > ::= CONSTRAINT <nom_contrainte> CHECK (<condition>) < CONTR_ATTR > ::= CONSTRAINT <nom_contrainte> UNIQUE Contraintes de relation (conseillées) <CONTRAINTES_TABLE> ::= <CONTR> [, < CONTR >... ] } < CONTR> ::= CONSTRAINT <nom_contrainte> PRIMARY KEY (<liste_attr> ) < CONTR> ::= CONSTRAINT <nom_contrainte> FOREIGN KEY (<liste_attr> ) REFERENCES <table_source>((<liste_attr> ) [ON DELETE CASCADE] < CONTR> ::= CONSTRAINT <nom_contrainte> UNIQUE (<liste_attr> ) < CONTR> ::= CONSTRAINT <nom_contrainte> CHECK (<condition sur plusieurs attributs>) Bases de Données IUP Vannes, UBS J.Y. Antoine 10

CREATE TABLE : exemple CREATE TABLE personne ( num_h NUMBER CONSTRAINT pos_num_h CHECK (num_h > 0), nom VARCHAR(30) CONSTRAINT nn_personne_nom NOT NULL, prenom VARCHAR(20) CONSTRAINT nn_personne_prenom NOT NULL, parti NUMBER, CONSTRAINT pk_personne_numh PRIMARY KEY(num_h), CONSTRAINT fk_personne_parti FOREIGN KEY(parti) REFERENCES parti(num_p) ); Syntaxe détaillée : consulter la documentation Bases de Données IUP Vannes, UBS J.Y. Antoine 11

ALTER TABLE Utilisation Modification de la structure d une relation (ajout d attribut, de contrainte) si l utilisateur dispose de tels droits Syntaxe ADD MODIFY DROP ajout d une contrainte ou d un attribut modification d une contrainte ou d un attribut suppression d une contrainte ALTER TABLE <nom_table> [ADD MODIFY DROP] (<clause de définition ou suppression>) ; ALTER TABLE personne ADD( CONSTRAINT pers_nom_pre_uni UNIQUE(nom, prenom) ); ALTER TABLE personne MODIFY(nom VARCHAR(50)); ALTER TABLE personne DROP CONSTRAINT pos_num_h; Bases de Données IUP Vannes, UBS J.Y. Antoine 12

DROP TABLE Utilisation Suppression d une relation (si l utilisateur dispose de tels droits) Intégrité référentielle En cas de problème d intégrité référentielle, le mot clé CASCADE CONSTRAINTS permet de supprimer en cascade toutes les associations pointant sur la clé primaire de la table à détruire. Syntaxe DROP TABLE <nom table> [CASCADE CONSTRAINTS] Bases de Données IUP Vannes, UBS J.Y. Antoine 13

Création de vues : CREATE VIEW Principe définition comme résultat d une requête de sélection SQL sur le contenu de la BD utilisation (parmi d autres) pour mémoriser un résultat temporaire Syntaxe CREATE VIEW <nom_vue> AS <requête SQL> ; Exemples CREATE VIEW nom_personnes AS SELECT nom, prenom FROM personne ; CREATE VIEW nb_pers_parti AS SELECT parti, COUNT(num_h) FROM personne GROUP BY parti ; Suppression DROP VIEW <nom_vue> Bases de Données IUP Vannes, UBS J.Y. Antoine 14

Bases de données SQL et LMD Langage de Manipulation de Données L3 S&T Mention Informatique Bases de Données IUP Vannes, UBS J.Y. Antoine 15

Insertion de tuples Insertion sous l interface conversationnelle SQL - Insertion par sélection de valeurs dans la base de données ou par définition directe des valeurs de ces nouvelles occurrences - Insertion renseignant tous les attributs ou seulement certains attributs Syntaxe INSERT INTO <table [(<liste attributs>)] <requête SQL> INSERT INTO <table [(<liste attributs>)] VALUES (<liste valeurs>) Exemples INSERT INTO personne VALUES (12, Sarkozy, Nicolas,6); INSERT INTO personne(num_h,nom,prenom) VALUES (13, Raffarin, Nicolas ); INSERT INTO personne SELECT * FROM personnes_ump; Insertion par importation de données SQL*Loader Bases de Données IUP Vannes, UBS J.Y. Antoine 16

Mise à jour de tuples Syntaxe UPDATE <table> SET <attribut> = <valeur> table concernée valeur modifiée de l attribut modifié (issue le cas échéant de l exécution d une requête SQL). { WHERE <condition> } ; sélection des tuples concernés par la modification Exemples UPDATE personne SET parti = 6 WHERE parti = 4; UPDATE personne SET parti = ( SELECT parti FROM personne WHERE nom= Chirac ) WHERE nom= Debré ; Bases de Données IUP Vannes, UBS J.Y. Antoine 17

Suppression de tuples Principe Syntaxe on sélectionne les tuples à supprimer suivant un critère donné DELETE FROM <table> WHERE <condition> Exemples DELETE FROM personne WHERE nom= Jospin ; DELETE FROM personne WHERE parti IN ( SELECT parti_id FROM parti WHERE sigle = MNR ) ; DELETE FROM personne, parti WHERE personne.parti = parti.parti_id AND parti.sigle = MNR ; Bases de Données IUP Vannes, UBS J.Y. Antoine 18