다들 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의 차이점을 정확하게 설명을 해주실 수 있을까요?
(예를 들어 쉽게 설명 해주셨으면 좋겠습니다.)
아무리 찾아봐도 잘 개념이 안생겨서 문의 드립니다.^^
6개의 답변이 있습니다.
테이블 스페이스는 테이블과 데이터가 저장되는 공간이라고 보시면 됩니다.
먼저 테이블 스페이스를 여러개 만들어 놓고,
테이블을 생성할 때 저장되는 테이블 스페이스를 지정할 수 있습니다.
그리고, 데이터, 인덱스 등을 테이블 스페이스로 구분하여 관리할 수 있습니다.
DB > 테이블스페이스 > TABLE 정도로 생각 하셔도 됩니다.
table space를 만들때 마다 1개 이상의 file이 디스크에 생성된다는 걸 생각하면 이해가 쉬울것 같네요.
table들은 tablespace에 저장하고, 디스크에 실제 저장될때는 table space 기준으로 저장된다고 보면 될거 같습니다.
한개 table space에 여러개의 file이 지정될 수는 있지만, file이 없는 table space는 존재하지 못하죠~
wansoo | 약 4년 전
말씀하신대로 DB 에 대한 정의는 맞으나 오라클에서는 좀 더 세부적으로 나뉘어진다고 보시면 됩니다.
MS SQL 에서는 그냥 DB, 테이블 이 정도로 단순화 되어 있지만
오라클에서 말하는 DB 는 테이블 스페이스, 테이블 뿐만 아니라 로그 파일들, 컨트롤 파일 등등
여러 다양한 객체들을 다 포함해서 관리하는 영역이고 테이블 스페이스는 데이터가 저장되는 테이블을
한 파일로 관리하는 거라고 보시면 됩니다.
jbyoon | 약 4년 전
Toad로 오라클을 쓰다보니 잠깐 찾아보고 말씀드리는데 전문적이진 않아서 설명이 만족스럽진 않으실 수도 있습니다.
Table은 말그대로 Row와 Column을 모아둔 상황이고, TableSpace는 그 Table들을 모아둔 공간이라고 보시면 될것 같습니다.
컴퓨터의 파일과 폴더(디렉토리)로 본다면, Table은 Excel의 시트 1개가 저장된 파일이고, Tablespace는 그 파일들이 모여있는 폴더(디렉토리)라고 설명드리면 되지 않을까 싶습니다.
Tablespace에서는 테이블들의 용량증가 옵션 등 관련 설정에 대한걸 관리하는 듯 하네요.
wansoo | 약 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년 전
차바라기 | 약 4년 전
테이블을 저장하는 공간이라고 생각하면 될 거 같습니다.
관계형 DB에서 데이터를 레코드 단위로해서 테이블에 저장하게되는데...
이 테이블을 디스크에다 저장하기 위한 공간(창고)라고 보면 되지 않을까 싶네요.
이 창고 안에 한개 테이블만 넣을 수도 있고, 여러개 테이블을 넣을 수도 있고... 한개 테이블이 너무 커서 여러개 창고에 나눠서 넣을 수도 있고...
테이블은 논리적인 개념이 되겠는데...
디스크라는 물리적인 공간에다 직접 저장하기에 관리의 어려움이 있기 때문에 물리적인 개념과 만나는 관리 개념의 공간이라고 보면 되지 않을까 싶네요.
jbyoon | 약 4년 전
wansoo | 약 4년 전