[원격 강의] Spring 입문 개인 과제, DB 기초 특강

우정·2022년 12월 11일
0

[내일배움캠프] TIL

목록 보기
20/50

과제
과제는 미완성 상태로 제출했기 때문에,,, 수정해야함

DB 기초

  • 데이터베이스 : 데이터의 집합

  • DBMS : 데이터베이스를 관리하고 운영하는 소프트웨어

    • 분류
      • 계층형 DBMS
      • 망형 DBMS
      • 관계형 DBMS(RDBMS)
        • 테이블이라는 최소 단위로 구성, 테이블은 하나 이상의 열과 행으로 이루어져있음
  • DBMS에서 사용하는 언어

    • SQL(Relational Database) : 데이터를 엑셀과 같이 정해진 틀에 따라 테이블에 저장함
      • 장점
        • 명확하게 정의된 스키마(틀)
        • 테이터 무결성 보장
        • 관계는 각 데이터를 중복없이 한 번만 저장
      • 단점
        • 덜 유연함.
        • 관계를 맺고에 있어서 조인문이 많은 복잡한 쿼리가 만들어질 수 있음
        • 대체적으로 수직적 확장만 가능
    • NoSQL : SQL보다 데이터를 자유롭게 다양한 형태로 저장
      • 장점
        • 언제든지 저장된 데이터를 조정하고 새로운 필드를 추가할 수 있음
        • 테이터 읽어오는 속도가 빨라짐
        • 수직 및 수평 확장이 가능하여 애플리케이션이 발생시키는 모든 읽기/쓰기 요청 처리가 가능함
      • 단점
        • 유연성으로 인해 데이터 구조 결정을 미루게 될 수 있음
        • 데이터 중복을 계속 업데이트 해야함
        • 데이터가 여러 컬렉션에 중복되어 있기 때문에 수정 시 모든 컬렉션에서 수행해야 함
  • DB Naming Convention

    • 기본

      • 소문자를 사용하자
      • 띄어쓰기는 _로 대체
      • 숫자X
    • 데이터베이스 이름

      • 테이터베이스 자체가 1개의 데이터드르이 모음을 나타내므로 단수형을 사용
    • 테이블 이름

      • 소문자 사용
      • 단수형
      • prefix 사용
    • 필드 이름

      • 소문자 사용
      • 띄어쓰기, 숫자 X
      • 이해하기 쉬어야 함
      • 기본키는 id or <table_name>_id 형태로
      • 외래키를 사용(참조하는 테이블의 이름 사용)

알고리즘은.. 어려워서 파이썬이랑 자바 둘 다 못품ㅜ 구글링해서 다른 사람 풀이봐도 이게 뭐지..? 싶어서 차마 그대로 제출은 못함,,ㅜ

0개의 댓글

관련 채용 정보