L2A Semestre 4 Mehdi Benzine

Slides:



Advertisements
Présentations similaires
Chap 4 Les bases de données et le modèle relationnel
Advertisements

MODELE RELATIONNEL concept mathématique de relation
Michel Tollenaere SQL et relationnel ENSGI Cours MSI 2A Relationnel et SQL version 1.4 du 25 septembre 2007 (ajout jointures) 1 Modèle relationnel Historique.
1. Représentation des informations
Les systèmes d'information 1- Une pratique quotidienne 2- Les données 3- Approche conceptuelle 4- Notion de serveur 5- Conception d'un système d'information.
RAPPEL SUR LES BASES DE DONNÉES, LE SQL 1 er trimestre V1.0 06/01/2015.
1- Introduction 2ème partie Modèle Conceptuel des Données 2- Entités- Associations 4- Associations plurielles 3- Cardinalités 5- Associations réflexives.
1- Régles de normalisation 2ème partie : normalisation Modèle Conceptuel des Données 2- Les Formes Normales 3- Dépendances Fonctionnelles 4- Recap - Méthodologie.
1- Introduction 1ère partie Le langage SQL 2- Connexion 3- Structure & Contenu 4- Requêtes.
SQL partie 5 1 LMD create – update – primary key secondary key.
Le langage de définition de données B.T.S. S.I.O – SI3 –
1- Introduction Sommaire Modèle Logique des Données 2- Structure 3- Traduction du MCD en MLD 4- Recap - Méthodologie.
SQL : 4 fonctions d'exploitation de SGBD SQL (Structured Query Language, traduisez Langage de requêtes structuré) est un langage informatique ayant pour.
Introduction Bases de Données NoSQL Principe de base Avantages/Inconvénients L’évolution du Web 2.0 et actuellement Web 3.0, a montrée l’insuffisance des.
Master ESEEC Rédaction de documents (longs) structurés Patrice Séébold Bureau 109, Bât B.
ANNEE ACADEMIQUE Institut Supérieur Emmanuelle D’Alzon de Butembo COURS: THEORIE DE BASE DE DONNEES : 45H PROMOTION: G2 Gestion Informatique.
Les Bases de données Définition Architecture d’un SGBD
Cours Initiation aux Bases De Données
Initiation à la conception des systèmes d'informations
Introduction au Langage Pascal
4 Modèle conceptuel de données MCD
Construire des requêtes
Comprendre, classer et analyser les problèmes multiplicatifs
Introduction aux Systèmes de Gestion de Bases de données
ملخص Initiation à la sgbdr
Bases de données multimédia
Structured Query Language SQL DDL
Initiation aux bases de données et à la programmation événementielle
Université Stendhal - Grenoble
Modélisation Statique
LE LANGAGE DE REQUETES SQL
Langage de manipulation de données (LMD)
Base de données: Généralité IFT6800 Jian-Yun Nie.
Semaine #1 INF130 par Frédérick Henri.
Les Bases de données Définition Architecture d’un SGBD
Les fonctions.
Généralité sur les bases de données
Les bases de données et le modèle relationnel
Langage de Manipulation des Données LMD
LES FORMES NORMALES Les trois premières formes normales ont pour objectif de permettre la décomposition de relations sans perdre d’informations. Elles.
SQL LID – INTERROGATIN DES DONNEES
Réalisation d’une application web sous le thème: «Mon vétérinaire » par : Benzineb Asmaa et Meftahi Oualid Présentation à Université Saad Dahlab Blida.
Initiation aux bases de données sous Access. Plan I.Structure d’une base de données II.Langages de manipulation de données –Algèbre relationnelle (théorique)
Maria Berger - Maîtrise d'AES Algèbre relationnelle.
Notion De Gestion De Bases De Données
Manipulation D’Une Base De Données
Programmation en C++ C++ de base
Structure D’une Base De Données Relationnelle
1 ANGAMAN LUDOVIC UTT-LOKO-ITER. Organisation  10 séances de 3h  Présentation des bases de données  TP/TD.
Modélisation avec UML 2.0 Partie II Diagramme de classes.
Calcul Scientifique Initiation à SCILB
Introduction en systèmes d’information et bases de données B.Shishedjiev -Introduction en BD 1.
I Copyright © 2004, Oracle. Tous droits réservés. Introduction.
Bases de données sous Access. Initiation aux bases de données  Structure d’une base de données.
Algèbre relationnelle
DOSSIER 09 – Le modèle relationnel
1. LE LANGAGE SQL DDL Version 2 - Janvier Le langage SQL-DDL
Cas 2 : InfoBanque Crédit du Sud
PRESENTATION ACCESS Editeur : Microsoft Environnement Windows (SE)
2. CONCEPTS DES BASES DE DONNEES
TP1 - DBMAIN BFSH Lausanne - Switzerland - Tel Université de Lausanne.
Conception d’unebasede données MERISE ( MÉTHODE D’ ETUDE ET DE RÉALISATION INFORMATIQUE POUR LES SYSTÈMES D’ENTREPRISE )
Principes de programmation (suite)
62 Modèle relationnel et algèbre relationnelle INT Management.
Bases – Banques Entrepôts de données
Analyse et programmation langage ADA
Bases de Données Relationnelles(1)
1. LE LANGAGE SQL DDL Version 1 - Mai 2009 corrigé le 11/2/2011
Systèmes d’Information et Application
1 Semestre stic Sébastien PARFAIT – Faculté de Médecine – Bureau 145.
Transcription de la présentation:

