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

дизайн на база данни, направете една таблица към няколко и някакъв вид рекурсивни указатели

Това е потенциално голяма схема на база данни, така че ще се съсредоточа само върху мускулно-скелетната система. Преди да навляза в това обаче, трябва да спомена важността на нормализирането на базата данни. Важно е! И то поради много причини. Най-вече, като проектирате добра, нормализирана база данни сега, вие си спестявате проблеми надолу по пътя, като същевременно гарантирате целостта и надеждността на вашите данни. Винаги дръжте в съзнанието си „Как ще се разрасне тази база данни“, „Ами ако трябва да добавя още системи или изгледи или модели на разпространение“ и т.н. Направете услуга на себе си, на работодателя си и прочетете. кратък преглед може да се прочете тук:http://databases.about.com/ od/specificproducts/a/normalization.htm

Към дизайна на базата данни:

Искате да запазите излишната колона и колони, които са подмножества на други колони, извън таблица и в нейна собствена. Например, погледнете вашата таблица с лимфни възли. Какво ще стане, ако след година разберете, че трябва да добавите още един лимфен възел? Или да премахнете един? Или какво, ако гледате само един възел от клиент? Вместо да го правите по вашия начин, завържете масата към по-голям обект (не съм лекар, така че не съм сигурен какъв е ансерът) като пациент или лимфна система. Или и двете. Пример:

Пациент има много системи (връзка едно към много между таблицата на пациента и таблицата със системите) Лимфната система има много органи (връзка едно към много между лимфната система и органите) Система или орган има много тестове (връзка едно към много между системи и тестове).

Пример:

Тази таблица трябва да съдържа само данни, отнасящи се до отделен пациент

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

TablePatient_TableSystems

Не можете да имате много към много връзки. Тази таблица решава това. Ако нямате това, ще трябва да поддържате излишни записи във всяка таблица за всеки пациент/система

Разрешава много към много за системи и органи

Сега за тестове. Тестовете специфични ли са за органи или системи? Или и двете? Този пример ще каже и двете

TableTest

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. OOP PHP PDO Моят първи проект, правилно ли правя?

  2. Как да поставите JSON в данни в колона, ако подзаявката върне повече от 1 ред в MySQL

  3. Зареждане на CSV файлове в MySQL Workbench

  4. Как да изпълним SQL команда с параметри в bash скрипт

  5. Най-добрият начин за справяне с проблемите с паралелността