지난 글에서 스키마 정제와 DB 정규화에 대해 정리하다 키(Key)에 대해서도 언급했다. 한 마디로 정의하자면 키란 테이블의 식별자 기능을 할 수 있는 하나 이상의 컬럼의 집합을 말하며, 조금 구체적으로는 아래와 같이 구분할 수 있다. 슈퍼키 - 테이블의 각 행을 유일하게 식별할 수 있는 하나 이상의 컬럼의 집합이다. 유일성을 만족한다. 후보키 - 슈퍼키 중에서 최소성을 만족하는 컬럼의 집합이다. 기본키 - 후보키 중 하나로 최소성과 유일성을 만족하는 컬럼이다. 테이블 별로 오직 하나만 지정할 수 있다. 추가로 null값을 가질 수 없고, 당연히 중복된 값을 가질 수도 없다. 대체키 - 기본키로 선택되지 않은 후보키를 말한다. 기본키와 동일한 속성을 지니며 대체도 가능하다. 이중 보통 내가 만나는 아이는..
Data Integrity 데이터 무결성은 데이터의 생애주기 동안 정확성과 일관성을 보장하고 관리하는 것을 말한다. 당연하게도 DB를 설계 및 구현할 때 최우선 순위로 확보해야 할 가치이며, 반대말로 'Data Corruption'이 있다. 여기서 정확성과 일관성이란 쉽게 말하면 언제나 의도한 대로 데이터가 저장되어야 하고 추후 복구나 조회 시 처음 상태와 같아야 한다는 뜻이며, 한 마디로 줄이자면 의도치 않은 데이터의 변경을 막는 것을 말한다. 계속해서 데이터 무결성은 두 가지 계층으로 나뉘는데, 짧게 요약하면 아래와 같다. 물리적 무결성(Physical Integrity) 실제 데이터를 안전하게 저장하고 불러오는 것에 대한 무결성 디자인 결함과 휴먼 에러에서 발생할 수 있음 물리적 저장장소를 각종 예..
SQL Mapper와 ORM은 둘 다 JDBC의 단점을 해결하기 위해 나온 기술이다. JDBC의 단점 - DB 연결, SQL CRUD, Data Type Mapping 등의 작업을 일일이 해주어야 함 따라서 당연하게도 둘 다 영속성 프레임워크에 속해 있지만, 상당히 다른 작동 방식을 보인다. 하나씩 알아보자. 먼저 두 기술의 차이를 구조가 아닌 시간순으로 보면 위와 같다. 계속해서 구조의 차이를 보면 다음과 같다. SQL Mapper Object와 SQL의 필드를 매핑하여 데이터를 객체화하는 기술 SQL문 직접 작성 및 쿼리 수행결과를 어떠한 객체에 매핑하여 줄지 바인딩 → SQL 의존적 다른 DB를 도입하거나 변환하는 경우 SQL문을 그 DB에 맞게 새로 작성 → DB 의존적 패러다임 불일치* 발생 M..
Spring MVC - Controller + Service [Spring]Spring MVC [Spring]Spring MVC - Controller 클래스 구조 생성 및 설계 [Spring]Spring MVC - Controller 클래스에 핸들러 메서드(Handler Method) 구현 [Spring]Spring MVC - Controller 클래스에 ResponseEntity 적용 [Spring]Spring MVC - Controller 클래스에 DTO 적용 [Spring]Spring MVC - DTO 유효성 검증(Validation) [Spring]Spring MVC - DI를 통한 API 계층 ↔ 서비스 계층 연동 [Spring]Spring MVC - 매퍼(Mapper)를 이용한 DTO 클래스..
Spring MVC - Controller + Service [Spring]Spring MVC [Spring]Spring MVC - Controller 클래스 구조 생성 및 설계 [Spring]Spring MVC - Controller 클래스에 핸들러 메서드(Handler Method) 구현 [Spring]Spring MVC - Controller 클래스에 ResponseEntity 적용 [Spring]Spring MVC - Controller 클래스에 DTO 적용 [Spring]Spring MVC - DTO 유효성 검증(Validation) [Spring]Spring MVC - DI를 통한 API 계층 ↔ 서비스 계층 연동 [Spring]Spring MVC - 매퍼(Mapper)를 이용한 DTO 클래스..
- Total
- Today
- Yesterday
- 면접 준비
- 세계여행
- Algorithm
- 알고리즘
- Python
- RX100M5
- 남미
- a6000
- 기술면접
- 세모
- 스프링
- Backjoon
- 스트림
- BOJ
- 칼이사
- 파이썬
- 세계일주
- 지지
- java
- 리스트
- 동적계획법
- 자바
- 유럽
- 중남미
- 맛집
- 유럽여행
- 야경
- 백준
- 여행
- spring
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |