annuaire électronique flux opérant catalogue …barry/access/cours1.pdfmotivation organiser le...

15
Motivation Organiser le Système d’Information de l’Entreprise FLUX SORTANT Modèle de l’Entreprise Système de Pilotage Système d’Information Système Opérant FLUX ENTRANT Modélisation d’une entreprise Notions de bases Définition intuitive d’une BD (1) Définition intuitive : on peu considérer une Base de Données (BD) comme une grande quantité de données (ou ensemble d’informations), centralisées ou non, servant pour les besoins d’une ou plusieurs applications, interrogeables et modifiables par un groupe d’utilisateurs travaillant en parallèle. Exemples d’application Système Socrate : SNCF Annuaire électronique Catalogue électronique d’une bibliothèque Notions de bases Définition intuitive d’une BD (2) Définition ; une base de données est un ensemble structuré de données (1) enregistrées sur des supports accessibles par l’ordinateur (2) pour satisfaire simultanément plusieurs utilisateur (3) de manière sélective (4) en un temps opportun (5). (1) : Organisation et description de données (2) : Stockage sur disque (3) : Partage des données (4) : Confidentialité (5) : Performance SGBD (1) Définition : Le logiciel qui permet d’interagir avec une BD est Système de Gestion de Base de Données (SGBD) BD SGBD

Upload: lamxuyen

Post on 29-Jun-2018

221 views

Category:

Documents


0 download

TRANSCRIPT

Motivation Organiser le Système d’Information de l’Entreprise

FLUXSORTANT

Modèle de l’Entreprise

Système de Pilotage

Système d’Information

Système OpérantFLUX

ENTRANT

Modélisation d’une entreprise Notions de bases Définition intuitive d’une BD (1)

Définition intuitive : on peu considérer une Base de Données (BD) comme une grande quantité de données (ou ensemble d’informations), centralisées ou non, servant pour les besoins d’une ou plusieurs applications, interrogeables et modifiables par un groupe d’utilisateurs travaillant en parallèle.

Exemples d’application Système Socrate : SNCF Annuaire électronique Catalogue électronique d’une bibliothèque

Notions de bases Définition intuitive d’une BD (2)

Définition ; une base de données est un ensemble structuré de données (1) enregistrées sur des supports accessibles par l’ordinateur (2) pour satisfaire simultanément plusieurs utilisateur (3) de manière sélective (4) en un temps opportun (5).

(1) : Organisation et description de données (2) : Stockage sur disque (3) : Partage des données (4) : Confidentialité (5) : Performance

SGBD (1)

Définition : Le logiciel qui permet d’interagir avec une BD est Système de Gestion de Base de Données (SGBD)

BDSGBD

SGBD (2)

Un SGBD est un intermédiaire entre les utilisateurs et les fichiers physiques

Un SGBD facilite- la gestion de données, avec une représentation intuitive simple sous forme de table par exemple- la manipulation de données. On peut insérer, modifier les données et les structures sans modifier les programmes qui manipulent la base de données

Programme 1

Programme 2

Programme 3

SGBDFichier 1

Fichier 2

Fichier 3

Base de données

Démarche de construction d’une BD relationnelle

InterviewDocuments

ModélisationEntité association

Schéma logique enEntité-Association

Transformation en relationnel

Schéma conceptuelen relationnel

Le modèle relationnelGénéralités

Notions de modèle de données : Un modèle est un ensemble d’outils utilisés pour décrire et manipuler des

données Modèle relationnel

Créé par CODD (69/70) La majorité des SGBD actuels sont basés sur ce modèle Les données sont organisées sous forme de tables à deux dimensions, une

table correspondant à une relation. Les données sont manipulées par des opérateurs de l’algèbre relationnelle L’état de la base est défini par un ensemble de contraintes d’intégrité

Normalisation Au modèle relationnel est associé la théorie de la normalisation des relations

qui permet de se débarrasser des incohérences au moment de la conception d’une base de données.

Concepts du modèle (1)

Table (relation) : Vision tabulaire du relationnel- les données sont représentées dans une table- Exemple : la table OUVRAGES décrit un ouvrage

12TA1 Réseaux informatique Eyrolles 1998 10 Interconnexion, ….13G01 Algorithmes génétiques Eyrolles 1994 5 Informatique, ….

Côte Titre Editeur Année NbExemplaire Thème

OUVRAGES

Concepts du modèle (2)

Attribut : nom donnée à une colonne d’une table (exemple cote, titre, editeur, etc…). La première ligne de la table comporte ses attributs

Nom de la table (ou de la relation) : OUVRAGES Tuple (ou n-uplet) : nom donné à une ligne comportant des valeurs saisies. Extension d’une table : le contenu de la table à savoir tous les tuples Cardinalité : nombre de tuples de la relation. Exemple la cardinalité dans

