Cours MySQL

Cours MySQL Mise en œuvre, configuration et administration pdf


Télécharger Cours MySQL Mise en œuvre, configuration et administration pdf

★★★★★★★★★★2 étoiles sur 5 basé sur 1 votes.
Votez ce document:

Télécharger aussi :


Cours MySQL Mise en œuvre, configuration et administration pdf

...

Base de données ?

Base de données ?

  • BD présentes :

○ dans tous les domaines professionnels (gestion de salariés, gestion de production, commerce, transports, santé…)

○ personnels (carnet d'adresses, agenda, recherche d'horaires…)

  • BD : un des grands domaines de l'informatique
  • BD accessible par un logiciel (SGBD)

Qualités d’une BDD

  • Données non redondantes
  • Données cohérentes
  • Consultable et modifiable aisément
  • Fort degré d'indépendance entre données et matériel
  • Fort degré d'indépendance entre données et programmes SGBD

SGBD : Système de Gestion de Bases de Données = DBMS : Data Base Management System

SGBD

  • Ensemble de services permettant de gérer des bases de données :

○ décrire et modifier la structure des données

○ manipuler les données : insérer, modifier, supprimer

○ consulter les données de façon simple (requête)

○ assurer sécurité, confidentialité (authentification), intégrité, cohérence

○ permettre des accès simultanés (multi-utilisateurs)

  • Exemples :

○ MySQL (Open Source, pour tous systèmes)

○ PostgreSQL (Open Source, université de Berkeley )

○ Oracle

○ DB2 (IBM)

○ Access (Microsoft)

○ SQL Server (Microsoft)

A propos de MySQL

  • SGBDR Open Source pour réseau
  • Dernière parue : version 5 (5.5.21 en février 2012)
  • Format MyISAM (data .MYD, index .MYI, structure .FRM)
  • Systèmes Linux, Unix, Windows, Mac OS X…
  • Interface d'administration la plus connue : phpMyAdmin

A propos de MySQL (suite)

  • Taille max. de table: 8 millions de téraoctets
  • Souvent utilisé comme SGBD pour faire des sites web dynamiques
  • Fait partie du LAMP (Linux, Apache, MySQL, PHP)

Environnement de travail

MySQL Workbench

SGBD : 3 niveaux d’abstraction

  • Architecture ANSI/SPARC
  • Niveau interne ou physique (support)

○ structure d'implantation des données sur le support

○ stockage/structure des fichiers, accès aux données

  • Niveau conceptuel et logique (modèle)

○ structure de l'information dans le contexte

○ modélisation des données

○ indépendant de la technique de stockage

■ ex : MCD (Modèle Conceptuel des Données)

■ MLD (Modèle Logique des données)

■ Modèle Orienté Objet

  • Niveau externe (utilisateurs)

○ Schéma externe (ou vue)

de chaque type d'utilisateur

○ accessible par une application



BD

Niveau physique

Niveau conceptuel et logique

Vue application

Vue application application

Historique des modèles de BD

  • BD basées sur les modèles d'accès

○ Modèle hiérarchique (1965)

○ Modèle réseau (Codasyl 1971)

  • BD 2e génération

○ Modèle relationnel (Codd 1970)

  • BD 3è génération

○ Modèle déductif

○ Modèle objet (OMG 1991)

○ Multidimensionnelles

○ Semi-structurée (XML…)

Modèle hiérarchique

  • Premier modèle de SGBD
  • Données classées hiérarchiquement
  • Arborescence descendante
  • Pointeurs entre les différents enregistrements

Modèle réseau

  • Proche du modèle hiérarchique
  • Pointeurs entre les différents enregistrements
  • Structure pas forcément descendante, référence cyclique possible

Modèle relationnel

  • Utilisé par les SGBDR (Système de Gestion de BD Relationnelles)
  • Représentation par tableaux à 2 dimensions : lignes et colonnes
  • Tableau = Table = Relation
  • Données manipulées selon la théorie mathématique des relations.
  • Une base de données comporte une ou plusieurs tables.
  • Lien entre tables par concept de clé : une clé étrangère se réfère à une clé primaire

Modèle déductif

  • Proche du modèle relationnel
  • Données enregistrées dans des tableaux (ou tables) à deux dimensions (lignes et colonnes)
  • Manipulation des données par calcul de prédicats

Modèle objet

  • SGBDO : Système de gestion de BD objet
  • Données stockées sous forme d'objets
  • Structures appelées classes présentant des données membres.
  • Les champs sont des instances de ces classes

Table (ou relation)

Ensemble d'enregistrements structurés par champs (=colonnes).

-> L'ordre des colonnes et des lignes de la table n'a pas importance.

nom prenom date_n

Dupont René

Durand Paul 1990-12-31

Martin Paul 1990-12-30

… … …

Colonne = Champ = Attribut = Propriété = Caractéristique

Ligne = Objet = N-uplet = Tuple = Enregistrement = Occurrence

Donnée = valeur de l'attribut

prise dans un domaine de valeurs

Domaine = ensemble de valeurs

possibles d'un champ

Exemple : Table ETUDIANT

nom prenom date_n

Dupont René

Durand Paul 1990-12-31

