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

Разширяване на класове в базата данни

Силно препоръчвам да разгледате Наследяване на таблицата на класа модел, както е дефиниран от Мартин Фаулър.

Този модел на проектиране създава една таблица, която съдържа данните, които са общи за всички сгради например и след това изисква отделна таблица за всички данни, които са свързани с конкретен тип сграда. Едно нещо, което намирам за полезно, е да съхраните поле „тип“ в родителската таблица, така че да знаете какъв тип обект имате, без да се налага да търсите в дъщерните таблици за съответните записи.

Бих препоръчал, освен ако нямате много конкретна, добре дефинирана причина да използвате дизайн на обект-атрибут, да го избягвате. От една страна става невъзможно при използване на този тип дизайн да се възползвате от ограниченията на базата данни, за да контролирате какви входове са необходими и какви типове стойности са разрешени. От друга страна, това драстично ще забави всички заявки, които трябва да изтеглят данни от тези типове полета, тъй като данните, съхранявани в тези полета, не могат да бъдат индексирани, както обикновено.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Изгледът на MySQL по-бърз ли е от нормалната заявка?

  2. Подход на Ajax за попълване на второ динамично падащо меню въз основа на избора в първия

  3. Пресичане на диапазона от време в SQL

  4. Има ли SQL техника за подреждане чрез съвпадение на множество критерии?

  5. Защо промяната от utf8 на utf8mb4 забави моята база данни?