이것은 내 MySQL의 제품 테이블입니다.
CREATE TABLE IF NOT EXISTS `tbl_products` (
`productId` int(11) unsigned NOT NULL AUTO_INCREMENT,
`productSku` varchar(6) COLLATE utf8_bin NOT NULL,
`productName` varchar(75) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
`productDescription` text CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
`extraSpecification` text COLLATE utf8_bin,
`productPrice` decimal(10,2) NOT NULL DEFAULT '0.00',
`MRP` decimal(10,2) NOT NULL DEFAULT '0.00',
`productImage` varchar(300) COLLATE utf8_bin NOT NULL,
`pageTitle` varchar(75) COLLATE utf8_bin NOT NULL,
`productKeywords` varchar(250) COLLATE utf8_bin NOT NULL,
`metaDescription` varchar(250) COLLATE utf8_bin NOT NULL,
`dateAdded` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`addedBy` varchar(300) COLLATE utf8_bin NOT NULL,
PRIMARY KEY (`productId`),
UNIQUE KEY `productName` (`productName`),
FULLTEXT KEY `productName_2` (`productName`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=174 ;
제품 이미지 열이 있습니다.
`productImage` varchar(300) COLLATE utf8_bin NOT NULL,
제품 이미지 경로를 서버의 'data'폴더에 저장하고 정상적으로 작동합니다.
문제는 제품 당 3 개 이상의 이미지가 필요하다는 것입니다. 몇 가지 전자 상거래 데이터베이스 구조를 살펴본 결과 대부분이 제품 당 여러 이미지를 저장하기위한 다른 테이블 'product_images'를 가지고 있음을 깨달았습니다.
누군가 저에게 개념과 더 중요한 것은 다른 테이블을 함께 갖는 이점 과 어떻게 할 수 있는지 설명해 주시겠습니까?
동일한 테이블을 사용할 때의 단점은 모든 이미지에 대해 열이 필요하므로 최대 3 개의 이미지에 대해 3 개의 새 열을 생성 (또는 쉼표로 구분 된 목록 사용)하면 클라이언트가 4 개 또는 5 개의 이미지를 원한다고 말합니다. 원하는 이미지 수가 증가함에 따라 지속적으로 새 열을 추가해야합니다 (또는 기존 열의 길이를 늘려야합니다) ..... 별도의 테이블을 사용하면 데이터베이스 구조 나 코드를 추가로 변경하지 않고도 확장 할 수 있습니다 ( 초기 작업 후 지원)
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다