sql >> Databasteknik >  >> RDS >> Mysql

MySQL-design med dynamiskt antal fält

C) använd en normal form ; använd flera rader med lämpliga nycklar. ett exempel:

mysql> SELECT * FROM blah;
+----+-----+-----------+
| K  | grp | name      |
+----+-----+-----------+
|  1 |   1 | foo       |
|  2 |   1 | bar       |
|  3 |   2 | hydrogen  |
|  4 |   4 | dasher    |
|  5 |   2 | helium    |
|  6 |   2 | lithium   |
|  7 |   4 | dancer    |
|  8 |   3 | winken    |
|  9 |   4 | prancer   |
| 10 |   2 | beryllium |
| 11 |   1 | baz       |
| 12 |   3 | blinken   |
| 13 |   4 | vixen     |
| 14 |   1 | quux      |
| 15 |   4 | comet     |
| 16 |   2 | boron     |
| 17 |   4 | cupid     |
| 18 |   4 | donner    |
| 19 |   4 | blitzen   |
| 20 |   3 | nod       |
| 21 |   4 | rudolph   |
+----+-----+-----------+
21 rows in set (0.00 sec)

Det här är tabellen jag postade i den här andra frågan om group_concat . Du kommer att notera att det finns en unik nyckel K för varje rad. Det finns en annan nyckel grp som representerar varje kategori. Det återstående fältet representerar en kategorimedlem, och det kan finnas variabla antal av dessa per kategori.



  1. Hur får jag kolumnnamn från en given MySQL-tabell?

  2. Använd float eller decimal för redovisningsapplikation dollarbelopp?

  3. Hur man skapar en tabell i designvy i Access 2016

  4. Att utföra en sammanfogning över flera heterogena databaser, t.ex. PostgreSQL och MySQL