본문 바로가기
컴퓨터 활용(한글, 오피스 등)/기타

스키마

by 3604 2025. 8. 27.
728x90
dbeaver에서 계정이 스키마로 보여지는 이유
dbeaver에서 계정이 스키마로 보여지는 이유
 

DBeaver에서 계정이 스키마로 보여지는 이유는 데이터베이스의 구조와 관련이 있습니다. 일반적으로 데이터베이스에서 스키마는 데이터베이스 객체(테이블, 뷰 등)를 그룹화하는 네임스페이스 역할을 하며, 각 스키마는 특정 사용자 계정과 연결될 수 있습니다.

특히, Oracle과 MySQL 같은 데이터베이스 시스템에서는 사용자 계정이 스키마와 동일시되는 경우가 많습니다. 예를 들어, Oracle에서는 각 사용자 계정이 자신의 스키마를 소유하며, 이 스키마 안에 데이터베이스 객체들이 존재합니다. 따라서 DBeaver에서 특정 계정으로 연결하면 해당 계정에 속한 스키마가 자동으로 표시됩니다.

또한, DBeaver의 설정에 따라 기본 스키마를 지정할 수 있으며, 이 설정이 제대로 되어 있지 않으면 사용자가 원하는 스키마가 보이지 않을 수 있습니다. 이 경우, DBeaver의 연결 설정에서 기본 스키마를 지정하거나, 데이터베이스 탐색기에서 스키마를 수동으로 선택해야 할 수 있습니다

db에서 스키마란
 

스키마(Schema)는 데이터베이스의 구조와 제약 조건을 정의하는 메타데이터의 집합입니다. 이는 데이터베이스 내에서 데이터가 어떻게 조직되고 저장되는지를 설명하는 청사진 역할을 합니다. 스키마는 다음과 같은 주요 요소로 구성됩니다:

  • 테이블: 데이터가 저장되는 기본 단위로, 각 테이블은 여러 개의 열(컬럼)로 구성됩니다.
  • 속성: 각 테이블의 열을 나타내며, 데이터의 특성을 정의합니다.
  • 관계: 테이블 간의 연결을 나타내며, 외래 키(foreign key) 등을 통해 정의됩니다.
  • 제약 조건: 데이터의 무결성을 유지하기 위해 설정되는 규칙으로, 예를 들어 기본 키(primary key)나 고유 제약 조건(unique constraint) 등이 있습니다.

스키마는 일반적으로 세 가지 계층으로 나뉩니다:

  1. 외부 스키마(External Schema): 사용자나 응용 프로그램의 관점에서 데이터베이스의 논리적 구조를 정의합니다. 여러 사용자가 동일한 데이터에 대해 서로 다른 뷰를 가질 수 있도록 허용합니다.
  2. 개념 스키마(Conceptual Schema): 데이터베이스의 전체적인 구조를 정의하며, 개체 간의 관계와 제약 조건을 포함합니다. 데이터베이스 관리자(DBA)에 의해 작성됩니다.
  3. 내부 스키마(Internal Schema): 데이터베이스의 물리적 저장 구조를 정의합니다. 데이터가 실제로 어떻게 저장되는지를 기술합니다.

스키마는 데이터베이스의 설계와 관리에 있어 매우 중요한 요소로, 데이터의 정확성과 일관성을 보장하는 데 기여합니다.

 
 

스키마(내부, 개념, 외부)

db에서 네임스페이스란
db에서 네임스페이스란
 

데이터베이스에서 **네임스페이스(Namespace)**는 데이터베이스 객체를 논리적으로 그룹화하는 개념입니다. 네임스페이스는 특정 데이터 모델 내에서 객체(예: 테이블, 뷰 등)를 구분하고 관리하는 데 사용됩니다. 이를 통해 동일한 이름을 가진 객체들이 서로 충돌하지 않도록 하며, 각 객체에 대한 접근 권한을 관리할 수 있습니다.

네임스페이스의 주요 기능

  • 조직화: 네임스페이스는 데이터베이스 내에서 관련된 객체들을 그룹화하여 관리할 수 있게 해줍니다. 예를 들어, 특정 부서에 관련된 테이블들을 하나의 네임스페이스로 묶을 수 있습니다.
  • 유일성 보장: 네임스페이스 내에서는 객체 이름이 고유해야 하므로, 동일한 이름의 테이블이 여러 네임스페이스에 존재할 수 있습니다. 이를 통해 데이터베이스 설계 시 이름 충돌을 피할 수 있습니다.
  • 접근 제어: 네임스페이스를 사용하면 특정 사용자나 그룹에게 해당 네임스페이스 내의 객체에 대한 접근 권한을 부여하거나 제한할 수 있습니다. 이는 보안 관리에 유용합니다.

예시

예를 들어, Oracle NoSQL 데이터베이스에서는 네임스페이스를 사용하여 테이블의 권한을 그룹으로 관리할 수 있으며, 각 테이블은 네임스페이스를 통해 식별됩니다. 사용자는 namespace:table_name 형식으로 테이블에 접근할 수 있습니다.

결론적으로, 네임스페이스는 데이터베이스의 구조를 보다 체계적으로 관리하고, 데이터의 유일성과 보안을 강화하는 데 중요한 역할을 합니다.

728x90