SharedIT | 묻고 답하기(AMP)

DB 관련 개념을 정확하게 알고 싶습니다.

다들 DB에 대해 알고 계시겠지만, 제가 DB에 대해 다른 분께 물어보면, "정확하게 답변을 못해주시는 부분"이 있어 명확하게 답을 얻고 싶어 질문 드립니다. 


제가 이해 하는 내용

  • DBMS - 오라클, MSSQL, MariaDB 등과 같은 DB시스템

  • Database(DB)(데이터베이스) - DBMS내에 저장되는 가장 큰 DATA 집합

  • Table(테이블) - DB내 생성하는 중간 DATA 집합, 보통 DB 1개 하위에 연관된 Table을 다수 생성

  • Column(컬럼) - Table 내에 생성하는 최소 DATA 집합.  열이라고도 함.

  • Row (행) - 테이블을 구성하는 데이터들 중 가로로 묶은 데이터 집합.

예를 들어 - 게시판을 만든다면, 아래와 같이 DB 및 테이블을 생성합니다.

  • 1.게시판 DB 생성
    1.1  회원정보 Table 생성
     1.1.1 컬럼생성 :  이름,생년월일,주소
    1.2 게시물 Table 생성
     1.2.1 컬럼생성 : 제목,본문,글쓴이,View카운트 


대략 저렇게 이해를 하고 있는데,  Table Space 라는 개념을 도통 모르겠습니다. 
Mysql만 조금 해봤던 저인데,, 그래서 위에 같은 것들만 해봤는데.. 오라클에 테이블스페이스가 나오는데
도통 개념이 잘 안서네요.

  • 1.테이블 스페이스는 위와 같은 개념에서 DB > 테이블스페이스 > TABLE  정도의 개념인가요?

  • 2.아니면, DB = 테이블스페이스 인가요?

  • 3.DB, 테이블스페이스,  Table의 차이점을 정확하게 설명을 해주실 수 있을까요?
    (예를 들어 쉽게 설명 해주셨으면 좋겠습니다.)


아무리 찾아봐도 잘 개념이 안생겨서 문의 드립니다.^^


Tags : 태그가 없습니다.

6개의 답변이 있습니다.

deerokgo
  0 추천 | 약 4년 전

테이블 스페이스는 테이블과 데이터가 저장되는 공간이라고 보시면 됩니다.

먼저 테이블 스페이스를 여러개 만들어 놓고,

테이블을 생성할 때 저장되는 테이블 스페이스를 지정할 수 있습니다.

그리고, 데이터, 인덱스 등을 테이블 스페이스로 구분하여 관리할 수 있습니다.

DB > 테이블스페이스 > TABLE  정도로 생각 하셔도 됩니다.


wansoo
  0 추천 | 약 4년 전

table space를  만들때 마다 1개  이상의  file이 디스크에 생성된다는 걸 생각하면 이해가 쉬울것 같네요.

table들은 tablespace에 저장하고,  디스크에  실제 저장될때는 table space 기준으로 저장된다고 보면  될거 같습니다.

한개 table space에 여러개의 file이 지정될 수는 있지만, file이 없는 table space는 존재하지 못하죠~

wansoo | 약 4년 전

database는 tablespace들에 저장되어 있는 전체 table들을 의미하는걸로 보면 될것 같고요.
danis78
  0 추천 | 약 4년 전 | 제이컴즈 | 010-2871-8756

말씀하신대로 DB 에 대한 정의는 맞으나 오라클에서는 좀 더 세부적으로 나뉘어진다고 보시면 됩니다.

MS SQL 에서는 그냥 DB, 테이블 이 정도로 단순화 되어 있지만 

오라클에서 말하는 DB 는 테이블 스페이스, 테이블 뿐만 아니라 로그 파일들, 컨트롤 파일 등등

여러 다양한 객체들을 다 포함해서 관리하는 영역이고 테이블 스페이스는 데이터가 저장되는 테이블을 

한 파일로 관리하는 거라고 보시면 됩니다.  

jbyoon | 약 4년 전

와우!! 제가 봤던 여러가지 내용들이 주마등처럼 지나가고. 이렇게 단순화해서 간단히 설명을 한것이 이해 되었습니다. 좋은 답변 감사합니다.!!
미생
  0 추천 | 약 4년 전

Toad로 오라클을 쓰다보니 잠깐 찾아보고 말씀드리는데 전문적이진 않아서 설명이 만족스럽진 않으실 수도 있습니다.

