Mysql
 sql >> база данни >  >> RDS >> Mysql

Подходящ модел на база данни за система за обратна връзка от потребители (интересен случай)

Това е лош дизайн. Просто направете първичен ключ с 2 колони и външни ключове с 2 колони към него. Това е основен анти-модел, наречен "кодиране на информация в ключове", които (по този начин) се наричат ​​"интелигентни", "интелигентни" или "свързани" ключове. Добрият ключ е "тъп" ключ.

Напр.: :

Освен това няма нужда за да направите това.

Много СУБД позволяват "изчислени колони", чиито стойности се изчисляват автоматично от други колони. За да направите един първичен ключ или външен ключ, обикновено ще ви е нужен той да "постоянен", т.е. да заема памет като нормална колона срещу просто да се изчислява, когато е необходимо като изглед. MySQL ги няма, но 5.7.5 има някаква функционалност, където те се наричат ​​"генерирани колони", които могат да бъдат "съхранени". Но не правете това за PK или FK!

Действителният проблем с дизайна е обработката на подтипове на база данни/SQL/hierarchies/inheritance/polymorphism .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Highcharts многоредови графики

  2. Как да съхранявате .pdf файлове в MySQL като BLOB с помощта на PHP?

  3. Колоната не може да бъде нула Mysql

  4. Laravel 5.2 - Използвайте низ като персонализиран първичен ключ за Eloquent Table става 0

  5. Как да преброя уникалните посетители на моя сайт?