목록Database (16)
gambae programing
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/d9XtKB/btrG8lWyAXx/knk4K8KF9Y4ffckqAWOq50/img.png)
시퀸스 고유 번호를 자동으로 생성 공유 가능한 객체 일반적으로 기본 키 값을 생성하는 데 사용 응용 프로그램 코드를 대체 시퀸스 문 increment by n : 시퀸스 번호 사이의 간격을 지정 , 생략시 시퀸스는 1씩 증가 start with n : 첫번째 시퀸스 번호를 지정 , 생략시 시퀸스는 1부터 시작 maxvalue n : 시퀸스가 생성할 수 있는 최대값을 지정 , 생략시 디폴트 값 non maxvalue minvalue n : 시퀸스의 최소값을 지정 , 생략시 디폴트 값 non minvalue cycle | nocycle : 최대값 또는 최소값에 도달한 이후에도 시퀸스가 계속 값을 생성할지 여부를 지정 , nocycle이 디폴트 값 cache n | no cache : 오라클 서버가 미리 할당..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dbhkjY/btrG4GUkiU5/h5Lz5u2H7JDKAvKbiwkFj1/img.png)
뷰 테이블 뷰를 생성하면 데이터의 논리적인 부분 집합 또는 조합을 나타낼 수 있음 뷰는 자체적으로 데이터를 포함하지는 않지만 뷰를 통해 데이터를 보거나 변경할 수 있음 뷰는 데이터 딕셔너리에 select문으로 저장 뷰 사용 목적 데이터 액세스를 제한하기 위해 복잡한 질의를 쉽게 작성하기 위해 데이터 독립성을 제공하기 위해 동일한 데이터로부터 다양한 결과를 얻기 위해 뷰 생성 Top-N 분석 Top-N 질의는 테이블에서 조건에 맞는 최상위 레코드 n개 또는 최하위 레코드 n개를 표시하는 시나리오
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/l2aUI/btrG3K9t262/bHcFRIJcNfkFJOP2I6FGw0/img.png)
제약 조건 제약 조건을 사용하여 테이블에 유효하지 않은 데이터가 입력되는 것을 방지 제약 조건은 종속된 테이블의 삭제를 방지 제약 조건 지침 테이블_컬럼_제약조건유형 으로 이름을 지정하는 것을 권장 // emp_empno_pk 테이블을 생성할때 제약조건을 만드는 것을 권장 not null 제약 조건은 컬럼옆에 사용 // dname char(10) not null unique는 중복은 허용 되지 않지만 null 값은 허용 됨 제약 조건 정의 1개의 테이블에 1개의 컬럼에 1개의 primary key가 있는게 가장 이상적인 테이블 형태 2개의 컬럼에 primary key를 설정하는 복합 primary key 가능 foreign key를 지정할 때 참조 대상 컬럼에 무조건 pk나 uk가 설치되있어야함 참조 대..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/JzqMD/btrGSUevtXa/YKtKXyB4DfXMIVx2jzmUck/img.png)
이름 지정 규칙 문자로 시작해야 함 1자부터 30자까지 가능 A-Z , a-z , _ , $ , # 만 포함해야 함 동일한 사용자가 소유한 다른 객체의 이름과 중복되지 않아야 함 예약어가 아니어야 함 create table 문 create table 테이블이름 (컬럼1 컬럼1 데이터 타입 , 컬럼2 컬럼2 데이터 타입) 데이터 유형 열 추가 alter table 테이블 이름 add (컬럼 데이터타입) 열의 표시 위치를 지정할 수는 없음 , 새 열은 마지막 열이 됨 열을 추가할 때 테이블이 이미 행을 포함하고 있으면 새 열의 모든 행은 초기에 널 값을 가짐 열 수정 alter table 테이블 이름 modify (수정 할 컬럼 데이터타입 변경 값) 열의 데이터 유형 , 크기 및 기본값을 변경할 수 있음 기..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bsbvb3/btrG2ufcXVP/pDY72qJYXXzrQAQwKNGcxK/img.png)
insert insert into table ( column 1 , column2) values (value1,value2) insert 문을 사용하여 테이블에 새행을 추가 insert 문으로는 한 번에 한 행만 추가 각 열에 대한 값을 포함하는 새 행을 삽입 테이블 열의 기본 순서대로 값을 나열 values값 들은 insert into 뒤에 나오는 열들의 순서,갯수,데이터타입에 맞게 작성 예외적으로 여러 행을 한 번에 추가 하고 싶을때는 아래 형식을 사용 update update table set column = value // 수정할 컬럼,값 where condition // 수정할 위치 update 문을 사용하여 기존 행을 수정 필요한 경우 한 번에 여러 행을 갱신 where 절을 생략하면 테이블의..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/b6Leoh/btrGBh16mwl/OeCPJyPgQoH7NdZkSNYf50/img.png)
서브쿼리 다른 select문의 절에 삽입된 select 문 서브쿼리 (내부 질의)는 기본 질의 실행 전에 한 번 실행 서브 쿼리의 결과는 메인쿼리에 사용 사용지침 서브 쿼리는 괄호로 묶어야 함 비교 조건의 오른쪽에 서브 쿼리를 넣음 단일 행 서브 쿼리에는 단일 행 연산자를 사용 , 다중 행 서브 쿼리에는 다중 행 연산자를 사용 서브쿼리의 결과값과 받아주는 메인쿼리의 컬럼의 데이터 타입이 같아야함 having 절에도 서브 쿼리 사용 가능 다중 행 서브 쿼리 여러 행을 반환 여러 행 비교 연산자를 사용 연산자 의미 in ( =any 와 동일 ) 서브 쿼리의 데이터의 값과 동일한 값 column any (서브 쿼리..
그룹 함수 그룹 함수는 행 집합에 작용하여 그룹 당 하나의 결과를 생성 그룹 함수는 두 번까지 중첩 가능 모든 그룹 함수는 널 값을 무시 널 값을 특정 값으로 치환하려면 nvl 함수 사용 // avg(nvl(commission_pct,0)) avg(컬럼) // 숫자 데이터 유형만 사용가능 count(컬럼) // 컬럼에 널 값이 있는 행 및 중복 행을 포함하여 테이블에서 select 문의 조건을 만족하는 행 수를 반환 // count ( distinct 컬럼 ) 은 컬럼에 대해 중복되지 않는 널이 아닌 값의 수를 반환 max(컬럼) // 모든 데이터 유형 사용가능 min(컬럼) // 모든 데이터 유형 사용가능 sum(컬럼) // 숫자 데이터 유형만 사용가능 group by 절 group by 절을 사용하여..
테이블 조인 select table1.column , table2.column from table1, table2 where table1.colum1 = table2.column2; 데이터베이스에서 여러 테이블의 데이터가 필요한 경우 조인조건을 사용 서로 대응 되는 열 즉, 기본 키 및 왜래 키 열에 존재하는 공통 값에 따라 한 테이블의 행을 다른 테이블의 행에 조인 열 이름에 테이블 이름을 접두어로 붙여 해당 열을 확실히 식별할 수 있도록 하여 데이터베이스 액세스 기능을 향상 n개의 테이블을 조인하려면 최소 n-1개의 조인 조건이 필요 테이블 별칭 사용가능 // from table1 t 비등가 조인 select e.last_name , e.salary , j.grade_level from employe..