Я создаю новую базу данных и имею дилемму: у меня есть таблица авторов. Мои требования заключаются в том, что они должны содержать столбцы firstName и lastName, и я не должен допускать, чтобы два автора имели одно имя firstName и lastName.SQL: строка PK (возможно, композитная) или auto_number искусственная ПК с уникальным ограничением?
Моей первой идеей было сделать firstName и lastName составной pk, и все!
Но, я привяжу эту таблицу к другим таблицам, чтобы облегчить мне жизнь, хотя я использую int auto_increment PK и создаю составной UC firstName и lasteName.
Мой вопрос обычно: допустим, у меня есть стол для людей, и я могу использовать SSN как ПК. Если я привяжу эту таблицу к n таблицам, дублирующими значение SSN в дочерних таблицах, может потреблять больше памяти, чем использование int auto_increment PK и создание UC столбца SSN?
Какой подход лучше, и когда использовать что?
С наилучшими пожеланиями,
Но в примере SSN? Я имею в виду, когда у меня есть только одна компиляция, я могу пойти с тем, чтобы сделать SSN PK правильным? – adragomir
SSN - номер социального страхования, не так ли? –
Если это так, даже если SSN уникален и не может иметь дубликатов, лучше иметь отдельный столбец идентификатора. Я знаю, что они научили меня в школе, использовать уникальный столбец, такой как SSN, как ПК, но это плохо для производительности. –