L2A Semestre 4 Mehdi Benzine http://bddinfo.e-monsite.com Le modèle relationnel L2A Semestre 4 Mehdi Benzine http://bddinfo.e-monsite.com

Rappel L’approche "bases de données" Modélisation des données Éliminer la redondance des données Centraliser et organiser correctement les données Plusieurs niveaux de modélisation Outils de conception Qu'est-ce qu'une base de données ? Collection de données structurées Interrogeable et modifiable par des langages de haut niveau (proches du langage naturel) Partagée par plusieurs applications/utilisateurs Logiciel de Système de Gestion de Bases de Données (SGBD) Factorisation des modules de contrôle des applications: interrogation, gestion des pannes, confidentialité, partage des données… Administration facilitée des données

Rappel Objectifs des SGBD Indépendance physique des données Indépendance logique des données Manipulation simple Gestion des vues Optimisation des questions Gestion de la cohérence Gestion des pannes Concurrence d’accès Gestion de la confidentialité Standards

Le modèle relationnel Proposé par E.F Codd en 1970 (publication ACM) Modèle logique basé sur la théorie mathématique des relations R(X, Y) ={(X, Y) / X, Y  entiers et Y divise X} est une relation entre 2 entiers R (NuméroÉtudiant, Nom, Prénom, Note) est une relation entre un numéro d’étudiant, un nom, un prénom et une note. Cette relation caractérise un objet existant. L'ensemble des valeurs que peut prendre une données est un domaine Exemple: Nom = {Benallegue, Smati …} Note = [0, 20]

Le modèle relationnel Relation, Table Colonnes, Attributs, Champs Relation ou table Numéro Étudiant Nom Prénom Note 12432 Benallegue Farid 12 13421 Smati Nabil 17 23632 Ayachi Fatiha 14 … Lignes, Tuples, N-uplets Lignes, Tuples, N-uplets Lignes, Tuples, N-uplets

Propriétés 2 propriétés des tuples à respecter (une relation est un ensemble de tuples) L’unicité des tuples: il ne peut pas y avoir de tuples identiques (chaque tuple est unique) L’ordre des tuples: l’ordre des tuples n’a pas d’importance, c’est la même occurrence 3 propriétés des attributs à respecter Indivisibilité: Les données ne sont pas décomposables Domaine unique: les attributs ne peuvent prendre n’importe quelle valeur (intervalle, type de données) Ordre: l’ordre des attributs n’a pas d’importance

Domaine Un domaine est un ensemble de valeurs. Entier Réel Booléen Chaîne de caractères Date Couleur  {vert, blanc, rouge, jaune, noir, bleu} … Etudiant(NuméroEtudiant: int, nom: String, Prénom: String, Note: real[0, 20])

Contraintes d’intégrité Un ensemble de règles d'intégrité structurelle permet de faciliter la gestion de la cohérence des données. Ces règles sont énoncées par des assertions sur les relations et les attributs. De façon générale : il est extrêmement important de déclarer toutes les contraintes d’intégrité. Permet ensuite de se reposer sur le SGBDR pour la cohérence.

Clé primaire Puisque chaque tuple doit être unique, à chaque tuple est associée une clé unique, définie au niveau de la relation. Une clé est un ensemble minimal d'attributs dont la connaissance des valeurs permet d'identifier un tuple de façon unique au sein de la relation considérée. Une clé n'est pas forcément un attribut unique.

