데이터베이스 기초

Icarus_w·2022년 12월 26일
0

CS공부

목록 보기
19/25

Primary Key

candidate key(후보키)중 선택한 main key로써, 각 row를 구분하는 유일한 열(column)을 말한다. 그래서 기본키는 Null 값을 가질 수 없고, 중복된 값을 가질 수 없다. 기본키는 table당 1개만 지정해야한다.

Relation

table중 DB에서 사용할 조건을 갖춘것

  1. table의 cell은 단일 값을 갖는다.
  2. 어떤 두 개의 row도 동일하지 않다.

table이랑 구분하지 않고 사용하기도 한다.

Super Key(슈퍼키) - 유일성

Candidate Key(후보키) - 유일성 + 최소성

Alternate Key(대체키) - primary key를 제외한 나머지 후보키들을 말한다.

테이블간의 관계

N:M 관계

관계형 데이터베이스(RDB)에서 양쪽 entity모두가 서로에게 1:N관계를 갖는 구조

1 : N + N : 1 = N : M

ex)수강신청 - 학생 <-> 수업

  • 1 : N 관계

    고객은 여러 상품을 주문할 수 있고, 주문된 상품은 1명의 고객만을 갖는다.

    image

Foreign Key(외래키)

​ 다른 table의 Primary key column과 연결되는 table의 column을 의미한다.

​ 두 table을 연결할 때 한 table의 외래키가 다른 하나의 table의 기본키가 된다.

left outer join / inner join

Join이란 두 개 이상의 테이블을 서로 연결하여 하나의 결과를 만들어 보여주는 것

inner join은 두 테이블에 모두 있는 내용만 join되는 방식(교집합)

left outer join은 왼쪽 table의 모든 행에 대해서 join을 진행

image

🥇RDB-NoSQL

RDBNoSQL
schema엄격한 schema느슨한 schema
형식table 형식key-value
중복없음(무결성)데이터 중복
사용데이터 update 많을 때 유리데이터 update가 적고 조회가 많을때 유리, 데이터양이 많은 경우
개발목적데이터 중복 감소애자일/ 확장가능성/ 수정가능성

NoSql은 언제 사용하면 좋을까?

NoSQL은 정확한 데이터 구조가 정해지지 않은 경우, 데이터 update가 적고 조회가 많은경우,Scale out(수평적 확장)이 가능하므로 데이터 양이 매우 많은 경우에 사용하는게 좋다.

RDB는 언제 사용하면 좋을까?

RDB는 데이터 구조가 명확하여 변경될 여지가 없는 경우, 또 데이터 중복이 없으므로 데이터 update가 잦은 시스템에서 사용하면 좋다.

profile
하루에 하나

0개의 댓글