오라클 강좌 - 주로 사용되는 용어와 테이블 생성 및 제거

오라클 강좌 - 주로 사용되는 용어와 테이블 생성 및 제거



지난 강좌에서는 이론 위주로 진행했었는데요. 이론적인 부분은 아직 많이 있습니다.

 

데이터베이스를 생성하고 설계할 때 사용되는 모델링과 관계 등이 있는데요. 어차피 이 강좌를 보시기 시작하신 분들은 오라클을 설치하고 기다리면서 왜 빨리 테이블 생성이나 쿼리 등을 안알려주지 라고 생각할겁니다.

그래서 중요하지만 재미없는 이론 부분은 생략하고 필요한 부분만 중간중간 짚고 넘어가겠습니다.

이번 시간은 테이블을 생성하기 위해 사용되는 주요 용어를 정리하고
테이블을 생성해보도록 하겠습니다.


 

 

1. 테이블(TABLE)
데이터를 가지고 있는 집합체로 행과 열로 되어 있습니다. 
이름은 릴레이션 등 여러 이름으로 불리기도 합니다. 
 
2. 뷰(VIEW)
쿼리를 이용해서 생성하는 가상 테이블입니다. 
예를 들어 테이블 3개를 조인해서 하는 퀄리를 여러 곳에서 많이 사용한다고 할 때, 뷰에 테이블 3개를 조인한 쿼리를 가지는 가상테이블이라면 이 뷰를 사용했을 경우 정말 간단한 쿼리 결과가 나옵니다. 
여러곳에서 반복되는 퀄리라면 이 곳 하나에서 관리하면 관리 포인트가 줄어드는 장점도 가지고 있습니다.
    
데이터 접근 및 처리속도를 향상시키고, 필요한 정보만 조회시킬 수 있습니다.

3. 인덱스(INDEX)
인덱스는 데이터 조회 시 정말 중요한 역활을 하는데요.
원하는 정보를 정말 빠르게 검색해서 속도를 빠르게 향상 시킵니다.

4. 쿼리(QUERY)
데이터를 조회,등록, 수정 ,삭제등을 할 때 사용되는 명령어라고 할 수 있습니다.
SELECT * FROM TABLE 이런것을 쿼리라고 하지요
쿼리를 통해서 데이터베이스에 데이터를 어떻게 하라고 명령하는 겁니다.

5. 프라이머리키(Primary Key : PK)
pk 라고 불리기도 하며 데이터 무결성이 일어나지 않도록 하는 중요한 역활을 합니다.
   


6. 시퀀스(Sequence) 
테이블에 데이터가 등록될 때 시퀀스를 지정해주면 유니크 한 값이 등록되게 됩니다.
데이터에 대한 고유 값을 설정할 때 사용됩니다.
쉽게 예를 들면 게시판 번호라고 할 수 있습니다. 
인터넷 게시판에 32번 게시물을 보려고 할 때 시퀀스가 사용되기도 합니다.

7. 참조키 (FK)  
테이블 관계를 설정할 때 사용되는 키로 두 테이블 간의 데이터 연결을 할 때 사용됩니다. 
게시판에 대한 것으로 예를 들면 32번에 대한 댓글을 조회할 때 데이터 게시물이 있는 테이블 32번키와 ,32번키를 참조하는 댓글이 있는 테이블에 관계가 참조키로 연결되는 겁니다.

8. 컬럼(Column)
테이블의 행을 나타내며 테이블 생성 시 컬럼을 지정해서 사용합니다.

용어부분이 무궁무진하여 이정도 까지만 하도록 하겠습니다. 나머지는 강좌를 진행하면서 필요할 때 부가적으로 설명하겠습니다.

 

이제 오라클에서 테이블 생성하는 방법을 알아보겠습니다
테이블을 생성 후 이 생성된 테이블을 이용해서 계속 강좌를 진행하도록 하겠습니다.

명령은 CREATE 를 사용하며 테이블 생성규칙은 다음과 같습니다.

 CREATE TABLE USER_INFO
(
    SEQ        NUMBER  PRIMARY KEY
    ,USER_ID   VARCHAR2(30) NOT NULL
    ,USER_NAME VARCHAR2(50)
    ,USE_YN    CHAR(1)

)


 

위 쿼리를 생성하면 테이블이 생성됩니다.

테이블 명은 USER_INFO입니다.
총 4개의 컬럼으로 구성되어 있습니다.
SEQ 컬럼은 값이 등록되면 1, 2, 3...이렇게 증가되는 숫자 값을 들어갈겁니다.
PRIMARY KEY가 설정되어 중복된 값이 등록될 때 무결성 제약조건이 발생하였습니다. 라는 오류가 발생됩니다.

USER_ID 테이터 타입이 VARCHAR2로 생성되었습니다. 문자를 가지고 길이가 조절되는 가변형으로 선언된 것입니다.
VARCHAR(30)으로 설정되었으니 데이터 길이가 30개 이상이면 오류가 발생됩니다.
예를 들어 USER_ID에 'TEST1' 이란 값이 들어오면 글자 길이가 5개이므로 나머지 값은 사용하지 않게 됩니다.
반면 CHAR(30) 로 생성하였을 때 'TEST1'로 데이터가 들어오면 'TEST1         ' 나머지 길이값은 공백으로 채워집니다.

USER_ID뒤에 NOT NULL 이 되어 있는데 값이 무조건 존재해야 된다는 겁니다. 값이 비워지면 NULL을 허용할 수 없다는 오류가 발생됩니다.

USER_YN 에 CHAR(1) 이라고 생성되었는데 뒤어 특별하게 지정되지 않아 값이 들어가지 않아도 됩니다.  NULL을 허용한다는 겁니다.

이제 테이블을 제거해보겠습니다.
명령어는 DROP을 사용합니다. 제거 명령은 간단합니다.
DROP TABLE [테이블명] 입니다.
DROP TABLE USER_INFO 를 실행하면 생성되었던 테이블이 삭제됩니다.

다음 강좌에서 USER_INFO 테이블을 사용할거라서 테이블을 생성하셨으면 다시 생성해주세요^^