728x90 Database19 [JPA] 연관 관계 @Entity : 데이터베이스의 테이블과 1:1로 매칭되는 객체 단위 위 annotation이 붙은 class는 JPA가 관리한다. Entity 객체의 인스턴스 하나가 테이블에서 하나의 레코드 값을 의미한다. 따라서 객체의 인스턴스를 구번하기 위한 유일한 키 값을 가진다. 이는 테이블의 PK와 같은 의미를 하며 @ID annotation을 사용해 표기한다. 주의 사항 * 명시적으로 @Table의 name속성을 이용해 실제 테이블 명칭을 지정하지 않을 시 EntityClass 이름 그대로 CamelCase를 유지한 채 테이블이 생성된다. 따라서 테이블 이름을 명시적으로 작성하는 것이 관례이다. * 기본 생성자는 필수 *enum, Interface, final/inner 클래스에는 사용할 수 없다. @Ent.. 2022. 7. 14. [JPA] JPA사용을 위한 persistence.xml 설정 에러 해결 / Maven Dependency Scope Spring*Maven Project에서 JPA를 사용하기 위해 persistence.xml 파일을 만들었는데 두 가지 에러 상황이 발생했다. 1. Version Error 오류 log : Caused by: javax.persistence.PersistenceException: Unrecognized persistence.xml version [2.2] : 자동으로 생성됐을 때 2.2여서 놔뒀던건데, version을 2.1로 맞춰주어서 해결했다. 2. org.h2.Driver 로드 Error 오류 log : Cannot resolve class 'org.h2.Driver.class' Error 이유 : pom.xml의 com.h2database의 scope가 test로 되어있었기 때문에 발생했던 일이다.. 2022. 7. 14. Database Chapter 13 - 데이터 과학과 빅데이터 빅데이터 기존 데이터베이스가 저장하고 관리할 수 있는 범위를 넘어서는 대규모 데이터 대규모의 데이터를 저장, 관리하는 기술과 가치 있는 정보를 만들기 위해 분석하는 기술 빅데이터의 특징 (3V) 데이터 양 : 테라바이트 단위 이상의 대량 데이터 속도 : 많은 양의 데이터가 생성, 전달, 처리되는 속도가 빠르다. 다양성 : 정형, 반정형, 비정형의 데이터를 모두 포함한다. 빅데이터 처리 기술 저장 기술 Hadoop(하둡) 대용량 데이터 분산 처리 가능한 자바 기반의 오픈 소스 프레임워크 HDFS에 데이터 저장, MapReduce를 이용해 데이터 처리 오픈 소스이기 때문에 비용이 적게 들고, 분산형이기 때문에 처리 속도가 빠르다. NoSQL 관계 데이터 모델, SQL을 사용하지 않는 데이터베이스 시스템 일관.. 2022. 4. 1. Database Chapter 12 - 데이터베이스 응용 기술 분산 데이터베이스 시스템 물리적으로 분산된 데이터베이스 시스템을 네트워크로 연결해, 사용자가 논리적으로 '하나의' 중앙 집중식 데이터베이스 시스템처럼 사용할 수 있도록 하는 데이터베이스 시스템 목표 : 분산 데이터 독립성 (분산 투명성 보장되어야 함) 분산 투명성 위치 투명성 : 데이터베이스의 논리적인 이름만으로 데이터에 접근 가능하다. 중복 투명성 : 중복되지 않게 분할해 저장하거나, 데이터를 중복해 저장한다. 단편화 투명성 : 릴레이션을 작은 조각으로 나누고 각 조각을 별개의 릴레이션으로 처리한다. 병행 투명성 : 트랜잭션이 동시에 수행되더라도 결과는 항상 일관성을 유지한다. 장애 투명성 : 시스템에 문제가 발생하더라도 시스템이 작업을 계속 수행할 수 있다. 중앙 집중식 데이터 시스템과 비교했을 때,.. 2022. 4. 1. Database Chapter 11 - 보안과 권한 데이터 베이스 보안의 목표 조직에서 허가한 사용자만 접근할 수 있도록 통제해 보안을 유지하는 것 보안 유형 물리적 환경에 대한 보안 ex) 자연재해 권환 관리를 통한 보안 ex) 권한이 없는 사용자로부터 보호. '계정이 발급'되어야 함. 운영 관리를 통한 보안 ex) 권한이 있는 사용자로부터 보호. 데이터 무결성이 위반될 가능성을 막기 위함. 사용자가 자신에게 발급된 계정을 가지는 것 -> 접근 권한을 갖는 것. 로그인 -> 권한 확인 순서. 보안을 강화하기 위해 'VIEW'사용 가능. 사용자가 테이블에 직접 접근하지 못하기 때문. 권한/역할 부여와 취소 데이터베이스 객체의 모든 권한은 소유자에게 있다. 데이터 베이스 객체 소유자는 필요에 따라 타 사용자에게 객체에 대한 사용 권한을 SQL문을 통해 부여.. 2022. 3. 29. Database Chapter 10 - 회복과 병행 제어 트랜잭션이란? 하나의 작업을 수행하는 데 필요한 데이터베이스의 연산들을 모아놓은 것. 데이터 베이스에서 논리적 작업 단위, 데이터 복구 작업 단위, 작업 수행에 필요한 SQL 모임 등으로 표현 가능 데이터베이스의 무결성과 일관성을 보장하기 위해 트랜잭션의 올바른 정의 및 관리가 필요하다. 일반적으로 DELETE, INSERT, UPDATE 등 데이터 변경문의 실행을 트랜잭션을 통해 관리 트랜잭션의 특성 (ACID) A 원자성 트랜잭션을 구성하는 연산이 모두 정상적으로 실행되거나, 하나도 실행되지 않아야 함. all-or-nothing 장애 발생 시 트랜잭션 작업 전의 상태로 되돌려야 한다. 필요 기능 : 회복 기능 C 일관성 트랜잭션이 성공적으로 수행된 후에도 데이터베이스가 일관된 상태를 유지해야 함. .. 2022. 3. 29. 이전 1 2 3 4 다음 728x90