Category

    [SQL] 제약조건(Constraint)

    제약조건(Constraint) DBMS는 데이터의 무결성을 보장하기 위해, 잘못된 데이터가 저장되는 것을 방지하기 위해 사용한다. 제약조건은 테이블의 컬럼에 설정하여 사용한다. 해당 컬럼에 설정된 제약조건에 위배된 데이터가 들어오는 경우 에러가 발생한다. 데이터 무결성(Integrity) : 저장된 데이터에는 잘못된 데이터가 없어야 한다. 제약조건 종류 NOT NULL 이 조건이 설정된 컬럼에는 NULL 입력 불가 UNIQUE 이 조건이 설정된 컬럼에는 중복값 입력 불가 PRIMARY KEY 테이블당 단 1개 설정 가능, 데이터의 유일성 보장 NOT NULL + UNIQUE의 의미 FOREIGN KEY 다른 테이블의 컬럼을 참조해서 무결성 검사, 외래키 값은 NULL 혹은 참조할 수 있는 값이어야 한다...

    [SQL] 집합연산자

    집합연산자 여러개의 질의 결과를 연결하여 하나로 결합하는 방식 집합연산자를 사용하는 경우 서로 다른 테이블에서 유사한 형태의 결과를 반환하는 것을 하나의 결과로 합치고자 할 때 동일 테이블에서 서로 다른 질의를 수행하여 합치고자 할 때 튜닝관점에서 실행계획을 분리하고자 하는 목적 튜닝관점 데이터베이스의 응용, 데이터베이스 자체, 운영체제의 조정 등을 통해 최적의 자원으로 성능을 얻을 수 있도록 개선하는 작업 집합연산자 사용 제약사항 SELECT 절의 컬럼 수가 동일해야 한다. SELECT 절의 동일 위치에 존재하는 컬럼의 데이터 타입이 상호 호환 가능해야한다. 반드시 통일된 데이터 타입일 필요는 없다. 집합연산자 종류 UNION 여러개의 SQL문의 결과에 대한 합집합으로 결과에서 모든 중복된 행은 하나의..

    [SQL] Natural Join과 USING

    Natural Join 두 테이블 간의 동일한 이름을 갖는 모든 컬럼들에 대해 등가조인(EQUI JOIN)을 수행한다. Natural Join이 수행되면, USING, ON, WHERE 절에서 'Join 조건'을 정의할 수 없다. 별도의 컬럼 순서를 지정하지 않으면 Natural Join의 기준이 되는 컬럼들이 다른 컬럼보다 먼저 출력된다. Join에 사용된 컬럼들은 같은 데이터 유형이어야 한다. 별명(ALIAS)나 테이블명과 같은 접두어를 줄 수 없다. USING 같은 이름을 가진 컬럼들중에서 원하는 컬럼만 선택적으로 EQUI Join을 할 수 있다. 별도의 컬럼 순서를 지정하지 않으면 USING 조건절의 기준이 되는 컬럼이 먼저 출력된다. Join 컬럼에 대해서는 ALIAS나 테이블 이름과 같은 접두..

    [SQL] View 와 View 의 종류

    View 가상의 Table 실제 Table 에는 데이터가 있지만 View 에는 데이터는 없고 SQL 만 저장한다. View 에 접근할 때는 View 에 들어있던 SQL 의 수행된 결과를 가져오는 것이다. View 를 사용하는 목적 보안 : 특정 테이블의 특정 컬럼이 보여지면 안되는 경우 편의성 : 여러개의 테이블을 Join 하는게 매번 귀찮을 때 그것을 View 로 만들어 놓으면 편리하다. Oracle 의 경우 View 를 생성하려면 권한이 부여 되어야 한다. GRANT CREATE VIEW TO [USER]; GRANT CREATE PROCEDURE TO [USER]; 권한 확인 방법 SYSTEM 계정으로 확인해야한다. SELECT PRIVILEGE FROM DBA_SYS_PRIVS WHERE GRAN..