sql >> Database teknologi >  >> RDS >> Sqlserver

SQL Sådan opdeles en kolonne i flere variable kolonner

At opdele disse data i separate kolonner er en meget god start (coma-separerede værdier er kætteri). Et "variabelt antal ejendomme" bør dog typisk modelleres som en one-to- mange forhold .

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 er en fremmednøgle til main_entity.id .

Tillykke, du er på rette vej, dette kaldes normalisering . Du er ved at nå den Første Normalform.

Vær dog opmærksom på, at disse egenskaber bør have en fornuftigt lignende karakter (dvs. alle telefonnumre eller adresser osv.). Må ikke falde ind i den mørke side (alias Entity-Attribute-Value anti-mønster ), og blive fristet til at smide alle egenskaber i samme tabel. Hvis du kan identificere flere typer attributter, skal du gemme hver type i en separat tabel.



  1. Hibernate kunne ikke hente SequenceInformation fra databasen

  2. Sådan indsætter og henter du data fra en tabel til en anden tabel i mysql-databasen

  3. Nulstil PostgreSQL primærnøgle til 1

  4. T-SQL Sådan tildeler du en rolle til brugeren