OUVRAGES est 2 L’ordre des lignes et des colonnes n’est pas significatif Pas de lignes identiques Une case possède une et une seule valeur

Concepts du modèle (3)

Attribut Nom donné à une colonne d’une relation Prend ses valeurs dans un domaine

Domaine : ensemble de valeurs possibles prises par les attributs Exemple :

Entier, reel, chaines de caractères Euro Salaire = {4 000..100 000) Couleur = {bleu, blanc, rouge}

Notions de clé primaire

Clé primaire : Groupe d’attributs minimum qui détermine un tuple d’une manière unique dans la table Exemple de clés : le numéro de la sécu, le numéro d’étudiant La clé de la table OUVRAGE est l’attribut « cote », car la cote

permet de déterminer de façon unique une ligne de la table. ATTENTION : la clé de détermine par rapport à toutes les valeurs

possibles de l’attribut (ou les attributs) formant la clé primaire, et surtout pas par rapport aux valeurs déjà saisie

Remarque : toute table doit obligatoirement avoir une clé primaire

Schéma d’une table

Le schéma d’une table, appelé aussi le schéma en intention, comporte le nom de la relation, ses attributs + format et la clé primaire.

La clé primaire est souvent soulignée (et/ou mise en gras)

Exemple : le schéma de la table OUVRAGES est OUVRAGES (cote : texte, titre : texte, editeur : texte,

NbExemplaire, numérique, année : date, thème : texte)

Problème de Redondance des données

La redondance = répétition des informations Un des objectifs des SGBD est (de nous permettre) de

représenter les données avec le moins de redondance possible

Pour chaque ouvrage nous désirons avoir ses auteurs dans la base. Ceci nous amène à créer un attribut supplémentaire : Auteur. Or un ouvrage peut avoir plusieurs auteurs. Nous sommes donc obligés de créer des tuples supplémentaires (un pour chaque auteur). apparition de redondance

Comment éliminer ces redondances ?

Eliminer les redondances (1)

Pour éliminer les répétitions, nous allons dans un premier tempsconstruire une table auteur comportant tous les auteurs

La table auteur est décrite par AUTEURS (NumAuteur, nomAuteur, PrénomAuteur).Nous avons rajouté l’attribut NumAuteur pour représenter la clé. NumAuteur est un numéro qui peut être donné automatiquement par le SGBD.

Dans la table OUVRAGE, nous pouvons remplacer chaque nom d’auteur par son numéro.

Cette représentation nous permet effectivement de réduire la table OUVRAGES, il n’y a que le numéro de l’auteur au lieu du nom et du prénom, mais il y a toujours des redondances. La redondance provient du fait qu’un OUVRAGE peut avoir plusieurs auteurs

Pour éliminer ces redondances, nous allons construire une table ECRIT qui permet de relier les OUVRAGES et leurs AUTEURS.

Eliminer les redondances (2)

Rappelons qu’un des intérêts d’un SGBD est sa possibilité de créer des liens entre les objets

Le schéma de la table ECRIT est ECRIT (cote, NumAuteur), il suffit donc de prendre les clés primaires des tables OUVRAGES et AUTEURS et former une nouvelle table, en l’occurrence ECRIT.

La base de données décrivant les OUVRAGES sera composé des tables suivantes : AUTEURS (NumAuteur, Nom, Prénom) OUVRAGES (cote, Titre, NbExemplaire, Année, Editeur, Theme) ECRIT (cote, NumAuteur)

Noter que nous avons supprimé l’attribut NumAuteur de la table OUVRAGES

Clé étrangère

Les attributs cote et NumAuteur de la table ECRIT proviennent en fait respectivement des tables OUVRAGES et AUTEURS. Ces deux attributs sont clés primaires dans chacune de ces tables

Définition : nous appelons Clé étrangère toute clé primaire apparaissant dans une autre table

Exemple : NumAuteur est une clé étrangère dans le table ECRIT Cote est aussi une clé étrangère dans ECRIT Par convention, une clé étrangère est soulignée en pointilé (et/ou mise en

italique) Attention : la notion de clé est toujours liée à une table. Un attribut (ou

groupe d’attributs) est clé primaire, ou clé étrangère dans une table donnée.

Contraintes d’intégrités (1)

Un des avantages des bases de données par rapport à une gestion de fichiers traditionnelle réside dans la possibilité d’intégrer des contraintes que doivent vérifier les données à tout instant.

Exemple : on souhaite poser les contraintes suivantes : Le nombre d’exemplaire de chaque OUVRAGE doit être supérieur à 0

(zéro) Chaque OUVRAGE doit avoir au moins un auteur Tec.

