DataBase(16)
-
[DB] 무결성 테이블 만들기 (연습문제)
create table country ( country_id serial primary key, country_name varchar(30) not null ); create table users( user_pk SERIAL, user_id VARCHAR(10) NOT NULL UNIQUE, user_pw varchar not null, user_age NUMERIC(3) NOT NULL, register_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP, country_cd SERIAL NOT NULL REFERENCES country(country_id) ON DELETE CASCADE, PRIMARY KEY(user_pk, country_cd) ); CREATE TABLE t..
2022.02.18 -
[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