IF6-Cours-5
46 pages
Français
Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres
46 pages
Français
Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres

Description

IF6 - Initiation aux Bases de donn´ees : SQL - 3IF6 - Initiation aux Bases de donn´ees :SQL - 3E.Coqueryemmanuel.coquery@liris.cnrs.frhttp ://www710.univ-lyon1.fr/∼ecoquery/enseignement/if6IF6 - Initiation aux Bases de donn´ees : SQL - 3Modifications d’une instanceModification des donn´ees stock´ees dans une baseLa modification s’effectue par ajout, suppression ou modificationde n-uplets (lignes) dans l’instance de la base.SQL sert ici de langage de manipulation de donn´ees.Trois instructions SQL permettent ces modifications :INSERTDELETEUPDATECes instructions de mise `a jour peuvent utiliser des (morceauxde) requˆete afin d’effectuer des calculs pour s´electionner et/oug´en´erer des donn´ees.IF6 - Initiation aux Bases de donn´ees : SQL - 3Modifications d’une instanceInsertionInstruction INSERTINSERT INTO nom table(att , ..., att )1 nVALUES(val , ..., val )1 nAjoute le n-uplet (val , ..., val ) `a la relation nom table.1 nval correspond `a l’attribut att .i iSi un attribut de la relation nom table n’apparaˆıt pas dansatt , . . . ,att , alors la valeur du n-uplet pour cet attribut est1 nNULL.La sp´ecification des attributs att , ..., att est optionnelle1 nSi on pr´ecise pas les attributs, il faut donner une valeur `a tousles attributs.L’ordre sur des valeurs (val , ..., val ) est celui des attributs1 ndans la d´efinition de la relation nom table.C’est un des cas ou` cet ordre est important.IF6 - Initiation aux Bases de donn´ees : SQL - ...

Informations

Publié par
Nombre de lectures 101
Langue Français

Extrait

