Clés de substitution

Introduction aux bases de données relationnelles en SQL

Timo Grossenbacher

Data Journalist

Clés de substitution

  • Les clés primaires doivent être construites à partir d'un nombre de colonnes aussi réduit que possible
  • Les clés primaires ne devraient jamais être modifiées au fil du temps
Introduction aux bases de données relationnelles en SQL
     license_no     | serial_no |    make    |  model  | color
 -------------------+-----------+------------+---------+------
 Texas ABC-739      | A69352    | Ford       | Mustang | blue
 Florida TVP-347    | B43696    | Oldsmobile | Cutlass | black
 New York MPO-22    | X83554    | Oldsmobile | Delta   | silver
 California 432-TFY | C43742    | Mercedes   | 190-D   | champagne
 California RSK-629 | Y82935    | Toyota     | Camry   | red
 Texas RSK-629      | U028365   | Jaguar     | XJS     | blue
    make    |  model  | color
 -----------+---------+------
 Ford       | Mustang | blue
 Oldsmobile | Cutlass | black
 Oldsmobile | Delta   | silver
 Mercedes   | 190-D   | champagne
 Toyota     | Camry   | red
 Jaguar     | XJS     | blue
Introduction aux bases de données relationnelles en SQL

Ajout d'une clé de substitution avec un type de données séquentiel

ALTER TABLE cars
ADD COLUMN id serial PRIMARY KEY;

INSERT INTO cars VALUES ('Volkswagen', 'Blitz', 'black');
    make    |  model  | color       | id
  ----------+---------+-------------+-------------
 Ford       | Mustang | blue        | 1
 Oldsmobile | Cutlass | black       | 2
 Oldsmobile | Delta   | silver      | 3
 Mercedes   | 190-D   | champagne   | 4
 Toyota     | Camry   | red         | 5
 Jaguar     | XJS     | blue        | 6
 Volkswagen | Blitz   | black       | 7
Introduction aux bases de données relationnelles en SQL

Ajout d'une clé de substitution avec un type de données séquentiel (suite)

INSERT INTO cars
VALUES ('Opel', 'Astra', 'green', 1);
duplicate key value violates unique constraint "id_pkey"
DETAIL:  Key (id)=(1) already exists.
  • « id » identifie de manière unique les enregistrements dans la table, ce qui est utile pour les référencer.
Introduction aux bases de données relationnelles en SQL

Un autre type de clé de substitution

ALTER TABLE table_name
ADD COLUMN column_c varchar(256);

UPDATE table_name
SET column_c = CONCAT(column_a, column_b);

ALTER TABLE table_name ADD CONSTRAINT pk PRIMARY KEY (column_c);
Introduction aux bases de données relationnelles en SQL

Introduction aux bases de données relationnelles en SQL

Essayez !

Introduction aux bases de données relationnelles en SQL

Preparing Video For Download...