책 내용 질문하기
데이터베이스 스키마 개념
도서
2020 시나공 정보처리기사 실기 [기본서]
페이지
0
조회수
386
작성일
2020-04-14
작성자
탈퇴*원
첨부파일

안녕하세요.

 

여러 스키마 개념들이 헷갈려서 질문 드립니다.

 

1. 제가 보통 프로그래밍하면서 데이터베이스를 다룰 때는 각 테이블마다 스키마가 한개 있는 것으로 이해하고 있었습니다. 이 스키마, 즉 DDL로 정의하는 테이블이 개념적 스키마인 건가요?

2. "스키마"라는 단어의 용법을 보면 어떤 곳에서는 데이터베이스 하나당 보통 하나가 존재하는 것처럼 얘기를 하고, 저 같은 경우엔 테이블마다 하나씩 즉 데이터베이스엔 개념적 스키마가 여러개라고 이해하고 있습니다. 어떤게 맞는지요?

3. 외부 스키마랑 개념적 스키마의 구분이 헷갈리는데, 외부 스키마를 사용하는 예시를 들어주실 수 있나요?

 

감사합니다!!

 

 

답변
2020-04-16 10:51:57

안녕하세요 길벗수험서 운영팀입니다.

 

(데이터베이스)스키마는 데이터베이스의 구조와 제약 조건에 관한 전반적인 명세(Specification)를 기술(Description)한 메타데이터(Meta-Data)의 집합으로, 데이터 사전(Data Dictionary)에 저장되며, 다른 이름으로 메타데이터(Meta-Data)라고 합니다.

 

먼서 스키마는 설계 단계별로 구분하면

개념 스키마 - DB당 1개만 존재, 설계자 간의 이해를 돕기 위함, DBMS 고려 x

논리 스키마 - 여러개 존재 가능, DBMS 고려 o

이렇게 2개로 구분할 수 있고, 

 

관점별로 외부, 내부, 개념 3개로 나눌 수 있습니다.

외부 스키마(=서브 스키마=사용자 뷰) - 실세계에 존재하는 데이터들을 어떤 형식, 구조, 배치로 화면을 통해 사용자에게 보여줄 것인가?

내부 스키마(=저장 스키마) - 디스크에는 어떤 구조로 저장할 것인가?

개념 스키마(=전체적인 뷰) - 데이터베이스에 실제로 ‘어떤’ 데이터가 저장되었으며 데이터 간의 관계는 어떻게 되는가?

 

학문적인 내용으로 수험서 특성상 해당 내용들은 단순 암기가 적합합니다.

실제 DBMS에 그대로 대입하기에는 조금 어려운 점이 있습니다.

 

첨부하신 이미지는 외부 스키마..로 봐야할까요. 어떤 방식으로 조회되었는지 궁금하네요

다음 이미지는 로컬db에 mysql로 접속한 화면입니다. 빨간 박스는 기본 스키마(sys)와 해당 스키마에 속하는 여러 테이블입니다.

스키마에 속하는 정보들을 조회하면 유저 목록, 권한, 채널, 개체 정보 등을 알 수 있죠.


 

명령문의 create schema를 통해 다른 스키마(connector)의 생성이 가능하고 해당 스키마에서는 또 여러 개의 테이블이나 개체를 생성할 수 있죠.

제가 실제 DBMS를 운용하면서 생각한 DBMS 스키마의 개념은 여러 개체들과 설정 정보들을 저장하는 일종의 root 개념으로 보고 사용하고 있습니다.

 

행복한 하루되세요 :)

  • 관리자
    2020-04-16 10:51:57

    안녕하세요 길벗수험서 운영팀입니다.

     

    (데이터베이스)스키마는 데이터베이스의 구조와 제약 조건에 관한 전반적인 명세(Specification)를 기술(Description)한 메타데이터(Meta-Data)의 집합으로, 데이터 사전(Data Dictionary)에 저장되며, 다른 이름으로 메타데이터(Meta-Data)라고 합니다.

     

    먼서 스키마는 설계 단계별로 구분하면

    개념 스키마 - DB당 1개만 존재, 설계자 간의 이해를 돕기 위함, DBMS 고려 x

    논리 스키마 - 여러개 존재 가능, DBMS 고려 o

    이렇게 2개로 구분할 수 있고, 

     

    관점별로 외부, 내부, 개념 3개로 나눌 수 있습니다.

    외부 스키마(=서브 스키마=사용자 뷰) - 실세계에 존재하는 데이터들을 어떤 형식, 구조, 배치로 화면을 통해 사용자에게 보여줄 것인가?

    내부 스키마(=저장 스키마) - 디스크에는 어떤 구조로 저장할 것인가?

    개념 스키마(=전체적인 뷰) - 데이터베이스에 실제로 ‘어떤’ 데이터가 저장되었으며 데이터 간의 관계는 어떻게 되는가?

     

    학문적인 내용으로 수험서 특성상 해당 내용들은 단순 암기가 적합합니다.

    실제 DBMS에 그대로 대입하기에는 조금 어려운 점이 있습니다.

     

    첨부하신 이미지는 외부 스키마..로 봐야할까요. 어떤 방식으로 조회되었는지 궁금하네요

    다음 이미지는 로컬db에 mysql로 접속한 화면입니다. 빨간 박스는 기본 스키마(sys)와 해당 스키마에 속하는 여러 테이블입니다.

    스키마에 속하는 정보들을 조회하면 유저 목록, 권한, 채널, 개체 정보 등을 알 수 있죠.


     

    명령문의 create schema를 통해 다른 스키마(connector)의 생성이 가능하고 해당 스키마에서는 또 여러 개의 테이블이나 개체를 생성할 수 있죠.

    제가 실제 DBMS를 운용하면서 생각한 DBMS 스키마의 개념은 여러 개체들과 설정 정보들을 저장하는 일종의 root 개념으로 보고 사용하고 있습니다.

     

    행복한 하루되세요 :)

· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.