2010-12-30 7 views
0

저는 SQL을 처음 사용합니다. 하나의 테이블에있는 값이 다른 '전체'테이블에 대한 포인터 인 데이터베이스를 만드는 중입니다. (다른 테이블의 값이 아니라 테이블 자체). 어떻게 이것을 달성 할 수 있으며 어떻게 SQL 문을 작성하여 자식 테이블의 데이터에 액세스 할 수 있습니까? 나는 다음과 같은 테이블하위 테이블 정의 및 레코드 가져 오기

로 설명합니다

프로젝트 :

ID Name Site    Client   Progress 
------------------------------------------------------ 
1 Bronx 99-Beans Street Mr.Smith   **1 
2 Mandy 4-Apt Clinton  Mrs. Cross  **2 
3 Ani 7-Magbo,Jos, NG FRN, 9ja   **3 

브롱스 : 두 번째 표는 프로젝트 @ ID의 이름 값에서 그 이름을 따 공지 것을

Task Description    Start  Finished Handler 
------------------------------------------------------------- 
1 Remove Top-Soil   07:50:33  12:10:05 Jack 
2 Break Ground   13:00:20  15:33:52 Grader 
3 Spray Fertilizer  15:55:30  17:15:23 Suzie 

= 1. 이 ID는 여전히이 목적에 부합 할 수 있습니다.이 경우 테이블의 제목은 '1' ... 입니다. 다소 이상한 숫자 인이지만 적어도 테이블의 관계에 대해 설명합니다. 'Project'에서 레코드 삭제 테이블은 관련 진행 테이블 (레코드 이름 포함) *을 삭제해야합니다. 어떻게 하나의 사람이 & SQL에서이 관계가있는 쿼리 테이블을 만들 수 있습니까?

+1

왜 '프로젝트'의 각 행에 대해 완전히 새로운 테이블이 필요한가요? 이 작업은 수행 할 수 있지만 관계형 데이터베이스를 사용하는 방법이 아닙니다. 키 -> 값 또는 객체 데이터베이스를 사용하는 것이 좋습니다. – pablochan

+0

잘못된 디자인 .... – PurplePilot

+0

@pablochan : '키 - 값 또는 객체 데이터베이스'에 대해 더 많은 빛을 던질 수 있습니까? – twohot

답변

0

프로젝트 테이블에서 고유 한 ID 필드 일뿐만 아니라 이름 필드도 확인해야합니다. 이름 필드를 사용하여 데이터베이스에 테이블을 만들려고하므로 중복이있는 경우 문제가 될 수 있습니다. 다음으로 프로그램에서 프로젝트 테이블을 호출하고 테이블 이름을 읽은 다음 해당 이름을 특정 프로젝트의 다른 쿼리에 전달합니다. 예를 들어 Bronx라는 특정 테이블이 프로젝트 테이블에서 제거 된 경우 Row 열에 나열된 프로젝트 관련 테이블을 삭제하라는 트리거를 프로젝트 테이블에 작성할 수 있습니다. 결론은 SQL에서 발생할 수있는 일의 일부일뿐 나머지는 프로그램에서 관리해야합니다.

+0

사실 Python3 스크립트에서이 테이블에 액세스하고 있습니다. 나는 당신을 가리킨다. 감사. – twohot

관련 문제