BM
Ede Textbook OCR Studio
v2.5 High-Density
🗄️ DB
MariaDB 스키마 & 라이브 브라우저bookconverter SSOT
6 코어 테이블•4,712 콘텐츠 블록•8 Books / 92 Units (172 Pages)•725 미디어 자산
MariaDB 11.x SSOT (bookconverter)

6개 코어 테이블 관계도 (클릭 시 우측 상세 조회)

테이블 카드를 클릭하면 상세 역할과 외래키 연결 명세를 확인하고 데이터 뷰로 이동할 수 있습니다.

9 Foreign Keys
📚tb_book
8 행
교재 마스터 (Book Master)

모든 교재의 최상위 루트 엔터티로, 교재 코드·언어·출판사·상태를 관리합니다.

11 개 컬럼
⬇ 1:N (Units)⬇ 1:N (Pages)⬇ 1:N (Blocks)
📑tb_unit
92 행
단원/챕터 마스터 (Unit Master)

교재 내 논리적 단원/챕터(Unit)와 시작~종료 페이지 범위를 관리합니다.

12 개 컬럼
📄tb_page
172 행
페이지 지면 마스터 (Page Master)

교재의 물리적 지면(Canvas) 규격과 렌더링된 고해상도 페이지 배경 이미지를 관리합니다.

13 개 컬럼
⬇ 1:N (Grouping)⬇ 1:N (Canvas Placement)⬆ N:1 (Page Image) ➔ tb_media_master
▦tb_content_block
4,712 행
콘텐츠 블록 마스터 (Content Block)

OCR로 추출 및 구조화된 핵심 블럭(단어, 대화, 문법, 문제, 표 등 39종)을 영속화합니다.

26 개 컬럼
🖼️tb_media_master
725 행
미디어 마스터 (Media Master)

교재 지면 스캔본, 삽화 이미지, 오디오 파일 등 모든 미디어 바이너리를 통합 관리합니다.

15 개 컬럼
⬇ 1:N (Block ID)              ⬇ 1:N (Media ID)
🔗tb_block_media
0 행
블록-미디어 매핑 (Block Media Link)

특정 텍스트 블록과 오디오 발화 싱크(Start/End ms) 또는 크롭 이미지를 N:M으로 연결합니다.

12 개 컬럼
CONTENT

콘텐츠 블록 마스터 (Content Block)

Table: tb_content_block (0 행)

부모-자식 트리(parent_block_id), 물리적 BBox 좌표(bbox_json), 점(.) 표기법 39종(content_type_code), 정형화된 JSON(payload_json)을 모두 포괄하는 핵심 테이블입니다.

📌 핵심 무결성 & 비즈니스 규칙

  • parent_block_id를 통해 CONTAINER/LIST/TABLE 부모 아래로 자식 블록이 트리 형태로 결합됩니다 (Self-Referencing FK).
  • bbox_json은 [x, y, w, h] 포맷으로 저장되며, 뷰어에서 SVG/CSS 오버레이로 변환됩니다.
  • payload_json에는 화자, 타이머, 발음기호, 연어, 문법 공식, 선다형 보기 등이 보존됩니다.
  • teacher_payload_json에는 정답 및 교사용 해설이 보안 분리 저장됩니다.

🔗 연결된 외래키 관계 (FKs)

블록 소속 교재 (tb_content_block.book_id ➔ tb_book.id)N:1
ON tb_content_block.book_id = tb_book.id
블록 소속 단원 (tb_content_block.unit_id ➔ tb_unit.id)N:1
ON tb_content_block.unit_id = tb_unit.id
블록 지면 좌표 기준 (tb_content_block.page_id ➔ tb_page.id)N:1
ON tb_content_block.page_id = tb_page.id
부모 컨테이너 계층 트리 (tb_content_block.parent_block_id ➔ tb_content_block.id)N:1
ON child_block.parent_block_id = parent_block.id
매핑 소속 블록 (tb_block_media.block_id ➔ tb_content_block.id)N:1
ON tb_block_media.block_id = tb_content_block.id