데이터베이스

TaeWoo Lee / Kris·2022년 1월 19일
0
post-thumbnail

데이터베이스의 필요성

  • In-Memory
  • File I/O
  • 쿼리(query) :질의문
  • SQL(관계형 데이터베이스) : 구조화된 테이블을 사용
    • 데이터베이스 용 프로그래밍 언어(데이터베이스에 쿼리를 보내 원하는 데이터만을 가져올 수 있게 함)
  • NoSQL : 구조가 고정되어 있지 않은 데이터베이스
  • DDL : 데이터를 정의
  • DML : 데이터를 저장할 때 사용되는 언어
  • DCL : 접근 권한과 관련된 문법
  • DQL : 스키마 내에서 쿼리를 할 수 있는 언어
  • TCL : DML 을 거친 데이터 변경사항을 수정
  • 스키마 : 데이터베이스의 구조와 제약조건에 관해 전반적인 명세를 기술한 것
  • 개체의 특성을 나타내는 속성(Attribute)
  • 속상들의 집합으로 이루어진 개체(Entity)
  • 개체 사이에 존재하는 관계(Relation)

관계형 데이터베이스

  • 데이터 : 각 항목에 저장되는 값
  • 테이블 (혹은 relation) : 사전에 정의된 행과 열로 구성되어 있는 체계화된 데이터
  • 필드 (혹은 column) : 테이블의 열
  • 레코드 (혹은 tuple) : 테이블의 한 행의 저장된 정보
  • 키 : 테이블의 각 레코드를 구분할 수 있는 값

관계 종류

  • 1:1 관계 : 테이블의 레코드 하나당 여러 개의 레코드와 연결되어 있는 경우
    • 한 개의 전화번호당 한 명의 유저를 가지고 그 반대도 동일하다면 이것은 1:1 관계
  • 1:N 관계 : 테이블의 레코드 하나당 여러 개의 레코드와 연결되어 있는 경우
    • 한 유저가 여러 개의 전화번호를 가질 수 있지만 그 반대는 성립할 수가 없다.
  • N:N 관계 : 양방향에서 다수를 가질 수 있는 경우
    • 여러 개의 여행 상품이 있고 여러 명의 고객들이 있을 때 한 고객은 여러 개의 여행 상품을 사용할 수 있고 마찬가지로 한 여행 상품은 여러 명의 고객을 가질 수 있다.
  • 자기참조관계 : 한 유저당 한 명의 추천인을 입력할 수 있다.
    • 하지만 추천인 입장에서는 여러 개의 유저를 가질 수 있다.
  • 엔티티(Entity) : 컬럼 name?
  • 필드(Field) : 행?
  • 레코드(record) : 열?

기본 명령어

  • SELECT
  • FROM
  • WHERE
  • ORDER BY
  • LIMIT
  • DISTINCT
  • INNER JOIN
  • OUTER JOIN
profile
일단 저지르자! 그리고 해결하자!

0개의 댓글