Ceci est possible grâce à la notion de contraintes d’intégrité Définition : Des contraintes d’intégrités sont des assertions qui doivent

être vérifiées à tout moment par les données contenues dans la base de données.

Contraintes d’intégrités (2)Trois type de C.I. obligatoires

Contrainte de clé : une relation doit posséder une clé primaire Contrainte d’entité : un attribut d’une clé ne doit pas possèder de valeurs

nulles (vides) Contraintes de référence (pour les clés étrangères), c’est une contrainte

exprimée entre deux tables. Tout tuple d’une relation faisant référence à une autre relation doit se référer à un tuple qui existe : Intuitivement, cela consiste à vérifier que l’information utilisée dans un

tuple pour désigner un autre tuple est valide, notamment si le tuple désigné existe bien

En d’autre terme, quand on désigne un attribut comme clé étrangère, les seules valeurs que peut prendre cet attribut sont celles qui sont déjà saisies dans la table qu’il référence.

Contraintes d’intégrités (3)

Contrainte optionnelle Contrainte de domaine : liée au domaine de définition d’un attribut Exemple : NbExemplaire > 0

Les contraintes d’intégrité sont vérifiées (exécutées) à chaque mise à jour de la base de données (ajout, suppression ou modification d’un tuple). Si lors d’un mise à jour une contrainte n’est pas satisfaite, cette mise à jour ne peut pas avoir lieu.

Exemple (1)

Schéma de la relation AUTEURS AUTEURS (NumAuteur, Nom, Prénom)

Schéma de la relation EDITEURS EDITEURS (NumEditeur, Nom, Adresse)

Schéma de la relation OUVRAGES (avec la modification de l’exercice précédent) OUVRAGES (cote, Titre, NbExemplaire, Annee, NumEditeur,

Theme) Clé primaire : cote Contrainte de domaine : NbExemplaire > 0 Contrainte référentielle : OUVRAGES.NumEditeur est une clé

étrangère et fait référence à EDITEURS.NumEditeur ou encore OUVRAGES.NumEditeur REFRENCE EDITEURS.NumEditeur

Exemple (2)

Schéma de la table ECRIT ECRIT (NumAuteur, cote) Clé primaire : NumAuteur, cote Contraintes référentielles :

ECRIT.NumAuteur REFERENCE AUTEURS.NumAuteur ECRIT.cote REFERENCE OUVRAGES.cote Le fait d’écrire ECRIT.cote REFERENCE OUVRAGES.cote, c’est-à-

dire définir l’attribut cote dans ECRIT comme clé étrangère, implique une contrainte référentielle. Ceci se traduit par ; les seules valeurs que peut prendre cote dans ECRIT sont celles qui sont déjà saisies dans cote d’OUVRAGES.

Schéma d’une base de données

Le schéma d’une base de données est composée de l’ensemble des schémas des tables (relations) définies dans cette base de données

Exemple de schéma de la base de données permettant la gestion denotices bibliographiques : AUTEURS (NumAuteur, Nom, Prénom) OUVRAGES (cote, Titre, NbExemplaire, Annee, NumEditeur, Theme)

Contrainte de domaine : NbExemplaire > 0 Contrainte référentielle : OUVRAGES.NumEditeur REFERENCE

EDITEURS.NumEditeur ECRIT (NumAuteur, cote)

Contraintes référentielles : ECRIT.NumAuteur REFERENCE AUTEURS.NumAuteur ECRIT.cote REFERENCE OUVRAGES.cote

EDITEURS (NumEditeur, Nom, Adresse)

AUTEUR

NumAuteurNomprénom

OUVRAGE

CoteTitreNbExemplaireAnnéeThème

EDITEUR

NumEditeurNomAdresse

A pour éditeur

1,1

1,N

Ecrit

1,N

1,N

Modèle Entité Association

Création d’une base de données vide

Base de données existante(s)

Création d’une nouvellebase de données

Remplissage d’une base de données

Indications

• Une base de données sous Access est composée de tables.

• Exemple :– Une table AUTEURS permettant de stocker des indications

portant sur tous les auteurs dont on désire garder les coordonnées

– Une table OUVRAGES permettant se stocker des indications sur les ouvrages que chaque auteur de la table AUTEURS a écrit.

– Une table ECRIT permettant de savoir qui a écrit quoi.

Création d’une table en mode création

Construction d’un table

• La table AUTEURS stocke une liste de coordonnées d’auteurs.

• Chaque auteur est caractérisé par un nom et un prénom.• Deux auteurs peuvent avoir un même nom et un même

prénom. Aussi afin de les reconnaître, nous leur associons un numéro unique.

