Computer Science/Database

    SQL syntax의 정리 - SELECT문

    SQL Syntax 정리 - SELECT 구문 이번 포스팅에서는 DML(Data Manufulation Language) 중 하나인 SELECT 구문의 문법에 대해 알아보겠습니다. SELECT 문의 문법 구조와 제공되는 함수를 이해한다면 데이터베이스에서 필요한 정보를 원하는 형태로 조회할 수 있습니다. 예시의 쿼리는 MYSQL 문법을 기준으로 작성되었습니다. 쿼리의 구조 SELECT 컬럼명 FROM 테이블명 WHERE 조건식 GROUP BY 컬럼명 HAVING 조건식 ORDER BY 컬럼명 SELECT 쿼리는 일반적으로 위와 같은 구조로 작성됩니다. 각 명령어의 역할은 다음과 같습니다. SELECT :추출된 데이터들을 조회 FROM : 조회하고자 하는 테이블을 지정 WHERE : 테이블에서 WHERE절에..

    [DB] JPA(Java Persistence API) 란 무엇인가?

    JPA(Java Persistence API) 란 무엇인가? JPA는 JAVA 진영에서 ORM(Object-Relational Mapping) 기술의 표준으로 사용되는 인터페이스의 모음이다. JPA를 구현한 대표적인 오픈소스로는 Hibernate가 있다. ORM 기술에 대한 자바 진영의 API 표준 명세 JPA의 구현체는 Hibernate, OpenJPA 와 같은 프레임워크가 존재함 ORM(Object-Relational Mapping)은 객체 관계 맵핑 기술 장점 SQL 이 아닌 Method로 DB를 조작할 수 있어, 개발자가 비지니스 로직을 구성하는데만 집중할 수 있다 재사용 및 유지보수의 편리성이 증가한다 DBMS에 대한 종속성이 줄어든다 단점 JPA를 제대로 사용하기까지 걸리는 시간이 오래걸린다 ..

    [DB] 정규화(Normalization)에 대해서

    정규화(Normalization)? 데이터베이스는 Entity, Tuple, Table 등 여러 요소들의 집합으로 구성되어 있다. 데이터베이스의 요소들이 중복되지 않고 CRUD 쿼리 수행시 이상현상(Anomaly)를 최소화 하기 위해 테이블을 구성하는 정규화(Normalization)을 수행한다. 정규화의 목적 중복된 데이터(redundancy)의 제거 논리적 데이터 저장 DB 구조확장 시 테이블 변경 최소화 정규화는 1NF, 2NF, 3NF, BCNF, 4NF, 5NF, 6NF 까지 정의되어 있으며 관계형 데이터베이스가 제3정규화(3NF)까지 정규화가 되어있일반적으로 정규화 되었다고 한다. 이번 포스팅에서는 제1 정규화 부터 BCNF 정규화까지 정리해보고자 한다. 제 1 정규화 (1 NF) - 컬럼에 ..