Structures de stockage BASE TABLE CHAMP Type de données Imprimer diapo 2 et 4
POUR CRÉER UNE BD CREATE DATABASE Epicerie; CREATE DATABASE NomBase; Exemple CREATE DATABASE Epicerie; Syntaxe générale CREATE DATABASE NomBase;
POUR CRÉER UNE TABLE CREATE TABLE produit PRODUIT (RefProd, NomProd, prix, qte, dateAchat) Exemple CREATE TABLE produit ( RefProd VARCHAR(10) NOT NULL, NomProd VARCHAR(30) NOT NULL, Prix DECIMAL(5,2), Qte INTEGER, dateAchat DATE ); CARACTERE OBLIGATOIRE CHAMP TYPE DE DONNEE
POUR CRÉER UNE TABLE CREATE TABLE NomTable Syntaxe générale CREATE TABLE NomTable ( NomChamp1 type [NOT NULL | NULL], NomChamp2 type [NOT NULL | NULL],. . . NomChampN type [NOT NULL | NULL] )
POUR SUPPRIMER UNE TABLE Syntaxe générale DROP TABLE NomTable ;
POUR MODIFIER UNE TABLE ALTER TABLE NomTable Suivi de : Modifier un champ CHANGE NomChamp type [NOT NULL | NULL], Ajouter un champ ADD NomChamp type [NOT NULL | NULL], Supprimer un champ DROP NomChamp
NOT NULL : la valeur doit obligatoirement être renseignée NULL/NOT NULL NOT NULL : la valeur doit obligatoirement être renseignée NULL : valeur facultative Exemple ?
Familles de type de données Numériques Entier Décimaux Réels / flottants Chaines de caractères Dates Autres Booléen : vrai/faux BLOB (Binary Large Object) : image, son, vidéo Texte
Importance du type de données Assure le stockage Exerce un 1er contrôle sur les données ex : une date
Les types de données sur MySQL Entier Stockage de 0 et de 1 (1 bit) Principe : système binaire
Compter en base 2
Les types de données sur MySQL Entier 1 octet 8 bits 1 nombre 00000000 = 0 Plus petit possible 00000101 = 5 … 11111111 = 255 Plus grand possible binaire décimal Plus il y a d’octets, plus le nombre est grand
Valeur 0 au signe + Valeur 1 au signe – Le signe Signe sur l’octet de poids fort (8ème position) 1 octet 1 bit signe + 7 bits 1 nombre 1 0000000 = -128 Plus petit possible 1 0000010 = -5 0 0000000 = 0 0 0000101 = +5 0 1111111 = +127 Plus grand possible binaire décimal Complément à 2
Les types de données sur MySQL Chaîne de caractères : jusqu’à 255 1 caractère alphanumérique 0 9 A Z a z ponctuation : ; : ! % - _ etc Stockage une référence : la table ASCII A 65 01000001 a 97 5 53
Reconnaitre un entier/un caractère En mémoire 01000001 Champ CHAR(1) A Champ TINYINT 65 L’utilisateur tape 5 En mémoire 5 00000101 L’utilisateur tape ‘5’ En mémoire 53 00110101
Les types de données sur MySQL Autre numérique Décimal Stockage signe + caractère + virgule DECIMAL (5, 2) -999.99 à 9999.99 (bit de signe occupé) Réel Stockage signe + exposant + mantisse - 300000 - 5 3
Les types de données sur MySQL DATE Nombre de jours depuis une date de référence Impact sur les opérations Date + NbJour date Date1 – Date2 nombre de jours
Les types de données sur MySQL Adapter le type de données au contenu du champ ex : prix code postal numéro de téléphone Contrôle de saisie réalisé par le SGDB
Choisir un type de donnée Demander aux futurs utilisateurs des exemples des données à stocker Valeurs numériques : quelle unité utiliser ? Chaine de caractère ou numérique ? Quels calculs sur le champ ? Les 0 devant doivent-ils apparaitre ?