DATABASE4

다원·2022년 12월 17일
0

DATABASE

목록 보기
5/13

텍스트

작업 정리

select * from tabs : 사용자가 보유하고 있는 테이블에 대한 정보확인
desc 테이블명: 테이블 속성에 대한 정보 확인
alter table 테이블명 modify(객체 이름 속성(값)): 테이블에 기존 객체 수정
alter table 테이블명 add (객체 이름 속성(값)): 테이블에 새로운 객체 추가
alter table 테이블명 drop column (객체 이름): 테이블에 기존 객체 삭제
update 테이블 명 set 변경할 필드=변경할 필드 값,변경할 필드 .. where 조건: 필트 값 변경
alter table 테이블 명 rename column 기존 컬럼 to 변경 컬럼: 기존 컬럼의 이름을 변경
insert into 테이블명 values (값) :필드 값 추가
insert into 테이블명 select (열 이름) from 참조 테이블
insert all
when to_char(hire_date, 'yyyy') = '2000' then into hired_2000
select employee_id, first_name, hire_date, job_id, salary, department_id from employees;

제약조건

테이블 추가, 변경 삭제되는 데이터를 제한하기 위해서 사용
데이터에 제약조건을 거는 이유, 무결성을 위해서 반드시 필요
ADD constraint 제약조건명(컬럼명) REFERENCE (타겟테이블) 명(타겟_컬럼명)
USER_constraints (사용자가 설정한 제약 조건을 확인할 수 있음)
유사하게 ALL DBA 등으로도 제약 조건을 확인할 수 있고, constraint는 필드에 대한 제약 조건을 의미하고
USER_cons_columns(사용자 제약 조건), all_cons_columns(모든 제약 조건에 대한) 컬럼에 대한 제약 조건을 확인 할 수 있음
사용자가 통제할 수 없는 Data Dictionary 에 저장되어져 있음
where로 constraint에 조건을 걸어 확인할 때 컬럼이름을 대문자로 해야됨
Dictionary에 대문자로 저장되어있기 때문
테이블에 조건을 만들때 constraint를 지정하지 않아도 자동생성됨을 알 수 있음

  • 제약조건 종류
    not null:
    unique: 유일해야함
    primary key:기본키 not null + unique의 조건을 만족해야함
    유일하게 테이블을 식별해주는 조건, 하나의 테이블에는 하나의 PK와 여러개의 FK => 관계형 DB생성, 여러 테이블들을 JOIN할 수 있음
    reference(foreign) key: 다른 테이블 PK와 연계
    check: 사용자 지정 조건

NOT NULL 제약조건 오류

: 제약조건이 NOT NULL 이기에 값을 입력하지 않을 경우 테이블이 생성될 수 없음

무결성 제약조건 오류

UNIQUE로 설정되어있기에, 동일한 필드값을 넣으면 값이 저장되지 않음 4

모든 제약조건을보면 기본키와 참조키를 확인할 수 있음

PK 기본키, FK 외래키
alter modify 를 이용하여 제약 조건을 줄 수 있음

alter table mydept
add constraint my_dept_depton_pk PRIMARY KEY(deptno); // my
~ pk 는 제약조건 이름 생성하지 않아도 됨

외래키로 참조되고 있는 데이터를 수정 할 수 없음

  • DEFAULT SYSDATE: DATE 저장시 날짜를 지정하지 않으면 자동으로 해당 날짜로 넣음

제약조건이 걸려있을 때 데이터 변경
제약 조건이 없을 경우 데이터를변경해도 문제가 되지 않음

check 제약 조건:
입력되는 값을 check 제약으로 설정된 값 이외에 받아드리지 않는 것

alter table my_emp
add constraint my_emp_sal ch check sal >10
alter table my_dep
add constraint my_dep deptno_ch check (depton in ('10','20','30','40'));

default 제약 조건: 값이 없을 경우 기본적으로 입력하는 조건

profile
공부일지,

0개의 댓글