반응형

제가 테이블 생성 시 필수적으로 넣어주는 컬럼입니다.

 

물리 이름 논리 이름
REG_DT 등록일자
REG_ID 등록자 아이디
REG_IP 등록자 아이피
MOD_DT 수정일자
MOD_ID 수정자 아이디
MOD_IP 수정자 아이피
DEL_YN 삭제여부 ('Y' 혹은 'X')
반응형
반응형

뷰(View)란?

 

뷰는 데이터베이스에 존재하는 테이블에서 유도된 가상 테이블을 말합니다. 일반 테이블처럼 행과 열을 가지고 있지만 실제로 데이터를 저장하고 있는 일반 테이블과 달리, 실제로 데이터를 저장하고 있지 않습니다.

 

 

뷰의 장점

 

1. 특정한 사용자에게 테이블 전체의 내용이 아닌 보여주고 싶은 일부분만 보여줄 수 있습니다.

2. 복잡하고 반복되어 사용되는 쿼리를 단순화할 수 있습니다.

 

 

뷰의 단점

 

1. 뷰는 한 번 정의되면 변경이 불가능합니다.

2. 삽입, 삭제, 갱신 작업에 많은 제한 사항을 가집니다.

3. 뷰는 자신만의 인덱스를 가질 수 없습니다.

 

 

뷰 생성 예제

 

뷰는 위에서 말하였듯 데이터베이스에 존재하는 테이블에서 유도되어 만들어지는 가상 테이블입니다. 이에 유념하여 뷰를 생성해 봅시다.

 

뷰 생성 SQL : create view 뷰이름 as select 속성 from 테이블명 where 조건;

 

create view new_view as
select name, grade
from student
where gender = '남';

 

위 예제는 'new_view' 라는 이름의 뷰를 생성하는데 'student' 라는 테이블의 성별이 '남' 인 학생들 중 'name''grade' 속성을 가져옵니다.

반응형
반응형

MySQL, MariaDB - CASCADE, RESTRICT

 

변경 제약 : ON UPDATE [RESTRICT | CASCADE | NO ACTION | SET NULL] 

삭제 제약 : ON DELETE [RESTRICT | CASCADE | NO ACTION | SET NULL] 

 

CASCADE : A개체를 변경/삭제할때, A개체를 참조하고 있는 모든 개체들이 변경/삭제된다.

  

RESTRICT : A개체를 변경/삭제할때, A개체를 참조하고 있는 개체가 존재하면 A개체에 대한 명령(변경/삭제)이 취소된다. 

 

SET NULL : A개체를 변경/삭제할때, A개체를 참조하고 있는 모든 개체들의 값은 NULL로 셋팅된다.

 

 

SQL문

 

drop table 테이블명 [cascade | restrict]

 

drop table board cascade;

drop table board restrict;
반응형
반응형

그룹 함수

함수명 기능 사용
 COUNT  행의 수를 계산한다.   COUNT(컬럼 | *) 
 MAX  값들 중에 최대 값을 반환한다.   MAX(컬럼) 
 MIN  값들 중에 최소 값을 반환한다.   MIN(컬럼) 
 AVG  평균 값을 계산한다.   AVG(컬럼) 
 SUM  총 합계를 계산한다.   SUM(컬럼)
 VARIANCE  분산을 계산한다.   VARIANCE(컬럼) 
 STDDEV  표준편차를 계산한다.   STDDEV(컬럼) 

GROUP BY 절

GROUP BY 절은 반드시 그룹함수와 함께 쓰이며 그룹 함수의 결과 값은 GROUP BY 절에 기술된 컬럼의 항목들의 행의 갯수에 의해 결정된다.

 

HAVING 절

HAVING 절에서는 GROUP BY 절로 인해 생긴 각 그룹에 대하여 조건을 적용하기 위해 사용한다.

 

select 컬럼, 그룹함수(컬럼) from 테이블명 where 조건 group by 대상 having 조건;

-- 부서별로 묶음
select deptNo, count(*) from emp group by deptNo;

-- 부서별로 묶고, 부서 인원이 4명 이상인 부서만 표시
select deptNo, count(*) from emp group by deptNo having count(*) > 4;

 

반응형

+ Recent posts