반응형



■ 테이블이란 ?


 데이터를 담는 상자를 테이블이라고 한다. 데이터베이스에서 데이터들을 테이블을 통해 관리하고 있으며, 데이터베이스에서 가장 기본 구성이 되는 것이 바로 테이블이다.


 테이블은 로우와 컬럼으로 구성되어 있으며, 데이터베이스 전체를 하나의 거대한 창고라고 생각하면 이해하기가 쉽다. 즉, 상당히 많은 대량의 데이터를 테이블에 담아서 관리하는 것이다.


■ 테이블 생성하기


 기본적으로 오라클 데이터베이스를 설치한 후, 자신의 계정이나 Sys로 로그인을 하게되면 그에 맞게 테이블을 생성 및 관리를 할 수가 있다.


CREATE TABLE 테이블명 (

컬럼1 (컬럼1 타입),

컬럼2 (컬럼2 타입),

컬럼3 (컬럼3 타입),

컬럼4 (컬럼4 타입),

컬럼5 (컬럼5 타입)

);


 위에 구문은 테이블을 생성하는 구문이다. 테이블명을 정하고 그에 맞게 로우(row)를 구성하게 되면, 테이블을 생성할 수 있게 된다. 또한 그 컬럼에 알맞게 타입을 지정해주어야 나중을 생각했을 때, 효율적인 테이블 관리를 할 수 있다. 타입에 관해서는 아래에서 설명하도록 하겠다.


■ 자주 사용하는 데이터 타입


 컬럼에 올 수 있는 데이터 타입에는 문자형, 날짜형, 숫자형 등이 존재한다. 주로 많이 사용하는 컬럼 타입에 대해서 설명하도록 한다.


문자형


 문자형 컬럼 데이터 유형에는 보통 두 가지를 많이 사용한다. 첫 번째는 CHAR, 두 번째는 VARCHAR2 이다.


 CHAR의 데이터 유형은 고정 길이의 문자형 데이터 타입으로 그 크기는 SIZE만큼의 BYTE수 혹은 문자 개수가 된다.(CHAR의 경우에는 SIZE값을 생략할 수 있으며, 디폴트 값은 1이다)

 VARCHAR2의 데이터 유형은 가변 길이의 문자형 데이터 타입으로 그 크기는 최대 SIZE만큼의 BYTE수 혹은 문자수가 된다. 이때 주의할 점은 SIZE값을 정확히 명시를 해줘야된다.


CREATE TABLE GOODS(

GOODS_NUM NUMBER

);


숫자형


 숫자형 컬럼 데이터 유형에는 NUMBER라는 데이터 유형을 가장 많이 사용한다.


 NUMBER의 데이터 유형은 가변 숫자 타입으로 최대값은 21BYTE이며, SIZE는 따로 설정을 하지 않아도 된다. 이 유형은 전체 자릿수가 1~38이다.


CREATE TABLE GOODS(

GOODS_NAME VARCHAR2(50)

);


날짜형


 날짜형 컬럼 데이터 유형에는 DATE라는 데이터 유형을 가장 많이 사용한다.


 DATE는 고정 길이의 날짜와 시간 데이터로서 BC4712년 1월 1일부터 9999년 12월 31일까지 표현을 할 수가 있는 데이터 타입이다.


CREATE TABLE GOODS(

GOODS_DATE DATE

);


 위에 명시된 데이터 타입에 따라 새롭게 테이블을 생성해보았다.


CREATE TABLE GOODS(

GOODS_NUM NUMBER,

GOODS_NAME VARCHAR2(50),

GOODS_DATE DATE

);


■ 컬럼 속성 (무결성 제약조건)


 Oracle DB에서는 무결성을 지키기 위해서 제약조건이라는 것들을 제공하는데, 이러한 제약조건들은 컬럼에서 적용이 되기 때문에 컬럼의 속성이라고 표현하는 것이다.


 컬럼 속성에서는 NULL, NOT NULL, UNIQUE, PRIMARY KEY, POREIGN KEY 등이 존재한다. 각각에 대해서 상세하게 알아보도록 하자.


NULL 속성


 NULL 속성은 컬럼의 데이터가 있어야 하는지 없어도 되는지에 대한 여부를 확인해주는 속성이다. 즉, NULL로 선택을 했을 시에는 이 컬럼에는 데이터가 없어도 무방하다는 의미이고, NOT NULL 일 경우에는 이 컬럼에는 데이터가 무조건 들어있어야 된다는 의미이다.


 NOT NULL 인 경우에 INSERT 시에 데이터를 넣지 않으면, 오라클 데이터베이스에서는 에러를 발생하게 한다. 또한 아무런 속성을 사용하지 않을 경우에는 무조건 NULL로 디폴트 값이 선택이 된다.


CREATE TABLE GOODS(

GOODS_NUM NUMBER NOT NULL,

GOODS_NAME VARCHAR2(50) NULL

);


UNIQUE 속성


 테이블에 있는 데이터를 유일하게 식별하기 위한 무결성 제약조건 중 하나이다. 고유번호나 주민등록번호, 아이디 등을 고려할 때 주로 사용되어지며, 중복되지 않고 유일하게 그 데이터를 가질 수 있도록 해주는 속성이다.


 보통은 UNIQUE 속성을 사용할 시에는 NOT NULL을 같이 사용하는 경우가 많다.


CREATE TABLE GOODS(

GOODS_NUM NUMBER UNIQUE,

GOODS_NAME VARCHAR2(50) NULL

);


PRIMARY KEY (기본키)


 기본키 역시 무결성 제약조건 중 하나이다. 역시나 마찬가지로 UNIQUE와 동일한 기능을 하며, 차이점은 이 기본키같은 경우에는 자동으로 NOT NULL 속성을 갖는다는 것이다. 한 테이블 안에서는 단 하나의 기본키만 존재해야 한다.


CREATE TABLE GOODS(

GOODS_NUM NUMBER,

GOODS_NAME VARCHAR2(50) NULL,


PRIMARY KEY(GOODS_NUM)

);


FOREIGN KEY(외래키)


 테이블에 저장된 각각의 데이터 간에 유일하게 구분할 수 있는 키를 기본키라 부르며, 외래키는 각 테이블 간에 연결을 하기 위해서 다른 테이블의 참조가 되는 기본키 컬럼을 외래키라고 부른다.




CREATE TABLE GOODS(

GOODS_NUM NUMBER,

GOODS_NAME VARCHAR2(50) NULL,

GOODS_CATEGORY VARCHAR2(100),


CONSTRAINT "외래키 이름" FOREIGN KEY (컬럼명)

REFERENCES 참조테이블명 (참조컬럼)

);


 이 외에도 다양한 속성이 있지만, 주로 많이 사용하는 속성에 대해서 알아보았다. 아직 미흡한 정보도 있고, 정확하지 않은 정보도 존재할 수 있다. 글 참조는 "초코빵빵"님 블로그를 보고 참조하였다.



↓ 공감 을 눌러주시면 블로거에게 큰 힘이 됩니다 !

반응형

블로그 이미지

SkyBaby

부부가 운영하는 정보 공유 공간입니다. 다양한 일상, 요리, 맛집탐방, 게임, 공부 등의 정보를 담고 있습니다.