[PDF] Conception et Création de Bases de Données - SVA8511A (Licence





Previous PDF Next PDF



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 / 99

Contenu 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 Plan

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 3 / 99

Organisation 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

Plan

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 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 enseignantetudiant

associationentité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 O

2(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 tour

soit 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 / 99

Pourquoi utiliser une base de donnees?

Parce que :les donnees sont separees (chaque entite est representee par une table

independante 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 et

permettent 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 / 99

Modele client-serveurrequêterequête

réponseréponseinternet1. émission2. réception

5. 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 / 99

Modele 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 format

independant 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 Plan

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 12 / 99

Le 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 et

reponses 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 / 99

Le 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 (environnements

graphiques), 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 / 99

Le 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 plusieurs

schemas 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 / 99

Les 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 Plan

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 18 / 99

Conception 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 SQL

Syntaxe :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 filiere

VARCHAR

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 / 99

Les 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 des

attributs, 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 chaque

table : nous en reparlerons plus tardprimary key)contraintes d'integrite referentielle (assure de la coherence entre cles

primaires et cles etrangeres correspondantes : nous en reparlerons plus

tardforeign 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] Conception et mise en place d 'une base de données pour l - Enssib

[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