Introduction aux Bases de Données Chapitre 2 Manipulation de BDs relationnelles
Introduction aux Bases de Données Chapitre 2 Manipulation de BDs relationnelles : Algèbre relationnelle Plan de la présentation L'Algèbre relationnelle 2 1. Présentation du modèle relationnel 2. Algèbre relationnelle 1. Introduction 2. Opérations de l'algèbre relationnelle • Opérations unaires de base • Opérations binaires de base • Opérations complémentaires 3. Expression de l'algèbre relationnelle 3. Exercice récapitulatif Présentation du modèle relationnel Introduction En 1970, Edgar Frank Codd, le directeur de recherche du centre IBM de San José. publia un article où il présentait le fondement de la théorie des bases de données relationnelles qui représente un Schéma logique par des RELATIONS. Edgar Frank Codd Depuis les années 80 et avec la standardisation du modèle (1987), différents SGBDs relationnels ont été développés : Oracle, DB2, Ingres, Sybase, SQL Server, Access, MySql.. Le modèle relationnel comprend : 1. Concepts pour la description des données 2. Concepts pour la manipulation des données 3. Concepts additionnels 3 Présentation du modèle relationnel Introduction Le modèle relationnel est le modèle théorique dominant pour la représentation logique des base de données. C'est le modèle le plus utilisé en raison des avantages qu’il offre. Avantages du modèle relationnel ⮚SIMPLICITE DE REPRÉSENTATION : représentation sous forme de tables, ⮚FONDEMENT MATHEMATIQUE RIGOUREUX : Théorie des ensembles, ⮚LANGAGES DECLARATIFS DE HAUT NIVEAU : algèbre relationnelle , langages assertionnels (SQL), ⮚INDEPENDANCE PHYSIQUE : stratégie d'accès déterminée par le système, optimisation des accès, ⮚INDEPENDANCE LOGIQUE : concept de VUES, ⮚MAINTIEN DE L’INTEGRITÉ : contraintes d'intégrité définies au niveau du schéma, ⮚APPROCHE METHODOLOGIQUE DE CONCEPTION DE SCHEMAS DE BDRs: théorie de la normalisation. 4 Présentation du modèle relationnel Définition des concepts de base Le modèle relationnel : Représenter le monde en tables 5 Le modèle relationnel permet de représenter les données que l'on va gérer à l'aide d'un petit nombre de concepts très simples : • Les relations ou tables : des lignes (tuples) et des colonnes (attributs) • Les domaines de valeurs : chaque case d'une table prend une unique valeur dans un domaine pré-défini • Les clés (primaires) : il existe des cases dont les valeurs doivent être uniques et non nulles •Les clés étrangères : il existe des cases qui doivent prendre une valeur existante dans les cases d'une autre table Présentation du modèle relationnel Définition des concepts de base 6 Attribut Un attribut permet de décrire une information élémentaire stockée dans une base. Il prend ses valeurs dans un domaine. Exemple: nom d’une personne, adresse d’une personne, numéro d’un produit, prix, etc. Domaine Le domaine est un ensemble fini ou infini de valeurs caractérisé par un nom. Exemple : ENTIER REEL CHAINES DE CARACTERES JOUR= {Dimanche, Lundi, Mardi, Mercredi, Jeudi, Vendredi} Présentation du modèle relationnel Définition des concepts de base Relation •Une relation est représentée par un tableau à deux dimensions dont les colonnes représentent les attributs et les lignes les données appelées tuples (N-uplets) ou occurrences. • Toute relation a un nom unique. E ation : Relatio n de nom PRODUI T Attributs xemPRpOleDd UeITrel code_prod nom_prod prix 01 Stylo 15 02 Trousse 200 03 Trousse 180 04 Crayon 10 05 Table null 7 Données Tuples Occurrences N-uplets Enregistrements Instance de la relation Remarque: Un tuple peut ne pas avoir de valeur pour certains attributs de la relation, parce que cette valeur est inconnue. Sa valeur est alors "null". Présentation du modèle relationnel Définition des concepts de base Degré d’une relation : C’est le nombre des attributs dans une relation. Exemple : Degré de la relation PRODUIT est 3 Cardinalité d’une relation : C’est le nombre de ses occurrences. Exemple : Cardinalité de la relation PRODUIT est 5. Attributs Données Tuples Occurrences N-uplets PRODUIT code_prod nom_prod prix 01 Stylo 15 02 Trousse 200 03 Trousse 180 04 Crayon 10 05 Table 400 8 Présentation du modèle relationnel Définition des concepts de base Notion de Clé Une clé est un groupe minimum d'attributs qui permet d'identifier de façon unique les tuples dans une relation. Exemple : • code_prod est une clé dans la relation Produit (code_prod: Entier, nom_prod: String, prix: réel) •Le groupe d'attributs (nom, prénom) d'une relation Etudiant est en général une mauvaise clé, car les homonymes existent. • (Num_étudiant, code_module) est une clé dans la relation Note(num_étudiant , code_module, note) Clé primaire Si plusieurs clés existent dans une relation, elles sont dites clés candidates. On en choisit une parmi celles-ci qui sera appelée clé primaire. La clé primaire est généralement choisie de façon à ce qu'elle soit la plus simple. Exemple : Dans la relation VOITURE (num_matricule : Entier, marque: String, Type: String, num_chassis: Entier) • il existe deux clés : num_matricule et num_chassis • On choisit (par exemple) num_matricule comme la clé primaire de la relation 9 Présentation du modèle relationnel Définition des concepts de base 10 Très important • Toute relation doit comporter une clé primaire. • Dans une relation, la valeur de la clé dans un tuple doit être connue (elle ne peut pas être une valeur null). Présentation du modèle relationnel Définition des concepts de base Clé étrangère Une clé étrangère est un attribut ou un groupe d'attributs dans une relation R1 et qui apparait comme clé primaire dans une relation R2 afin de matérialiser une référence entre les tuples de R1 et les tuples de R2. Une clé étrangère d'un tuple dans une relation référence une clé primaire d'un autre tuple dans une autre relation. Attention : Seule une clé primaire peut être référencée par une clé étrangère. code-prod* Code-dépôt qté-stock 01 145 21 02 200 34 02 241 10 STOCK PRODUIT code-prod nom-prod prix 01 Stylo 15 02 Trousse 200 03 Table 180 04 Crayon 10 11 Présentation du modèle relationnel Définition des concepts de base Schéma logique de relation 12 Un schéma logique (ou schéma) de relation est composé de : • Nom de la relation • Liste des attributs avec leurs domaines • Clé primaire • Clés étrangères (Eventuellement) Exemple: Client(code_client: String, nom_client: String, adresse : String) Commande (num_commande: Integer, code_client* : String, montant : réel) Convention d'écriture : • Une clé primaire est soulignée • Une clé étrangère est augmentée de * Intention et Extension de relation • Intention de la relation = schéma logique de relation . •Extension de la relation = instance de relation (c'est-à-dire l'ensemble des tuples de la relation). Présentation du modèle relationnel Définition des concepts de base Contraintes d’intégrité structurelles 13 Ce sont des propriétés du schéma de la BDR, invariantes dans le temps, que doivent respecter toute instance de la BDR. Types de contraintes d'intégrité structurelles: • Contrainte d’unicité (PRIMARY KEY) imposée par la clé primaire : lors de l’insertion d’un nouveau tuple, la valeur de la clé primaire doit être unique. •Contrainte référentielle (FOREIGN KEY) imposée par les clés étrangères : lors de l’insertion d’un tuple, la valeur des attributs qui sont clés étrangères doivent exister dans les relations référencées. De même, la suppression d’un tuple dans une relation référencée exige la suppression de tous les tuples le référençant. • Contrainte de non nulleté (NOT NULL) : impose l’insertion de valeur pour les attributs. La clé primaire, par exemple, impose cette contrainte. • Contraintes de valeur(CHECK) (Exemple : qté-stock >20) Présentation du modèle relationnel Définition des concepts de base Schéma logique de base de données relationnelle (ou intension) 14 C’est l’ensemble des schémas des relations composantes S = {R1, R2, …, Rp}. Exemple de schéma logique de BDR (ou Schéma de BDR) : //pour simplifier, les domaines ne seront pas présentés dans les schémas PRODUIT (code_prod, nom_prod, prix) STOCK (code_prod*, code_dep*, qté-stock) DEPOT (id_dep, adr) CLIENT (code_client, nom_client, ville) COMMANDE (num_com, code_client*, montant, année_com) Instance de base de données relationnelle (ou extension ou population) L’extension (instance) d’une BD relationnelle est l’ensemble d’instances de ses relations composantes BD = {r1, r2, ..., rn} ou chaque ri respecte les contraintes d'intégrité. Présentation du modèle relationnel Concepts de base 1 5 Exemple de BDR Schéma logique ou Intension de la BDR « Gestion_Stock » : code-prod nom-prod prix 01 Stylo 15 02 Trousse 200 03 Table 180 04 Crayon 10 code-prod* Code-depot* qté-stock 01 D1 145 02 D2 200 02 D1 241 01 D3 50 01 D2 10 04 D3 23 id-dep adr D1 étage1Sal2 D2 étage1Sal2 D3 étage2Sal1 STOCK PRODUIT (code_prod, nom_prod, prix) STOCK (code_prod*, code_depôt*, qté_stock) DEPOT (id_depot, adr) Instance ou Extension de BDR : PRODUIT DEPOT Présentation du modèle relationnel Concepts de base Quelques règles à retenir ✔une table a un nom unique (il n'existe pas deux tables avec le même nom dans la même BD), ✔l' ordre des attributs dans une table n'a pas d'importance, ✔ toutes les lignes d'une même table ont le même format et le même nombre d'attributs, ✔l'ordre des lignes n'a pas d'importance, ✔il n'existe pas de tuples identiques, ✔la clé primaire doit toujours avoir une valeur pour chaque tuple, ✔la clé primaire est unique pour tous les tuples. 16 Manipulation de BDs relationnelles Algèbre relationnelle Introduction 17 L’algèbre relationnelle [Codd70] est un ensemble d’opérations élémentaires sur les relations d’une Base de Données. Une expressions algébrique est uploads/Philosophie/chapitre-2-bd-algebre-relationnelle.pdf
Documents similaires










-
45
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Oct 04, 2022
- Catégorie Philosophy / Philo...
- Langue French
- Taille du fichier 0.6269MB