데이터베이스 정리

CodeModel·2023년 5월 16일
0

스키마란

개체의 특성을 나타내는 속성(Attribute)과
속성들의 집합으로 이루어진 개체(Entity),
개체 사이에 존재하는 관계(Relation)에 대한 정의와
이들이 유지해야 할 제약조건들을 기술한 것

스키마의 종류

개념스키마 - 전체적인 뷰

조직 전체의 입장에서의 DB
조직의 모든 응용시스템에서 필요로 하는 개체 관계, 제약조건들을 포함.
접근권한, 보안정책, 무결성 규칙등에 관한 사항들도 추가적으로 포함

개념스키마를 ‘스키마’ 라고 칭하기도 하며, DB전체를 기술한 것이기 때문에 한 개밖에 존재할 수 없다

내부스키마 - 물리적인 저장장치 입장에서 DB가 저장되는 방법을 기술한 것
실제로 저장될 내부레코드 형식, 내부레코드의 물리적 순서, 인덱스의 유/무 등에 관한 것
DB의 실행 속도가 결정적으로 영향을 받는다

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

일반 사용자는 질의어를 이용 DB를 쉽게 사용

오라클DB vs 마리아DB

오라클 DB와 마리아DB는 둘 다 대용량 데이터를 처리하기 위한 데이터베이스 관리 시스템(DBMS)이지만, 각각의 차이점은 다음과 같습니다.

라이선스 비용
오라클 DB는 비싼 라이선스 비용이 필요하며, 대규모 기업들이 사용하는 경우가 많습니다. 반면에 마리아DB는 GPL 라이선스를 사용하고 있어서 무료로 사용할 수 있습니다.

구조
오라클 DB는 복잡한 구조를 가지고 있어서, 대규모 데이터를 처리하는데 더 효과적입니다. 반면에 마리아DB는 구조가 간단하고 빠르게 데이터를 처리할 수 있는 장점이 있습니다.

성능
오라클 DB는 대용량 데이터 처리, 데이터 복원, 데이터 병합 등의 기능을 처리하는 데 있어서 뛰어난 성능을 보입니다. 하지만, 이는 대규모 기업이 사용하는 경우가 대부분입니다. 반면에 마리아DB는 속도가 빠르며, 적은 리소스를 사용하여 데이터를 처리할 수 있습니다.

보안
오라클 DB는 보안성이 높은 데이터베이스 관리 시스템입니다. 하지만, 마리아DB도 보안성이 높은 데이터베이스 관리 시스템이며, 암호화, SSL, TLS, SHA 등 다양한 보안 기능을 제공합니다.

기능
오라클 DB는 다양한 고급 기능을 제공합니다. 예를 들면 데이터베이스 복원, 병합, 클러스터링 등이 있습니다. 반면에 마리아DB는 간단하고 쉬운 사용성을 중요시하며, 빠른 데이터베이스 처리, 안정성, 보안성, 확장성 등을 제공합니다.

호환성
오라클 DB는 다양한 운영체제와 언어를 지원합니다. 반면에 마리아DB는 MySQL을 기반으로 한 데이터베이스 관리 시스템으로, MySQL과 호환성이 뛰어나며, MySQL과 같은 기능을 제공합니다.

종합적으로 보면, 오라클 DB는 대규모 기업이 사용하는 경우가 많으며, 보안성이 높고 다양한 기능을 제공합니다. 반면에 마리아DB는 무료로 사용할 수 있고, 쉽고 빠른 데이터 처리, 안정성, 보안성, 확장성 등을 제공합니다. 따라서, 용도나 목적에 맞게 선택하여 사용하는 것이 중요합니다.

오라클 스키마 vs 마리아 스키마

오라클 DB의 스키마:

오라클 DB에서 스키마는 데이터베이스 계정과 일치합니다. 즉, 각 계정은 자체적인 스키마를 가지며, 테이블, 뷰, 인덱스, 시퀀스 등의 데이터베이스 객체를 포함합니다.
오라클 DB에서는 스키마를 사용하여 객체의 소유권, 접근 권한 및 명칭 충돌을 관리합니다.
스키마 이름은 대문자로 작성되며, 스키마 내 객체 이름은 기본적으로 대문자로 저장됩니다.

마리아DB의 스키마:

마리아DB에서 스키마는 데이터베이스 개념과 일치합니다. 즉, 스키마는 테이블, 뷰, 프로시저, 함수 등의 객체를 그룹화하고 분리하는 역할을 합니다.
마리아DB에서는 여러 개의 스키마를 생성할 수 있으며, 스키마는 데이터의 논리적인 구조를 정의하는 용도로 사용됩니다.

스키마 이름은 대소문자를 구분하지 않으며, 객체 이름은 기본적으로 소문자로 저장됩니다.
요약하자면, 오라클 DB에서 스키마는 계정 단위로 관리되며, 스키마는 해당 계정이 소유하는 객체의 집합을 의미합니다. 반면에 마리아DB에서 스키마는 데이터베이스 개념으로서 여러 개의 객체를 그룹화하고 분리하는 역할을 합니다. 스키마 이름의 대소문자 처리 및 객체 이름의 저장 형식도 두 데이터베이스에서 다소 차이가 있습니다.

profile
개발자가 되기 위한 일기

0개의 댓글