2015-09-10 4 views
0

Я использую реляционную базу данных, которая содержит две таблицы:Как избежать дубликатов в базе данных?

PASSWORD: 
    id (primary key) 
    idEquipment (Foreign key) 
    password (varchar) 

EQUIPMENT : 
    id (primary key and REFERENCES) 
    type (varchar) 
    model (varchar) 

Вопрос заключается в том, чтобы избежать дублей пароля в таблице PASSWORD, потому что многие оборудования имеют одинаковое значение пароля?

Спасибо за ваши ответы.

+2

уникальный! Но почему запретить дубликаты - это действительно целостность? – jarlh

+2

Пожалуйста, не храните пароли в текстовом виде. Кроме того, что имеет значение, два пароля одинаковы? Я не знаю вашего варианта использования, но совершенно точно, что для двух пользователей есть один и тот же пароль в системе, поскольку для их идентификации обычно используется другая информация (например, имя пользователя или адрес электронной почты). –

+0

Этот вариант использования предназначен для хранения паролей для оборудования, которым они управляют, то есть диспетчера паролей. Таким образом, хранение этого открытого текста не является концом мира, пока они обеспечивают доступ к db - я согласен, было бы лучше с некоторой схемой шифрования, но не обязательно. Также стоит упомянуть о совместном использовании двух паролей. –

ответ

0

Unique будет решением для вас

PASSWORD: 
    id (primary key) 
    idEquipment (Foreign key) 
    password (varchar) UNIQUE 

EQUIPMENT : 
    id (primary key and REFERENCES) 
    type (varchar) 
    model (varchar) 
Смежные вопросы