Cours 0 Abdelkrim LAHLOU Lahloukarim@free.fr Introduction au modèle Relationnel
Cours 0 Abdelkrim LAHLOU Lahloukarim@free.fr Introduction au modèle Relationnel 2 Introduction au modèle relationnel ◼Proposé par CODD (Université Saint José) en 1971 ◼Caractéristiques principales ◼simplicité des concepts ◼facilité d’utilisation ◼standardisation du langage de définition des données et du langage d’interrogation: SQL ◼pauvreté sémantique due au fait qu’il n’y a qu’un seul concept: la relation (ou table) pour représenter une entité, une association ou une sous classe ◼pas de représentation graphique ◼existence d’une théorie sous-jacente 3 Les concepts de base ◼Concepts structuraux ◼Le modèle relationnel s’appuie sur trois concepts structuraux de base: le domaine, la relation (ou table) et l’attribut. ◼Le domaine est un ensemble de valeurs caractérisé par un nom. Exemples: le domaine des entiers E= {0,+/- 1, +/-2, ...}; le domaine des booléens D1= {0,1}; le domaines des couleurs possibles D2= {vert, bleu,blanc,rouge}; le domaine des caractères... ◼La relation, concept central du modèle, peut être définie grossièrement comme un tableau de données à deux dimensions. Les colonnes de ce tableau sont appelées attributs. Les lignes de ce tableau, occurrence de la relation, seront appelées tuples ou n-uplets ◼Chaque attribut peut prendre des valeurs dans un domaine. 4 Les concepts de base (suite) ◼Schéma de relation : Nom de la relation suivi de la liste des attributs et de la définition de leurs domaines. ◼Schéma relationnel: Ensemble des schémas de relation ◼Clés ◼Clé candidate : Ensemble d’attributs minimal dont la connaissance des valeurs permet d’identifier un tuple unique de la relation considérée. ◼Clé primaire : Elle est choisie parmi les clés candidates. ◼Clé étrangère : C’est un constituant ou un ensemble de constituants d’une table apparaissant comme une clé primaire dans une autre relation. 5 Les concepts de base (suite) ◼Contraintes d’intégrité : ◼Est un prédicat que doit vérifier un sous ensemble de la base afin que l’on puisse considérer les informations comme cohérentes. Le rôle des contraintes d’intégrité est d’assurer la cohérence des données. On peut isoler plusieurs types de contraintes d’intégrité: ◼Contrainte de domaine : Concerne le contrôle syntaxique et sémantique d’une donnée, et fait référence au type de définition du domaine. ◼Contrainte déclarative : Contrainte imposée sur des attributs (valeur nulle, valeur par défaut, clé primaire, liste de valeurs,.) ◼Contrainte référentielle : Impose que la valeur d’un attribut dans une relation apparaisse comme valeur de clé dans une autre relation (Clé étrangère --> Clé primaire). ◼Contrainte d’entité : Contrainte d’intégrité imposant que toute relation possède une clé primaire et que tout attribut participant à cette clé primaire soit non nul. 6 Les concepts additionnels ◼ Valeur nulle : Valeur conventionnelle introduite dans une relation pour représenter une information inconnue ou inapplicable. ◼ Agrégat : Partitionnement horizontal d’une relation en fonction des valeurs d’un groupe d’attributs, suivi d’un regroupement par application d’une fonction de calcul sur ensemble. ◼ Les fonctions de calcul sur ensemble les plus souvent proposées sont les suivantes : ◼ Somme (SUM) permettant de calculer la somme des éléments d’un ensemble; ◼ Moyenne (AVG) permettant de calculer la moyenne des éléments d’un ensemble; ◼ Minimum (MIN) permettant de sélectionner l’élément minimum d’un ensemble; ◼ Maximum (MAX) permettant de calculer l’élément maximum d’un ensemble; ◼ Compte (COUNT) permettant de compter les éléments d’un ensemble. 7 Les concepts additionnels (suite) ◼ Expression d’attributs : Expression arithmétique construite à partir d’attributs d’une relation et de constantes, par application de fonctions arithmétiques successives. ◼ exemples : ◼Salaire = Salaire * 1,10, ◼ Revenu-Annuel = (Salaire-Mensuel * 13,5) + (Commission / 120) ◼ Vue (View) : Une vue est une table virtuelle (c ’est-à-dire non stockée telle qu’elle) regroupant les données dont un utilisateur a besoin. ◼ Une vue est donc virtuelle, elle n’a donc pas d’existence physique, au moins lorsqu’elle n’est pas accédée. ◼ Elle peut être obtenue à partir de la sélection d’attributs d ’une ou de plusieurs tables (jointure) ◼ Elle peut être interrogée comme une table normale de la base. 8 Les concepts additionnels (suite) ◼ Délencheurs (Triggers) : Evénement déclenché suite à l’apparition d’une condition particulière dans la base de données provoquant l’exécution d’un programme de traitement de la base composé d’une ou plusieurs requêtes. ◼ Un trigger peut être déclenché en réaction à une opération sur donnée (mise à jour d’une table, d’un tuple) ou suite au passage à vrai d’une condition sur valeurs de données (critère de sélection ou de jointure). ◼ Un trigger est défini au niveau du schéma de la base. Il permet d’intégrer certains traitements constituant des règles communes à la base, par exemple le maintien des contraintes d’intégrité ou des données redondantes. ◼ Procédures : Programme écrit en pseudo-langage procédural offert par le SGBD. Il est stocké dans le dictionnaire de données après compilation. ◼ Les résultats de la phase de “parsing” et de la phase de détermination du chemin d’accès sont stockés avec le procédure permettant une meilleure performance. 9 Convention de formalisme ◼Formalisme ◼La table, ses attributs et sa clé primaire ◼Contraintes d’intégrité référentielle EMPLOYES Matricule Nom Date_emb Code_dept Notons que, dans cette représentation, le ou les attributs composant la clé primaire sont soulignés Matricule Nom Date_emb Code_dept* EMPLOYES DEPARTEMENT Code-dept Nom Adresse Code-dept de la table Employés est clé étrangère et pointe vers l’attribut Code-dept clé primaire de la table Département 10 Opérateurs algébriques de base sur les tables relationnelles 1 - Sélection 2 - Projection 3 - Jointure 11 1 - Sélection Patients de la ville de Paris SELECT * FROM Patient WHERE upper(Ville) = ’PARIS’; Patient Id-P Nom Prénom Ville 1 Lebeau Jacques Paris 2 Troger Zoe Evry 3 Doe John Paris 4 Perry Paule Valenton Patient Id-P Nom Prénom Ville 1 Lebeau Jacques Paris 2 Troger Zoe Evry 3 Doe John Paris 4 Perry Paule Valenton s 12 2 - Projection Patient Id-P Nom Prénom Ville 1 Lebeau Jacques Paris 2 Troger Zoe Evry 3 Doe John Paris 4 Perry Paule Valenton p Nom et prénom des patients SELECT Nom, Prénom FROM Patient; Patient Id-P Nom Prénom Ville 1 Lebeau Jacques Paris 2 Troger Zoe Evry 3 Doe John Paris 4 Perry Paule Valenton 13 3 - Jointure Patient Id-P Nom Prénom Ville 1 Lebeau Jacques Paris 2 Troger Zoe Evry 3 Doe John Paris 4 Perry Paule Valenton Visite Id-D Id-P Id-V Date Prix 1 2 1 15 juin 250 1 1 2 12 août 180 2 2 3 13 juillet 350 2 3 4 1 mars 250 Id-P Nom Prénom Ville Id-D Id-P Id-V Date Prix 1 Lebeau Jacques Paris 1 1 2 12 août 180 2 Troger Zoe Evry 1 2 1 15 juin 250 2 Troger Zoe Evry 2 2 3 13 juillet 350 3 Doe John Paris 2 3 4 1 mars 250 Patients et leurs visites Langage SQL Cours 4 15 Historique ◼1964 : IBM développe le GUAM pour le projet Apollo (NASA) ◼1966 : Première BD hiérarchique commerciale du marché d’IBM ◼1970 : Dr. E. F. Codd d’IBM propose le modèle relationnel ◼1977 : Larry Ellison, Bob Miner et Ed Oates fondent Oracle ◼1985 : l’ANSI adopte SQL comme langage de requête standard ◼1992 : SQL-2 ◼1993 : Sortie d’Access ◼1995 : Sortie de Postgres95 ◼1996 : Sortie de MySQL ◼1998 : SQL Server 7 disponible ◼1999 : SQL-3 et sortie d’Oracle8i ◼2000 : Sortie d’Oracle 9i ◼2006 : Oracle 10g 16 SQL : Structured Query Language ◼SQL est à la fois un langage de : ◼définition des données (DDL : Data Definition Language) ◼manipulation des données (DML : Data Manipulating Language) ◼contrôle de l’accès aux données (DCL : Data Control Language) Remarque : Toute commande SQL doit se terminer par ; 17 SQL - DDL Un DDL autorise toutes les actions propres à la définition des objets (tables, vues, utilisateurs, index, etc.) : ◼Créer un objet (CREATE) ◼Modifier la structure d’un objet (ALTER) ◼Détruire un objet (DROP) Exemple : CREATE TABLE Eleves (Nom CHAR(15) PRIMARY KEY, Prenom VARCHAR(25) NOT NULL); 18 SQL-DML Un DML autorise toutes les actions propres à la manipulation des données : ◼insertion de nouvelles données (INSERT) ◼suppression de données (DELETE) ◼mise à jour de données (UPDATE) ◼interrogation de la base (SELECT) Les commandes DML sont la partie centrale de SQL Exemple : SELECT DISTINCT Nom, Prenom FROM Eleves WHERE UPPER(Nom) LIKE ‘L%’ ; 19 SQL-DCL Le DCL autorise toutes les actions propres au contrôle de la base de données, notamment la gestion des droits d’accès à la base de données ou à un objet précis (GRANT : accorder un privilège ou REVOKE : supprimer un privilège), la gestion des transactions (COMMIT : valider toutes les transactions depuis le dernier COMMIT ou ROLLBACK : annuler toutes les transactions effectuées depuis le dernier COMMIT), etc... Les types de base dans SQL 21 Les types de données SQL offre plusieurs types de données dont les types de base suivants : CHAR(n) chaîne de n caractères VARCHAR(n) chaîne de caractères de longueur variable d’au plus n caractères DATE date + heure de taille fixe et dont le format par défaut est ‘DD-MMM-YY’ NUMERIC (n,d) type numérique pour les entiers et les réels, n: nombre total uploads/Philosophie/database-cours-complet 1 .pdf
Documents similaires
-
16
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Sep 17, 2022
- Catégorie Philosophy / Philo...
- Langue French
- Taille du fichier 4.1516MB