Cours SGBD 1 Concepts et langages des Bases de Données
1. Cours SGBD 1. Concepts et langages des. Bases de Données Relationnelles. SUPPORT DE COURS. IUT de Nice – Département INFORMATIQUE
Introduction aux bases de données relationnelles
16 nov. 2016 SQL• est le langage consacré aux SGBD relationnels et relationnels-objet. Il permet de : créer des tables en définissant le domaine de ...
BASES DE DONNÉES ET MODÈLES DE CALCUL
concept de base de données à la fois comme un service de gestion de Le langage SQL semble donc destiné tant au développeur informaticien qu'à.
Bases de données - Modèle relationnel
1. Introduction au modèle relationnel. 2. Langages de requêtes (algèbre relationnel et SQL). 3. Conception des bases de données (contraintes). 4. TPs Oracle.
Plan de cours
différents SGBD concepts et pensée relationnelle. Apprentissage et utilisation du langage SQL. Normalisation et vérifications des bases de données selon
INTRODUCTION AUX BASES DE DONNÉES
Cours à l'usage des premières années informatique CONCEPTS. DE BASE. ? Ce qu'est une Base de Données. Fig. 1 - Schéma de Principe d'une BD ...
Administration des bases de données sous Oracle
Sur le cours Conna?tre les concepts et points clés de l'architecture Oracle ... Introduction. Les métiers autour des bases de données. 4/1 ...
Exercices corrigés Initiation aux bases de données
2) Donner toutes les contraintes d'intégrités référentielles qui apparaissent dans ce schéma. Correction de l'exercice 3. 1. NumEtd est la clé de la relation
Conception et Création de Bases de Données - SVA8511A (Licence
Contenu du cours. 1 Organisation de l'UE. 2 Concepts génériques. Base de données. Est-ce si simple ? Principe client-serveur. 3 Langage SQL. Pourquoi ?
Cours de bases de données – Modèles et langages
8 juil. 2022 Tout cela constitue autant de manière d'aborder les concepts et techniques présentées. ... 1.3.1 Données bases de données et SGBD.
Conception et Creation de Bases de Donnees
SVA8511A (Licence Biologie 3
eannee)T. Lecroq
LITIS EA 4108
Batiment Extension Biologie - 1er etage
Thierry.Lecroq@univ-rouen.fr
Cours redige par L. Mouchard
Annee 2008{2009
T. Lecroq (Universite de Rouen)Conception et Creation de BDAnnee 2008{2009 1 / 99Contenu du cours
1Organisation de l'UE
2Concepts generiques
Base de donnees
Est-ce si simple?
Principe client-serveur
3Langage SQL
Pourquoi?
LES langages
Schemas
4Premiere base de donnees
Conception
Insertion dans une table
Achage
T. Lecroq (Universite de Rouen)Conception et Creation de BDAnnee 2008{2009 2 / 99 Plan1Organisation de l'UE
2Concepts generiques
Base de donnees
Est-ce si simple?
Principe client-serveur
3Langage SQL
Pourquoi?
LES langages
Schemas
4Premiere base de donnees
Conception
Insertion dans une table
Achage
T. Lecroq (Universite de Rouen)Conception et Creation de BDAnnee 2008{2009 3 / 99Organisation de l'Unite d'Enseignement
Cours I concepts generiques des bases de donnees; Ibases du langage structure de requ^etes SQL;Travaux diriges (apprentissage du langage SQL) I descriptif approfondi des fonctions SQL;Iexercices de conception de bases de donnees;
Inormalisation des relations et construction des tables; Iconstruction des requ^etes SQL.Travaux pratiques (pratique du langage SQL) I mise en pratique des TD sous MySQL;Irequ^etes et verications sous phpMyAdmin;
Irealisation pratique d'une base de donnees((grandeur nature)).T. Lecroq (Universite de Rouen)Conception et Creation de BDAnnee 2008{2009 4 / 99
Plan1Organisation de l'UE
2Concepts generiques
Base de donnees
Est-ce si simple?
Principe client-serveur
3Langage SQL
Pourquoi?
LES langages
Schemas
4Premiere base de donnees
Conception
Insertion dans une table
Achage
T. Lecroq (Universite de Rouen)Conception et Creation de BDAnnee 2008{2009 5 / 99 Qu'est-ce qu'une base de donnees (relationnelle)?c'est generalement un ensemble de donnees : I de taille importante;Iorganise (on dit egalement structure);
Iinterrogeable gr^ace a un langage de requ^etes;elle constitue une representation du monde reel, qui, dans sa version
relationnelle, manipule des entites, par exemple : I etudiant;Ienseignant;
Icours.et des associations entre ces entites, par exemple : I suivre: unetudiantsuituncours;Idonner: unenseignantdonneuncours;
Inoter: unenseignantnoteunetudiant.note
suit donne cours enseignantetudiantassociationentitélégende :T. Lecroq (Universite de Rouen)Conception et Creation de BDAnnee 2008{2009 6 / 99
Qu'est-ce qu'un SGBD?Un SGBD (Systeme de Gestion de Bases de Donnees) est un ensemble logiciel (un ensemble de programmes) qui permet : I le stockage des informations; Ila gestion des entites et des mecanismes souples pour representer les associations (dans le modele relationnel);Il'achage de tout ou partie de la base de donnees.Quelques exemples de SGBD : Access, DBase, Ingres, Informix, mSQL,
MySQL, Oracle, O
2, PostgresQL, Sybase, ...Le modele relationnel n'est pas le seul possible : nous pouvons considerer
les elements de la base comme des objets, de denir les methodes propres a leur utilisation et aux interactions entre les objets (equivalentes aux associations dans le modele que nous avons ebauche). C'est le cas par exemple de la base O2(qui est Orientee-Objet).T. Lecroq (Universite de Rouen)Conception et Creation de BDAnnee 2008{2009 7 / 99
Est-ce si simple?
Nous venons de decrire rapidement ce que pourrait ^etre une base de donnees : I quelques entites (etudiants,enseignants,cours); Iquelques associations (suivre,donner,noter) entre les entites; mais sut-il de mettre des noms en face des entites pour que le toursoit joue?l'entitecoursn'est sans doute pas satisfaisante :cours,TDouTP;l'associationnotern'est pas satisfaisante : unenseignantnenotepas
unetudiantmaisnote: uncontr^ole continu, uncompte-rendu de TP ou unexamen nal.T. Lecroq (Universite de Rouen)Conception et Creation de BDAnnee 2008{2009 8 / 99Pourquoi utiliser une base de donnees?
Parce que :les donnees sont separees (chaque entite est representee par une tableindependante des autres donnees) et donc reutilisables;les donnees sont speciees : les((attributs))d'une entite sont connus
et contraints;les donnees sont securisees : les transactions concurrentes sur les donnees sont ecacement gerees;les mecanismes d'importation/exportation des donnees existent etpermettent d'alimenter ecacement les tables;les mecanismes generiques d'interrogation des donnees sont deja
developpes, le temps de developpement d'une application est par consequent reduit;possibilites d'interfacage www... T. Lecroq (Universite de Rouen)Conception et Creation de BDAnnee 2008{2009 9 / 99Modele client-serveurrequêterequête
réponseréponseinternet1. émission2. réception5. réception4. émissionréponserequête
3. traitementclientserveur
I un langage de requ^etes structure (compatible avec la norme ANSI SQL) Iun langage de programmation classique double d'un connecteur specique (DBC : DataBase Connectivity) : ODBC pour le langage C, JDBC pour Java et equivalents pour les langages C++, Delphi, Perl,Python, TCL, ...
Le client peut ^etre installe sur tout type de systeme d'exploitation (Windows, Mac OS, Linux, OS/2, ...), il interagit le plus souvent avec le serveur au travers d'un mecanisme reseau. T. Lecroq (Universite de Rouen)Conception et Creation de BDAnnee 2008{2009 10 / 99Modele client-serveur
serveur: c'est le((cur))du SGBD, il : I attend les sollications des clients, eventuellement nombreux, et provenant de divers systemes d'exploitation; Ieectue les recherches correspondantes dans la base; Iretourne la reponse correspondante au client dans un formatindependant du systeme d'exploitation.il est assez facile d'etendre ce modele pour que plusieurs serveurs se
repartissent la charge et repondent de facon ecace aux sollicitations des multiples clients (comme les moteurs de recherche par exemple). T. Lecroq (Universite de Rouen)Conception et Creation de BDAnnee 2008{2009 11 / 99 Plan1Organisation de l'UE
2Concepts generiques
Base de donnees
Est-ce si simple?
Principe client-serveur
3Langage SQL
Pourquoi?
LES langages
Schemas
4Premiere base de donnees
Conception
Insertion dans une table
Achage
T. Lecroq (Universite de Rouen)Conception et Creation de BDAnnee 2008{2009 12 / 99Le langage de requ^etes SQL (Structured Query
Language) : le pourquoi d'un tel langagesi l'on souhaite que le client et le serveur se comprennent, quelque
soit le systeme d'exploitation des machines sur lesquels ils sont installes, il faut que le langage qui leur serve a s'echanger requ^etes etreponses aux requ^etes soit normalise;le langage de requ^etes doit ^etre independant de la structuration
interne des entites;les dierents systemes de gestion de bases de donnees (Oracle, MySQL, PostgresQL, ...) doivent pouvoir echanger des donnees aisement. T. Lecroq (Universite de Rouen)Conception et Creation de BDAnnee 2008{2009 13 / 99Le langage de requ^etes SQL (Structured Query
Language) : le pourquoi d'un tel langageun langage de requ^etes structure SQL (Structured Query Language)
est un langage concu pour extraire des informations de la base de donnees. Le premier SQL a la n des annees 70 s'appelait Oracle... c'est a present une des grandes entreprises informatiques, comme peuvent l'^etre Intel (processeurs), Microsoft (environnementsgraphiques), Cisco (reseaux Internet);il a ete normalise (ou agree par le American National Standards
Institute) en 1986, 1992 et 1999;nous utiliserons pour les TD/TP le SGBD MySQL, conforme a la plus recente des normes preconisees par l'ANSI, qui est decrit dans un grand nombre d'ouvrages et de sites www. T. Lecroq (Universite de Rouen)Conception et Creation de BDAnnee 2008{2009 14 / 99Le langage de requ^etes SQL (Structured Query
Language) : structuration
Le langage de commandes SQL peut ^etre separe suivant quatre categories :DDL(Data Denition Language) :
langage de manipulation des tables representant les entites (exemples : commandesalter,create,drop)DML(Data Manipulation Language) : langage de manipulation des donnees presentees dans les tables (exemples : delete,insert,load data,update)DQL(Data Query Language) : langage de requ^etes (d'interrogation) sur les donnees (exemple :select avec toutes les clauses)DCL(Data Control Language) : langage de contr^ole d'acces aux donnees (exemples :alter password,grant,revoke,commit,rollback)T. Lecroq (Universite de Rouen)Conception et Creation de BDAnnee 2008{2009 15 / 99
Les schemas
Il est possible de considerer quatre niveaux de ce que nous nommerons des schemas :externe 1 externe 2 externe 3 conceptuel interne physique entités/relationsdifférentes vues index/optimisation fichiers/répertoiresUNschema externeest UNE facon dont les donnees seront presentees a l'utilisateur, en quelque sorte, le masque de saisie ou de visualisation, ce que nous appellerons la vue. Il peut y avoir plusieursschemas externes pour une m^eme base de donnees;leschema conceptuelest la facon dont les donnees sont reparties
dans les tables, en fonction des entites qui ont ete denies et des dierents attributs associes a une entite; T. Lecroq (Universite de Rouen)Conception et Creation de BDAnnee 2008{2009 16 / 99Les schemas
leschema interneest la facon dont sont organises les index et tous les elements associes indirectement aux donnees, permettant une optimisation des ressources de stockage et de meilleurs performance lors de l'acces aux donnees;leschema physiquecorrespond au schema de stockage des tables et bases en fonction du materiel (disques durs, memoire, ...) et du systeme d'exploitation. Ce schema ne concerne que l'administrateur. Ces deux derniers niveaux sont moins faciles d'acces, nous ne parlerons par la suite que succintement du schema interne. T. Lecroq (Universite de Rouen)Conception et Creation de BDAnnee 2008{2009 17 / 99 Plan1Organisation de l'UE
2Concepts generiques
Base de donnees
Est-ce si simple?
Principe client-serveur
3Langage SQL
Pourquoi?
LES langages
Schemas
4Premiere base de donnees
Conception
Insertion dans une table
Achage
T. Lecroq (Universite de Rouen)Conception et Creation de BDAnnee 2008{2009 18 / 99Conception d'une premiere base de donnees
Nous allons concevoir une petite base de donnees toute simple. Elle va contenir les noms, prenoms et lieres des etudiants inscrits pour cette option. Elle consiste en une seule table, que nous nommeronsetudiant, qui contient quatre attributs types :le prenom : une cha^ne de caracteres d'au plus 30 lettres; le nom : une cha^ne de caracteres d'au plus 30 lettres; la qualite : au choix 'Melle','Mme ou 'M.'; la liere : une cha^ne de caracteres de 6 caracteres; T. Lecroq (Universite de Rouen)Conception et Creation de BDAnnee 2008{2009 19 / 99 Code SQL correspondant a la creation de la base de donnees baseducourscreation de la base de donnees par une requ^ete SQLSyntaxe :create databasenombase
nombase est constitue de lettres, et chires et du caractere souligne, il peut comporter jusqu'a 30 lettres et doit ^etre unique. create databasebaseducours; Vous devez creer une base de donnees par projet que vous developpez m^eme s'il est possible theoriquement de regrouper des tables sans aucun rapport les unes avec les autres dans une m^eme base.utilisation de la base nouvellement creee : usebaseducours; T. Lecroq (Universite de Rouen)Conception et Creation de BDAnnee 2008{2009 20 / 99 Code SQL correspondant a la creation de la tableetudiantcreation de la table Syntaxe :create tablenomtable(liste de declarations d'attributs) les regles de construction de nomtable sont identiques a nombase... create tableetudiant( prenomvarchar(30), nomvarchar(30), qualiteenum('Melle','Mme','M.')not null, lierevarchar(6)default'SVA331');nom prenom qualite filiereVARCHAR
VARCHAR
VARCHARENUM
('Melle','Mme','M.')(30) (30) (6) etudiantT. Lecroq (Universite de Rouen)Conception et Creation de BDAnnee 2008{2009 21 / 99 Achage des informations relatives a la tableetudiant show databases; va acher baseducours show tables; va acheretudiant describeetudiant; va acher la structure de la table sous la forme suivante :FieldTypeNullKeyDefaultExtra prenomvarchar(30)YESNULL nomvarchar(30)YESNULL qualiteenum('Melle','Mme','M.')Melle lierevarchar(6)YESSVA331 Certains champs ici (champs Key et Extra) ne sont pas utilisees pour l'instant, le reste est comprehensible. T. Lecroq (Universite de Rouen)Conception et Creation de BDAnnee 2008{2009 22 / 99Les types des attributs
Une declaration d'attribut est de la forme
nomattribut typedattribut [contraintes] les types des attributs pouvant ^etre :des cha^nes de caracteres :char(longueur),varchar(longueur), tinytext,text,mediumtext,longtext, ...des numeriques :tinyint,smallint,mediumint,int,bigint,float,double,real, ...des dates :timestamp,date,time,datetime,year, ...ensemblistes :enum(valeurs),set(valeurs)T. Lecroq (Universite de Rouen)Conception et Creation de BDAnnee 2008{2009 23 / 99
Les contraintes sur les attributs
Certaines contraintes peuvent ^etre ajoutees lors de la declaration desattributs, elles sont de plusieurs ordres :contraintes de domaine (valeurs prises par un attributnot null-
pour l'attribut qualite,defaultpour l'attribut liere,unique). Ces contraintes peuvent ^etre implicites, comme pour la valeur par defaut de l'attribut qualite;contraintes d'integrite d'entite (precise lacle primairede chaquetable : nous en reparlerons plus tardprimary key)contraintes d'integrite referentielle (assure de la coherence entre cles
primaires et cles etrangeres correspondantes : nous en reparlerons plustardforeign key,references)T. Lecroq (Universite de Rouen)Conception et Creation de BDAnnee 2008{2009 24 / 99
Insertion d'elements dans une table
Nous avons plusieurs possibilites :insertion simple totale : Syntaxe :insert intoidenttablevalues(liste complete des valeurs); insert intoetudiantvalues('Marie','Delabio','Melle','SVA331');insertion simple partielle : Syntaxe :insert intoidenttable(liste attributs)values(liste de valeurs); insert intoetudiant(prenom)values('Pierre');insertion multiple (totale ou partielle) : Syntaxe :insert intoidenttable(liste attributs)values(plusieurs listes de valeurs); insert intoetudiant(prenom)values('Paul'),('Isabelle');insertion a partir des donnees d'un chier : Syntaxe :load data infilenomchierinto tableidenttable;load data infile'clisteetudiants'into tableetudiant;T. Lecroq (Universite de Rouen)Conception et Creation de BDAnnee 2008{2009 25 / 99
Achage (simplie) des elements d'une table
quotesdbs_dbs25.pdfusesText_31[PDF] Projet : Réalisation d 'une base de données Sujet : Gestion des
[PDF] LA VESSIE
[PDF] Bases de loisirs - Conseil départemental de Tarn-et-Garonne
[PDF] le Registre de Windows
[PDF] Windows 7, le guide ultime - Protutsnet
[PDF] bases de remboursement 2016 - Caisse des Français de l Etranger
[PDF] Le rap les musiques urbainesqxp
[PDF] BASE ELEVES 1er degré Manuel utilisateur du directeur d 'école
[PDF] base eleves 1er degre - Lyon
[PDF] Chapitre IV Bases et dimension d 'un espace vectoriel
[PDF] Exercices Corrigés Sous-espaces vectoriels Exercice 1
[PDF] Chimie Générale 4
[PDF] Chapitre IV Bases et dimension d un espace vectoriel
[PDF] LES BASES DE L 'OPTIQUE GEOMETRIQUE