psql(3)
-
[DB] 외래키 (Foreign key)
자식이 부모의 행동을 참조하듯이, 참조 관계에서 참조 되는 테이블은 먼저 생성되어 있어야 하며, 해당 테이블을 부모 테이블이라고 부른다. 예를 들면, 학교 정보가 담긴 데이터베이스에 교사 정보 테이블이 있다고 하자. 교사 정보 테이블에서 과목 컬럼은 앞서 생성된 과목이라는 테이블을 참조한다. (교사정보 -> 과목) 따라서 외래키가 선언된 참조하는 교사 정보 테이블을 자식 테이블이라고 하고, 참조 되는 과목 테이블을 부모 테이블이라고 부른다. 또 교사 정보 테이블의 과목 컬럼의 값은 과목 테이블의 값으로 제한된다. subject 테이블과 teacher 테이블을 서로 외래키로 연결 시켜 보자. DROP TABLE IF EXISTS subject; DROP TABLE IF EXISTS teacher; CREA..
2022.02.16 -
[DB] 프라이머리 키 (primary key)
primary key는 주 식별자, 주 키 또는 줄여서 'PK' 라고 부른다. 데이터베이스를 설계할 때에는 보통 PK라고 쓴다. 프라이머리 키의 컬럼 값은 서로 달라야 하며, 빈 값을 허용하지 않아야 한다. 즉 unique 해야 하며, not null 해야 한다는 의미이다. 또한, 프라이머리키의 데이터 타입으로는 일반적으로 SERIAL을 사용한다. DROP TABLE IF EXISTS contact; CREATE TABLE contact( id SERIAL NOT NULL PRIMARY KEY, name VARCHAR(10) ); 일반적으로 프라이머리 키는 테이블에 하나1️⃣이다. 하지만, 외래 키(Foreign key) 제약조건에 의해 프라이머리 키가 여러 개일 경우, Unique 제약조건과 유사하게 ..
2022.02.16 -
[DB] 무결성이란? 도메인이란?
무결성이란 무엇일까? 데이터베이스 내에 정확하고 유효한 데이터만을 유지시키는 속성이다. 불필요한 데이터는 최대한 제거하고, 합칠수 있는 데이터는 최대한 합하자는 것이다. 또한 우리가 생성, 조회, 수정, 삭제 할 때 데이터 값을 일관되고 정확하게 유지하자는 특성이다. 도메인이란 무엇일까? 이전 글들 중 데이타 타입을 게시 하였는데, 거기서 다루지 않았던 타입이 바로 도메인 형(Domain Types)이다. 도메인 형은 앞서 배운 기본 데이터 타입을 기반으로 선택적으로 제약조건을 걸수 있는 사용자 정의 데이터 타입이다. CREATE DOMAIN이라는 명령어로 도메인 데이터 타입을 정의 할 수 있다. 예를 들어, 사원정보 테이블에 부서명, 사원이름, 전화번호, 이메일 등의 정보가 들어 있다고 가정하면, 이때..
2022.02.15