본문 바로가기

Database16

DataGrip - 테이블 정보 한눈에 확인하는 방법 들어가며 젯브레인즈에서 제공하는 디비 툴로 데이터그립을 사용하는데 개발을 하다보면 새로 테이블을 만드는 경우도 있지만 기존의 만들어진 테이블을 활용하여 개발을 해야되는 경우도 많다. 그럴때 자신이 만든 것이 아니기 때문에 테이블에 컬럼들이 어떤 조건들이 있는지 확인할 필요가 있는데 데이터그립에서는 한눈에 테이블 정보를 확인할 수 있는 방법을 제공해준다. 테이블 정보 확인 방법 먼저 데이터그립에 접속하면 다음과 같이 좌측에 테이블들이 트리 형식으로 나온다. 확인하고 싶은 테이블을 우측 클릭한 후 'Quick Documentation'을 눌러준다. 그러면 다음과 같이 테이블의 정보들이 담긴 창이 하나 뜬다. pk 정보, unique key 정보등 설정이 되어 있다면 해당 테이블의 전체 정보를 한 눈에 확인이.. 2022. 2. 21.
MongoDB - MongoTemplate UPDATE METHOD 들어가며 이번 개발 도중 일부 테이블들은 MongoDB로 되어 있어 해당 테이블 관련하여 수정 API를 만들던 도중 알게된 내용을 정리한다. MongoTemplate update 먼저 문제의 발단은 update 코드를 짜던 도중 updateFirst 메서드를 쓰는 과정에서 나왔다. 아래의 코드를 보면 먼저 특정 아이디로 업데이트를 할 대상을 지정하는 것이기 때문에 updateFirst를 쓰든 아니면 updateMulti를 쓰든 동작에는 이상이 없지만 개념적으로 updateFirst는 여러 대상이 나왔을 때 첫번째 대상만 업데이트를 하는 것인데 id(pk)로 대상을 찾은 후 업데이트를 하는 것이기 때문에 여러 대상이 나오지 않아 동작에는 문제가 없지만 개념적으로는 의미가 안맞을 수 있다. MongoTemp.. 2022. 2. 5.
MongoDB 관련 정리 - MongoDB Compass 사용시 해당 문자열 포함하는 쿼리 검색시 / / 사용 - 최신순 검색시 필드 값 -1 로 하면 역순으로 되서 최신부터 2022. 1. 26.
DSL 정의 동적 sql문을 사용하기 위해 Query dsl을 공부하려고 찾던 와중에 문득 dsl이 정확히 무엇인지 궁금해져 정의를 찾아보았다. DSL Domain Specific Language 의 약자이며, 번역하면 도메인 특화 언어이다. 역시 약자만으로는 정확히 감이 안온다. 도메인 특화 언어를 좀 더 풀어서 설명하면 특정 영역을 타겟하고 있는 언어를 말한다. 여기서 말하는 특정 영역(특정 분야)에 최적화된 프로그래밍 언어라고 생각하면 된다. 예를 들어서 sql은 데이터베이스에 존재하는 데이터를 참조하기 위한 목적으로 사용되며 sql로 웹 서버를 만드는 것은 불가능 하다. 반면 java와 같은 언어에 경우에는 sql을 만들어 낼수도 있으며, 웹 서버도 만들 수 있다. 결론 dsl은 특정 영역을 타겟하고 있는 언어. 2021. 10. 20.
SQL - JOIN SQL - JOIN 둘 이상의 테이블을 연결해서 필요한 정보를 검색하는 방법이다. 이때 테이블 간의 적어도 하나의 컬럼을 공유하고 있어야 조인이 가능하다. 1. INNER JOIN (내부조인) 이너조인에 경우는 교집합만 셀렉트. 즉, 공통적인 부분만 셀렉트된다. 2. LEFT, RIGHT JOIN 부분집합을 구할때 사용한다. 아래 그림을 보고 먼저 쓴 테이블이 왼쪽 (LEFT)로 기준으로 생각하여 보면 된다. WHERE절을 통해 교집합 부분을 제거하고 셀렉트도 가능하다. 교집합에 속하는 정보들을 해당 정보를 가지고 오고 교집합에 속하지 않는 정보들은 null값으로 채워서 출력된다. 3. OUTER JOIN (외부 조인) 아우터 조인은 합집합을 구할때 사용한다. 아우터 조인도 마찬가지로 WHERE절을 통하.. 2021. 5. 23.
DB - 데이터베이스 관련 용어 정리 DB - 데이터베이스 관련 용어 정리 데이터베이스에서는 다양한 용어들이 사용된다. 데이터베이스 관련 용어들과 같은 개념이라도 여러가지 이름으로 불리는 경우들을 정리 한다. (updating..) 데이터베이스(DB) - 여러 사람이 공유하고 사용할 목적으로 통합 관리되는 정보의 집합 DBMS(DataBaseManagementSystem) - 데이터베이스를 정의하고, 질의어를 지원하고, 리포트 생성등의 작업을 수행하는 소프트웨어이다. - DBMS의 종류로는 대표적으로 Oracle, MySQL, MariaDB, MSSQL 등이 있다. 테이블(Table) - 행(row)과 열(column)로 이루어진 데이터의 집합이다. - 관계형 데이터베이스에서는 릴레이션(relation)이라고 부름. 행(Row) - 테이블을.. 2021. 5. 18.