데이터베이스 기초내용

Luca·2023년 4월 11일
0

DB

목록 보기
2/3

데이터(Data)

  • 저장이나 처리에 효율적인 형태로 변환된 정보
  • 무한하게 증가하는 데이터 속 데이터를 잘 관리하는 것이 중요

Database

  • 구조화된 정보 또는 데이터의 조직화된 모음

DBMS(Database Management System)

  • 데이터베이스를 조작하는 프로그램
    1. SQL을 사용하는 관계형 DB
      • 장점
        • 명확하게 정의된 스키마, 데이터 무결성(정확성, 일관성) 보장
        • 관계를 통해 각 데이터를 중복없이 저장 가능
      • 단점
        • 상대적으로 덜 유연하며, 데이터 스키마를 미리 계획해야 한다.
        • JOIN문이 많은 매우 복잡한 쿼리가 만들어 질 수 있다.
        • 수평 확장이 어렵고, 보통 수직 확장만 가능하다.
    2. NOSQL인 비관계형 DB
      • 장점
        • 스키마가 없기 때문에 유연성이 높다. 데이터 조정과 '필드' 추가 원활
        • 데이터가 애플리케이션에 필요한 형식으로 저장 -> 데이터 속도 빠름
        • 수직 및 수평 확장이 다 가능
      • 단점
        • 유연성 때문에, 데이터 구조 결정이 늦어질 수 있다.
        • 복사된 데이터가 변경되면 여러 콜렉션과 문서 수정해야 한다.

관계형 데이터베이스를 공부하기 전에

  • 내가 사용하는 서비스는 결국 데이터베이스를 사용한 CRUD의 반복
  • 회원가입, 회원탈퇴, 프로필 조회, 프로필 수정, 새로운 피드 작성, 좋아요, 팔로우

RGB(관계형 데이터베이스)

  • 데이터를 테이블, 행, 열 등으로 나누어 구조화 하는 방식
  • 구조화해서 저장하기 때문에 보다 체계적으로 데이터를 저장, 관리
  • SQL을 사용하여 데이터를 조회하고 조작
  1. 스키마
    • 테이블의 구조
  2. 테이블
    • 필드와 레코드를 사용해 조직된 데이터 요소들의 집합
      1. 필드
        • 속성, 컬럼, 열
        • 각 필드는 고유한 테이더 형식이 지정된다.
      2. 레코드
        • 튜플, 행
        • 테이블의 데이터는 레코드에 저장된다.
  3. PK(Primary Key) : 기본키
    • 각 레코드의 고유한 값, 단일값
  4. FK(Foreign Key) : 외래키
    • 한 테이블의 속성 중 다른 테이블의 레코드를 식별 할 수 있는 키
    • 다른 테이블의 기본 키를 참조
    • 각 레코드에서 서로 다른 테이블 간의 관계를 만드는데 사용

SQL(Structured Query Language)

관계형 데이터베이스에서 데이터를 관리하기 위해 사용하는 언어
  1. DDL(Data Definition Language)
    • 관계형 데이터 베이스 구조(테이블, 스키마)를 정의(생성, 수정 및 삭제) 하기 위한 명령어
    • SQL키워드 : CREATE, ALTER, DROP
  2. DML(Data manipulation Language)
    • 데이터를 조작(조회, 추가, 변경, 삭제) 하기 위한 명령어
    • SELECT, INSERT UPDATE, DELETE
  3. DCL(Data Control Language)
    • 데이터의 보안, 수행제어, 사용자 권한 부여 등을 정의하기 위한 명령어
    • 여기서는 생략할 것

참조한 블로그

관계형 데이터베이스의 구조
SQL(관계형 데이터베이스)과 NoSQL(비 관계형 데이터베이스) 개념/비교/차이

다음 페이지에서는 DDL과 DML에 대해 더 구체적으로 이야기해보자

0개의 댓글