2012-04-07 2 views
1

특정 문제에 대한 데이터베이스 모델과 관련된 더 많은 질문. 문제는 다음과 같습니다 :SQL 데이터베이스 테이블로 변수 세트의 양

고정 된 테이블에서 행을 구성하는 개체가 여러 개 있습니다. 물론 모든 개체가 다릅니다. 이 저장된 오브젝트의 가변 양을 포함하는 세트를 작성하려고합니다. 이러한 집합은 사용자 정의되므로 하드 코딩이 필요하지 않습니다. 각 세트는 숫자로 특징 지어 질 것입니다.

내 질문은 : 당신이 경험할 수있는 조언은 SQL 프로그래머가 그러한 기능을 구현하도록 제공합니다. 필자의 가장 직접적인 접근 방식은 테이블 변수 나 임시 테이블을 사용하여 각 세트에 대한 테이블을 만드는 것입니다. 마지막으로, 세트의 이름을 포함하는 이미 존재하는 테이블 (사용자가 현재 데이터베이스에 어떤 세트가 있는지 알 수있는 방법).

효율적이지 않은 경우이를 해결하기 위해 어떤 방향으로보고 있습니까?

감사합니다.

답변

1

테이블 변수와 임시 테이블은 수명이 짧고 범위가 좁으며 사용하고자하는 것이 아닙니다. 각 세트에 대한 하나의 표는 제가 선택한 해결책이 아닙니다.

소리가 나면 3 개의 테이블이 필요합니다. 하나는 객체를위한 것이고 하나는 집합을위한 것이고 다른 하나는 객체와 집합 간의 관계를위한 것입니다.

이와 비슷한 것 (테이블을 설명하기 위해 SQL Server 구문 사용). enter image description here

: 꽤 픽처로서 m 관계 : 여기
create table [Object] 
(
    ObjectID int identity primary key, 
    Name varchar(50) 
    -- more columns here necessary for your object. 
) 

go 

create table [Set] 
(
    SetID int identity primary key, 
    Name varchar(50) 
) 

go 

create table [SetObject] 
(
    SetID int references [Object](ObjectID), 
    ObjectID int references [Set](SetID), 
    primary key (SetID, ObjectID) 
) 

는 m이고