본문 바로가기
카테고리 없음

SQL 기초 활용 DDL - 국민대 김남규 교수 강의

by 오잉쿡 2024. 5. 24.
반응형

#테이블 생성 규칙
ㄴ 테이블명 : 객체를 의미할 수 있는 이름 , 단수형 권고!
*다른 테이블의 이름과 중복되지 않아야 함.

#칼럼명
ㄴ 한 테이블 내에서는 컬럼명이 중복되지 않아야함
ㄴ 테이블 생성 시 각 컬럼들은 괄호 내에서 콤마로 구분됨
ㄴ 칼럼 뒤에 데이터 유형이 반드시 지정되어야 함

#테이블명 & 칼럼명
ㄴ 사전에 정의된 예약어(SELECT, FROM, WHERE 등) 사용 불가
ㄴ 테이블명과 칼럼명에는 문자, 숫자, 일부 기호(_,&,#)만 허용됨
ㄴ 테이블명과 칼럼명은 반드시 문자로 시작해야 한다 (숫자, 기호 불가)

#제약조건명 : 다른 제약조건의 이름과 중복되지 않아야 함

#Oacle의 주요 데이터 타입
- CHAR : 고정 문자열 , 변수에 할당된 값이 고정 길이보다 작은 경우, 나머지 공백이 채워짐
‘AA’ = “AA ‘
- VARCHAR2 :  가변 길이 문자열, 변수에 할당된 값이 고정 길이보다 작은 경우, 나머지 공간 사용X
‘AA’ <> “AA ‘
- NUMBER : 정수, 실수 등의 숫자 정보 , 10가지 이상의 숫자 타입 지원 ,
전체 자리수와 소수 부분 자리수를 명시
NUMBER(8,2) > 정수부분 6자리, 소수 부분 2자리
- DATE  : 날짜와 시각정보

#제약조건
- PK : 기본키를 정의함 (하나의 테이블에 하나의 기본키 제약만 정의 가능)
NOT NULL & UNIQUE
- FK : 다른 테이블의 기본키를 참조하는 외래키를 지정함
외래키 지정시 참조 무결성 제약 옵션 선택
- NOT NULL : NULL 값의 입력을 허용하지 않는 제약 조건 (값이 비어있으면 INSERT가 안됨)
- UNIQUE : 해당 칼럼의 값이 테이블 내에서 유일해야 함을 제약하는 조건
- CHECK : 입력할 수 있는 값을 제한하는 조건  (범위)
*제약 조건명을 명시적으로 부여할 수도 있고, 묵시적으로 제약 조건명 없이 제약 조건을 설정할 수도 있음 (시스템적으로 제약조건명 설정)

#제약 조건의 옵션
- RESTRICT(Dafault) : 기본값의 삭제 또는 갱신을 불허
- NO ACTTION : RESTRICT 와 동일하게 동작
- CASCADE
기본키가 삭제되면 해당 값을 외래키로 갖는 레코드도 삭제
기본키가 갱신되면 이를 참조하는 외래키를 새로운 값으로 업데이트
- SET NULL
기본키가 삭제 또는 갱신되면 이를 참조하는 외래키를 NULL로 업데이트

#테이블 생성 : 기존 테이블을 활용해서 테이블 생성 (SELECT 문 활용)
**제약조건은 NOT NULL만 복제됨
PK, FK, UNIQUE, CHECK 등은 수동으로 추가해야함

#ALTER 문을 통한 테이블 변경
- 칼럼의 추가/삭제/수정, 제약 조건의 추가/삭제
- (1) 칼럼의 추가 (ADD)
ALTER TABLE 테이블명 ADD / DROP COLUMN / RENAME COLUNM 컬럼명1 TO  컬럼명2

- 컬럼의 정의 수정
이미 입력되어 있는 값에 영향을 미치는 변경은 허용X
데이터 타입 변경
ㄴ 테이블에 아무 행도 없거나, 해당 컬럼이 NULL만 갖고 있을 때 가능
칼럼의 크기 변경
ㄴ 칼럼의 크기 확대 > 항상 가능
ㄴ 칼럼 크기 축소 > 테이블에 아무 행도 없거나, 해당 칼럼이 NULL만 갖고 있거나 현재 저장된 값을 수용할 수 있는 크기로의 축소만 가능
DEFAULT값 추가 및 수정
ㄴ 추가 및 수정 이후 삽입되는 행에만 영향을 미침
*NOT NULL : NULL을 허용하지 않는다


반응형

댓글