Notice
Recent Posts
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 알고리즘
- 폼태그
- 깃허브 간단요약
- 이클립스
- 설치
- Eclipse
- 설정
- 자바스크립트
- MySQL
- 스프링
- Spring
- 셋업
- jsp 내부객체
- 마이바티스
- SESSION
- Oracle
- EL태그
- java
- html
- 필터체인
- 자바
- jstl
- 면접
- 깃허브
- 버튼
- 제이쿼리
- jsp
- jquery
- 오라클
- springboot
Archives
- Today
- Total
은은하게 코드 뿌시기
[DB] 제약조건 - 오라클/MYSQL 본문
728x90
제약조건이란?
테이블의 특정 열에 지정하여
지정한 열에 제약 조건에 부합하지 않는 데이터를 제약하는 조건
제약의 방식은 데이터를 저장할 수 없거나, 데이터의 수정이나 삭제 가능여부도 영향을 받게 할수 있다.
제약조건의 종류
종류 | ORACLE/MYSQL | 설명 |
NOTNULL | 공통 | NULL 허용안됨, NULL을 제외한 데이터의 중복은 허용됨 |
UNIQUE | 공통 | 중복 허용안됨, 단 NULL은 값의 중복에서 제외됨 |
PRIMARY KEY | 공통 | 유일한 값이면서 NULL을 허용하지 않음, 테이블당 하나만 지정 가능, 자동으로 인덱스가 만들어집니다. |
FOREIGN KEY | 공통 | 다른 테이블의 열을 참조하여 존재하는 값만 입력 가능 |
CHECK | 오라클 | 설정한 조건식을 만족하는 데이터만 입력가능 |
DEFAULT | MYSQL | 해당필드의 기본값을 설정할 수 있게 해줍니다. 만약에 레코드를 입력할 때 해당 필드값을 전달하지 않으면, 자동으로 설정된 기본값을 저장합니다. |
1
2
3
4
5
6
7
8
9
10
|
CREATE TABLE SCOTT.NEWTABLE_2 (
COLUMN1 VARCHAR2(100) DEFAULT 12334 NOT NULL,
COLUMN2 VARCHAR2(100),
COLUMN3 VARCHAR2(100),
COLUMN4 VARCHAR2(100),
CONSTRAINT NEWTABLE_2_UN UNIQUE (COLUMN2),
CONSTRAINT NEWTABLE_2_CHECK CHECK (null),
CONSTRAINT FK_NEWTABLE FOREIGN KEY (COLUMN1) REFERENCES SCOTT.NEWTABLE(COLUMN1)
);
|
cs |
더보기
+ 데이터 무결성 ?
데이터의 정확성과 일관성을 보장한다,
이를 항상 위해서 데이터의 삽입,수정,삭제 등 모든 과정에서 꼭 지켜야하는 기본규칙들을 가지고있고, 제약조건은 이러한 데이터 무결성을 지키기위한 안전장치로서 중요한 역활을 함.
무결성의 종류
종류 | 설명 |
영역 무결성 (domain integrity) |
열에 저장되는 값의 적정여부를 확인. (자료형, 적절한 형식의 데이터, NULL 여부 확인 등) |
개체 무결성 (entity integrity) |
기본키(primary key)는 반드시 값을 가지고 있어야 하며 NULL이 도리수 없고 중복도 될수 없음 |
참조 무결성 (referential integrity) |
참조 테이블의 외래키 값은 참조 테이블의 기본키로서 존재해야 하며 NULL이 가능 |
오라클에서 제약조건 확인하기
SELECT owner, constraint_name, constraint_type, table_name FROM user_constraints; |
제약조건 확인 명령어 종류
열이름 | 설명 |
OWNER | 제약조건 소유 계정 |
CONSTRAINT_NAME | 제약 조건 이름 (직접 지정하지 않으ㅏㄹ 경우 오라클이 자동으로지정함) |
CONSTRAINT_TYPE | 제약조건종류 C: 0CHECK, NOT NULL U: UNIQUE P: PRIMARY KEY R: FOREIGN KEY |
TABLE_NAME | 제약조건을 지정한 테이블의 이름 |
제약조건 수정 하기
제약 조건 이름 지정 | ALTER TABLE SCOTT.NEWTABLE ADD CONSTRAINT NEWTABLE_PK PRIMARY KEY (COLUMN1) ENABLE; |
제약 조건 이름 변경 | ALTER TABLE SCOTT.NEWTABLE1 RENAME CONSTRAINTS SYS_C007422 TO NETABLE_PK_CONSTRINTS; |
생성한 테이블에 제약조건 추가하기 | ALTER TABLE SCOTT.NEWTABLE MODIFY COLUMN2 VARCHAR2(100) NOT NULL; |
제약조건 삭제 | ALTER TABLE SCOTT.NEWTABLE1 DROP CONSTRAINTS NETABLE_PK_CONSTRINTS; |
728x90
'Database -Mysql,Oracle' 카테고리의 다른 글
[DB] 권한관리 - 오라클 (0) | 2022.11.09 |
---|---|
[DB] 사용자관리 - 오라클 (0) | 2022.11.09 |
[DB] 오라클 scott 계정 활성화 / 오라클 19c scott 계정 활성화 (0) | 2022.11.07 |
[DB] 오라클 삭제 (0) | 2022.11.07 |
[DB] 오라클 설치 19.3 / Oracle setup (0) | 2022.11.07 |
Comments