2012-11-29 2 views
3

집계 및 출 도착에서 판매 가격을 얻음으로써 집계가 생성되는 집계 테이블을 생성해야하는데, 이는 게시자의 비용 가격과 이윤/손실 테이블을 얻기 위해 빼는 것입니다.MySQL 기본 키 선언

위에서 언급 한 키를 참조하는 구문으로 집계 테이블을 어떻게 선언합니까? 이 테이블의 기본 키는 무엇이되어야합니까? 표에는 해당 도서 ID, 즉 해당 도서에서 가져온 입찰가와 손익을 표시해야합니다. 사용

코드 : 당신은 즉, 어떤 프로그램을하고 있다면 내가 믿는

CREATE TABLE BOOKSAVAILABLE( 
BID VARCHAR(5) PRIMARY KEY, 
     TITLE VARCHAR(50), 
     AUTHOR VARCHAR(40), 
     CATEGORY VARCHAR(40), 
     PRICE VARCHAR(10), 
     AVAILABLE VARCHAR(5) 
); 

CREATE TABLE NEWARRIVALS(
     BID VARCHAR(5) PRIMARY KEY, 
     TITLE VARCHAR(50), 
     AUTHOR VARCHAR(40), 
     CATEGORY VARCHAR(40), 
     PRICE VARCHAR(10), 
     AVAILABLE VARCHAR(10) 
); 

CREATE TABLE PUBLISHER( 
     PID VARCHAR(5), 
     BID VARCHAR(5), 
     PRIMARY KEY(PID,BID), 
     NAME VARCHAR(40), 
     CONTACT VARCHAR(10), 
     UNITS VARCHAR(40), 
     SOLDAT VARCHAR(10) 
); 
+0

Are n 도착 가능 여부 아니면 그들은 아직도 도착할 것입니까? –

+0

기본 키는 책 ID 여야합니다. –

+0

새로운 도착을 사용할 수 있습니다. – user1862100

답변

0

. PHP를 사용하면 MySql 디자인을보다 단순하게 변경할 수 있습니다. 특히 재고 및 이익 계산은 매우 간단합니다. 또한 게시자에게 공동 테이블을 사용할 수 있습니다. 이유는 무엇입니까? 현재 디자인으로 인해 게시자에게 중복 데이터가 발생하게됩니다. 한 발행인이 많은 책을 가질 수 있기 때문에 각 책의 각 발행인 필드에 발행인 이름, 주소를 저장할 필요가 없습니다. booksavailable에 날짜 열을 추가하는 것이 좋습니다.이 열은 신제품과 사용 가능한 서적을 쉽게 차별화 할 수있는 기회를 제공합니다. 그러면 booksavailable과 중복되는 newarrivals 테이블이 제거됩니다.

또한 ORDER라는 표를 추가하여 구매 한 항목을 구매할 수 있습니다. 책을 판매 한 금액에서 실제 책 가격만큼 손실/이익을 계산할 수 있습니다. 또한 외부 키 정의 기능을 제공하는 mysql에서 InnoDB 엔진을 사용하는 경우 각 테이블의 기본 키를 다른 이름으로 호출 할 필요가 없으며 ID는 모두 이름을 지정할 수 있습니다. 가격에 대한 모든 속성이 VARCHAR()가 INT 또는 BIGINT 수 shud 동안 모든 UR 테이블 어쨌든

mysql workbench diagram

0
CREATE TABLE TALLY( 
ID int PRIMARY KEY, 
BID VARCHAR(5) , 
PRICE_PROFIT_LOSS INT) 

..

은 또한에 좋은 : 나는 다음과 같은 종로 추천 BID, PID를 varchar() 대신 int로 선언하면 실제로 집계 계산은 기본적으로 계산이 필요하지 않으므로 집계 테이블이 필요하지 않습니다.하지만 U가 필요한 경우 위의 구조가 될 것입니다 .. 집계 테이블에 대한 PK는 다음과 같습니다. 실제로 자동 생성 된 ID입니다.