Cours Base de données Pr. Imad Zeroual.pdf
Document Details
2021
Tags
Full Transcript
Bases de Données Pr. Imad Zeroual Faculté des Sciences et Techniques – Errachidia / 2021-2022 Introduction 01 Définitions, Modèles du SGBD. Introduction Définitions ‘ Pourquoi les base de données...
Bases de Données Pr. Imad Zeroual Faculté des Sciences et Techniques – Errachidia / 2021-2022 Introduction 01 Définitions, Modèles du SGBD. Introduction Définitions ‘ Pourquoi les base de données ? ’ Facture Paiement Sauvegarde 100 DH Pour enregistrer différents informations et opérations effectués ! Pr. Imad Zeroual 3 Introduction Définitions ‘Pourquoi les base de données ? ’ Pour enregistrer différents informations et opérations effectués ! Pr. Imad Zeroual 4 Introduction Définitions ‘Pourquoi les base de données ? ’ Pour enregistrer différents informations et opérations effectués ! Pr. Imad Zeroual 5 Introduction Définitions ‘Pourquoi les base de données ? ’ Cours bases de données Pour recherchez et triez les données rapidement et facilement ! Pr. Imad Zeroual 6 Introduction Définitions ‘Pourquoi les base de données ? ’ Pour sécuriser et contrôler l'accès aux données ! Pr. Imad Zeroual 7 Introduction Définitions ‘ Système d’information «Une donnée est un élément brut, qui n’a pas encore été interprété ou mis en contexte.» ’ «Une information est Donnée par définition une donnée interprétée. » «La connaissance comme une information comprise.» Information «Une action réalisée en fonction des connaissances Connaissance disponibles.» Décision Pr. Imad Zeroual 8 Introduction Définitions ‘ Système d’information C’est un système constitué des ressources ’ humaines, des ressources matérielles et des procédures permettant d'acquérir, de stocker, de traiter et de diffuser les éléments d'information pertinents au Traçabilité fonctionnement d'une organisation » Tout système d’information est construit autour de bases de données !! Pr. Imad Zeroual 9 Introduction Définitions ‘ Dimensions d’application ’ Stations de travail Interface Langages de programmation Traitements Manipulation de données SGBD Données Bases de Données Pr. Imad Zeroual 10 Introduction Définitions ‘ Base de Donnée ’ La Base de Donnée (BD) est un ensemble structuré de données qui sont reliées entre-elles de manière logique, enregistrées sur des supports accessibles par l’ordinateur pour satisfaire simultanément plusieurs utilisateurs de manière sélective en un temps opportun. BD Utilisateurs Utilisateurs Support Pr. Imad Zeroual 11 Introduction Définitions ‘ SGBD ’ Un Système de Gestion de Bases de Données SGBD est un ensemble de logiciels (Programmes) permettant aux utilisateurs de définir, créer, maintenir, contrôler et accéder à la Base de Données. BD SGBD Création de la structure Utilisateurs Utilisateurs Manipulation des données Indexation,... Support Pr. Imad Zeroual 12 Introduction Définitions Exemples : ‘ SGBD ’ Pr. Imad Zeroual 13 Introduction Modèles du SGBD Hiérarchique : ‘ Modèles du SGBD ’ Errachidia Midelt Tinghir Er-Rich Café Panorama Café Délice Café Délice Café Milano Café Lina Café Assalam Café Assalam Café Ritaj ✓ Développé par IBM pour le programme spatial Apollo de la NASA (années 1960) ; ✓ Lie des enregistrements dans une structure arborescente de façon à ce que chaque enregistrement n'ait qu'un seul possesseur ; ✓ Liaisons de type 1 vers N. Pr. Imad Zeroual 14 Introduction Modèles du SGBD Hiérarchique : ‘ Modèles du SGBD ’ Errachidia Midelt Tinghir Er-Rich Café Panorama Café Délice Café Délice Café Milano Café Lina Café Assalam Café Assalam Café Ritaj ✓ Développé par IBM pour le programme spatial Apollo de la NASA (années 1960) ; ✓ Lie des enregistrements dans une structure arborescente de façon à ce que chaque enregistrement n'ait qu'un seul possesseur ; ✓ Liaisons de type 1 vers N. Pr. Imad Zeroual 15 Introduction Modèles du SGBD Hiérarchique : ‘ Modèles du SGBD ’ Errachidia Midelt Tinghir Er-Rich Café Panorama Café Délice Café Délice Café Milano Café Lina Café Assalam Café Assalam Café Ritaj ✓ Permet de lever les difficultés du modèle hiérarchique (ex., duplication) ; ✓ Possibilité d'établir des liaisons de type N vers N ; Pr. Imad Zeroual 16 Introduction Modèles du SGBD Réseaux : ‘ Modèles du SGBD ’ Errachidia Midelt Tinghir Er-Rich Café Panorama Café Délice Café Milano Café Lina Café Assalam Café Ritaj ✓ Permet de lever les difficultés du modèle hiérarchique (ex., duplication) ; ✓ Possibilité d'établir des liaisons de type N vers N ; ✓ Programme dépendant de la structure de données (impose de connaître les chemins des liens). Pr. Imad Zeroual 17 Introduction Modèles du SGBD Relationnel : ‘ Modèles du SGBD Se trouver ’ Identifiant_V Ville Identifiant_V Identifiant_C Identifiant_C Café V1 Errachidia V1 C1 C1 Café Panorama V2 Er-riche V1 C2 C2 Café Délice V3 Midelt V2 C5 C3 Café Milano V4 Tinghir V2 C6 C4 Café Lina V3 C2 C5 Café Assalam Ce modèle est décrit pour la V3 C3 C6 Café Ritaj première fois en 1969 par Edgar V4 C4 F. Codd, qui propose de stocker V4 C5 les données hétérogènes dans des tables. Pr. Imad Zeroual 18 Introduction Modèles du SGBD Relationnel : ‘ Modèles du SGBD ’ Attributs de L'en-tête ✓ Les données sont représentées dans différents relations/tableaux pouvant être liés entre eux. En-tête ✓ Une table est composée de deux parties, l'en-tête et le corps. Lignes du corps ✓ L'en-tête est lui-même composé de plusieurs attributs. ✓ Quant au corps, il s'agit d'un ensemble de lignes composées d'autant d'éléments qu'il y a d'attributs dans le corps. Corps Relation / Table Pr. Imad Zeroual 19 Introduction Modèles du SGBD Modèles populaires : ‘ Modèles du SGBD ’ Pr. Imad Zeroual 20 Introduction Modèles du SGBD Ex-1 : ‘ Pratique ’ 1. Les besoins que doit satisfaire une base de données sont : - Description - Manipulation - Ergonomie - Respect le droit d’auteur - Efficacité - Exactitude - Garantie contre la perte - Confidentialité Pr. Imad Zeroual 21 Introduction Modèles du SGBD Ex-1 : ‘ Pratique ’ 2. Un système d'information d'une entreprise est composé des : - Ordinateurs - Opérateurs de saisie - Ressources humaines, des ressources matérielles et des procédures Pr. Imad Zeroual 22 Introduction Modèles du SGBD Ex-1 : ‘ Pratique 3. Il sont des types de modèles de SGBD : ’ - Réseau - Anneau - Objet - Relationnel - Hiérarchique Pr. Imad Zeroual 23 Introduction Modèles du SGBD Ex-1 : ‘ Pratique ’ 4. Dans le modèle SGBD relationnel, une relation est composée de trois parties, l'en-tête, le corps et le pied : En-tête - Vrai - Faux Corps Pr. Imad Zeroual 24 Introduction Modèles du SGBD Ex-1 : 5. Il sont des logiciels de SGBD : ‘ Pratique ’ - MiSQL --------- MySQL - Microsoft Office --------------------- Microsoft Access ou Microsoft SQL Server - Oracle - PostgreSQL - SamDB ----------- - MariaDB - SQLite - Freefire ----------- Firebird Pr. Imad Zeroual 25 Introduction Modèles du SGBD Ex-2 : ‘ Pratique ’ Electrique Diesel Essence Hybride Tesla Toyota Toyota Renault FIAT Volkswagen Volkswagen Nissan 1. Dans quel modèle de SGBD les données sont-elles enregistrées de cette façon ? Justifier ? 2. Proposez un autre modèle de SGBD pour stocker ces enregistrements ? Pr. Imad Zeroual 26 Introduction Modèles du SGBD Rep-2 : ‘ Pratique ’ Electrique Diesel Essence Hybride Tesla Toyota Toyota Renault FIAT Volkswagen Volkswagen Nissan 1. C’est le modèle hiérarchique, car les enregistrements sont liées dans une structure arborescente de façon à ce que chaque enregistrement n’ait qu’un seul antécédent (type 1 vers N). Pr. Imad Zeroual 27 Introduction Modèles du SGBD 2. Rep-2 : ‘ Pratique ’ Le modèle Réseaux, où les enregistrements sont liées dans structure arborescente avec une possibilité d’établir des liaisons de type N vers N. Hiérarchique Electrique Diesel Essence Hybride Tesla Toyota Toyota Renault FIAT Volkswagen Volkswagen Nissan Pr. Imad Zeroual 28 Introduction Modèles du SGBD 2. Rep-2 : ‘ Pratique ’ Le modèle Réseaux, où les enregistrements sont liées dans structure arborescente avec une possibilité d’établir des liaisons de type N vers N. Réseaux Electrique Diesel Essence Hybride Tesla Toyota Renault FIAT Volkswagen Nissan Pr. Imad Zeroual 29 Introduction Modèles du SGBD 2. Rep-2 : ‘ Pratique ’ Dans le modèle Relationnel, les enregistrements sont représentées sous forme de Tables. Moteurs Fabriquer Constructeurs automobile Id_M Nom Id_M Id_C Id_C Nom Pays M1 Electrique M1 C1 C1 Tesla USA M2 Diesel M1 C2 C2 Toyota Japon M3 Essence M2 C2 C3 Volkswagen Allemagne M4 Hybride M2 C6 C4 FIAT Italie M3 C4 C5 Nissan Japon M3 C3 C6 Renault France M4 C3 M4 C6 Pr. Imad Zeroual 30 Bases de Données Pr. Imad Zeroual Faculté des Sciences et Techniques – Errachidia / 2021-2022 Conception de BD 02 Entité-Associations, Normalisation. Conception de BD Entité-Associations Admin BD Système d’information Modélisation Pr. Imad Zeroual 3 Conception de BD Entité-Associations ‘ Modélisation des données ’ La modélisation des données est l'analyse et la conception de l'information contenue dans le système d'information. Pour construire une base de données, il faut : 1. Construire un schéma conceptuel, modélisé sous forme d’entités et d’associations ; 2. transformer le schéma E/A en schéma relationnel ; 3. Mettre en œuvre via un SGBD. Pr. Imad Zeroual 4 Conception de BD Entité-Associations ‘ Entité/ Association ’ ✓ Le modèle E/A est un formalisme graphique pour la modélisation de données. ✓ Origine : Travaux de Peter Chen, 1976, USA. ✓ Succès dus à : Langage graphique Concepts simples : ▪ Choses (objets) → entités ▪ Liens entre les choses (objets) → association ▪ Regroupement des choses de même nature : classes d’entités, classes d’association. Pr. Imad Zeroual 5 Conception de BD Entité-Associations Entité : ‘ Entité/ Association ’ "une chose" qui existe et qui peut être distinguée de façon unique. abstraite ou concrète Exemple : Personne Voiture Produit Pr. Imad Zeroual 6 Conception de BD Entité-Associations Attribut : propriété d’une entité. ‘ Entité/ Association ’ prend des valeurs simples, par exemple entiers ou chaînes de caractères (domaine d'attribut) Exemple : ✓ Id_Personne ✓ Nom Entité ✓ Prénom Attributs ✓ Age ✓ Adresse ✓ NumTél Personne Pr. Imad Zeroual 7 Conception de BD Entité-Associations Identifiant / Clé primaire : ‘ Entité/ Association ’ C’est la propriété qui identifie de façon unique chaque occurrence d’entité. – Ex.: CNE , CIN Exemple 1 : ✓ Id_Personne ✓ Nom Entité ✓ Prénom Attributs ✓ Age ✓ Adresse ✓ NumTél Personne Pr. Imad Zeroual 8 Conception de BD Entité-Associations Identifiant / Clé primaire : ‘ Entité/ Association ’ C’est la propriété qui identifie de façon unique chaque occurrence d’entité. – Ex.: CNE , CIN Exemple 2 : Identifiant ✓ Code_module ✓ Nom_Filière Entité Attributs ✓ Titre_cours ✓ Date Il y a qu'une seule clé primaire par table. Par contre, il est possible de ✓ Local créer une clé primaire à partir de deux Examen champs ou plus. d'une table. Pr. Imad Zeroual 9 Conception de BD Entité-Associations Association (Relation) : ‘ Entité/ Association C’est un lien entre deux ou plusieurs entités. ’ Exemple : une personne achète un produit. Entités Achète Personne Produit Pr. Imad Zeroual 10 Conception de BD Entité-Associations Association (Relation) : ‘ Entité/ Association C’est un lien entre deux ou plusieurs entités. ’ Degré d’une Association Exemple : Si K est le degré d’une association : ✓ K = 1 : relation unaire (ou récursive) Personne CIN Être parent Nom R E Prénom Pr. Imad Zeroual 11 Conception de BD Entité-Associations Association (Relation) : ‘ Entité/ Association C’est un lien entre deux ou plusieurs entités. ’ Degré d’une Association Exemple : Si K est le degré d’une association : ✓ K = 2 : relation binaire Personne Passport CIN Possède Num_Pass A R B Nom Prénom Date_emission Province Pr. Imad Zeroual 12 Conception de BD Entité-Associations Association (Relation) : ‘ Entité/ Association C’est un lien entre deux ou plusieurs entités. ’ Degré d’une Association Exemple : Local Si K est le degré d’une association : Num_Local ✓ K = 3 : relation ternaire Nom Capacité A R B Professeur Module CIN Enseigner Code_Module Nom Titre Prénom C Semestre Pr. Imad Zeroual 13 Conception de BD Entité-Associations Cardinalité : ‘ Entité/ Association ▪ Mesure le degré de participation de l’entité à l’association. ’ Sens de lecture ▪ Nous avons 4 possibilités : Exemple : o 0,1 : au moins zéro, au plus 1 1 4 o 0,n : au moins zéro, au plus n Client 3 2 Produit o 1,1 : au moins 1, au plus 1 CodeClient 1,n 0,n Num_Produit Achète o 1,n : au moins 1, au plus n Nom Nom Prénom 3 Désignation ▪ Cardinalités minimales : 0 et 1 Adresse 2 Fabricant 4 1 ▪ Cardinalités maximales : 1 et n ✓ Un client achète un ou plusieurs produits. ✓ Un produit est acheté par aucun ou plusieurs client. Pr. Imad Zeroual 14 Conception de BD Entité-Associations Résumé : ‘ Entité/ Association ’ Entités Attributs Identifiants Association Cardinalités Nom_Auteur Titre Id_livre Id_Auteur 1,n 1,1 Auteur Écrire Livre Pénom_Auteur Année_Édition Adresse_Auteur Pr. Imad Zeroual 15 Conception de BD Entité-Associations Ex-1 : ‘ Pratique ’ Proposer un diagramme du modèle Entité-Association représentant la relation entre Personne, Voiture, et Fabricant ? Prénom Num_Série Marque Nom 0,n 0,1 Personne Possède Voiture Id_Personne Carburant Fabricant Id_Fabricant Pr. Imad Zeroual 16 Conception de BD Entité-Associations Ex-2 : ‘ Pratique À partir de ce diagramme, répondre aux questions suivantes : ’ Auteur Livre 1,n 1,1 IdAuteur Écrit 1. Est-il possible d’avoir des auteurs homonymes ? NumLivre Nom Titre Prénom 1,1 Édite Réponse : 1,n Oui, car le nom n’identifie pas les Dépôt auteurs. Il peut donc y avoir des Éditeur Num_Dépôt homonymes. Nom IdÉditeur Adresse Nom Pr. Imad Zeroual 17 Conception de BD Entité-Associations Ex-2 : ‘ Pratique À partir de ce diagramme, répondre aux questions suivantes : ’ Auteur Livre 1,n 1,1 IdAuteur Écrit NumLivre 2. Un auteur peut-il écrit plusieurs livre ? Nom Titre Prénom 1,1 Édite Réponse : 1,n Dépôt Oui, il peut le faire car sa cardinalité Éditeur maximale vaut n. Num_Dépôt Nom IdÉditeur Adresse Nom Pr. Imad Zeroual 18 Conception de BD Entité-Associations Ex-2 : ‘ Pratique À partir de ce diagramme, répondre aux questions suivantes : ’ Auteur Livre 1,n 1,1 IdAuteur Écrit NumLivre 3. Un livre peut-il correspondre à plusieurs auteurs ? Nom Titre Prénom 1,1 Édite Réponse : 1,n Dépôt Non, chaque livre correspond à un et Éditeur un seule auteur, car sa cardinalité Num_Dépôt minimale et maximale valent 1. Nom IdÉditeur Adresse Nom Pr. Imad Zeroual 19 Conception de BD Entité-Associations Ex-2 : ‘ Pratique À partir de ce diagramme, répondre aux questions suivantes : ’ Auteur Livre 1,n 1,1 IdAuteur Écrit NumLivre Nom 4. Est-il possible qu'un éditeur ne publie aucun livre ? Titre Prénom 1,1 Édite Réponse : 1,n Non, chaque éditeur a publié au Dépôt moins un livre, car sa cardinalité Éditeur Num_Dépôt minimale prend la valeur 1. Nom IdÉditeur Adresse Nom Pr. Imad Zeroual 20 Conception de BD Entité-Associations Ex-2 : ‘ Pratique À partir de ce diagramme, répondre aux questions suivantes : ’ Auteur Livre 1,n 1,1 IdAuteur Écrit NumLivre Nom 5. Est-il possible de stocker un livre dans plusieurs dépôts ? Titre Prénom 1,1 Édite Réponse : 1,n Oui, il peut le faire car sa cardinalité Dépôt maximale vaut n. Éditeur Num_Dépôt Nom IdÉditeur Adresse Nom Pr. Imad Zeroual 21 Conception de BD Entité-Associations Ex-2 : ‘ Pratique À partir de ce diagramme, répondre aux questions suivantes : ’ Auteur Livre 1,n 1,1 IdAuteur Écrit NumLivre 6. Est-il possible qu’un dépôt peut être utilisé par de Nom Titre nombreux éditeurs ? Prénom 1,1 Édite Réponse : 1,n Dépôt Oui, un dépôt peut être utilisé par de Éditeur nombreux éditeurs, car sa cardinalité Num_Dépôt maximale vaut n. Nom IdÉditeur Adresse Nom Pr. Imad Zeroual 22 Conception de BD Normalisation Table normalisée ‘Normalisation’ La normalisation est un algorithme qui consiste de partir d'une table universelle composée de la totalité des attributs pour avoir Table universelle plusieurs tables. Cet algorithme de normalisation est constitué des étapes qui vérifient si les tables sont dans états bien définies. Ces états s'appellent : les formes normales. Table normalisée Pr. Imad Zeroual 23 Conception de BD Normalisation Formes normales : ‘Normalisation’ ✓ Les formes normales s’appliquent aux entités et aux associations. Entités Achète Association Personne Produit ✓ Elles ont pour objectif de vérifier la non redondance de l’information dans le modèle et de proposer les transformations applicables sans perte d’informations. Pr. Imad Zeroual 24 Conception de BD Normalisation Formes normales : ‘Normalisation’ ✓ Les FN s’emboîtent les unes dans les autres, ce qui 6FN FNDC signifie que le respect d’une forme normale de niveau supérieur implique le respect des formes normales 5FN des niveaux inférieurs. 4FN FNBC 3FN ✓ Dans le modèle relationnel, il existe huit FN, mais les 2FN quatre premières formes, qui seront au centre de ce 1FN cours, étant les plus formes connues et utilisées. Pr. Imad Zeroual 25 Conception de BD Normalisation ‘Normalisation’ Une relation (Table) est en 1ère forme normale si : ✓ Elle possède au moins une clé ; ✓ Tous ses attributs sont atomiques : ils ne sont pas des propriétés répétitives ou décomposables. La table Etudiant n’est pas en 1FN Exemple : Nom Prénom Age Université Clé HASANI Khadija 18 Moulay Ismaîl, Marjane 2, Meknes 50050 Etudiant Nom Tableau correspondant RAHIMI Rime 21 Moulay Ismaîl, Marjane 2, Meknes 50050 Prénom FATHI Khadija 19 Moulay Ismaîl, Marjane 2, Meknes 50050 Age RAYES Achraf 20 Moulay Ismaîl, Marjane 2, Meknes 50050 Université Atomiques............ Pr. Imad Zeroual 26 Conception de BD Normalisation ‘Normalisation’ Processus de mise en 1ère forme normale : ✓ Si la relation ne possède aucune clé, ajouter une ; ✓ Sortir les attributs non atomiques et les transformer en nouvelle table. Exemple : Etudiant Etudiant Université + Nom 1ère forme normale CNE IdUniv Prénom Nom Nom Age Prénom Adresse Université Age Ville Code_Postal Pr. Imad Zeroual 27 Conception de BD Normalisation ‘Normalisation’ Une relation est en 2ème forme normale : ✓ La table soit déjà en 1ère forme normale ; ✓ La table possède une clé élémentaire (formée à partir d'un seul attribut ) ; ✓ Si la table possède une clé composée, les autres attributs doit dépendre de la totalité de cette clé. Exemple : 2FN 2FN 2FN 2FN Personne Cours Employé Location CIN Titre Nom Id_Locataire Nom Filière IdProfession Id_Appartement Prénom Horaire DF NumBureau DF Montant Age Local Salaire AdresseAppartement Pr. Imad Zeroual 28 Conception de BD Normalisation ‘Normalisation’ Processus de mise en 2ème forme normale : ✓ Conserver dans la table initiale les attributs dépendants de la totalité de la clé. ✓ Regrouper dans une nouvelle table les champs dépendants d'une partie de la clé, et faire cette partie la clé primaire de la nouvelle table. Exemple : Location Employé Employé Location Profession Appartement + Id_Locataire Nom 2ème forme normale Nom Id_Locataire IdProfession IdAppartement IdAppartement IdProfession IdProfession IdAppartement Salaire AdresseAppartement Montant NumBureau NumBureau Montant AdresseAppartement Salaire Pr. Imad Zeroual 29 Conception de BD Normalisation ‘Normalisation’ Une relation est en 3ème forme normale : ✓ La table soit déjà en 2ème forme normale ; ✓ Tous les attributs dépendent directement de la clé et pas d’autres attributs (pas de transitivité). Exemple : 3FN 3FN 3FN 3FN 2FN 2FN Personne Cours Etudiant Appartement CIN Titre CNE IdApt Nom Filière DF Nom DF AdresseApt Prénom Horaire Nom_Faculté CIN_Propriétaire DF DF Age Local Adr_Faculté Age_Propriétaire Pr. Imad Zeroual 30 Conception de BD Normalisation ‘Normalisation’ Processus de mise en 3ème forme normale : ✓ Conserver dans la table initiale les attributs dépendants directement de la clé. ✓ Regrouper dans une nouvelle table les attributs dépendants transitivement de la clé. L’attribut de transition reste dupliqué dans la table initiale, et devient la clé primaire de la nouvelle table. Exemple : Appartement Etudiant Appartement Etudiant Propriétaire Faculté + IdAptCNE 3ème forme normale IdApt CNE CIN_Propriétaire Nom_Faculté AdresseApt Nom AdresseApt Nom Age_Propriétaire Adr_Faculté CIN_Propriétaire Nom_Faculté CIN_Propriétaire Nom_Faculté Age_Propriétaire Adr_Faculté Pr. Imad Zeroual 31 Conception de BD Normalisation ‘Normalisation’ Une relation est en forme normale de Boyce-Codd (BCFN) : ✓ La table soit déjà en 3ème forme normale ; ✓ Tout attribut qui appartient à la clé ne dépend pas à l’un des autres attributs. Exemple : BCFN BCFN BCFN BCFN 3FN 3FN Personne Cours Personne Faculté CIN Titre CIN Nom_Faculté Nom Filière Région Nom_Dept Prénom Horaire DF Nom DF Adresse Age Local Ville Nom_Diplôme Pr. Imad Zeroual 32 Conception de BD Normalisation ‘Normalisation’ Processus de mise en forme normale de Boyce-Codd (BCFN) : ✓ Conserver dans la table initiale tout attribut n'est pas source d'une Dépendance Fonctionnelle (DF) vers une partie de la clé. ✓ Remplacer dans la table initiale la partie de la clé par son attribut source d'une DF. ✓ Regrouper dans une nouvelle table la partie de la clé et son attribut source d'une DF, et faire cette dernière la clé primaire de la nouvelle table. Exemple : Personne Faculté Faculté Personne Diplôme Ville + Nom_Faculté CIN BCFN Nom_Faculté CIN Nom_Diplôme Ville Nom_Dept Région Nom_Diplôme Ville Nom_Dept Région Adresse Nom Adresse Nom Nom_Diplôme Ville Pr. Imad Zeroual 33 Conception de BD Normalisation ‘ Pratique ’ Soit le schéma relationnel donné ci-dessous d’une base de données pour une établissement universitaire : Département (CNE, Note, Filière, Module, Num_Prof, Nom_Prof, Nom_Etud, Nb-h) 1. Déterminer les dépendances fonctionnelles possibles ? Réponse : 1. Les dépendances fonctionnelles : CNE → Nom_Etud, Filière Num-Prof → Nom_Prof Module → Nb-h CNE, Module → Note Filière, Module → Num_Prof, Nom_Prof Pr. Imad Zeroual 34 Conception de BD Normalisation ‘ Pratique ’ Soit le schéma relationnel donné ci-dessous d’une base de données pour une établissement universitaire : Département (CNE, Note, Filière, Module, Num_Prof, Nom_Prof, Nom_Etud, Nb-h) 2. Quelle est la clé de cette relation ? Réponse : 1. Les dépendances fonctionnelles : 2. La clé : CNE → Nom_Etud, Filière CNE Num-Prof → Nom-Prof Module Module → Nb-h CNE, Module → Note Filière, Module → Num_Prof, Nom_Prof Pr. Imad Zeroual 35 Conception de BD Normalisation 3. Mettre cette relation en 3FN ? DF ‘ Pratique ’ DF Réponse : Département (CNE, Module, Note, Filière, Num_Prof, NomProf, Nom_Etud, Nb-h) 1FN 2FN Clé Attributs Atomiques ▪ Etudiants (CNE, Nom_Etud, Filière) DF CNE → Nom-Etud, Filière ▪ Matières (Module, Nb-h) Module → Nb-h 3FN 2FN ▪ Département (CNE, Module, Note, Num_Prof, NomProf) Num-Prof → Nom-Prof ▪ Profs (Num_Prof, NomProf) CNE, Module → Note ▪ Département (CNE, Module, Note, Num_Prof) Lorsque le nom de la relation n’est pas significatif, on peut le renommer. Pr. Imad Zeroual 36 Conception de BD Normalisation 3. Mettre cette relation en 3FN ? ‘Pratique ’ Réponse : Département (CNE, Module, Note, Filière, Num_Prof, NomProf, Nom_Etud, Nb-h) CNE → Nom-Etud, Filière 3FN ▪ Etudiants (CNE, Nom_Etud, Filière) Module → Nb-h 3FN ▪ Matières (Module, Nb-h) Num-Prof → Nom-Prof 3FN ▪ Profs (Num_Prof, NomProf) CNE, Module → Note 3FN ▪ Examens (CNE, Module, Note, Num_Prof) Pr. Imad Zeroual 37 Bases de Données Pr. Imad Zeroual Faculté des Sciences et Techniques – Errachidia / 2021-2022 Modèle Relationnel 03 Passage du E/A au MRD, L’algèbre relationnelle. Modèle MR C Introduction ‘ Modèle Relationnel ’ SGBD Modèle Système d’information Entité-Association Normalisation Modèle Relationnel Pr. Imad Zeroual 3 Modèle MR C MERISE ✓ Historique : ‘ MERISE ’ Le modèle relationnel fait l'objet des publications scientifiques de Edgar Frank Codd en : 1969, IBM, « Derivability, Redundancy, and Consistency of Relations Stored in Large Data Banks » ; 1970, IBM, « A Relational Model of Data for Large Shared Data Banks ». ✓ L'algèbre relationnelle a été inventée en 1970 par Edgar F. Codd pour décrire les relations entre les données de façon logique et mathématique ; ✓ La publication des trois premières formes normales par E. F. Codd « Further Normalization of the Relational Model » en 1971 ; ✓ Edgar F. Codd et Raymond F. Boyce ont développé BCNF en 1974 ; ✓ La publication du modèle Entité-Relation « The Entity-Relationship Model-Toward a Unified View of Data » (Peter Chen, 1976, USA) ✓ Le modèle MERISE (Méthode d’Étude et de Réalisation Informatique pour les Systèmes d’Entreprise) (René Colletti, Hubert Tardieu, Arnold Rochfeld,... France, 1980s) Pr. Imad Zeroual 4 Modèle MR C MERISE ✓ Historique : ‘ MERISE ’ Le projet qui a conduit à MERISE a été lancé en 1977 par le ministère français de l'Industrie et comprenait des groupes de recherche, des bureaux d'études et d'ingénierie, et des universitaires, l'inspiration venant d'Hubert Tardieu. ✓ Le formalisme utilisé dans MERISE [77-83] est basé sur le formalisme Entity-Relationship [Chen, 76]. ✓ La méthode MERISE est une méthode systémique qui distingue nettement les données et les traitements. ✓ La méthode a aussi connu des tentatives d'adaptation avec les SGBD relationnels, les différentes interfaces homme- machine IHM, l'Orienté objet, les outils CASE… mais qui n'ont pas connu le même succès. ✓ La méthode est essentiellement française (les cardinalités sont détaillées et la modélisation des traitements est beaucoup plus complexe que dans les méthodes anglo-saxonnes) : AXIAL : analyse et conception des systèmes d’informations assistés par logiciel (IBM, 1986). SSADM : Structured Systems Analysis and Design Method (CCTA, 1980). SADT : Structured Analysis and Design Technique (Doug Ross , 1977) pour Softech. RUP : Rational Unified Process (IBM, 2003). Pr. Imad Zeroual 5 Modèle MR C MERISE Cycles de MERISE : ‘ MERISE Le noyau de la méthode MERISE réside dans ses trois cycles : ’ 1. Le cycle de décision : est constitué de l'ensemble des mécanismes de décision, y compris ceux de choix d'options, lors de l'élaboration du système d'information. La prise de décision est un processus conjoint concernant la direction, les utilisateurs et les développeurs de systèmes. Les décisions comprendront : Les choix techniques concernant le matériel et les logiciels ; Le choix de traitement, tels que temps réel ou batch ; Les choix relatifs à l'interface d’utilisateur ; Les décisions d'identification des acteurs majeurs du système d'information et de l'organisation ; Les décisions financières relatives aux coûts et bénéfices ; Les décisions de gestion concernant la fonctionnalité des systèmes d'information. Pr. Imad Zeroual 6 Modèle MR C MERISE Cycles de MERISE : ‘ MERISE Le noyau de la méthode MERISE réside dans ses trois cycles : ’ 2. Le cycle de vie : montre l'évolution chronologique du système d'information depuis sa création, en passant par son évolution, jusqu'à sa révision finale et son obsolescence. Schéma directeur Etude préalable Etude détaillée Etude technique Cycle de vie Production Recette Mise en service Maintenance Pr. Imad Zeroual 7 Modèle MR C MERISE Cycles de MERISE : ‘ MERISE Le noyau de la méthode MERISE réside dans ses trois cycles : ’ 3. Le cycle d'abstraction : qui décrit les différents modèles de processus et de données dans chacune des trois cycles. Ce cycle est la clé de MERISE. Contrairement à de nombreuses méthodes alternatives, la séparation du traitement des données et des processus est prise en compte dès le départ. Le cycle d'abstraction est modélisée en trois domaines : Communication Données, et Traitements. De même, chaque domaine est modélisée à travers quatre niveaux : Conceptuel, Organisationnel, Logique, et Physique. Domaine de Communication ▪ MCC – MOC – MLC – MPC Cycle d’abstraction Domaine des Données ▪ MCD – MOD – MLD – MPD Domaine des Traitements ▪ MCT – MOT – MLT – MPT 8 Modèle MR C Passage du E/A au MLD Règle numéro 1 : ‘ Schéma de Relation Règles de passage du E/A au MLD ’ a) Chaque entité d’un modèle E/A devient une relation, c’est à dire une table. b) Son identifiant devient la clé primaire de la relation. c) Les autres propriétés deviennent les attributs de la relation. Exemple : Entité Relation SGBD Personne CIN Nom Prénom CIN Personne (CIN, Nom, Prénom) MA345 NAJI Kaouter Nom … Prénom Pr. Imad Zeroual 9 Modèle MR C Passage du E/A au MLD Règle numéro 2 : ‘ Schéma de Relation Règles de passage du E/A au MLD ’ Une association de type 1:N : a) se traduit par la création d’une clé étrangère dans la relation correspondante à l’entité côté « 1 ». b) cette clé étrangère référence la clé primaire de la relation correspondant à l’entité côté « N ». Exemple : 1:N La clé étrangère est précédée d'un # Etudiant Filière Schémas 1,1 1,n IdFilière Relationnels ✓ Etudiant (CNE, Nom, Prénom, #IdFilière) CNE s’inscrire Nom Nom ✓ Filière (IdFilière, Nom, Nb-Etud) Prénom Nb-Etud Pr. Imad Zeroual 10 Modèle MR C Passage du E/A au MLD Règle numéro 3 : ‘ Schéma de Relation Règles de passage du E/A au MLD ’ Une association de type N:N : a) Création d’une nouvelle table dont la clé primaire est l'ensemble des identifiants des entités associées. b) Toute propriété de l'association devient attribut de la nouvelle table. Exemple : N:N Commande Produit Schémas ✓ Commande (IdCom, Date, Montant) 1,n 0,n IdProduit Relationnels IdCom Contient ✓ Produit (IdProduit, Nom, Prix) Date Qte Nom Montant Prix ✓ Contenir (#IdCom, #IdProduit,Qte) Pr. Imad Zeroual 11 Modèle MR C Passage du E/A au MLD Règle numéro 4 : ‘ Schéma de Relation Règles de passage du E/A au MLD ’ Une association de type 1:1 : a) Cela dépend fonctionnellement sur l’entité la plus important. Exemple : 1 Si fonctionnellement, le Chauffeur est le plus important : 1:1 Chauffeur Taxi Schémas 1,1 0,1 Relationnels IdChauf Conduit IdTaxi Chauffeur (IdChauf, Nom, Prénom, IdTaxi, Nom Marque Marque, Type) Prénom Type Pr. Imad Zeroual 12 Modèle MR C Passage du E/A au MLD Règle numéro 4 : ‘ Schéma de Relation Règles de passage du E/A au MLD ’ Une association de type 1:1 : a) Cela dépend fonctionnellement sur l’entité la plus important. Exemple : 2 Si fonctionnellement, le Taxi est le plus important : 1:1 Chauffeur Taxi Schémas 1,1 0,1 Relationnels IdChauf Conduit IdTaxi Taxi (IdTaxi, Marque, Type, IdChauf, Nom, Nom Marque Prénom) Prénom Type Pr. Imad Zeroual 13 Modèle MR C Passage du E/A au MLD Règle numéro 4 : ‘ Schéma de Relation Règles de passage du E/A au MLD ’ Une association de type 1:1 : a) Cela dépend fonctionnellement sur l’entité la plus important. Exemple : 3 Si le modèle peut évoluer ou si on a une distinction fonctionnelle 1:1 forte entre Chauffeur et Taxi : Chauffeur Taxi Schémas Chauffeur (IdChauf, Nom, Prénom, #IdTaxi) 1,1 0,1 Relationnels Taxi (IdTaxi, Marque, Type) IdChauf Conduit IdTaxi Nom Marque Ou Prénom Type Chauffeur (IdChauf, Nom, Prénom) Taxi (IdTaxi, Marque, Type, #IdChauf) Pr. Imad Zeroual 14 Modèle MR C Passage du E/A au MLD ‘ Pratique ’ Établir le modèle MLR (schémas relationnels) du modèle E/A suivant : 1:N Auteur Livre Réponse : 1,n 1,1 IdAuteur Écrit NumLivre Nom Titre ✓ Auteur (IdAuteur, Nom, Prénom) Prénom 1,1 ✓ Livre (NumLivre, Titre, #IdAuteur ), #IdÉditeur) 1:N ✓ Éditeur (IdÉditeur, Nom) Édite ✓ Dépôt (Num_Dépôt, Nom, Adresse) 1,n Dépôt ✓ Stocker (#NumLivre, #IdÉditeur, #Num_Dépôt) Éditeur Num_Dépôt Nom IdÉditeur Adresse Nom Pr. Imad Zeroual 15 Bases de Données Pr. Imad Zeroual Faculté des Sciences et Techniques – Errachidia / 2021-2022 Modèle Relationnel 03 Passage du E/A au MRD, L’algèbre relationnelle. Modèle MR C L’algèbre relationnelle Définition : ‘ Algèbre relationnelle L’algèbre relationnelle est le langage de manipulation utilisé par ’ le SGBD pour effectuer des opérations sur les relations (tables). Remarque : Les requêtes SQL soumises par l’utilisateur sont traduites par le SGBD en opérations de l’algèbre relationnelle. Objectif : Localiser des données dans la base qui répondent à certains Personne critères. CIN Nom Prénom Exemple : MA345 NAJI Kaouter FJ653 RABEH Samir Personnes qui ont Samir comme prénom RV481 LIMAM Fadi Pr. Imad Zeroual 3 Modèle MR C L’algèbre relationnelle ‘ Opérateurs ensemblistes ’ Les opérateurs ensemblistes sont les mêmes qu’en mathématiques, dans la théorie des ensembles. Union U : L’union de deux tables est l'ensemble des occurrences qui appartiennent soit à la première table, soit à la deuxième, soit aux deux tables. C’est la traduction du OU logique. Formalisme : Exemple : R1 Nom Prénom R = R1 U R2 NAJI Kaouter R Nom Prénom RABEH Samir NAJI Kaouter ou LIMAM Fadi RABEH Samir R = UNION (R1 , R2) LIMAM Fadi R2 Nom Prénom SALEM Rajae NAJI Kaouter LMALKI Mounir Remarque : SALEM Rajae Pas de duplication des n-uplets. LMALKI Mounir Pr. Imad Zeroual 4 Modèle MR C L’algèbre relationnelle ‘ Opérateurs ensemblistes ’ Les opérateurs ensemblistes sont les mêmes qu’en mathématiques, dans la théorie des ensembles. Intersection ∩ : L'intersection de deux relations est l'ensemble des occurrences qui sont présentes dans les deux relations. C’est la traduction du ET logique. Formalisme : Exemple : R1 Nom Prénom R = R1 ∩ R2 NAJI Kaouter RABEH Samir ou LIMAM Fadi R = INTERSECTION (R1, R2) R Nom Prénom NAJI Kaouter R2 Nom Prénom NAJI Kaouter NAJI Rajae LMALKI Mounir Pr. Imad Zeroual 5 Modèle MR C L’algèbre relationnelle ‘ Opérateurs ensemblistes ’ Les opérateurs ensemblistes sont les mêmes qu’en mathématiques, dans la théorie des ensembles. Différence – : La différence entre deux tables est l'ensemble des occurrences qui appartiennent à une table sans appartenir à la seconde. Attention, cette opération a un sens. Formalisme : Exemple : R1 Nom Prénom R = R1 - R2 NAJI Kaouter R1-R2 Nom Prénom RABEH Samir RABEH Samir ou LIMAM Fadi R = DIFFERENCE (R1, R2) R2 Nom Prénom NAJI Kaouter R2-R1 Nom Prénom Remarque : NAJI Rajae NAJI Rajae L’opération différence est non commutative. LIMAM Fadi Pr. Imad Zeroual 6 Modèle MR C L’algèbre relationnelle ‘ Opérateurs ensemblistes ’ Les opérateurs ensemblistes sont les mêmes qu’en mathématiques, dans la théorie des ensembles. Produit cartésien x : Le produit cartésien de 2 tables consiste à combiner toutes les possibilités d’associations d’occurrences des 2 tables. Chaque ligne de R1 sera concaténée à chaque ligne de R2. Formalisme : Exemple : x( + ) = x + x R = R1 x R2 R1 Nom Prénom ou NAJI Kaouter R1xR2 Nom Prénom Age Ville R = PRODUIT (R1, R2) RABEH Samir NAJI Kaouter 19 Er-riche NAJI Kaouter 21 Rissani Age Ville RABEH Samir 19 Er-riche R2 19 Er-riche RABEH Samir 21 Rissani 21 Rissani Pr. Imad Zeroual 7 Modèle MR C L’algèbre relationnelle ‘ Opérateurs relationnels Les opérateurs relationnels sont spécifiques à l’algèbre relationnelle. Sélection σ : ’ La sélection consiste à extraire d’une relation les occurrences satisfaisant aux critères de sélection. Formalisme : Exemple : R1 Nom Prénom Age Ville R2 = SELECTION (R1, critère(s)) SABER IMRANE 19 Er-riche ou On aimerait avoir les personnes NAJI Kaouter 21 Rissani R2 = σ critère(s)(R1) habitant à Rissani ? RABEH Samir 17 Tinghir Critères de sélection : ✓ σ Ville = ‘Rissani’ (R1) JABRI Yassine 25 Rissani Opérateurs de comparaison : ✓ SELECTION (R1, Ville = ‘Rissani’) ✓ =, ? R2 Nom Prénom Age Ville Opérateurs logiques : NAJI Kaouter 21 Rissani ✓ ET, OU (entre deux comparaisons) JABRI Yassine 25 Rissani ✓ NON (pour renverser la comparaison) Pr. Imad Zeroual 8 Modèle MR C L’algèbre relationnelle ‘ Opérateurs relationnels Les opérateurs relationnels sont spécifiques à l’algèbre relationnelle. Projection Π : ’ La projection d'une relation consiste en la mise en place d'une nouvelle relation en ne retenant que certaines colonnes (attributs) et en supprimant les occurrences en double. Exemple : R1 Nom Prénom Age Ville Formalisme : SABER IMRANE 19 Er-riche R2 = PROJECTION (R1, colonne 1, colonne 2, …) NAJI Kaouter 21 Rissani ou SABER IMRANE 19 Er-riche R2 = Π colonne1, colonne2, … (R1) NAJI Kaouter 21 Rissani Remarque : On aimerait avoir les Noms et Ages de toutes les personnes de R1 ? R2 Nom Age ▪ R1 est la table utilisée par la projection. ▪ R2 est la table résultat. ✓ Π Nom, Age (R1) SABER 19 ▪ Pas de duplication des occurrences. ✓ PROJECTION (R1, Nom, Age) NAJI 21 Pr. Imad Zeroual 9 Modèle MR C L’algèbre relationnelle ‘ Opérateurs relationnels Les opérateurs relationnels sont spécifiques à l’algèbre relationnelle. Division / : ’ La division permet de trouver les occurrences d’une table qui sont associées à toutes les occurrences d’une autre table (qui le plus souvent est le résultat d’une sélection). Formalisme : Exemple : R = DIVISION (R1, R2) R1 Nom Note Note R1/R2 Nom R2 ou SABER 14 14 SABER R = R1/ R2 NAJI 17 09 RIDANI 12 Remarque : JABRI 09 L’opération Division est non commutative. NAJI 14 SABER 09 Pr. Imad Zeroual 10 Modèle MR C L’algèbre relationnelle ‘ Opérateurs relationnels Les opérateurs relationnels sont spécifiques à l’algèbre relationnelle. Jointure ►◄ : ’ La jointure consiste à créer une nouvelle table à partir de deux tables ayant un champ commun (attribut) et vérifiant un critère de jointure. Formalisme : R = JOINTURE R1, R2 (R1.attr_jointure op_comparaison R2.attr_jointure) R = R1 ►◄ R2 (R1.attr_jointure op_comparaison R2.attr_jointure) Exemple : R = R1 ►◄ R2 (R1.Cours = R2.Cours) R1 Cours Profs R2 Étudiant Cours Note R Cours Profs Étudiant Note Informatique Naji Mounir Biologie 14 Biologie Jabri Mounir 14 Biologie Jabri Naoual Biologie 10 Biologie Jabri Naoual 10 ►◄ Chimie Fadili Khadija Physique 16 Chimie Fadili Hafid 09 Géologie Salmi Hafid Chimie 09 Pr. Imad Zeroual 11 Modèle MR C L’algèbre relationnelle Soit les relations R1, R2, et R3 suivantes : ‘ Pratique ’ Indiquer le résultat des expressions suivantes : 1. R = R3 x R3 Pr. Imad Zeroual 12 Modèle MR C L’algèbre relationnelle Soit les relations R1, R2, et R3 suivantes : ‘ Pratique ’ Indiquer le résultat des expressions suivantes : 2. R = σ IDCli ≥ 200 (R1) Tous les clients de la relation R1 avec un identifiant ‘IDCli’ supérieur ou égal à 200 Pr. Imad Zeroual 13 Modèle MR C L’algèbre relationnelle Soit les relations R1, R2, et R3 suivantes : ‘ Pratique ’ Indiquer le résultat des expressions suivantes : 3. R = Π Age, Tél (R2) L’âge et le numéro de téléphone de tous les clients de la relation R2 Pr. Imad Zeroual 14 Modèle MR C L’algèbre relationnelle Soit les relations R1, R2, et R3 suivantes : ‘ Pratique ’ Indiquer le résultat des expressions suivantes : 4. R = Π IDCli (R2) ∩ Π IDCli (R3) Les identifiants des clients communs de la relation R2 et R3 Pr. Imad Zeroual 15 Modèle MR C L’algèbre relationnelle Soit les relations R1, R2, et R3 suivantes : ‘ Pratique ’ Indiquer le résultat des expressions suivantes : 5. R = σ Π (R1) IDCli (R2) ∩ Π IDCli (R3) Les clients de la relation R1 qui ont des identifiants dans la relation R2 ainsi que R3 Pr. Imad Zeroual 16 Modèle MR C L’algèbre relationnelle Soit les relations R1, R2, et R3 suivantes : ‘ Pratique ’ Indiquer le résultat des expressions suivantes : 6. R = Π Nom, Prénom (σ ) Ville ‘Rissani’ (R1) Les noms et prénoms des clients de la relation R1 qui ont une ville différente de ‘Rissani’ Pr. Imad Zeroual 17 Modèle MR C L’algèbre relationnelle Soit les relations R1, R2, et R3 suivantes : ‘ Pratique ’ Écrire en langage algébrique les requêtes suivantes : 1. Les noms, les prénoms des clients de ville ‘Er-riche’ R = Π Nom, Prénom (σ Ville = ‘Er-riche’ (R1)) Pr. Imad Zeroual 18 Modèle MR C L’algèbre relationnelle Soit les relations R1, R2, et R3 suivantes : ‘ Pratique ’ Écrire en langage algébrique les requêtes suivantes : 2. L’âge des clients qui ont le produit ‘PC’ R = Π Age [ ( Π Π IDCli ( σ ) ►◄ R2 ] IDCli (R2) ∩ Produit = ‘PC’ (R3)) Pr. Imad Zeroual 19 Bases de Données Pr. Imad Zeroual Faculté des Sciences et Techniques – Errachidia / 2020-2021 Langage SQL 04 Commandes, Fonctions. Langage SQL C Commandes Définition : Qu'est ce que SQL ? ‘ Langage SQL ’ ✓ SQL = Structured Query Language (Fr. Langage de Requête Structurée). Un langage informatique normalisé et concret pour interagir avec le modèle relationnel : ✓ Un langage de description de données; ✓ Un langage de manipulation de données; ✓ Un langage pour administrer la base de données et gérer les contrôles d'accès. Pr. Imad Zeroual 3 Langage SQL C Commandes Définition : ‘ Commandes SQL ’ Les commandes du langage SQL sont principalement classées en cinq catégories : Commandes SQL DDL DML TCL Data Definition Language Data Manipulation Language Transaction Control Language DQL DCL Data Query Language Data Control Language Pr. Imad Zeroual 4 Langage SQL C Commandes ‘ Commandes SQL 1. DDL (Data Definition Language) : ’ Les commandes SQL utilisées pour manipuler la structure d'une base de données, et non les données elles-mêmes. Ex. Structures de données utilisée et entretenue par le SGBD pour lui permettre de User Table retrouver rapidement les données. Index est un ensemble de données organisées sous forme d'un Les comptes d'utilisateur tableau. de base de données Pr. Imad Zeroual 5 Langage SQL C Commandes ‘Commandes SQL 1. DDL (Data Definition Language) : Ex. Commandes Exemple : ’ Etudiant CREATE TABLE Etudiant CREATE TABLE ( Id Nom Prénom Date_Naissance Id INT PRIMARY KEY NOT NULL, 1 Folani Folane 14/06/1994 → Créer un Tableau. Nom VARCHAR(30), Prénom VARCHAR(30), 2 Biane Hiane 22/01/2000 Date_Naissance DATE, 3 … … … Syntaxe : ) CREATE TABLE nom_de_la_table ( Type de données colonne1 type_donnees, colonne2 type_donnees, INT : Nombre entier. colonne3 type_donnees, VARCHAR (Taille) : Chaînes de caractères avec une taille maximale. colonne4 type_donnees DATE : une valeur sous forme d’une date. ) PRIMARY KEY : Indiquer que cet attribut est la clé primaire pour cette table. NOT NULL : Empêche d’enregistrer une valeur nulle pour une colonne. Pr. Imad Zeroual 6 Langage SQL C Commandes ‘ Commandes SQL 1. DDL (Data Definition Language) : Ex. Commandes Exemples : ’ Etudiant Id Nom Prénom ALTER TABLE ALTER TABLE Etudiant 1 Folani Folane DROP Date_Naissance 2 Biane Hiane → Modifier un Tableau. Explication : 3 … … DROP : Supprimer une colonne du tableau. Syntaxe : ALTER TABLE Etudiant Id Nom Prénom Adresse ALTER TABLE nom_table ADD Adresse