Martin Paul 1990-12-30

George Rémi

Notion d’algèbre relationnelle

Projection : sélection de colonnes



Restriction (ou Sélection) : sélection de lignes

Application pratique de l'algèbre relationnelle : le SQL

Schéma d’une relation

  • Schéma en extension

○ état de la table, exprimé sous forme tabulaire (tableau)

○ comporte un exemple de données à un instant t

  • Schéma en intention (ou compréhension)

○ exemple : Etudiant (num, nom, prenom, date_n)

○ exprimé de manière générale sous la forme :

■ nomTable (nomChamp1, nomChamp2, nomChamp3,…)

num nom prenom date_n

00111 Dupont René

00112 Durand Paul 1990-12-31

00113 Martin Paul 1990-12-30

Schéma relationnel d’une BD

  • Ensemble des schémas des relations de la

base de données

  • Exemple très simplifié de gestion de garage

○ CLIENTS (numC, nomC, prenomC, adresseC)

○ SALARIE (numS, nomS, prenomS, adresseS, dateNaissS)

○ VOITURE (numV, marqueV, modeleV, numC)

○ REPARATION (numR, dateArriveeR, numV)

○ REPARER (numS, numR, nbHeuresTravail)

Clé primaire

  • Identificateur d'un enregistrement de la table

○ permet de différencier 2 enregistrements d'une table

  • Naturel ou artificiel (code, numéro incrémenté automatiquement)
  • Choix parfois entre plusieurs clés (clés candidates)
  • Clé simple (un seul attribut) ou clé composée/multiple/concaténée (plusieurs attributs)
  • doit être stable dans le temps
  • souvent représenté en soulignant le ou les attributs
  • contrainte d'unicité (ou contrainte d'entité) quand un attribut doit avoir une valeur unique dans la table

num NIR Login nom prenom date_n

00001 1630706054781 rdupont Dupont René

00002 1801277013111 pdurand Durand Paul 1990-12-31

00003 1801275012141 pmarti01 Martin Paul 1990-12-30

00004 1801275012142 pmarti02 Martin Pierre 1990-12-30

Aspects juridiques

  • Numéro d'Inscription au Répertoire national d'identification
  • Site de la CNIL : www.cnil.fr

" L'enregistrement du numéro de sécurité sociale dans les fichiers de paie et de gestion du personnel n’est autorisé que pour :

- l’établissement des bulletins de paie et des différentes déclarations sociales obligatoires

- la tenue des comptes d’épargne salariale "

" Le numéro de sécurité sociale d’un employé ne peut donc pas être utilisé comme numéro de matricule unique pour l’identifier dans tous les fichiers de gestion des ressources humaines de son entreprise ou de son administration ".

Conception d’une BD

  • Conception (structure de la base de données)

○ Établir la liste des champs et leur type (dictionnaire de données)

○ Définir les tables et les liens entre tables (clés)

  • Implémentation

○ Créer la base de données à l'aide du SGBD

○ Créer les tables (structure de colonnes, vides au début) à partir du dictionnaire de données

Conception d’une BD



  • Test (jeu d'essai)

○ Insérer les enregistrements (ensemble de données)

○ Modifier les enregistrements, en supprimer

○ Interroger la base de données (sélectionner, afficher, imprimer...)

...

Conseil pour nommer

  • Ex : nom_etud, nom_etudiant, nomE, nomEtud, nomEtudiant
  • Utiliser les lettres de A à Z et les chiffres de 0 à 9 et _
  • On peut utiliser la notation "Dromadaire" avec lettres maj/min
  • Eviter les espaces, accents, cédilles, ponctuation… (migration)
  • Préférer le trait de soulignement _ (underscore) au trait d'union - (pris pour

un signe de soustraction)

  • On peut préfixer / suffixer les noms des éléments d'une BD

○ base de données : BD_ (ex: BD_GEST_ZOO)

○ table : T_ (ex : T_ANIMAL)

  • Eviter les mots-clés du SQL (sinon à utiliser entre guillemets, ce qui est fastidieux)

MAX, MIN

MINUTE

MODULE

NATIONAL

USAGE

USER

SCHEMA

SECTION

ACTION

DATE

ISOLATION

LOCAL

MATCH

SESSION

SITE

TYPE

ZONE

Les types de données

  • Chaque champ est caractérisé par un type de données.

○ prénom : chaîne de n caractères maximum

○ prix : nombre décimal

○ ordre d'arrivée à une course : nombre entier

○ date de naissance : date

○ titre de livre : chaîne de n caractères maximum

  • Le type de données doit permettre de stocker toutes les données du champ, quel que soit les enregistrements à venir.

○ prénom : Luc ; Anne ; Jean-Christophe ; …

○ prix : 0 ; 1 ; 1.50 ; 99.99 ; ...

○ titre : PHP pour les nuls ; 1984 ; C++ ; ...

Les différents types de données

  • Texte

○ Chaine de caractère, textes longs

  • Numérique

○ Entier, flotants

○ Attention aux valeurs approchées

  • Date

○ Heure, Date, Mois …

  • Enumérations

○ Homme-Femme, Pique-Carreau-Coeur-Trefle...



716