네트워크형 데이터베이스

M:N 관계는 더 자연스럽게 담았지만, 조회는 여전히 포인터 경로를 따라가야 했습니다

CODASYL 모델은 계층형의 트리 한계를 넘기 위해 레코드 사이를 직접 연결했습니다. 대신 프로그램은 무엇을 찾을지보다 어떤 순서로 따라갈지를 먼저 알아야 했습니다.

트리 구조만으로는 현실의 관계가 막혔습니다

학생 ↔ 과목
계층형에서는 한쪽을 부모로 고정해야 해서, 반대 방향 관계를 담으려면 데이터를 중복하기 쉬웠습니다.

M:N 관계를 표현하려면 트리 하나보다 더 유연한 연결 구조가 필요했습니다.

레코드끼리 포인터로 직접 연결해 네트워크를 만들었습니다

학생 record pointer 과목 record
김영희 수강 set 데이터베이스
김영희 수강 set 운영체제
박민수 수강 set 데이터베이스

같은 과목 record를 여러 학생 record가 공유해 가리킬 수 있으므로, 계층형보다 M:N 관계를 훨씬 자연스럽게 표현할 수 있었습니다.

조회 자체가 절차적 탐색이 되었습니다

  1. 1
    시작 record를 찾고

    먼저 학생 record 같은 출발점을 알아야 합니다.

  2. 2
    포인터를 따라 이동한 뒤

    수강 set 같은 연결 경로를 순서대로 따라갑니다.

  3. 3
    도착 record를 읽습니다

    경로나 구조가 바뀌면 탐색 코드도 함께 수정해야 했습니다.

즉, 관계 표현력은 좋아졌지만 프로그램이 데이터 구조에 강하게 묶여 복잡성이 커졌습니다.

핵심 이해 네트워크형 데이터베이스의 본질은 M:N 관계를 허용한 것그 대가로 포인터 기반 탐색 복잡성을 떠안은 것을 함께 보는 데 있습니다. 이 한계가 다음 세대의 관계형 모델과 선언적 질의로 이어졌습니다.