
이거 정처기할 때 엄청 많이 봤는데 여기서 마주치다니 역시 공부는 해보고 볼 일이다.시험은 떨어졌음ㅎㅎ
데이터베이스는 우리가 알고 있는 그 데이터베이스고, 그럼 스키마는? 사전적 정의로는 개요라는 뜻인데 데이터베이스 상에서도 완전히 동일한 의미로 쓰이지는 않지만 어느정도의 맥락 상에서 비슷하게 쓰이는 것 같다.
스키마는 DB 구조와 제약 조건에 관해 기술된 메타 데이터의 집합이고, 데이터의 구조적 특성을 의미한다.
그럼 여기서 메타 데이터(Meta Data)는? 다른 데이터를 설명해주는, 구조화된 데이터이다. 설명서 같은 느낌일까?
시간에 따라 불변인 특성을 갖는다.
스키마는 데이터 사전에 저장된다.
데이터 사전은? 시스템 전체에서 나타나는 데이터 항목들의 정보를 지정하는 중앙 저장소이다. 말 그대로 사전!
스키마는 인스턴스에 의해 규정된다.
여기서 인스턴스는? 데이터 개체를 구성하고 있는 속성들에 데이터 타입이 정의되어 구체적인 데이터 값을 적는 것... 이라고 하는데 이건 정의를 봐서는 잘 모른다. 엄청 헷갈리는 개념이라서 그냥 그런가보다 하고 넘어갔었는데 지금 봐도 모르겠다.
개인의 입장(사용자, 프로그래머 등)에서 필요로 하는 DB의 논리적인 구조를 정의한 것이다. 같은 데이터베이스에 대해서도 서로 다른 관점을 정의할 수 있도록 허용하며,질의어(SQL)나 COBOL 등을 사용하여 DB를 이용할 수 있다.
외부 스키마가 유저 입장에서의 스키마라면 개념 스키마는 DB 관리자 입장에서의 스키마이다. 외부 스키마는 여러개가 존재할 수 있지만 개념 스키마는 DB 전체의 논리 구조와 모든 데이를 종합한 전체 DB 이기 때문에 단 하나로 유일하다. 일반적으로 스키마는 이 개념 스키마를 가리킨다.
물리적 저장장치 입장에서 본 DB 구조로 물리적 저장장치와 밀접한 계층이고, 시스템 프로그래머나 시스템 설계자가 보는 스키마이다. 내부 스키마는 거의 물리의 영역에 가깝기 때문에 내가 많이 알아둘 필요는 없...을...듯? ㅎㅎ
왜냐면 드디어 곧 MySQL에 대해서 배울 예정이기 때문이다...
근데 개념적인 접근 말고 더 키보드 타닥타닥적으로 써먹을 만한게 있을 텐데 내 머릿속에서 스키마는 정처기에서 나와서 두음법칙으로 달달 외운 기억밖에 없는데 대체 이걸 어디에 써먹을까?