목록과 같은 계층적 데이터를 데이터베이스 열에 저장하는 것은 어려울 수 있습니다. 과일 목록이 포함된 FOO 객체를 저장하고 과일이 별도의 테이블에 저장되는 시나리오를 생각해 보겠습니다.
정규화된 관계형 데이터베이스에서는 목록을 직접 저장하지 않는 것이 좋습니다. 열에서. 이로 인해 데이터 무결성 문제가 발생하고 데이터를 효과적으로 유지 관리하고 쿼리하기가 어려워집니다. 대신 FOO 개체를 과일과 연결하는 접합 테이블을 만들어야 합니다.
데이터베이스 스키마 설계
다음 테이블을 만듭니다.
스키마 예:
CREATE TABLE FOO ( id int primary key not null, int1 int, int2 int, int3 int ); CREATE TABLE Fruits ( id int primary key not null, name varchar(30) ); CREATE TABLE FOOFruits ( FruitID int references Fruits (ID), FooID int references FOO(id), constraint pk_FooFruits primary key (FruitID, FooID) );
데이터 채우기
FOO 개체 목록에 과일을 추가하려면 개체 목록에 행을 삽입하세요. FOOFruits 테이블:
INSERT FOOFruits(FooID, FruitID) SELECT 5, ID FROM Fruits WHERE name = 'Apple';
정규화된 디자인의 장점
위 내용은 관계형 데이터베이스에 관련 데이터 목록을 어떻게 저장해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!