TIL #36 Database

강경훈·2020년 9월 9일
0
post-thumbnail

Database

  • 데이터를 저장 및 보존 하는 시스템
  • 데이터를 장기간 저장 및 보존하기 위해 사용
  • 데이터베이스는 크게 관계형과 비관계형 데이터베이스가 있음

관계형 데이터베이스 (RDBMS)

  • 관계형 데이터 모델에 기초를 둔 데이터베이스 시스템
  • 관계형 데이터: 서로 상호관련셩을 가진 형태로 표현한 데이터

1. Table

  • 모든 데이터들은 2차원 table로 표현 한다.
  • column: table의 각 항목(속성)을 뜻 함
  • row: 각 항목의 실제 값을 표현
  • primary key
    -table을 만들 때 자동으로 생성 되는 table의 고유 키
    - 보통 id라는 항목으로 생성
    - id을 통해 해당 row을 찾거나 인용 할 수 있게 해줌

2. Table 관계

  • one to one (1:1)
  • one to many (1:N)
  • many to many (N:N)
    - many to many인 table 사이를 연결 해줄 중간 table이 필요
  • Foreign key(외부키)
    - table을 연결할 때 사용하는 키
    • 다른 table의 고유키를 사용
    • 항목의 이름은 보통 해당 table이름에 '_id'가 붙는다
      => uers라는 테이블을 참조하면 참조한 데이블의 항목은 user_id(FK)가 되고 이 값은 ㅕusers의 id 값

3. table끼리 연결이 필요한 이유

  • 하나의 테이블에 모든 정보를 다 넣는 경우 중복된 데이터 저장되는 경우 발생
  • 중복된 data는 memory를 더 차지하여 비효율적임
  • 많은 data을 한 테이블에 저장 할 때 잘 못된 데이터를 저장할 가능성이 있음

비관계형 데이터베이스

  • 비관계형 데이터를 저장하는 데이터베이스
  • 데이터를 저장하기 전에 정의 할 필요 없음(테이블 이름, 테이블간에 관계 등)
  • 데이터의 구조 변화에 유연
  • 확장성이 좋음
  • 비정형화 데이터를 저장하는데 유리(예: 로그데이터)
profile
방랑하는 개발자

0개의 댓글