Table은 말그대로 Row와 Column을 모아둔 상황이고, TableSpace는 그 Table들을 모아둔 공간이라고 보시면 될것 같습니다.

컴퓨터의 파일과 폴더(디렉토리)로 본다면, Table은 Excel의 시트 1개가 저장된 파일이고, Tablespace는 그 파일들이 모여있는 폴더(디렉토리)라고 설명드리면 되지 않을까 싶습니다.

Tablespace에서는 테이블들의 용량증가 옵션 등 관련 설정에 대한걸 관리하는 듯 하네요.

wansoo | 약 4년 전

폴더 보다는 Excel file이라고 보는게 더 정확하지 않을까 하는 생각이 드네요. table space 단위로 파일명을 가지고 디스크에 저장되다 보니... 한개 Excel file 안에 여러개 시트를 가지고 있고... 너무 큰 테이블은 여러개 Excel file에 나눠 담기도 하고...
차바라기
  0 추천 | 약 4년 전

오라클은 MSSQL과달리 구조를 정확하게 알지 못한다면 힘들겁니다. 아래 정의된 내용들이 있으니 참고하시면 될듯합니다.

https://m.blog.naver.com/PostView.nhn?blogId=itperson&logNo=220878018118&proxyReferer=https%3A%2F%2Fwww.google.com%2F

https://jeong-pro.tistory.com/147

jbyoon | 약 4년 전

주신 링크 감사합니다. ^^ 저도 찾아봤던 링크 인데.. 저는 Oracle Table Space = MSSQL DB 와 같다는 생각이 드는데... 다른쪽에서는 어렵게 설명이 되어 있고 다르다라고 얘기하는것도 있지만 이해가 잘 안되었습니다. 차바라기 님은 Table Space 가 DB와 같다고 생각하실까요? 아니면 전혀 다르다고 생각하실까요?

차바라기 | 약 4년 전

MS SQL은 DB인스턴스가 전체 용량이다면 Oracle은 사용자프로세스와 서버프로세스로 나눠지닌까 테이블files,Control files, Redo log files로 나눠지죠 그래서 구조는 같은데 표면적으로 다르게 보여지는거죠
wansoo
  0 추천 | 약 4년 전

테이블을 저장하는 공간이라고 생각하면 될 거 같습니다.

관계형 DB에서 데이터를 레코드 단위로해서 테이블에 저장하게되는데...

이 테이블을 디스크에다 저장하기 위한 공간(창고)라고 보면 되지 않을까 싶네요.

이 창고 안에 한개 테이블만 넣을 수도 있고, 여러개 테이블을 넣을 수도 있고... 한개 테이블이 너무 커서 여러개 창고에 나눠서 넣을 수도 있고...

테이블은 논리적인 개념이 되겠는데...

디스크라는 물리적인 공간에다 직접 저장하기에 관리의 어려움이 있기 때문에 물리적인 개념과 만나는 관리 개념의 공간이라고 보면 되지 않을까 싶네요.

jbyoon | 약 4년 전

테이블을 저장하는 공간을 = DB 로 생각하고 있었습니다. 이런 DB 여러개를 관리하는 엔진이 DBMS 이고.. 테이블을 디스크에다 저장하기 위한 공간(창고) = DB 가 아닌지.. 이렇게 계혹 헷갈려 갑니다. DB와 테이블스페이스가 예를 들어 명확하게 설명이 될 수는 없을까요?? 이렇게 물어보니까.. 다른분들이 잘 설명을 못해주시네요 ㅠㅠ

wansoo | 약 4년 전

DB는 테이블들 모두를 포괄해서 봐야 할것 같고요. DB에 대한 정의는 중복을 배제한 데이터의 모임인 통합데이터이다. 컴퓨터가 접근할 수 있는 저장 매체에 저장된 데이터이다, 실제 운영 중인 데이터이다, 여러 시스템들에서 함께 사용되는 공용 데이터이다 하는 4가지 요건을 가지고 있죠. 단순히 데이터를 따로 떼 내어 보관하면서 조회 용도로만 사용하는 Data warehouse나 data mart 등과는 구별이 될 수 있을 것 같고... DBMS는 데이터를 관리하면서 사용자(dba 및 시스템)와의 인터페이스를 제공해 주는 역할을 한다고 보면 될거 같고요.