정규화 정규화의 기본 목표는 테이블 간에 중복된 데이터를 허용하지 않는 것으로 이상 현상을 제거하기 위해서 데이터베이스를 옳바르게 설계해 나가는 과정이다. 제 1 정규화 제 1 정규화는 한 릴레이션을 구성하는 모든 도메인이 원자 값 만으로 구성되도록 하는 정규형이다. 이름 좋아하는 음식 ...
VIEW (MYSQL)
VIEW VIEW 는 가상의 테이블로 보면된다. 한 번 생성해 놓으면 테이블로 생각해도 될 만큼 사용자가 볼 때 테이블과 거의 동일한 개체로 여겨짐 예시를 통한 SQL문 설명 예시 테이블 CREATE TABLE TEST_TABLE ( ID INT PRIMARY KEY AUTO_INCREMENT, SER_ID INT, ...
Mysql 기본 함수
COOKBOOK 책 내용중 몰랐던 부분만 따로 정리 1장: 레코드 검색 테이블에서 n개의 무작위 레코드 반환하기 SELECT ENAME, JOB FROM EMP ORDER BY RAND() LIMIT 5; null을 실젯값으로 변환하기 SELECT COALESCE(COMM, 0) FROM EMP; 패턴 검색하기 이름에 I가 있거나...
Mysql 기본 함수
숫자 함수 ABS(value) 절대값을 구하는 함수 SELECT ABS(-100); |ABS(-100)| | 100| CEILING(value), FLOOR(value), ROUND(value) CEILING : 올림 , FLOOR : 내림 , ROUND : 반올림 SELECT CEILING(3.7), FLOOR(3.7), R...
스트림 소개
스트림이란 무엇인가? 스트림은 자바 8 API에 새로 추가된 기능으로 선언형(즉, 데이터를 처리하는 임시 구현 코드 대신 질의로 표현할 수 있다)으로 컬렉션 데이터를 처리할 수 있다. 멀티스레드 코드를 구현하지 않아도 데이터를 투명하게 병렬로 처리할 수 있다. 스트림 시작하기 Q. 시작하기 앞서 스트림이란 정확히 뭘까? ...
람다 표현식
람다란? 메서드로 전달할 수 있는 익명 함수를 함수를 단순화한 것이라고 할 수 있다. 람다 표현식에는 이름은 없지만, 파라미터 리스트, 바디, 반환 형식, 발생할 수 있는 예외 리스트는 가질 수 있다. 람다 특징 익명 : 보통의 메서드와 달리 이름이 없으므로 익명이라 표현한다. 구현해야 할 코드에 대한 걱정거리가 줄어든다. 함수 :...
동작 파라미터화 코드 전달하기
동작 파라미터화란? 아직은 어떻게 실행할 것인지 결정하지 않은 코드 블록을 의미한다. 특징 : 리스트의 모든 요소에 대해서 ‘어떤 동작’을 수행할 수 있음 리스트 관련 작업을 끝낸 다음에 ‘어떤 다른 동작’을 수행할 수 있음 에러가 발생하면 ‘정해진 어떤 다른 동작’을 수행할 수 있음 ...
프록시
프록시 엔티티를 조회할 때 연관된 엔티티들이 항상 사용되는 것은 아니다. JPA는 이런 문제를 해결하려고 엔티티가 실제 사용될 때까지 데이터베이스 조회를 지연하는 방법을 제공하는데 이를 지연 로딩이라고 한다. 지연 로딩 기능을 사용하려면 실제 엔티티 객체 대신에 데이터베이스를 지연할 수 있는 가짜 객체가 필요한데 이를 프록시 객체라고 한...
고급 매핑
상속 관계 매핑 관계형 데이터베이스에는 객체지향 언어에서 다루는 상속이라는 개념이 없다. 슈퍼타입 서브타입 관계라는 모델링 기법이 객체의 상속 개념과 가장 유사하다. ORM에서 이야기하는 상속 관계 매핑은 객체의 상속 구조와 데이터베이스의 슈퍼타입 서브타입 관계를 매핑하는 것이다. 슈퍼타입 서브타입 논리 모델을 실제 물리 모델인 테이...
연관관계 주요 내용 및 주의할점
단방향 연관관계 주의점 등록 주의점 public void tset(){ Team team=new Team("team","팀"); em.persist(team); Member member=new Member("member","회원"); member.setTeam(team); em.persist(member); } 반드...