IF6-Initiationaux
http
Basesdedonn´ees:SQL-3
IF6 - Initiation aux Bases de d ´ onnees : SQL - 3
E.Coquery
emmanuel.coquery@liris.cnrs.fr
://www710.univ-lyon1.fr/y/enseigecoquer6femeni/tn
iatiInitIF6-nnodedsesaBxuanocdiMo-3QL:Ses´eecnioatdnseiuntans
Modicationdesdonn´eesstock´eesdansunebase
SQLserticidelangagedemanipulationdedonne´es.
Trois instructions SQL permettent ces modifications : INSERT DELETE UPDATE
Cesinstructionsdemisea`jourpeuventutiliserdes(morceaux de)requˆeteandeectuerdescalculspours´electionneret/ou generer des donnees. ´ ´ ´
La modification s’effectue par ajout, suppression ou modification de n-uplets (lignes) dans l’instance de la base.
Insertion
Instruction INSERT INSERT INTOnom table(att1 . .,, .attn) VALUES(val1 . .,, .valn) Ajoute le n-uplet (val1, . . .,valn`)laraletaoinnom table. valiibtratl`andpoesrroctuatti. Si un attribut de la relationnom tablespaıtansdppaˆaran att1, . . . ,attn, alors la valeur du n-uplet pour cet attribut est NULL.
Laspe´cicationdesattributsatt1, . . .,attnestoptionnelle Sionpre´cisepaslesattributs,ilfautdonnerunevaleura`tous les attributs. L’ordre sur des valeurs (val1, . . .,valn) est celui des attributs danslade´nitiondelarelationnom table. Cestundescaso`ucetordreestimportant.
3-LQidoMe´nnS:seundnseiatcnsio-6nItiaiFIasesdedotionauxBencta
)t,Nombatnt(Numba,cnEstceE,tnrpnienctanseiunemitaB:SQL´eesdonnesdesndtaoiidc3-oM
INSERT INTO Batiment VALUES (6,’Bohr’,’Sud’,’Est’) ;
INSERT INTO Batiment(Nom bat,Num bat,Ent princ) VALUES (’Curie’,5,’Nord’) ;
Exemple
Sch´ ema :
Num bat Nom bat Ent princ Ent sec 1 Turing Nord Ouest 2 Einstein Ouest NULL 3 Newton Sud Nord 4 Pointcarre Est NULL 5 Curie Nord NULL 6 Bohr Sud Est
iatiInitxBasonauFI-6
Insertionutilisantunerequeˆte
INSERT INTOnom table(att1, . . . ,attn) SELECTe1, . . . ,en FROM . . . Insertion dansnom tablelrraseapteeqeˆupletsn-ucul´scaled SELECT . . . FROM . . . LarequeˆtenepeutpascontenirdeORDERBY Detoutefacon,cestleSGBDquid´eterminelordredans ¸ lequellesn-upletssontstock´es. Lenomdescolonnesdanslere´sultatdelarequeˆtenestpas important : c’est l’ordre des expressions qui compte.
nctaetacsnoinudsniees:Snn´eModiQL-3uaBxitnoedodsaseIFiaitIn6-
FI-6nIauxBasesitiation3-LQS:see´nnodedundnsioatcdiMoeatcniesn
Sche´ma: Departement(Num dept, Nom dept, Num bat, Num chef) Batiment(Num bat, Nom bat, Ent princ, Ent sec) Dept important(Nom,Bat)
Ajouter`alatableDeptimportantlesd´epartementsquisontdans desbatimentsayantuneentr´eesecondaire:
Exemple
INSERT INTO Dept important(Bat,Nom) SELECT Nom bat, Nom dept FROM Batiment, Departement WHERE Departement.Num bat = Batiment.Num bat AND Ent sec IS NOT NULL ;
Supprime les n-uplets de la relationnom tablequiv´reinet condition. condition´irionenditnecoquupmocexelaertissupeˆeut xp mee dans le WHERE d’un SELECT. En particulier,conditionrdesrequˆetesimbpuectnoetinuqirsee´. Lesrequˆetesimbriqu´eesnepeuventpasfairer´ef´erence`a nom table, car elle est en cours de modification. WHEREconditionest optionnel. SileWHEREestomis,touslesn-upletssontsupprim´es(cela revienta`utiliseraconditionTRUE).
DELETE FROMnom table WHEREcondition
Supression
dsuitnoiacM3docestanneinesaBxuanoitaitinL-SQs:een´onedsdI6FI-
Supprimerlebˆatimentnume´ro5:
DELETE FROM Batiment WHERE Num bat = 5 ;
Num bat 1 2 3 4 5 6
Nom bat Turing Einstein Newton Pointcarre Curie Bohr
Ent princ Nord Ouest Sud Est Nord Sud
Ent sec Ouest NULL Nord NULL NULL Est
Exemple
eatcneinsdunionscatIFiaitIn6-uaBxitnoedodsasees:Snn´eModiQL-3
oitacidienudsnenctansxBasesdeiationauS:LQ3-oModnne´se
Exemple - 2
Sche´ma: Batiment(Num bat, Nom bat, Ent princ, Ent sec) Departement(Num dept, Nom dept, Num bat, Num chef)
Supprimerlesbˆatimentsquinecorrespondentaaucun ` departement : ´
DELETE FROM Batiment WHERE Num bat NOT IN (SELECT Departement.Num bat FROM Departement) ;
-6FItinI
6FIinI-neusdonticaiodecnatsnisesduxBaionatiat-LM3:sQS´needeno
condition.resgnliesedimo`aleuqidni attialcueurcparll´eerpvalaneldnioxpessreei. eipeut utiliseratt1,att2, . . ., y comprisatti. Ce sont les anciennes valeurs deatt1,att2, . . .qui seront utilis´eespourlecalcul. Leseiepvuteerneˆtequˆdesr`acoetesqnoitidnrselleuntievoen ununiquer´esultatetquenom tablen’apparaisse pas dans un FROM. Similairement au DELETE, le WHERE est optionnel. SileWHEREestomis,touslesn-upletssontmodi´es.
UPDATEnom table SETatt1=e1, att2=e2, . . . WHEREcondition
Modification de n-uplets
aBxuanoitaitinI-F6Inodsacitdoi-LM3s:SQn´eeedonsesdBmitaceanneustincnE,tnes,tnEptirat,Nombaent(Numb)c
bat = ’Copernic’ ;
Num bat Nom bat Ent princ Ent sec 1 Turing Nord Ouest 2 Einstein Ouest NULL 3CopernicSud Nord
Changerlenomdubˆatimentnum´ero3enCopernic:
UPDATE Batiment SET Nom
Sche´ma:
Exemple
  • Univers Univers
  • Ebooks Ebooks
  • Livres audio Livres audio
  • Presse Presse
  • Podcasts Podcasts
  • BD BD
  • Documents Documents