독학사/데이터베이스

데이터 정의

개발자 입니다 2022. 10. 10. 23:56

평가영역

  • 기본 테이블
  • 색인

와 드디어 SQL

기본 테이블

하기전에 SQL 특징

  • 대화식 언어이며 내장언어
    온라인 터미널을 통하여 대화식으로 사용가능, COBOL이나 C등 호스트 언어에서 내장언어로 사용가능
  • 집합 단위로 연산하는 언어
    관계형 데이터베이스가 집합을 근거로 하기때문에 레코드 단위 연산이 아닌 집합단위 연산 방식
  • 비절차 언어
    자료 접근을 위한 방식이나 경로 지정등의 절차를 기술할 필요가 없음
  • 표현력이 풍부하고 구조가 단순
    관계대수 언어만큼 표현 능력이 뛰어나며 select-from-where구조로 간단함

진짜 기본테이블

 

1. 테이블 정의

CREATE TABLE 테이블명(필드명 데이터 타입 UNIQUE NOT NULL,
                    NAME CHAR(5)
                    );
  • UNIQUE = 중복값 허용 안함

 

2. 테이블에 필드 추가

ALTER TABLE 테이블명 ADD 필드명 DATA_TYPE [제약조건];

 

3. 테이블에 필드 삭제

ALTER TABLE 테이블명 DROP 필드명 [CASCADE|RESTRICT];

 

4. 테이블에 필드 수정

ALTER TABLE 테이블명 ALTER 필드명 [제약조건];

 

5. 제약조건 삭제

DROP CONSTRAINT 제약조건명;

 

6.테이블 삭제

DROP TABLE 테이블명 CASCADE;
  • CASCADE = 이 테이블을 참조한 인덱스나 뷰, 제약조건도 함께 삭제된다.
  • RESTRICT = 이 테이블을 참조한 인덱스나 뷰, 제약조건이 있으면 테이블이 삭제되지 않는다.

 


색인(index)

응용 프로그램에서 찾고자 하는 레코드를 쉽게 검색하기 위해 각 레코드의 저장위치를 목록으로 작성한 것

  • 기본키 색인
    기본키값마다 해당하는 레코드의 저장위치를 설정한것. 모든 기본키는 자동으로 색인화 된다.
  • 분류키 색인
    기본키가 아닌 속성중 색인을 설정한 것. 반드시 단일 속성별로 설정하지 않아도 된다.
색인을 무분별하게 생성하면 데이터에 입력, 갱신, 삭제 등 작업이 이루어 질때마다 색인테이블 또한 갱신이 필요해지므로 추가적인 비용이 발생한다.

 

인덱스 생성

CREATE (UNIQUE|CLUSTER) INDEX 인덱스명
ON 테이블명(컬럼명1 ASC, 컬럼명2 DESC, 컬럼명3);
  • UNIQUE = 대상이 되는 컬럼에 중복되는 값이 있을 수 없다.
  • CLUSTER = 인덱스를 생성할데 데이터를 인덱스 정렬에 맞게 정렬한다.(테이블당 하나만 생성가능)
  • ASC = 오름차순 (디폴트값)
  • DESC = 내림차순

인덱스 삭제

DROP INDEX 인덱스명;