데이터 베이스

ㅎㅎ·2021년 6월 14일
0

SQL

목록 보기
1/5


📌 데이터 베이스

  • 데이터란 수, 단어, 이미지, 영상 등의 형태로 된 의미 단위이다.
  • 데이터 베이스는 컴퓨터 시스템에 저장된 정보나 데이터를 모두 모아 놓은 집합을 의미한다.
  • 즉 데이터베이스는 데이터가 저장된 하드웨어를 부르는 말인 동시에, 데이터 베이스를 관리하는 시스템 자체를 말한다.
  • 관계형 데이터 베이스 / 비관계형 데이터 베이스가 존재한다.

데이터 베이스를 사용하는 이유

  1. 데이터를 오랜 기간 저장, 보존하기 위해서
    : 메모리에 존재하는 데이터는 오래 보존이 되지 않는다.

  2. 데이터를 체계적으로 보존하고 관리하기 위해서
    : 데이터를 많이, 오래 저장한다고 좋은 데이터가 아니라 내가 원하는 자료를 쉽게 읽어낼 수 있어야 의미 있는 정보이다. 따라서 방대한 양의 데이터를 효율적으로 관리할수 있게 해준다.


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

  • relational database management system
  • MySQL, Postgres, Oracle DB
  • 데이터들이 다 상호 관련성을 가진다.
  1. 모든 데이터들은 2차원 테이블들로 표현할 수 있다.
    : Columns, Row

  2. 테이블의 각 행(row)는 자신만의 고유 키(primary key)를 가지고 있다.
    : 각 행은 다른 행과 중복되지 않으며 이 키를 통해 특정 행을 찾을 수 있다.

  3. 각각의 테이블들은 서로 상호 관련성을 가지고 서로 연결될 수 있다.
    : 즉 각각의 테이블이 완전히 독립적이지 않다.

- one to one

  • 하나의 a 테이블은 데이터는 "오직" 하나의 b 테이블 데이터와 연결된다. 또는 그 반대 즉 일대일
  • ex) 이름 - 주민등록번호

- one to many

  • 하나의 a 테이블 데이터는 b 테이블의 여러 데이터와 연결된다. 반대로 하나의 b 테이블 데이터는 오직 하나의 a 테이블 데이터와 연결된다. 즉 일대다 관계
  • ex) 이름 - 강아지 뽀비, 강아지 초코

- many to many

  • 하나의 a 테이블 데이터는 b 테이블의 여러 데이터와 연결된다. 또한 하나의 b 테이블 데이터도 여러 a 테이블 데이터와 연결될 수 있다. 즉 다대다 관계
  • ex) 한 작가는 여러 권의 책을 쓸수 있다. 한 책도 작가는 여러명이 될 수 있다.
  • 그러나, 하나의 행에는 다수의 데이터가 들어갈 수 없음. 따라서 데이터를 분리하는 것을 데이터 정규화라고 한다.
  • 정규화를 통해 테이블이 분리되면 두 테이블을 연결해 주는 중간 테이블이 생성된다.

여러 테이블에 나눠서 저장하는 이유?

  • 하나의 테이블에 모든 정보를 다 넣으면 더 많은 디스크가 필요하고 동일한 정보들이 불필요하게 중복된다.

📌 SQL

  • 데이터베이스가 알아들을 수 있는 언어.
  • mysql

0개의 댓글