다대다

    [DB] 테이블의 M:N 설계

    [DB] 테이블의 M:N 설계

    🔍 M:N 관계 두 개의 테이블에서 1 : M 관계가 양쪽에서 모두 나타날 때 이를 M : N 관계라고 한다. 이 관계는 선천적으로 테이블의 관계까 없으며, 비즈니스 로직 등으로 어떤 관계를 맺어줌으로써 관계가 형성된다. 🔍 M:N관계의 문제점 개념상으로 다음과 같이 M : N 관계를 표현하는 것이 가능하다. 하지만 이 관계를 풀어서 표현하면 다음과 같다. 즉, 학생, 과목 테이블의 PK 컬럼인 ID가 중복이 되어버린다. 따라서 M : N관계에서는 양쪽 테이블 모두에서 pk중복이 일어나기 때문에 이를 해결할 방법이 필요하다. 🔍 M:N관계 설계 이런 M:N 관계를 해결하기 위해 또 하나의 테이블을 도입할 수 있다. 위와 같은 모델에서 수강 테이블과 다른 테이블의 관계 테이블이 생성될 수 있다. 그러기 위..

    [운영체제] 다중 스레드 모델다중 스레드 모델

    [운영체제] 다중 스레드 모델다중 스레드 모델

    [다중 스레드 모델] 스레드는 사용자 스레드와 커널 스레드로 나눌 수 있다. 1 ) 사용자 스레드 : 커널 위에서 지원되며 커널의 지원 없이 관리된다. 2 ) 커널 스레드 : 운영체제에 의해 직접 지원되고 관리된다. 궁극적으로 사용자 스레드와 커널 스레드를 연결해서 쓰게 된다. 예를 들면 입출력 인터럽트가 발생하면 사용자 모드에서 사용자 스레드의 응답을 기다린다. 이 후 스레드의 응답이 오면 다시 커널 모드로 변환되어 커널 스레드가 일을 처리하게 된다. 이런 연결을 확립하는 다대일, 일대일, 다대다 모델을 살펴보자 1 ) 다대일 모델 : 많은 사용자 수준 스레드를 하나의 커널 스레드로 사상한다. 이 모델의 경우 한 스레드가 봉쇄가 될 경우 전체 프로세스가 봉쇄된다. 또 한, 한 번에 하나의 스레드만이 커..