본문 바로가기
[ Developer ]/Database

[Database] 데이터베이스 란?

by 김현섭. 2016. 5. 5.
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
DB
# Database
  • 대량의 데이터를 처리하기 위한 공간
  • 하나의 DB는 다수의 Table로 구성
1
# Table
  • VO와 같은 개념
  • 구조화된 특정한 타입의 데이터 목록
  • 여러 정보들이 정형화된 타입으로 저장
  • 여러 테이블은 관련된 정보들로 구성
    • 상품, 회원, 장바구니, 구매목록 등
      • ex) 장바구니
      • 회원이 결제하지 않은 상품에 대한 정보
      • 상품과 회원의 DB가 관계를 맺어(Join) 장바구니에 담김
    • 게시글, 댓글, 회원 등
  • 하나의 테이블은 특성을 표기할 수 있는 이름이 주어짐
    • 대문자와 언더바(_)로 구성

# Column
  • 하나의 테이블은 하나 이상의 Column(컬럼)으로 구성
  • 데이터를 담을 수 있는 하나의 공간
  • 엑셀에서 하나의 칸과 같은 개념
  • 각 컬럼은 데이터 타입을 갖는다


# Rows
  • 테이블의 데이터는 하나의 행으로 표현
  • 각 행은 여러 개의 컬럼으로 구성


# Keys
  • Primary Key
    • 하나의 테이블에서 절대 중복이 되지 않는 키
    • ex) 회원 아이디, 이메일 주소 등
    • 테이블은 하나 이상의 Primary Key를 가져야 한다
  • Foreign Key
    • Primary Key를 참조하는 키
    • 주로 관계를 형성할 때 생성됨

# Database Management System [DBMS]
  • 대량의 데이터를 처리하기 위한 시스템
  • 다수의 데이터베이스로 구성
  • 다수의 데이터베이스가 서로 관계를 맺고 있고 관계형 데이터베이스라고 부름
  • RDBMS : Relationship Database Management System

# Table Constraints
  • 테이블 간의 관계를 정의
  • 관계의 종류
    • 1 or 0 vs N : 일 대 다
    • 1 vs 1 : 일 대 일 (잘 사용되지 않음) 비 효율적
    • N vs N : 다 대 다
    • 다 대 다 관계는 관계를 해소하기 위한 테이블이 존재
  • 테이블의 컬럼의 수는 제한이 없지만 컬럼이 40개가 넘어가면 성능이 떨어짐

# 1 vs N
물리적인 관계
컬럼 하나가 다른 테이블의 컬럼 여러 개를 참조하는 경우
여러 개의 칼럼이 컬럼 하나에 참조된 상황 (카테고리 개념)


# N vs N
논리적인 관계
A 테이블의 한 컬럼이 B 테이블의 여러 컬럼과 연결되어 있고
B 테이블의 한 컬럼이 A 테이블의 여러 컬럼과 연결된 경우


사용자는 여러 개의 상품을 주문할 수 있고
상품은 여러 사용자에게 주문될 수 있다

관계를 설정하기 위해서는 사용자 입장에서나 상품 입장에서는 할 수 없다
상품(PK), 사용자(PK)가 중복될 수 없으므로

장바구니라는 개념을 통해 각 PK들을 RK로써 참조 시킴
RK는 중복이 가능