ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 데이터베이스(Database)
    CS지식 2022. 6. 30. 17:10

    데이터베이스란?

    데이터베이스는

    1. 컴퓨터 시스템에 저장된 정보나 데이터를 모두 모아 놓은 집합 즉, 데이터를 많이 모아놓은 베이스이고

    2. 이러한 데이터들은 데이터베이스 관리시스템(DBMS, Database Management System)으로 제어하고 관리한다.

     

    즉,

    1. 저장된 하드웨어 자체이고
    2. 데이터 베이스를 관리하는 시스템 자체이다.

     

    그렇다면

    데이터베이스를 사용하는 이유는 무엇일까?

    왜 굳이 데이터베이스에 데이터를 저장하는 걸까?

    어플리케이션에서도 데이터를 잠깐 임시로 저장할 수는 있지만 어플리케이션을 종료하면 사라진다.

    정말로 필요한 데이터는 사라지면 안되는데 말이다.

    따라서

    1. 데이터를 오랜기간 저장 및 보존하고
    2. 체계적으로 보존하고 관리하기 위해
    데이터베이스를 사용한다.

    관계형 데이터베이스 (RDBMS, Relational DataBase Management System)

    Database에는 크게 관계형 데이터베이스(RDBMS)"NoSQL"로 명칭되는 비관계형(Non-relational) database가 있습니다.

     

    이름 그대로 데이터 사이의 관계에 기초를 둔 데이터베이스 시스템

     

    관계형 데이터베이스에서 모든 데이터를 2차원 테이블로 표현할 수 있다.

    • Column (열) : 컬럼은 테이블의 각 항목 (id, 책 제목, 작가, 출판사, 가격)을 의미
    • Row (행) : 로우는 각 항목들의 실제 값입니다. 2번 행을 보면, 갈매기의 꿈, 리처드 바크, 나무옆의자, 11,520 이라는 실제 값이 있음

    각 로우는 저만의 고유 키(Primary Key)가 있다.

    관계형 데이터베이스는 각각의 테이블들이 서로 상호관련성 을 가지고 서로 연결되어 있다. 각각의 테이블들이 완전히 독립적인 대상이 아니라, 테이블 A와 테이블 B가 서로 연관되어 있고, 서로 관련이 있다는 뜻이다.

     

    테이블 사이 관계의 종류

    테이블 A와 테이블 B가 있을 때, 이 두 테이블은 무조건 세가지 가운데 한가지 관계에 해당한다.

    1. One to One (일대일 관계) ex) 주민등록번호

    2. One to Many (일대다 관계) - 나는 하나지만 저기는 여러개일 때 ex) 유저가 리뷰를 여러개 씀. 많은 쪽에 Foreign Key 존재

    3. Many to Many (다대다 관계) - 한 작가가 여러 책을 쓰고, 한 책을 여러 작가가 썼을 때 중간 테이블이 있다. 

     

    테이블들은 Foreign key(외부키)라는 개념을 사용하여 연결한다.

    테이블들을 연결하는 이유는

    중복된 데이터를 저장하지 않음으로 디스크를 더 효율적으로 쓰고,

    또한 서로 같은 데이터이지만 부분적으로만 내용이 다른 데이터가 생기는 문제가 없어지기 때문이다.

    이것을 normalization(정규화)이라고 한다.

     

     

    댓글

Designed by Tistory.