Ключі та суперключі

Вступ до реляційних баз даних у SQL

Timo Grossenbacher

Data Journalist

Поточна модель бази даних

Вступ до реляційних баз даних у SQL

Модель бази даних із первинними ключами

Вступ до реляційних баз даних у SQL

Що таке ключ?

  • Атрибут(и), що однозначно ідентифікують запис
  • Поки з набору можна прибрати атрибути — це суперключ
  • Якщо більше нічого не можна прибрати: мінімальний суперключ або ключ
Вступ до реляційних баз даних у 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

Адаптовано з Elmasri, Navathe (2011): Fundamentals of Database Systems, 6th Ed., Pearson

Вступ до реляційних баз даних у 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 містять лише один атрибут
  • Якщо прибрати «make» або «year» з K4, з'являться дублікати
  • Лише один кандидатний ключ може бути обраним ключем
Вступ до реляційних баз даних у SQL

Знайдімо кілька ключів!

Вступ до реляційних баз даних у SQL

Preparing Video For Download...