2011-12-19 2 views
0

저는 데이터베이스를 처음 사용합니다. 총 4 개의 테이블이 있습니다. 사용자가 Facebook에 로그온하면 3 개의 테이블이 자동으로 채워집니다. 기본 테이블의 값이 네 번째 테이블에 채워지도록 테이블의 양식을 원합니다. 어떻게해야합니까? 곧 도움이 필요합니다!여러 테이블의 값을 다른 테이블에 삽입하는 방법은 무엇입니까?

table:attributes 
fb_user : fb_uid, birhtday, gender, email. 
company_master : com_id, com_name. 
position_master : pos_id, pos_name. 

그리고 4 번째 테이블은 다음과 같이 간다 :

는이 테이블을 보면 어떻게

[table]:[attributes] 
work_history : work_id, fb_uid, com_id, pos_id. 

fb_uid, pos_idcom_id가 기본 키입니다.

적은 데이터베이스 작업으로 어떻게 수행합니까? 최적화를 위해 트리거를 사용할 방법이 있습니까?

답변

0

먼저 어떤 유형의 데이터베이스를 사용하고 있습니까? 둘째, 데이터베이스 디자인 문제 인 것 같습니다. 다른 프라이 머리를 사용하고 매핑하는 대신 모든 테이블에서 단일 고유 키를 사용해야합니다. Facebook을 사용하고 있기 때문에 Facebook ID를 모든 테이블의 기본 테이블로 사용하고 다른 ID를 고유 필드로 저장하는 것이 좋습니다. 또한 조인과 같은 유용한 기능을 사용하여 여러 테이블에서 동시에 데이터를 검색 할 수 있습니다. 예를 들어 같은 사용자에 대해 여러 로그인 (Facebook Google 등)을 사용하는 것이 현실적인 경우가 아니라면 운전 표로 제안한 것과 같은 조회 표를 사용하여 다른 표를 채울 수 있습니다 . 데이터 불일치의 위험을 줄이기 위해 가능한 한 중복 데이터를 최소화하려는 것이 이상적입니다. 데이터베이스를 처음 사용하는 경우에는 데이터베이스 설계 및 데이터베이스 정규화에 대한 내용을 읽어야합니다. 좋은 디자인은 확장성에 도움이되며 많은 두통과 좌절을 예방합니다.

+0

나는 mysql DB를 사용하고있다. 나는 여전히 초심자 다. 어쨌든 고마워. 하지만 모든 테이블에서 필드를 공통으로 만들지 않고도이 테이블을 사용하여 수행 할 방법이 없습니까 ?? –

관련 문제