[AAC] Database 와 Room

박진성·2023년 6월 1일
0

Database 란?


Database의 정의는 무엇일까요?

  • ‘데이터의 집합’으로, 데이터의 저장소를 뜻한다

Database는 어디서 주로 사용될까요?

  • 일상생활 대부분 정보에 사용된다.
  • ex) 카카오톡 메세지, 인스타그램 사진, 카페 구매 커피 정보 등
  • 앱,웹 서비스등 거의 모든 일상생활 IT 서비스에서 활용된다



DBMS 란?


DBMS란 무엇일까요?

  • 데이터베이스 관리 시스템의 약자
  • 데이터베이스를 운영하고 관리하는 소프트웨어

대표적인 DBMS는 무엇이 있을까요?

  • MySQL - Window / Linux
  • PostgreSQL - Window / Linux
  • SQLite - AOS / IOS

관계형 저장 방식은 무엇일까요?

  • 아래 두가지 특징을 가지는 저장방식
    • SQL 이용해서 데이터를 테이블에 저장
    • 미리 작성된 스키마를 기반으로 정해진 형식에 맞게 데이터 저장
    • 데이터는 관계를 통하여 연결된 여러 개의 테이블에 분산됨
  • SQL (Structured Query Language) 이라는 구조화 질의어를 사용.
  • 관계형 DBMS(RDBMS) 는 다음과 같다 MySQL / SQLite / PostgresSQL / Oracle / MariaDB

관계형이 아닌 저장 방식에는 무엇이 있을까요?

  • 비관계형 데이터베이스가 있다
    • 관계형 데이터베이스를 뺀 나머지 유형
    • 규칙이 없는 유연한 스키마 제공
  • SQL 사용하지 않아 NoSQL 이라고 칭함
  • 비관계형 DBMS 는 다음과 같다
    - Key-Value 타입 : Redis / Dynamo
    - Document 타입 : MongoDB
    - Wide-Column Store 타입 : Cassandra / HBase


RoomDB 란?


RoomDB는 무엇일까요?

  • AAC 라이브러리중 하나로, 기존에 있던 SQLite를 더 잘 사용하게 하는 라이브러리 이다

RoomDB 개발 이전에 사용하였고, 현재 RoomDB의 기반인 DBMS는 무엇일까요?

  • SQLite

RoomDB는 어떤 방식으로 값을 저장할까요?

  • 3가지 컴포넌트를 활용하여 저장한다

  • Entity

    • 관계형 DB 에서의 Table
  • Databse

    • Entity들이 묶인것이 바로 Database
    • Room 에서 abstract Class로 존재
  • DAO (Data Access Objects)

    • data 에 접근하는 객체
    • 접근에 필요한 메소드들을 가지고 있게 구성한다

profile
Android Developer

0개의 댓글