sql >> Databáze >  >> RDS >> Sqlserver

SQL Jak rozdělit jeden sloupec do více proměnných sloupců

Rozdělení těchto dat do samostatných sloupců je velmi dobrý začátek (hodnoty oddělené čárkou jsou kacířství). „Proměnný počet vlastností“ by však měl být typicky modelován jako jeden-to- mnoho vztahů .

CREATE TABLE main_entity (
  id INT PRIMARY KEY,
  other_fields INT
);

CREATE TABLE entity_properties (
  main_entity_id INT PRIMARY KEY,
  property_value INT,
  FOREIGN KEY (main_entity_id) REFERENCES main_entity(id)
);

entity_properties.main_entity_id je cizí klíč na main_entity.id .

Gratulujeme, jste na správné cestě, tomu se říká normalizace . Chystáte se přejít na První normální formulář.

Pozor, tyto vlastnosti by však měly mít rozumně podobný charakter (tj. všechna telefonní čísla, adresy atd.). Nespadněte na temnou stranu (aka Anti-vzor Entity-Atribute-Value ) a budete v pokušení hodit všechny vlastnosti do stejné tabulky. Pokud můžete identifikovat několik typů atributů, uložte každý typ do samostatné tabulky.



  1. Chyba ETIMEDOUT při dotazování na databázi mysql

  2. Relační vs nerelační databáze – 2. část

  3. Chyba poblíž „DELIMITER $$“

  4. Vytvořte tabulku v MySQL