Как правильно связать две таблицы?
У меня есть две таблицы связанные отношением один-к-одному.

Я правильно понимаю, что при добавлении нового пользователя, я сначала должен добавить его в таблицу Authenticztion`, узнать под каким LoginId он добавился и лишь потом добавлять запись в таблицу Clients, где и укажу полученный LoginId?
Исправьте меня, пожалуйста, если я делаю что то не так или же можно сделать более разумно и правильнее.
Ответы (1 шт):
Автор решения: teran
→ Ссылка
в части связывания все верно, если имеет смысл разделение на 2 таблицы. В части самой таблицы, обратите внимание, на следующее
lastnameиsurnameэто синомнимы, обозначающие фамилию. и в целом это слово целиком, CamelCase тут ни к месту.- Также стоит обратить внимание на использование типа char, обычно это константная длина, чаще используют
varcharпеременной длины. - врядли есть какой-либо смысл хранить серию и номер паспорта в отдельных полях, то что первые 4 цифры у многих совпадают и обозначают серию не значит что их надо разделять при хранении, номер без серии смысла не имеет.
- обратите внимание на тип данных
smallint. Если серию паспорта вы в него еще впихаете, то ни номер паспорта ни номер телефона туда явно не поместятся. - Вообще номер телефона не стоит хранить числом. И в целом, подумайте, возможно потребуется хранить несколько номеров телефонов для каждого клиента, тогда потребуется связь один-ко-многим.
зы. добавление записей логин-клиент можете обернуть в транзакцию. также надо обеспечить уникальность значения поля login