2012-11-01 4 views
0

아주 열심히 설명하지만 '팀'이라는 이름의 테이블이 있다고 가정하고 너무 추천 팀을 포함합니다 : I (예를 들어 TeamFixtures 이름)SQL을 사용하여 축구 용품 만들기?

을 이와 유사하게 보이는 다른 테이블을 작성해야

team_id, teamname, manager 
    1,  Team1, 1 
    2,  Team2, 10 
    3,  Team3, 3 
    4,  Team4, 5 
    5,  Team5, 6 

id, HomeTeam, HomeScore, AwayScore, AwayTeam 
        NULL  NULL 

HomeTeam과 AwayTeam을 'teams'테이블의 team_id로 만들려면 어떻게해야합니까?

이드는 각 팀마다 이것을 필요로하므로 서로 2 시간 동안 홈 경기 및 원정 경기를합니다.

관계의 속성이 다른 관계들이 키가있을 때기구가

+0

는 어떻게 특정 팀이'hometeam' 또는'awayteam' 것을 알 수 있습니까? –

+0

나는 그들이 서로 두 번 놀면 사람은 언제나 원정 팀이되고 항상 집에있을 것이란 것을 이해하지 못한다. 1은 2를하고, 2는 1을 재생할 것입니다. 설명하기 어려울 것입니다 : S – Koala

+2

숙제가 들리는데 ... – JakeParis

답변

2

을 1by1 오히려 밖으로 입력보다, 나를 위해 빨리이 할 수있는 쿼리가 있는가, 그것은이 Foreign Key라고합니다.

TeamFixtures 테이블의 경우 hometeamawayteam의 두 개의 외래 키가 있습니다.

귀하의 CREATE 성명과 같습니다

CREATE TABLE teamfixtures(
    ... 
    hometeam INT, 
    awayteam INT, 
    ... 
    CONSTRAINT fk_hometeam FOREIGN KEY(hometeam) REFERENCES teams, 
    CONSTRAINT fk_awayteam FOREIGN KEY(awayteam) REFERENCES teams, 
    CONSTRAINT ck_teams CHECK(hometeam <> awayteam) 
    ) 
+0

+1'hometeam'과'awayteam' 열에 독특하고 복합적인 키가 필요합니다. 그래서 그들은 서로 놀 수는 없다. – AlexP

+0

@AlexP ahh yes .. 수표는 그것을 커버해야한다. – jsj