ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [SPRING] JPA의 이해-1(관계형 데이터베이스)
    study/spring 2019. 12. 27. 20:23

    JPA

    Java Persistent API의 준말로 자바 ORM 기술에 대한 API 표준 명세를 의미한다.

    쉽게 표현하면 ORM을 사용하기 위한 인터페이스들을 잔뜩 모아둔 것이다.

    JPA를 사용하기 위해서는 JPA의 구현체인 Hinernate 같은 ORM 프레임워크를 사용해야 한다.

    여기서 말하는 ORM이란 또 무엇이냐?

     

    ORM

    Object Relational Mapping의 준말이다.

    지금은 영어를 보면 감이 오는데 예전엔 전혀 이해를 못했다. JPA 강의를 통해 이해를 했다.

    ORM을 이해하기 위해선 객체(Object)와 RDBMS에 대해 이해를 하고 있어야 한다.

    MySQL이란 데이터베이스가 가장 널리 알려져있고 사용되고 있는 것으로 알고있다.

    그런데 이 MySQL은 관계형 데이터베이스다.

    관계형 데이터베이스는 데이터들을 여러 테이블에 표현한다. 테이블은 키와 값의 관계를 나타낸다. 

     

    • tuple : 행(row), 레코드(record)와 동의어로 사용되며, 속성의 값들이 채워진 하나의 묶음이라고 보면 된다. tuple의 수를 카디널리티(cardinality)라고 한다.
    • attribute : 열(column), 필드(field)와 동의어로 사용되며 유일한 이름을 가지고 자신만의 타입을 가지고 있다. attribute의 개수는 degree라고 한다.
    • value : 테이블을 각각의 행과 열에 대응하는 값을 가지고있다.
    • key : 데이블에서 행의 식별자로 이용되는 열을 key 혹은 primary key라고 한다.
    • relationship : 테이블 간에 외래키(foreign key)를 통해서 관계를 맺을 수 있다. 외래키는 한 테이블의 키 중에서 다른 테이블의 행을 식별할 수 있는 키를 의미한다. 외래키를 통해 관계를 맺어놓으면 두 테이블이 조인을 통해 서로의 데이터를 조회할 수 있게 된다. 관계에는 관계를 맺는 테이블의 수에 따라 여러가지로 나뉜다.
    • 일대일(one-to-one) 
    • 일대다(one-to-many)
    • 다대다(many-to-many)
    • 스키마(schema) : 데이터베이스의 구조와 제약조건에 대한 명세를 기술한 것
Designed by Tistory.