Chei și superchei

Introducere în baze de date relaționale în SQL

Timo Grossenbacher

Data Journalist

Modelul actual al bazei de date

Introducere în baze de date relaționale în SQL

Modelul bazei de date cu chei primare

Introducere în baze de date relaționale în SQL

Ce este o cheie?

  • Atribut(e) care identifică unic o înregistrare
  • Cât timp pot fi eliminate atribute: supercheie
  • Dacă nu mai pot fi eliminate atribute: supercheie minimală sau cheie
Introducere în baze de date relaționale în 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

Adaptat după Elmasri, Navathe (2011): Fundamentals of Database Systems, ed. a 6-a, Pearson

Introducere în baze de date relaționale în 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 până la K3 conțin un singur atribut
  • Eliminarea „make" sau „year" din K4 ar genera duplicate
  • O singură cheie candidată poate fi cheia aleasă
Introducere în baze de date relaționale în SQL

Să descoperim câteva chei!

Introducere în baze de date relaționale în SQL

Preparing Video For Download...