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');