Clé primaire On choisi une clé parmi les clés possibles (clés candidates) pour identifier chaque tuple : c'est la clé primaire. Ce choix est guidé par la sémantique de la relation. Exemple: Pour une relation étudiant choisir Numéro Étudiant et non pas Numéro d’Identification National. Par convention, on représente la clé primaire en la soulignant dans l'énoncé de la relation.

Exemple Étudiant (NuméroEtudiant, Nom, Prénom). On aurait pu choisir le couple (Nom, Prénom) mais la simplicité pousse à prendre NuméroEtudiant. Notes (NuméroEtudiant, CodeUE, note). La clé minimale (comprenant le moins d'attributs possible) doit être favorisée.

Contrainte d'unicité La définition d'une clé primaire contient une contrainte d'unicité. On peut aussi spécifier que la valeur d'un (groupe d'attribut doit être unique, c'est-à-dire que deux tuples ne peuvent avoir la même valeur pour cet attribut. Exemple : Film (NumFilm, Titre, Réalisateur, Année). NumFilm est la clé primaire mais on peut (doit!) spécifier que le couple (Titre, Réalisateur) est unique.

Contrainte de référence Pays(Nom, Devise, Capitale, Superficie) Devise(Numéro, NbPieces, NbBillets, Nom) Le Pays référence sa monnaie via la clé primaire de la relation Devise : les valeurs de l'attribut devise de la relation Pays sont les valeurs de l'attribut numéro de la relation Devise. Exemple: Pays('Algérie', 4, 'Alger', 2381741) Devise(4, 7, 5, 'dinar'),

Clé étrangère Une contrainte référentielle exprime un lien obligatoire entre deux relations. Une clé étrangère (ex.: devise) est un groupe d'attributs dans une relation R (ex.: Pays) qui doit correspondre à la clé primaire d'une autre relation R' (ex.: Devise). Une relation possède une clé primaire, peut spécifier plusieurs clés étrangères. Convention d'écriture: italique.

Clé étrangère (suite) Un attribut peut être à la fois une clé primaire et étrangère : Film(NumFilm, Titre, Année), Acteur(NumActeur, Nom, Prénom), Casting(NumFilm, NumActeur, Personnage). Un acteur peut jouer dans plusieurs films et un film peut contenir plusieurs acteurs : lien n-n.

Clé étragère (suite) Pour maintenir la cohérence de la base de données, la contrainte d'intégrité référentielle impose que : Lors d'une insertion, la valeur des attributs constituant la clé étrangère doit exister dans la relation référencée Lors d'une suppression dans la relation référencée les tuples référençants doivent disparaître

Docteurs Prescriptions Patients Médicaments 17 Docteurs Id-D Nom Prénom 1 Kara Salim 2 Slimani Aicha 3 Abaoui Djamil …. …….. …… Prescriptions Id-C Ligne Id-M Posologie 1 12 1 par jour 2 5 10 gouttes 8 2 par jour 3 2 gouttes …. ………… Consultations Id-D Id-P Id-C Date Prix 1 2 15 juin 250 12 août 180 3 13 juillet 350 4 1 mars Patients Id-P Nom Prénom Ville 1 Touil Karim Sétif 2 Touati Nabila Ain Arnat 3 Kara Asma Ouricia 4 Allal Khaled NULL …. ……. Médicaments Id-M Nom Description 1 Aspegic 1000 …………………………….. 2 Fluisédal 3 Mucomyst …. ……..

Contraintes de valeur d'attributs On ne connaît pas forcément les valeurs de tous les attributs lors de l'insertion d'un tuple. Convention : valeur NULL Contrainte de non-vacuité : un attribut ne doit pas être NULL. Une clé primaire ne doit jamais être NULL. Contrainte sur la valeur d'un attribut : contrainte de domaine extension : saison IN ('hiver', 'printemps', 'été’, 'automne’) restriction : durée NOT NULL AND durée > 0

Langage SQL Le langage SQL permet de manipuler les données et les schémas relationnels. SQL se compose de plusieurs sous-ensembles parmi lesquels: Langage de manipulation de données (Data Manipulation Language DML) permet l'interrogation, l'insertion, la modification et la suppression de tuples. Langage de définition de données (Data Definition Language DDL) permet la création, la modification, et la suppression d'objets (tables, vues, index …)