• Un auteur est donc caractérisé par trois caractéristiques (ou champ) :– NumAuteur (un numéro identifiant chaque auteur de manière unique)– Nom – Prénom

Création d’un champ

Création d’un champ numérique automatique Donner un nom à la table

Click surl’icône enregistrement

Remplissage de la table AUTEURS (1)

Click ici

Remplissage de la table AUTEURS (2)

La table est vide pour le moment.

Zone de remplissagemanuelle

Zone de remplissageautomatique

Remplissage de la table AUTEURS (3)

En cours decréation

Les numéross’incrémententautomatiquement

Utilisation de la touche tabulation afin de passer d’un champ à un autre.

Navigation dans une table

Nombre d’auteurs présentsdans la table.Positionnement sur le

premier auteurPositionnement sur ledernier auteur

Passage àl’auteur suivant

Passage à l’auteurprécédent

Positionnement sur le nouvel auteur

Création d’un champ numérique

Le nombre d’enfantsdoit être inférieur à 10

Message indiquant que la valeur du champ « nb enfant » n’est pas correct

Création d’une zone déroulante (1)

Création d’une zone déroulante (2)

Liste des valeurspossibles

Création d’une zone déroulante (3)

Saisie d’une valeur dans la liste

Pour que la valeur soit obligatoirement dans la liste, il faut remplir le champ« valide si »

Restriction des valeurs possibles

Exercice 1

• Créer la table OUVRAGES avec les champs :– Titre : texte– NbExemplaire : > 0 et avec pour valeur par défaut : 10– Editeur : Flamarion ou Eyrolles ou Europia ou cepadues– Cote : numéro automatique– Theme : texte avec pour valeur par défaut : « policier ».

• Créer la table ECRIT avec les champs :– Cote : Numérique– NumAuteur : Numérique

Exercice 2

ETUDIANT (NumEtudiant : Numéro automatiqueNom : texte, Adresse : texte, Date_Naissance : date)

INSCRIPTION (NumEtudiant : Numérique, Uv : texte,Date_Inscription : date Moyenne : Numérique)

UNITE_VALEUR (Uv : texte, Nb_Heures : numérique > 0 et < 200, NumResponsable : numérique)

RESPONSABLE (NumResponsable : numero automatique,Nom : texte, Piece : texte, Departement : liste de valeurs possibles

(Mathématique, Histoire, Informatique)

Création d’une clé primaire simple (1)Clic sur le boutondroit de la souris

Le champ NumAuteurest la clé primaire de la table AUTEURS

Création d’une clé primaire simple (2)1) Sélection duchamp

2) Sélection et clic surl’icône clé

3) Création de la clé primaire

La valeur d’un champ dépend d’un champ d’une autre table (1)

La valeur de du champ NumAuteur de la table ECRIT doit être une valeur du champ NumAuteur de la table AUTEURS

Sélection de la table AUTEURS

La valeur d’un champ dépend d’un champ d’une autre table (2)

Sélection d’une valeur

La valeur de ces champs peutprendre une valeur qui n’est pasprésente dans les listes respectives

Contraintes référentielles(1)

Clic sur cette icône

Ces liens sont dus auxcréations de listes indiquantqu’il y a un lien entre les champs.

Contraintes référentielles(2)

Double clic

Contraintes référentielles(3)

Affichage de plusieurs champs dans une liste de choix

C’est bien le NumAuteur qui est stocké mais à l’écran nous voyons uniquement le nom de l’auteur

Insertion de tuples dans une table à partir d’une autre table (1)

Cet icône indique que ce champ est lié avec le champ d’une autre table

Insertion de tuples dans une table à partir d’une autre table (2)

Clic sur l’icône +

Diderot a écrit les ouvragesde cote 3, 2, 1.

Georges Simenonn’a pas encore écritd’ouvrages

On crée un nouveau tupledans la table ECRIT indiquantquel nouvel ouvrage a écritDiderot

Insertion de tuples dans une table à partir d’une autre table (3)

On indique ici que Diderot à écrit l’ouvrage de Cote 4

Le tuple a bien été créé.

Exercice 1

Reprenez la base de données gérant les inscriptions des étudiants dans des unités de valeurs en y créant les clés primaires avec les dépendancesfonctionnelles correspondantes.

ETUDIANT (NumEtudiant, Nom, Adresse, Date_Naissance)

INSCRIPTION (NumEtudiant, Uv, Date_Inscription, Moyenne)avec NumEtudiant = ETUDIANT. NumEtudiant et Uv = UNITE_VALEUR.Uv

UNITE_VALEUR (Uv, Nb_Heures, NumResponsable)avec NumResponsable = RESPONSABLE.NumResponsable

RESPONSABLE (NumResponsable, Nom, Piece, Departement)