전체 글(135)
-
[DB] 테이블 만들때 현재 시간 자동으로 저장
CREATE TABLE times( id SERIAL PRIMARY KEY, register_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP, likes INTEGER DEFAULT 0 ); 1. times테이블 생성 2. id컬럼 PK 생성 3. 데이터 삽입시 자동으로 현재 시간기준으로 디비에 저장 4. 좋아요 (디폴트 값으로 0)
2022.02.17 -
[DB] 기존 테이블의 컬럼에 제약조건 추가/삭제 하기
추가하기 ADD 1. 기존 테이블 컬럼에 외래키 설정 DROP TABLE IF EXISTS teacher; DROP TABLE IF EXISTS subject; create table subject( sub_id serial primary key, sub_name varchar(10) not null, unique(sub_name) ); // subject테이블, sub_id는 PK이고, sub_name은 유일한 값이다 create table teacher( tea_id serial primary key, teacher_name varchar(10) not null, sub_id int references subject(sub_id) ); // tea_id는 pk이고, sub_id컬럼이 subject테이..
2022.02.17 -
[DB] check 제약조건
CHECK 제약 조건을 가장 일반적인 제약 조건으로, CHECK 뒤에 나오는 식이 boolean 타입의 true를 만족해야 한다. 예를 들어, 주문 정보 테이블을 만든다고 하자. 이 때, 주문 수량 컬럼을 양수만을 입력 받기로 제한하고 싶다면 다음과 같이 check 제약 조건을 사용 하면 된다. DROP TABLE IF EXISTS order_info; CREATE TABLE order_info( order_id serial primary key, cust_name varchar(20), price money, order_qty integer check(order_qty > 0) ); 이전에 도메인(DOMAIN) 데이터 타입 예시에서 쓰인 CHECK절이 바로 check 제약조건이다.
2022.02.17 -
[DB] 외래키2 (foreign key)
https://comingisspring.tistory.com/115 [DB] 외래키 (Foreign key) 자식이 부모의 행동을 참조하듯이, 참조 관계에서 참조 되는 테이블은 먼저 생성되어 있어야 하며, 해당 테이블을 부모 테이블이라고 부른다. 예를 들면, 학교 정보가 담긴 데이터베이스에 교사 comingisspring.tistory.com 위 내용에서 이어진 내용입니다. 1. ON DELETE CASCADE DROP TABLE IF EXISTS teacher; DROP TABLE IF EXISTS subject; CREATE TABLE subject( sub_id SERIAL PRIMARY KEY, sub_name VARCHAR(20) NOT NULL ); INSERT INTO subject(sub..
2022.02.16 -
[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