2013-11-09 5 views
1

나는 mysql을 사용하여 조금 혼란 스럽다. 나는 두 개의 테이블 academycourses을 만들었습니다. 테이블 필드를 구조화하는 방법을 결정할 때 도움이 필요합니다. 예 : one to many 스키마 하나의 아카데미는 많은 코스를 제공 할 수 있으며 코스는 많은 아카데미와 함께 제공 될 수 있습니다. 아래 테이블의 구조가 정확합니까? 원하는 결과의One to Many/many to many SQL

create table academy 
(
    academy_id int(11) not null auto_increment, 
    course_id int() NOT NULL , 
    name varchar(25) not null, 
    primary key (id), 
); 
CREATE TABLE course 
(
course_id  int(11) not null auto_increment, 
course_name VARCHAR(50) NOT NULL , 
primary key (course_id), 
foreign key (academy_id) REFERENCES academy (academy_id) on delete cascade 
); 

예 당신이 정말로 필요한 것은 아카데미, 교육 과정 및 다 대다 관계를 저장할 수있는 관계 테이블에 대해 하나의 테이블

id Name     Course 

    1 The Alamo School  125 Intro to Programming 
    2 Bearcat High School 125 Intro to Programming 

답변

4

. 나는 당신에게 당신이 찾고있는 결과를 얻기 위해 질의를 남긴다.

CREATE TABLE academy 
(
    academy_id int(11) not null auto_increment, 
    name varchar(25) not null, 
    primary key (id), 
); 

CREATE TABLE course 
(
course_id  int(11) not null auto_increment, 
course_name VARCHAR(50) NOT NULL , 
primary key (course_id), 
); 

CREATE TABLE accademy_course 
(
    academy_id int(11) not null, 
    course_id  int(11) not null , 
    primary key (academy_id, course_id), 
    foreign key (academy_id) REFERENCES academy (academy_id) on delete cascade, 
    foreign key (course_id) REFERENCES course (course_id) on delete cascade 
); 
+0

이것은 이제 의미가있다. 나는 많은 관계를 만들기 위해 세 번째 테이블이 필요했습니다. 강사가 참여했다면이 사항이 적용됩니까? – user2970730