Clés et superclés

Introduction aux bases de données relationnelles en SQL

Timo Grossenbacher

Data Journalist

Modèle de base de données actuel

Introduction aux bases de données relationnelles en SQL

Modèle avec clés primaires

Introduction aux bases de données relationnelles en SQL

Qu'est‑ce qu'une clé ?

  • Attribut(s) qui identifient un enregistrement de façon unique
  • Tant qu'on peut retirer des attributs : superclé
  • Si on ne peut plus en retirer : superclé minimale ou clé
Introduction aux bases de données relationnelles en SQL
     license_no     | serial_no |    make    |  model  | year
 -------------------+-----------+------------+---------+------
 Texas ABC-739      | A69352    | Ford       | Mustang |    2
 Florida TVP-347    | B43696    | Oldsmobile | Cutlass |    5
 New York MPO-22    | X83554    | Oldsmobile | Delta   |    1
 California 432-TFY | C43742    | Mercedes   | 190-D   |   99
 California RSK-629 | Y82935    | Toyota     | Camry   |    4
 Texas RSK-629      | U028365   | Jaguar     | XJS     |    4

SK1 = {license_no, serial_no, make, model, year}

SK2 = {license_no, serial_no, make, model}

SK3 = {make, model, year}, SK4 = {license_no, serial_no}, SKi, ..., SKn

Adapté de Elmasri, Navathe (2011) : Fundamentals of Database Systems, 6e éd., Pearson

Introduction aux bases de données relationnelles en SQL
     license_no     | serial_no |    make    |  model  | year
 -------------------+-----------+------------+---------+------
 Texas ABC-739      | A69352    | Ford       | Mustang |    2
 Florida TVP-347    | B43696    | Oldsmobile | Cutlass |    5
 New York MPO-22    | X83554    | Oldsmobile | Delta   |    1
 California 432-TFY | C43742    | Mercedes   | 190-D   |   99
 California RSK-629 | Y82935    | Toyota     | Camry   |    4
 Texas RSK-629      | U028365   | Jaguar     | XJS     |    4

K1 = {license_no}; K2 = {serial_no}; K3 = {model}; K4 = {make, year}

  • K1 à K3 ne contiennent qu'un attribut
  • Retirer « make » ou « year » de K4 créerait des doublons
  • Une seule clé candidate peut être la clé choisie
Introduction aux bases de données relationnelles en SQL

Découvrons des clés !

Introduction aux bases de données relationnelles en SQL

Preparing Video For Download...