본문 바로가기

DB

Oracle DB SQL 기초 용어와 문법

테이블(릴레이션 relation) 

 - DB에서 데이터를 저장하기 위한 공간으로 행(튜플 tuple)과 열(애트리뷰트 attribute)로 나뉘어져 있다.

행(튜플 tuple),  레코드 (Record)

 - 테이블의 행의 값

열(애트리뷰트 attribute)

 - 테이블의 열의 값

스키마(schema) , 엔티티 유형, 렐리이션 유형, 릴레이션 내포(intension)

- 테이블의 속성

  ex) 번호, 이름, 학년의 모음을 합쳐서 릴레이션 스키마라고 한다.

릴레이션 인스턴스(instance)

- 릴레이션이 포함하는 전체 튜플을 의미한다.

도메인(domain)

- 속성이 가질 수 있는 값의 범위

  ex) 초등학교는 학년을 1~6학년 까지만 가질 수 있다.

디그리(Degree)  

 - 한 릴레이션을 구성하는 속성의 수, 즉 애트리뷰트의 개수

카디널리티(cardinality)

 - 특정 릴레이션의 튜플의 개수를 의미한다.

번호 이름 학년
1 이름1 1
2 이름2 2

ex) 위의 릴레이션의 디그리는 3개, 카디널리티는 2개

 

 [1]테이블 생성 규칙
    CREATE TABLE [테이블명](
        컬럼명1 타입 조건,
        컬럼명2 타입 조건,
        컬럼명3 타입 조건
    );
    타입은 NUMBER, NVARCHAR2 등이 있다.
    조건은 PRIMARY KEY,NOT NULL 등이 있다.
    [2]테이블이름(TABLE_NAME) 규칙
     - 테이블 이름은 문자로 시작해야 된다. (한글가능, 숫자나 특수문자로 시작X)
     - 테이블 이름은 30byte 이하여야 한다. (영어는 30자, 한글은 15자 이하)
     - 테이블 이름 중복X
     - 영어, 한글, 숫자, 특수문자($ , _  ,#)사용 가능
     - SQL 키워드(예약어)는 사용할 수 없다 ex) CREATE, SELECT 등등..
     
    [3]열(COLUMN)이름 규칙
     - 문자로 시작(한글O, 숫자X), 이름 중복X
     - 30byte 이하여야 한다. (영어는 30자, 한글은 15자 이하)
     - 영어, 한글, 숫자, 특수문자($ , _  ,#)사용 가능
     - SQL 키워드(예약어)는 사용할 수 없다 ex) CREATE, SELECT 등등..
      
    [4] 자료형(데이터 타입) ★가 가장 대표적
     - ★ NUMBER : 숫자에서 가장 대표적으로 사용하는 타입
     - NUMBER(5) : 5자리 정수

     - NUMBER(3, 2) : 3자리 정수 , 2자리 소수


     - ★ NVARCHAR2(10) : 길이 가변형 저장공간을 10칸중에 5칸만 사용하면 나머지 5칸은 자동으로 삭제 (메모리절약)
                                   어떤나라의 글자를 가져와도 글자를 한글자당 1BTYE로 계산을 해준다.


     - VARCHAR2(10) : 길이 가변형 저장공간을 10칸중에 5칸만 사용하면 나머지 5칸은 자동으로 삭제 (메모리절약)

                              한글같은 문자는 문자가 한글자여도 2BYTE로 계산


     - NCHAR(10) : 길이 고정형 저장공간 10칸이면 10칸고정
     - CHAR(10) : 길이 고정형 저장공간 10칸이면 10칸고정
     
     - ★ DATE : 고정 길이, 날짜 데이터 [년/월/일/시/분/초] 표현가능
     
     ----------------------------------------------------------------------------------------------------------
     
     -대용량 처리 : CLOB, BLOB, BFILE...
         
    - 테이블 조회

     SELECT * FROM 테이블명;

          
    - 테이블 데이터 삽입
    INSERT INTO 테이블명 VALUES(데이터1, 데이터2 ....);
    
    - 테이벌 데이터 삭제
    DELETE FROM 테이블명 WHERE 컬럼명 = 삭제할데이터;