Database

choi seung-i·2022년 4월 24일
0

공부로그

목록 보기
11/20
post-thumbnail

Database(DB) : 우리가 사용하는 정보의 총 집합 (데이터 모음집)

DBMS(Database Management System) : 데이터베이스 관리 시스템
=> 데이터를 사람이 볼 수 있는 형태로 보여주는 것

운영체제 ? 하드웨어와 사람 사이(인터페이스)에서 연결해주는 다리

DB를 왜 쓰는가?

  • 데이터를 오랜기간 저장/보존 하기 위해
  • 데이터를 체계적으로 보존/관리 하기 위해

=> 하드드라이브 : 휘발성 x
=> RAM(메모리) : 휘발성 o, 변수 선언하거나 할 때 메모리에 할당하는데 사용 후(종료)에는 메모리를 비우고 새로운 값을 넣을 수 있게 만들어 줌

관계형 데이터베이스

  • DB를 구성하고 있는 테이블들이 서로 상호관련성을 가지고 연결되어있다
  • 각각의 테이블들이 완전한 독립적이지 않고, 테이블A와 테이블B가 서로 연관된 사이
  • 모든 데이터는 2차원 테이블로 표현할 수 있다
    • column(열) : 테이블의 각 항복 (책 제목, 작가...)
    • Row(행) : 각 항목들의 실제 값 (갈매기의 꿈, 리처드바크, 놀 ... )
    • 각 Row는 고유의 키(Primary Key)를 가지고 있다. (1, 2, 3 ....)
    • 각 로우는 다른 로우와 겹치지 않음

관계의 종류

🔽 일대일(One to One)

  • 하나의 A테이블 데이터는 오로지 하나의 B테이블 데이터와 연결된다
    => ex) id, 주민번호, 전화번호, 닉네임 등...
    한 테이블로 나타낼 수 있는 것
    PK(Primary Key) : 주 식별자키, 중복불가, NULL불가
    FK(foreign key) : 외부 식별자키, 외래키, 테이블 간 잘못된 매핑을 방지하는 역할

🔽 일대다(One to Many)

  • 하나의 A테이블 데이터는 B테이블의 여러 데이터와 연결
  • 하나의 B테이블 데이터는 오로지 하나의 A테이블 데이터와 연결
  • FK는 Many에서 가지고 있어야 한다.
  • 대상이 두개여야 한다
    => ex) 회사 <=> 직원, 수강 강사 <=> 수강생

예) 주인 1명이 동물 여러마리를 키울 수 있지만, 동물은 주인 1명만 둘 수 있다.

🔽 다대다(Many to Many)

  • 하나의 A테이블 데이터는 B테이블의 여러 데이터와 연결될 수 있다.
  • 하나의 B테이블 데이터 또한 여러 A테이블 데이터와 연결될 수 있다.
    => 데이터베이스 구성에 좋지않음 (한 셀에 하나씩만 들어가야함)
  • 대상 두개가 각각 중복될 수 있다. 그러나 좋지않아서 중간 테이블 생성
    => 정규화(중요하니까 별도 공부 필요!) : 최소한의 데이터만 가지도록 쪼개놓음
    ex) 의류의 사이즈 별 재고관리
profile
Front-end

0개의 댓글