본문 바로가기

Database/Oracle17

SQL-Oracle_제약조건03] Column에 제약조건(Constraint) 이름 설정규칙 * 제약조건이름 확인하기 SELECT table_name, constraint_name FROM user_constraints ; 위 코드를 입력하면 제약조건이 걸려있는 테이블 이름과 제약조건 이름을 확인할 수 있다. 하지만 제약조건 이름을 따로 설정하지 않았다면 제약조건 이름에 이상한 코드들이 있는 것을 확인할 수 있다. 제약조건 이름이 이렇게 설정된다면 나중에 확인하고 관리하기가 힘들다. 때문에 규칙을 정하여 제약조건 이름을 관리해야 한다. * 제약조건 이름 규칙 사실 규칙 같은건 만들기 나름이지만 필자가 배운 기본적인 규칙을 공유한다. 테이블명_컬럼명_제약조건 여기서 제약조건도 풀 네임으로 쓰면 자리만 많이 차지하므로 다음과 같은 약어를 사용한다. Unique -> uq not null -> nn .. 2021. 6. 11.
SQL-Oracle_제약조건02] Column에 제약조건(Constraint)걸기/확인하기 * Primary Key와 Foreign Key 관계 이해하기 DB의 목적은 많은 데이터를 보관 및 관리하는 것 이를 위해 필수적인 것이 바로 데이터의 무결성 데이터에 결점이 있다면 그 DB는 쓸모가 없어지며, 잘못된 결과를 초래할 수도 있다. 때문에 DB의 데이터는 목적에 맞게 입력되야 하며, 규칙에 맞게 저장되어야 한다. 이를 위해 DB시스템은 데이터에 접근하거나 데이터를 처리할 때마다 부적절한 데이터가 입력되는지 검사하여 데이터의 결점 없음을 유지한다. 여기서 무결성이란? 무결성 제약은 DB내에 저장되는 데이터의 값들이 항상 일관성을 갖고 데이터의 유효성, 정확성, 신뢰성을 유지할 수 있도록 제약조건을 두는 DB의 특성이다. Primary key와 Foreign key의 참조 무결성 외래 키가 있는.. 2021. 6. 11.
SQL-Oracle_제약조건01] Column에 제약조건(Constraint)걸기/확인하기 * Column에 제약조건(Constraint)를 거는 이유 제약조건을 거는 이유는, 테이블에 부적절한 자료가 입력되거나 부적절하게 변경되는 것을 막아 자료의 신뢰성과 정확성을 확보하는 데 있다. 제약조건은 테이블을 생성할 때 지정할 수도 있고, 테이블 생성 후에 Alter를 이용하여 따로 추가하거나 수정이 가능하다. * Constraint의 종류 * Not null CREATE TABLE 테이블이름 ( 컬럼이름 데이타타입 CONSTRAINT 제약조건이름 NOT NULL ); Not null 제약조건을 설정하면 해당 컬럼에는 반드시 데이터를 입력해야 한다. Not null 제약조건이 걸린 컬럼을 빈칸으로 두고 Recode를 입력하려 하면 다음과 같은 에러 메시지가 뜬다. * Unique CREATE TA.. 2021. 6. 9.
SQL-Oracle] Recode 중복 제거하고 가져오기(Distinct) * 중복 제거하고 가져오기 레코드값에서 중복을 제거한 벨류값들을 보고 싶을 때 쓰는 방법이다. SELECT DISTINCT 컬럼이름 FROM 테이블이름 - 컬럼이름 자리에 여러 컬럼을 넣으면 중복을 제거하지 않은채 그대로 가져온다. - 컬럼 중에 중복이 있는 컬럼 한개를 distinct로 불러오면 중복을 제거한 값만을 확인할 수 있다. 2021. 6. 8.