Support de cours introduction au système de gestion de base de données, tutoriel & guide de travaux pratiques base de données en pdf.
SGBD relationnel
– Introduction au modèle relationnel
Edgar Frank Codd, chercheur chez IBM, étudiait à la fin des années 1960 de nouvelles méthodes pour gérer de grandes quantités de données car lesmodèles et les logiciels de l’époque ne le satisfaisaient pas. Mathématicien de formation, il était persuadé qu’il pourrait utiliser des branches spécifiques des mathématiques (la théorie des ensembles et la logique des prédicats du premier ordre) pour résoudre des difficultés telles que laredondance des données, l’intégrité des données ou l’indépendance de la structure de la base de données avec sa mise en œuvre physique.
En 1970, Codd publia un article où il proposait de stocker des données hétérogènes dans des tables, permettant d’établir des relations entre elles.
Un premier prototype de Système de gestion de bases de données relationnelles a été construit dans les laboratoires d’IBM. Depuis les années 80, cette technologie a mûri et a été adoptée par l’industrie. En 1987, le langage SQL, qui étend l’algèbre relationnelle, a été standardisé.
Dans ce modèle, les données sont représentées paresd tables, sans préjuger de la façon dont les informations sont stockées dans la machine. Les tables constituent donc la structure logique du modèle relationnel. Au niveau physique, le système est libre d’utiliser n’importe quelle technique de stockage dès lors qu’il est possible de relier ces structures à des tables au niveau logique. Les tables ne représentent donc qu’une abstraction de l’enregistrement physique des données en mémoire.
Le succès du modèle relationnel auprès des chercheurs, concepteurs et utilisateurs est dû à la puissance et à la simplicité de ses concepts. En outre, contrairement à certains autres modèles, il repose sur des bases théoriques solides, notamment la théorie des ensembles et la logique des prédicats du premier ordre.
Les objectifs du modèle relationnel sont :
– proposer des schémas de données faciles à utiliser ;
– améliorer l’indépendance logique et physique;
– mettre à la disposition des utilisateurs des lang ages de haut niveau ;
– optimiser les accès à la base de données ;
– améliorer l’intégrité et la confidentialité ;
– fournir une approche méthodologique dans la construction des schémas.
De façon informelle, on peut définir le modèle relationnel de la manière suivante :
– les données sont organisées sous forme de tables à deux dimensions, encore appelées relations, dont les lignes sont appelées n-uplet outuple en anglais ;
– les données sont manipulées par des opérateurs del’algèbre relationnelle ;
– l’état cohérent de la base est défini par un ensemble de contraintes d’intégrité.
Éléments du modèle relationnel
Un attribut est un identificateur (un nom) décrivant une information stockée dans une base.
Ex : l’âge d’une personne, le nom d’une personne, le n uméro de sécurité sociale.
Le domaine d’un attribut est l’ensemble, fini ou infini, de ses valeurs possibles.
Par exemple, l’attribut numéro de sécurité sociale pour domaine l’ensemble des combinaisons de quinze chiffres et nom a pour domaine l’ensemble des combinaisons de lettres (chaîne de caractère).
Une relation est un sous-ensemble du produit cartésien de n domaines d’attributs (n > 0). Elle est représentée sous la forme d’un tableau à deux dimensions dans lequel les n attributs correspondent aux titres des n colonnes.
Un schéma de relation précise le nom de la relation ainsi que la liste des attributs avec leurs domaines.
Exemple du schéma de relation Personne(N° sécu : Entier, Nom : Chaîne, Prénom : Chaîne)
Le degré d’une relation est son nombre d’attributs.
Une occurrence, ou n-uplets, ou tuples, est un élément de l’ensemble figuré par une relation.
Autrement dit, une occurrence est une ligne du tableau qui représente la relation.
La cardinalité d’une relation est son nombre d’occurrences.
Une clé candidate d’une relation est un ensemble minimal des attributs de la relation dont les valeurs identifient à coup sûr une occurrence.
La valeur d’une clé candidate est donc distincte pour toutes les tuples de la relation. La notion de clé candidate est essentielle dans le modèle relationnel.
Toute relation a au moins une clé candidate et peut en avoir plusieurs. Ainsi, il ne peut jamais y avoir deux tuples identiques au sein d’une relation . Les clés candidates d’une relation n’ont pas forcément le même nombre d’attributs. Une clé candatei peut être formée d’un attribut arbitraire, utilisé à cette seule fin.
La clé primaire d’une relation est une de ses clés candidates. Pour signaler la clé primaire, ses attributs sont généralement soulignés.
Une clé étrangère dans une relation est formée d’un ou plusieurs attributs qui constituent une clé primaire dans une autre relation.
Un schéma relationnel est constitué par l’ensemble des schémas de relation.
Une base de données relationnelle est constituée par l’ensemble des n-up lets des différentes relations du schéma relationnel
Algèbre relationnelle
Introduction
L’algèbre relationnelle est un support mathématique cohérent sur lequel repose le modèle relationnel. L’objet de cette section est d’aborder l’algèbre relationnelle dans le but de décrire les opérations qu’il est possible d’appliquer sur des relations pour produire de nouvelles relations. L’approche suivie est donc plus opérationnelle que mathématique.
On peut distinguer trois familles d’opérateurs relationnels :
– Les opérateurs unaires (Sélection, Projection): ce sont les opérateurs les plus simples, ils permettent de produire une nouvelle table à par tir d’une autre table.
– Les opérateurs binaires ensemblistes (Union, Intersection Différence) : ces opérateurs permettent de produire une nouvelle relation à partir de deux relations de même degré et de même domaine.
– Les opérateurs binaires ou n-aires (Produit cartésien, Jointure, Division) : ils permettent de produire une nouvelle table à partir de deux ou plusieurs autres tables.
Les notations ne sont pas standardisées en algèbre relationnelle. Ce cours utilise des notations courantes mais donc pas forcément universelles.
Sélection
La sélection génère une relation regroupant exclusivement toutes les occurrences de la relation R qui satisfont l’expression logique E, on la note σ(E)R.
Il s’agit d’une opération unaire essentielle dont la signature est :
relation * expression logique -> relation
En d’autres termes, la sélection permet de choisir (i.e. sélectionner) des lignes dans le tableau. Le résultat de la sélection est donc une nouvelle relation qui a les mêmes attributs que R. Si R est vide (i.e. ne contient aucune occurrence), la relation qui résulte de la sélection est vide.
Le tableau 2 montre un exemple de sélection.
Projection
La projection consiste à supprimer les attributs au tres que A1, … A n d’une relation et à éliminer les n-uplets en double apparaissant dans la nouvelle relation ; on la note Π(A1, … An) R
Il s’agit d’une opération unaire essentielle dont la signature est :
relation * liste d’attributs -> relation
En d’autres termes, la projection permet de choisir des colonnes dans le tableau. Si R est vide, la relation qui résulte de la projection est vide, mais pas forcément équivalente (elle contient généralement moins d’attributs).
Union
L’union est une opération portant sur deux relations R1 et R2 ayant le même schéma et construisant une troisième relation constituée des n-uplets appartenant à chacune des deux relations R 1 et R2 sans doublon, on la note R1 ∪ R2.
Il s’agit une opération binaire ensembliste commutative essentielle dont la signature est :
relation * relation -> relation
Comme nous l’avons déjà dit, R1 et R2 doivent avoir les mêmes attributs et si une même occurrence existe dans R1 et R2, elle n’apparaît qu ’une seule fois dans le résultat de l’union. Le résultat de l’union est une nouvelle relation qui a les mêmes attributs que R1 et R2. Si R1 et R2 sont vides, la relation qui résulte de l’union est vide. Si R1 (respectivement R2) est vide, la relation qui résulte de l’union est identique à R2 (respectivement R1).
INTRODUCTION
I – INTRODUCTION AUX BASES DE DONNEES
1.1 – Qu’est ce qu’une base de données
1.2 – Système de Gestion de Base de Données
1.3 Quelques SGBD connus et utilisés
1.4 PostgreSQL
II – SGBD RELATIONNEL
2.1 – Introduction au modèle relationnel
2.2 Éléments du modèle relationnel
2.3 Algèbre relationnelle
a) Jointure
b)Theta-jointure
c) Equi-jointure
d) Jointure naturelle
III – LANGAGE SQL
3.1 Introduction SQL
3.2 Catégories d’instructions
3.3 Définir/créer une base – Langage de Définition des Données (LDD)
3.3.1 Introduction aux contraintes d’intégrité
3.4 Modifier une base – Langage de manipulation de données (LMD)
3.5 Interroger une base – Langage de manipulation de données (LMD) : SELECT (1 ère partie)
3.6 Interroger une base – Langage de manipulation de données (LMD) : SELECT (2 ème partie)
3.6.3 Opérateurs ensemblistes : UNION, INTERSECT et EXCEPT
3.6.4 Traduction des opérateurs d’union, d’intersection, de différence et de division de l’algèbre relationnelle (2 ème partie)
………