les-cours / approche-developpement / initiation-gestion-bdd

IFOSUP Wavre | Webdesign | Approche Développement - Bruno Martin | Initiation à la Gestion des Bases de Données

Télécharger la base de données pour les exercices 12.3.6 et 13.4

Création de la base de données

CREATE DATABASE bd_exosql DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

Création des tables

CREATE TABLE bd_exosql.t_ville_vil
(
    vil_cp INT(4) PRIMARY KEY,
    vil_nom VARCHAR(32) UNIQUE
) ENGINE=InnoDB; -- le moteur "MyISAM" ne gère pas les clés étrangères (FOREIGN KEY), il se contente d'ignorer la commande et n'indique pas la moindre erreur.
ALTER TABLE bd_exosql.t_ville_vil DROP INDEX vil_nom;

CREATE TABLE bd_exosql.t_contact_con
(
    con_id INT PRIMARY KEY AUTO_INCREMENT,
    con_nom VARCHAR(32) NOT NULL,
    con_prenom VARCHAR(32) NOT NULL,
    con_adr VARCHAR(32),
    con_num VARCHAR(8), -- D'après Google, en belgique le plus long numéro de rue est composé de 4 chiffres, le plus grand nombre d'appartements par immeuble est quant à lui composé de 3 chiffres et le boîte sera modifiée si nécessaire avant l'insertion dans la bdd pour n'utiliser qu'un seul caractère.
    con_cp INT(4),
    con_mobile CHAR(12) UNIQUE, -- Désirant avoir des entrées homogènes en formatant le numéro de mobile avant l'insertion dans la bdd, j'ai préféré utiliser un type "CHAR(12)".
    con_tel CHAR(11),
    con_email VARCHAR(255) UNIQUE,
    INDEX x_nom_con (con_nom(5)),
    INDEX x_prenom_con (con_prenom(3)),
    CONSTRAINT c_fk_cp_con FOREIGN KEY (con_cp) REFERENCES bd_exosql.t_ville_vil (vil_cp) ON UPDATE CASCADE
) ENGINE=InnoDB;
ALTER TABLE bd_exosql.t_contact_con DROP INDEX con_mobile;
ALTER TABLE bd_exosql.t_contact_con DROP INDEX con_email;

Insertion de données

INSERT INTO bd_exosql.t_ville_vil VALUES (1300, 'Wavre');
INSERT INTO bd_exosql.t_contact_con VALUES (0, 'AUBOISDORMANT', 'Abel', 'Rue des Arbres', 12, 1300, '0479/794513', '010/212121', 'auboisdormantabel@yahoo.fr');
INSERT INTO bd_exosql.t_contact_con VALUES (0, 'ZIEUVAIR', 'Bruno', 'Clos de l''Armoise', 1323, 1300, '0479/784513', '010/212122', 'zieuvairbruno@yahoo.fr');