ASUR_2010

publicité
Contenu ASUR – 2010
Extrait du référentiel
UE 2 : Connaissances de base et outils pour les réseaux d’entreprise (130h)
MASbd = Les Bases de données
20h
Introduction théorique
TD 4h
François
Déploiement
TP 4h
François
Gestion des utilisateurs
TP 4h
François
Les backup
TP 4h
François
Notions de SQL
TP 4h
François
Kieffer
Kieffer
Kieffer
Kieffer
Kieffer
Chaque TP ou TD donne lieu à un compte rendu noté ?
1
Théorie des bases de données (rappels?)
Utilité, relevé d'information, méthodes de modélisation, merise et schémas de merise,
1.1
Utilité
Une base de données vise à modéliser une partie du monde réel et sert de support à des
applications informatiques pour stocker, protéger les données formelles de l'organisation et
les manipuler (calculs, statistiques, tris, extractions, mises en corrélations, …).
Exemple :
Annuaire(nom, prénom, âge, CP, Ville)
tableau Redondances (CP, Ville, …)
2ème tableau : (CP, Ville)
Note : toute situation ne nécessite pas forcément de Base de données.
SGBD : Système de gestion de Bases de Données
SGBDR : SGBR relationnel : il est possible d’établir des relations entre les données de la BDD
Exemples : Oui : Oracle, MySQL, Ingre, SQL Server ; Non : SQL (langage).
Comment faire ?
L’analyse : besoins : Pourquoi, à quoi ça sert ? Quand ? méthodologie : Comment ?
1.2
Le relevé d'informations
1.2.1
En théorie c'est ça …
Concepts, données et valeurs
Les concepts sont des choses, des objets que l'on va gérer. Ils deviendront
probablement des entités du schéma entité association vu plus loin.
Les données sont des informations élémentaires sur les concepts.
Données et concepts sont souvent masqués par des valeurs de ceux-ci ou exprimés
par des euphémismes ou des synonymes.
Attention !
Les acteurs ne sont pas des informations à mémoriser.
Les personnes sont souvent des acteurs mais parfois des concepts lorsqu'il s'agit de gérer du
personnel.
Donnée
Une donnée est une information élémentaire que l'on ne peut pas décomposer.
Exemple oui : description, prix, quantité, numéro d'identification, nom, prénom, ville, code
postal, etc. …
Exemple non : fournisseur, article, ingénieur
Dans le discours du sujet, une donnée est souvent rattachée à un concept.
E:\francois\education\2009-2010\ASUR\ASUR_2010 - contenu1.doc
Francois Kieffer
Page 1 sur 6
Exemple oui : description de l'article, nom de l'employé, numéro du client, numéro de
commande, etc. …
Exemple non : description (tout court, sans dire de quoi)
Concept
Un concept est une information complexe qui peut être décomposée en données.
Exemple oui : article, commande, client, employé, etc. …
Exemple non : description, organisation gérée, tapis Z7 cendré.
Pour détecter un concept, on va relever les noms de choses, d'objets, de personnes
ou de types. Ce seront souvent des concepts.
Ce seront sûrement des concepts si des données y sont rattachées.
Valeur
Certains concepts ou données sont masqués par des valeurs exposant différentes
occurrences de ceux-ci.
Exemple oui : Strasbourg, Nantes, Rennes, Lyon et Mulhouse sont des occurrences du
concept 'ville'.
Ces mêmes valeurs sont, de plus, des occurrences de la donnée 'nom ville'.
Exemple non : type article, ville.
Remarques importantes :
Dans tous les cas, il ne faut relever que les données et concepts pertinents pour
l'étude, gérés par le système décrit, et ne pas se laisser perturber par des
informations qui constituent le bruit de l'étude.
Exemple descriptif : la société InfoTech travaille avec des fournisseurs à Strasbourg, Lyon et Nancy.
InfoTech n'est pas une donnée, c'est la description de l'organisation ;
-
Fournisseur est un concept (dont on ne sait rien d'autre)
Strasbourg, Lyon, … sont des occurrences de la donnée 'nom ville' du concept 'ville'.
À indique qu'il y a un lien, une association, une relation entre les concepts fournisseur et ville
1.2.2
… mais en pratique …
Certains concepts sont ambigus. Ainsi dans certains cas, des concepts seront relégués au
rang de donnée.
Exemple descriptif : la société InfoTech travaille avec des fournisseurs à Strasbourg, Lyon et Nancy.
Les noms des villes ne font pas l'objet d'une gestion particulière.
-
InfoTech n'est pas une donnée, c'est la description de l'organisation ;
Fournisseur est un concept (dont on ne sait rien d'autre)
Strasbourg, Lyon, … sont des occurrences de la donnée 'nom ville' du concept 'ville'.
À indique qu'il y a un lien entre 'Fournisseurs' et 'Ville'. Mais comme la ville n'a pas besoin
d'être de façon précise, codifiée (ajout au sujet) le nom de la ville sera noté seul et le concept
risque de disparaître.
Les données seront consignées dans un dictionnaire des données, les concepts resteront au
brouillon, à titre d'indication pour une future utilisation.
1.3
Représentation (Merise)
Modèle Conceptuel
Données
de
Modèle
Logique
de
Données
ou
Modèle
Relationnel
MPD
1.4
Graphe des Dépendances
Fonctionnelles ;
Schéma Conceptuel des
Données
SLD
MR
Données, dépendances ;
Entités, attributs, identifiants, associations,
cardinalités, etc. …
Tables, propriétés, clés primaires, relations
Relations, propriétés, clés primaires, clés
étrangères
Implémentation du MR en langage de définition des données (création des
tables de la BDD)
Modèle relationnel
E:\francois\education\2009-2010\ASUR\ASUR_2010 - contenu1.doc
Francois Kieffer
Page 2 sur 6
Exemple :
Relation client :
cliNum
C1
C45d
VEBBU2O34
…
Relation Commande
cliRaisonSociale
Toto
Titi
GRRRR
cdeNum
1
24
345
cliZip
68000
67000
68750
cliVille
Colmar
Strasbourg
Bergheim
cdeDate
23/12/2005
01/01/2009
01/01/2009
cliadr1
Ici
La-bas
Quelque-part
cliNum
C1
C1
VEBBU2O34
Client(cliNum, cliRaisonSociale, cliadr1, cliZip, cliVille)
Clé primaire : cliNum
Commande(cdeNum, cdeDate, cliNum)
Clé primaire : cdeNum
Clé étrangère : cliNum référence cliNum dans client*
* officiellement, on devrait dire : "l'attribut clinum est en dépendance de référence avec
l'attribut cliNum de la table Client", mais je trouve que c'est un peu long.
Exemple :
C1
Toto
68000
Est un enregistrement de la relation Client.
1.5
Colmar
Ici
Privilèges (Droits d'accès)
Ces droit sont : création, interrogation, modification, suppression (CIMS).
Création permet de créer des enregistrements, des tables, des utilisateurs.
Interrogation permet d'extraire des enregistrements partiels ou entiers, d'afficher le
contenu de table, la structure des tables, la liste ou les droits des utilisateurs et
groupes.
Modification permet de modifier des valeurs, la structure de tables, les droits des
utilisateurs.
Suppression permet de supprimer des enregistrements, des champs, des tables, des
droits, des utilisateurs ou groupes.
Ils sont données hiérarchiquement selon :
Droits globaux sur la base
Droits globaux pour la catégorie d'utilisateur (adm, usr)
Droits de groupes puis de sous-groupes
Droits particuliers à un utilisateur.
Cependant, il vaut mieux ne pas multiplier les niveaux et les groupes de droits, afin de ne
pas risquer de maillage des droits :
Droit de création groupe interdit sur une table puis sous groupe autorisé sur une partie de
cette table. Donc en contradiction avec la règle du groupe …
Tentative de cession de privilèges refusés = erreur.
1.6
Exercices
♥=facile, ♦=moyen, ♠=difficile, ♣=expert, $=rusé, sioux, *=squelette de source fourni.
1.6.1
Exo droits ♥
Expliquez quels sont les risques de ne pas respecter la hiérarchisation d’attribution des
droits.
Proposez une solution simple pour pallier à cette difficulté.
1.6.2
Exo MCD ♥
L'entreprise de négoce ECOTECH désire informatiser la gestion de ses fournisseurs et de ses
clients ainsi que des commandes de produits qu'elle passe avec chacun des deux types de
tiers.
→
Déterminez combien de concepts complexes sont en présence.
E:\francois\education\2009-2010\ASUR\ASUR_2010 - contenu1.doc
Francois Kieffer
Page 3 sur 6
→
→
→
Faites la liste et le schéma des dépendances fonctionnelles entre ces concepts, en
ajoutant les données nécessaires.
Imaginez une série d'informations élémentaires pour chaque concept
Construisez un schéma conceptuel de cette organisation
1.6.3
Exo MCD ♥
L'entreprise ECOTECH désire modifier son mode de production et effectuer le
reconditionnement des produits vendus. Pour cela, elle s'est dotée de machines de
conditionnement. A cet effet, pour un article M, il est nécessaire d'ajouter un emballage E
pour en faire un produit fini F.
Dans certains cas l'article M pourra figurer en plusieurs exemplaires dans le produit F. Il est
même possible qu'un produit F soit le résultat de l'emballage de différents M en nombre
d'exemplaires multiples
Il est évident qu'un article emballage ne peut être vendu seul et qu'un article de type M non
plus
→
Complétez le modèle conceptuel (DD, GDF, SCD) de l'exercice précédent.
1.6.4
Exo MCD, MR ♦
L'entreprise PersoTECH gère un parc informatique et le personnel qui y accède. Dans cette
organisation, le réseau offre l'accès à une base de données sensible.
Il devient nécessaire de rationaliser cette gestion en mémorisant les information relatives
aux postes informatiques (n° du poste, n° de série, localisation – publique, production,
interne, labo informatique –, utilisateur habituel), aux utilisateurs (nom, prénom), aux
groupes ou sous groupes auxquels ils appartiennent et aux droits qui leurs sont conférés.
Il y a plusieurs possibilités de restrictions de l'accès aux données (/ex. : accès complet,
consultation complète, modification structurelle, modification des données, écriture
seulement, accès en consultation superficielle)
Les utilisateurs peuvent être regroupés en groupe d'utilisateurs. Chaque groupe appartient à
un groupe de niveau supérieur.
Il existe 3 groupes de plus haut niveau : "Administrateur", "gestionnaire" et "Utilisateur". Les
autres groupes sont toujours rattachés à un groupe de niveau supérieur.
Un groupe ne peut pas appartenir à lui-même.
Exemple :
Administrateur
Gestionnaire
Utilisateur
->
->
->
->
->
(aucun)
Sauvegarde
Architecte
Invité
Standard
->
Gestion
->
->
->
->
->
Std-Comptable
Std-Production
Ges-Achat
Ges-Comptable
Ges-Personnel
Chaque groupe définit un ensemble de droits.
Les règles de droit sont analysées dans l'ordre suivant :
droits de groupe et sous-groupes
droits particuliers de l'utilisateur
droits de la localisation du poste informatique
Les règles d'attribution des droits peuvent ajouter ou supprimer des droits.
Si un droit n'est pas nommément refusé ou offert, il est autorisé.
E:\francois\education\2009-2010\ASUR\ASUR_2010 - contenu1.doc
Francois Kieffer
Page 4 sur 6
On doit pouvoir parvenir à un résultat tel qu'un utilisateur qui possède peu de droits n'en
aura pas plus s'il se connecte sur le poste de l'administrateur. De même, l'administrateur
n'aura que peu de droits s'il se connecte sur un poste situé dans un espace public.
Toutes les personnes faisant partie d'un même groupe et n'ayant pas de modifications
particulières en fonction de leur qualification ou localisation auront les mêmes droits.
→
Construisez le modèle relationnel de la base de gestion des droits des utilisateurs.
1.6.5
Exo MCD, MR ♦
Un passionné de la bande dessinée de Tintin (tintinophile) désire mettre en ligne la liste des
jurons prononcés dans les albums de cette série de BD.
Pour cela, il relève les informations suivantes :
les titres, description et dates de 1ère parution des albums,
les nom, prénom, fonction, sexe et rôle (gentil ou non) de chaque personnage et
leur participation à l'un ou l'autre album,
les jurons ("noms" des jurons) ainsi que le personnage et la page où ils sont
prononcés dans un album,
les pays (nom du pays) où se déroulent chaque album.
Modélisez cette situation :
a) Relevez toutes les données nécessaires à cette gestion dans un dictionnaire des
données (DD) puis construisez le graphe des dépendances fonctionnelles (GDF).
b) Dessinez le schéma conceptuel des données,
c) Rédigez le schéma des relations (MR).
d) Vérifiez qu'il n'y ai aucune possibilité d'erreur dans le schéma
1.6.6
Exo MCD, MR ♦
En association à cette base, le collectionneur décide de vendre différents exemplaires de
chaque tome de Tintin.
Chaque album possède une cote. Cette cote dépend de l'année de réédition voire du n° de
réédition dans l’année.
Cette cote est attribuée par le vendeur en fonction de l’édition du livre.
Il est bien évident qu’un livre neuf n’a pas la même valeur de vente qu’un livre en état
moyen ou ayant des défauts ou dégradé. Selon les années, le prix de vente peut même
dépasser la cote si l’état est exceptionnel (livre ancien et neuf).
Le vendeur peut donc décider de vendre l’ouvrage à la cote ou à un autre prix, arbitraire.
Rédigez la nouvelle mouture ou les compléments au MR précédent.
1.6.7
Exo MCD, MR ♦
Vous êtes chargés de développer une application de gestion de pannes sur un parc
informatique. Lors d'un incident, on désire avoir des informations sur le matériel en jeu
(clavier, écran, imprimante, PC, logiciel, numéro interne, nom, numéro de série, marque,
modèle), sur sa localisation dans l’entreprise. L’auteur de la déclaration de panne indiquera
aussi son nom puis un titre succinct et une description plus longue du dysfonctionnement.
Lorsqu’une panne est traitée par un technicien, celui-ci indique son nom et déclare la panne
résolue (ou non). Auquel cas, de l’état "en cours", l'incident passe à l’état "résolue" ou en
attente si le traitement doit être long (plus d’une intervention ou prestataire externe).
Modélisez cette situation
2
Langage de requête : SQL
2.1
LID
2.2
LMD
2.3
LDD
E:\francois\education\2009-2010\ASUR\ASUR_2010 - contenu1.doc
Francois Kieffer
Page 5 sur 6
2.4
LCD
2.5
Exo
♥=facile, ♦=moyen, ♠=difficile, ♣=expert, $=rusé, sioux, *=squelette de source fourni.
2.5.1
Exo LID ♥ à ♣$
Rédigez les requêtes qui permettent de répondre aux questions suivantes :
Facile
a)
Année de réalisation de TINTIN au CONGO
b)
Prénom du Capitaine HADDOCK
c)
Liste des personnages féminins.
Un peu moins facile
a)
Dans quel(s) pays se déroule l’album ON A MARCHE SUR LA LUNE
b)
La Castafiore prononce t-elle des jurons ? (répondre combien)
c)
Nom des albums dans lesquels TINTIN voyage en Chine.
d)
Numéro(s) de(s) l'album(s) et N° de la (des) page(s) dans lequel on peut lire le
juron suivant : « REVOLUTIONNAIRE EN PEAU DE LAPIN »
e)
Liste des pays visités par le professeur TOURNESOL
f)
Nom et prénom des méchants dans l’album « LE LOTUS BLEU »
g)
Liste des jurons prononcés par MILOU
Difficile
a)
Milou accompagne-t-il TINTIN dans chaque aventure ?
b)
Dans quel album le capitaine HADDOCK fait-il son apparition ?
c)
Classement des personnages par nombre de jurons prononcés ?
2.5.2
Exo LDD ♥
a) Vous êtes chargé de construire la base de données Tintin. Rédigez les requêtes
nécessaires.
b) Il faut gérer le résumé dans la table Album et un commentaire, attaché à chaque
exemplaire.
2.5.3
Exo LMD ♥ ,♦
♦
Le tintinophile possède différents exemplaires des albums, de numéro d'édition variable.
Il souhaite pouvoir enregistrer ses exemplaires dans la base de données et, à l'aide d'une
requête, connaître la valeur cotée de sa collection.
Rédigez le MCD, le MR, les requêtes qui effectuent la modification de la structure de la base
de données.
Rédigez la requête qui permet d'enregistrer l'album 01 (Tintin au Congo) de l'édition n° 8
2.5.4
Exo SQL ♥ ,♦
♦
Reprenez l’exercice sur la gestion de pannes et rédigez les requêtes de création des tables et
des contraintes de références (clés étrangères).
Vous rédigerez aussi les requêtes qui répondent aux questions suivantes :
a) Listez toutes les pannes
b) Listez les pannes non résolues
c) Insérez la panne suivante :
d) Modifiez l’état de la panne XXX de l’état en cours à l’état résolu.
e) Listez et comptez les pannes similaires
f) Supprimez les pannes de plus d’un an
g) Supprimez les pannes du matériel n° XXX
h) Faites la liste des pannes qui ne dépendent pas d’un matériel
i) Listez les matériels qui sont sujet à plus de dix pannes
E:\francois\education\2009-2010\ASUR\ASUR_2010 - contenu1.doc
Francois Kieffer
Page 6 sur 6
Téléchargement