Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

SQL Cách tách một cột thành nhiều cột biến

Việc chia dữ liệu này thành các cột riêng biệt là một khởi đầu rất tốt (các giá trị được phân tách theo kiểu hôn mê là một dị giáo). Tuy nhiên, "số lượng thuộc tính có thể thay đổi" thường phải được mô hình hóa dưới dạng một-to- nhiều mối quan hệ .

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 là một khóa ngoại tới main_entity.id .

Xin chúc mừng, bạn đang đi đúng hướng, điều này được gọi là chuẩn hóa . Bạn sắp đạt đến Biểu mẫu thông thường đầu tiên.

Tuy nhiên, theo Beweare, các thuộc tính này phải có bản chất tương tự nhau (ví dụ:tất cả số điện thoại hoặc địa chỉ, v.v.). Đừng rơi vào mặt tối (còn gọi là Chống mẫu thực thể-thuộc tính-giá trị ), và bị cám dỗ để ném tất cả các thuộc tính vào cùng một bảng. Nếu bạn có thể xác định một số loại thuộc tính, hãy lưu trữ mỗi loại trong một bảng riêng biệt.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hiệu suất máy chủ được liên kết SQL Server

  2. 2 Cách Kiểm tra xem Truy cập Dữ liệu có được Bật trong SQL Server hay không (Ví dụ T-SQL)

  3. So sánh kỹ thuật:Microsoft Access 2016 và SQL Server 2016

  4. Chọn / Chèn phiên bản Nâng cấp:có mẫu thiết kế cho tính đồng thời cao không?

  5. Làm cách nào để sử dụng hàm CONCAT trong SQL Server 2008 R2?