BonBonSlick
@BonBonSlick
Vanilla Full Stack Web Architector

Что дает Primary Key?

Для чего PrimaryKey если там у нас уникальное поле Uuid?
Что это даст?

Потому что не вижу смысла делать поле primary_key для каждой сущности.
https://en.wikipedia.org/wiki/Primary_key

From Wikipedia, the free encyclopedia
In the relational model of databases, a primary key is a specific choice of a minimal set of attributes (columns) that uniquely specify a tuple (row) in a relation (table).[a] Informally, a primary key is "which attributes identify a record", and in simple cases are simply a single attribute: a unique id....

Но поле уже required + unique. Так нужны ли нам primary Key?
  • Вопрос задан
  • 111 просмотров
Пригласить эксперта
Ответы на вопрос 2
@sidni
а как же, реляционные связи, триггеры (CASCADE STRICT), автоинкрементные поля и тд
одно дело что лично вы их не используете, а у многих вся логика на этом построена, на обычном уникальном поле далеко не уедешь в нормальной реляционной бд
Ответ написан
@Draconian
Oracle Developer
Как у вас по ссылке и написано, PK - это атрибут(ы), по которым можно однозначно идентифицировать запись, но при этом уникальный и обязательный атрибут - не обязательно первичный ключ. Обязательность и уникальность идентична первичному ключу на техническом уровне, но на уровне логики БД (которая должна отражать логику предметной области) это может быть не так.
Кроме того, назначая первичные и внешние ключи, вы помогаете оптимизатору с созданием более оптимального плана выполнения запроса, можете потом пользоваться каскадными удалениями и т.п.

P.S. чувак в видео действительно забавный, бизнесу вообще наплевать на нормальные формы, но это не значит, что это плохая идея их применять только потому, что вы используете ORM в приложении. Можно вообще хранить записи в одном поле, разделяя значения атрибутов запятой, и всё будет работать неплохо...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы
17 авг. 2018, в 17:10
15000 руб./за проект
17 авг. 2018, в 16:58
60000 руб./за проект
17 авг. 2018, в 16:55
10000 руб./за проект