본문 바로가기

Study/DB3

[MYSQL] 한글 별칭(aslias) 예외 문제상황 https://www.w3schools.com/sql/trymysql.asp?filename=trysql_func_mysql_concat 에서 쿼리를 조작하여, 그림과 같은 결과를 얻고 싶었어요. 쿼리를 아래와 같이 짰을 때 SELECT p.ProductID as '상품 아이디', p.ProductName as '상품이름', sum(od.Quantity) as sum FROM Products as p JOIN OrderDetails as od on p.ProductID = od.ProductID GROUP BY od.ProductID HAVING sum >= 200 ORDER BY sum desc; 아래의 결과가 나오게 돼요. "sum" 부분을 "총수량"으로 바꾸고 .. 2021. 10. 8.
[DB] 정규화란? 데이터베이스 정규화(Normalization)는 데이터 중복을 줄이고 데이터 무결성을 개선하기 위해 정규화 단계에 따라 관계형 데이터 베이스를 구조화하는 프로세스예요. 이상 현상(Anomly) 정규화되지 않은 관계에서 관계를 수정(업데이트, 삽입/삭제) 하려고 하면, 아래와 같은 부작용이 발생할 수 있어요. 업데이트 이상 업데이트 후 동일한 정보가 여러 행에 표시될 수 있어요. 삽입 이상 테이블에 값을 못넣게 될 수 있어요. 위 그림에서 아직 어떤 과정도 지정되지 않은 교수의 경우, 과정 코드를 null로 설정하는 경우를 제외하고는 기록 할 수 없어요. 삭제 이상 위 그림에서 일시적으로 어떤 과정에도 배정되지 않으면, row자체가 사라질 수 있어요 위와 같은 문제들을 해결하기 위해 정규화 단계가 도입되었.. 2021. 9. 25.
[DB] 하이버네이트(Hibernate)란? ORM 기술에 대한 명세인 JPA(Java Persistence API)의 구현체의 한 종류 JPA의 구현체이므로 JPA의 특징을 함께 정리했어요. Hibernate란? 하이버네이트는 자바 언어를 위한 ORM 프레임워크에요. JPA의 구현체로, JPA 인터페이스를 구현하며, 내부적으로 JDBC API를 사용해요. JPA는 관계형 데이터베이스와 객체의 패러다임 불일치 문제를 해결할 수 있다는 점과 영속성 컨텍스트(엔티티를 영구 저정하는 환경) 제공이 큰 특징이에요. JPA 자바 애플리케이션에서 관계형 데이터베이스를 사용하는 방식을 정의한 인터페이스에요. 라이브러리가 아닌 인터페이스이므로 특정 기능을 하진 않아요. JDBC 자바 프로그래밍 언어와 다양한 데이터베이스 SQL 또는 테이블 형태의 데이터 사이에 .. 2021. 8. 25.