#title 오라클이란 무엇인가? [[TableOfContents]] ==== 오라클이란 무엇인가? ==== ORACLE 이거 사전적 의미로는 '신탁(神託)', '신의 계시', '예언' 등의 신에 관련된 뜻을 가지고 있다. ORACLE이란 이름은 아마도 DBMS 계의 신이란 뜻을 가진 것으로 풀이 할 수 있다. 이미 오라클의 뜻은 대충 나왔다. DBMS 즉, DataBase Management System 이다. 그것도 ORDBMS... 객체-관계형 데이타베이스 관리 시스템. 이것은 데이타베이스 서버를 두고 한 말이고,오라클 디벨로퍼, 디자이너 등등의 여러 제품들이 있다. 또한 회사의 이름이기도 하다. 이러한 종합적인 이미지가 오라클의 뜻을 가지고 있는 것이다. 대부분 오라클이라고하면 데이타베이스 서버를 떠올리게 된다. 여기에서는 오라클이란 것을 DBMS에 국한해서 살펴보도록 하겠다. 이론적인 배경으로 본다면 관점에 따른 분류에서 실행 데이타 모델에 속하는 것이다. 오라클 자체만을 생각한다면 논리적인 것이나 전체적으로 본다면 물리적인 것까지 포함합니다. 물론 OS에 종속적이라고 할 수 있겠다. 현대의 '관계형' 이란 이름을 달고 나온 제품들은 하나같이 '2차원 테이블구조' 라는 관계형 포멧으로 사용자에게 논리적으로 데이타(혹은 정보)를 보여주고 있다. 즉, 행과 열의 조합으로 표현한다는 것이다. 이러한 구조는 사용자들에게는 상당히 친숙하며, 또한 데이타를 표현하는데에 아주 편리하기 때문에 2차원 테이블구조를 사용하고 있으며, 관계형에는 이러한 테이블을 '릴레이션' 이라는 용어를 사용해서 2차원 테이블구조를 설명한다. 릴레이션(Relation)은 '관계' 라는 뜻을 가지고 있는데 이는 데이타 모델링을 할 때의 '관계'와는 다른 의미를 가지고 있다. 릴레이션에서의 관계는 속성들끼리의 함수적 종속에 의해서 뭉쳐있고, 테이블끼리 어떤 연결고리를 가지고 있는 것을 의미한다. 이러한 사항들은 '정규화' 라는 것을 안다면 쉽게 이해를 할 수 있으리라 생각한다. 아무런 이론적인 배경없이 오라클을 접하게 된다면 낭패를 보게 될 것입니다. 물론 공부하는 방법에 따라서 틀릴수도 있다. 그러나 별루 좋치는 않다. 적어도 오라클을 처음으로 접할때는 데이타베이스가 무엇인지 정도는 정확하게 판단하고 있어야 할 것이다. 오라클은 객체-관계형 데이타베이스 관리 시스템이라고 했다. 즉, 추상적인 데이타 타입과 메소드와 같은 객체 지향적인 구조를 지원한다는 것이다. 버전 8에서부터 지원한다. 객체-관계형이라는 말은 이러한 객체지향적인 특성을 지닌 오라클이 객체간의관계를 가질 수 있다는 것일 말한다. 또한 하나의 객체가 또 다른 객체를 포함할 수도 있는 것이다. 나중에 살펴보겠지만 이러한 객체지향적인 특성은 다중값속성등에 대한 해결을 간단히 할 수 있다. 중요한 것은 오라클이 실행 데이타 모델에 속한다는 것이다. 즉, 관계형이건..객체지향이건 오라클 데이타베이스는 데이타를 파일에 저장한다는 것이다. 그런 파일처리방식이라고 생각할 수도 있겠으나 이것은 단지 물리적인 것이다. 즉, 해당 OS 위에 오라클이 올라가져 있으므로 파일에 저장되 는 것은 당연한 것이다. 아무튼 오라클은 논리적으로 하나의 파일이 이상에 맵핑시킨다. 이러한 논리적인 영역을 테이블스페이스라고 하는데 이에 대해서는 나중에 살펴보도록 하겠다. 여러분은 DBMS의 논리적인 것과 물리적인 것을 잘 구분할 줄 알아야 한다. 또한 항상 이야기 하듯이 DBMS = DataBase가 아님을 꼭 생각하고 있어야 한다. 건물을 지을 때는 한쪽으로 치우치지 말아야 한다. 피사의 탑과 같은 특수한 용도면 몰라두..