[부트캠프] 데이터베이스 2일차

RedPanda·2022년 8월 2일
0

[부트캠프] DataBase

목록 보기
1/5

📌 필기 내용

데이터 타입 (자료형)

  • NUMERIC(p,q) : 소수점 자리 표시 가능 (p = 전체자리수, q = 소수점자리수)
  • SERIAL(INTEGER default, 1부터 차례로 들어감)
  • TIMESTAMP : 현재 세계 표준시(TIMESTAMPTZ : 시간대 정보 반영)
  • TIME WITH TIME ZONE : 시간정보만표시 + TIMESTAMPTZ
  • TIMEZONE : 현재 위치이며 수정 가능 (ex. 'Asia/Seoul)
  • JSONB : 이진 형태로 분해 후 저장, 처리속도가 JSON보다 빠르지만 입력이 느림,
  • '2020-07-26 20:00:25+09' 형태로 집어넣으면 각각의 자료형에 맞게 값이 추가가 된다.

  • CAST(연산자) data AS want_data_type : 형변환 === data::want_data_type
    (SELECT '3000'::INTEGER; === SELECT CAST ('3000' AS INTEGER);)

  • NUMERIC(p, s)로 정수 값의 제한이 가능하다. p는 원하는 길이, s는 소수점 자리이므로 s에 0을 주면 원하는 길이의 정수를 출력할 수 있다.(s값을 안줘도 가능)

데이터 무결성

  • 데이터베이스 내에 정확하고 유효한 데이터만을 유지시키는 속성 -> 응용프로그램에서 추가 작업 필요 X

무결성 조건

  • 개체 무결성 : 모든 테이블이 기본키(PK)를 가져야 함. NULL 허용 X
  • 참조 무결성 : 외래키 값이 null이거나 참조된 테이블의 기본값과 같아야 함.
  • 범위 무결성 : 사용자가 정의한 도메인 내에서 DB의 모든 열을 정의하도록 규정
    -->>> NOT NULL, UNIQUE, 기본키, 외래키,
    (UNIQUE NOT NULL == PRIMARY KEY)
  • UNIQUE (column1, column2) : column1, column2가 unique임.

  • 지우면 안되는 경우 : ON DELETE NO ACTION, ON DELETE RESTRICT(부모와 자식이 연결되어있으면 삭제 x)

  • 지워야하는 경우 : ON DELETE CASADE(참조하고 있는 데이터도 같이 삭제), ON DELETE SET DEAFAULT, ON DELETE SET NULL(삭제시 NULL로 바뀜)

  • CHECK (조건문) : 조건문이 TRUE일때만 가능

UPDATE문

  • ALTER TABLE table_name ADD COLUMN column_name domain : 칼럼을 테이블에 추가

  • ALTER... CASCADE : 부모 개체가 함께 삭제됨.

  • ALTER... DROP 제약 조건 : 제약 조건이 삭제됨.

  • ALTER... ADD FOREIGN KEY... : 외래키 추가

  • ALTER COLUMN name SET DATA TYPE new_data_type : 데이터 타입 재지정 BUT 이미 있는 value가 다른 자료형이라면 불가. (형변환 가능시 형변환 -> 끝에 USING name::new_data_type)

✔ 이전수업 & 추가내용

  • INSERT문에서 한 구문에 여러 값을 추가하려면 VALUES에 (),(),()....이런식으로 추가가 가능하다!

  • java -> spring framework / python -> fastAPI framework

  • localhost : 본인의 컴퓨터를 지칭, 127.0.0.1과 같음

💬 여담

  • 모르던 내용도 많이 있어서 재미있을까 했지만 정말 재미없다...그래도 직접 해보면서 데이터를 다루는게 나름의 재미인 것 같다.
profile
끄적끄적 코딩일기

0개의 댓글