[ SQLD ] ESCAPE / ROWNUM / TOP()
·
IT_STUDY/SQLD
ESCAPE (LIKE 연산) - LIKE 연산으로 '%'나 '_' 가 포함된 문자를 검색하고자 할 때 사용된다. - '%', '_' 앞에 ESCAPE로 특수문자를 지정하면 검색할 수 있다. - 특수문자는 아무거나 상관없이 사용 가능하다. - 일반적으로 LIKE 구문을 사용하는 것 처럼 사용한다. select pname from emp where pname like '%_%'; -- 김_하나, 박%둘, 삼, 사 select pname from emp where pname like '%%%'; -- 김_하나, 박%둘, 삼, 사 '%' 나 '_'가 포함된 문자열만 검색하고자 했는데 인식을 하지 못하는 상황이 발생한다. 이럴 때 사용하는 것이 ESCAPE 구문이다. select pname from emp wh..
[ SQLD ] SQL 연산 / Alias / CONCAT / IN / LIKE / NOT
·
IT_STUDY/SQLD
SQL 연산 순서 FROM WHERE GROUP BY HAVING SELECT ORDER BY select 컬럼명 --> 전체 열 중 원하는 열만 선택 (열 제어) from 테이블명 where 조건식; --> 전체 행 중 원하는 행만 선택 (행 제어) DML (데이터 조작어 : Data Manipulation Language) - Select(조회) : 데이터베이스에 들어있는 데이터를 조회하거나 검색하기 위한 명령어를 말하는 것이다. - Insert(삽입), Update(수정), Delete(삭제) : 데이터베이스의 테이블에 들어있는 데이터에 변형을 가하는 종류의 명령어 DDL (데이터 정의어 : Data Definition Language) - Create(생성), Alter(변경), Drop(삭제),..
[ SQLD ] 데이터 모델과 성능 (2)
·
IT_STUDY/SQLD
로우 체이닝 - 로우의 길이가 너무 길어서 데이터 블록 하나에 데이터가 모두 저장되지 않고 두 개 이상의 블록에 걸쳐 하나의 로우가 저장되어 있는 형태 로우 마이그레이션 - 데이터 블록에서 수정이 발생하면 수정된 데이터를 해당 데이터 블록에서 저장하지 못하고 다른 블록의 빈 공간을 찾아 저장하는 방식 - 로우 체이닝과 로우 마이그레이션이 발생하여 많은 블록에 데이터가 저장되면 DB 메모리에서 디스크 I/O가 발생할 때 많은 I/O가 발생하여 성능 저하 발생 트랜잭션을 분석하여 적절하게 1:1 관계로 분리함으로써 성능 향상이 가능하도록 해야 한다. PK에 의해 테이블을 분할하는 방법 (파티셔닝) RANGE PARTITION : 대상 테이블이 날짜 또는 숫자값으로 분리가 가능하고 각 영역별로 트랜잭션이 분리..
[ SQLD ] 데이터 모델과 성능 (1)
·
IT_STUDY/SQLD
성능 데이터 모델링 - DB 성능 향상을 목적으로 설계 단계의 데이터 모델링 때부터 정규화, 반정규화, 테이블 통합, 테이블 분할, 조인 구조, PK, FK 등 여러가지 성능과 관련된 상향이 데이터 모델링에 반영될 수 있도록 하는 것 - 분석/설계 단계에서 데이터 모델에 성능을 고려한 데이터 모델링을 수행할 경우 성능 저하에 따른 재업무 비용을 최소화 할 수 있음 - 데이터의 증가가 빠를수록 성능 저하에 따른 성능 개선 비용은 기하급수적으로 증가하게 된다. 성능 데이터 모델링 고려사항 순서 데이터 모델링을 할 때 정규화를 정확하게 수행 DB 용량산정을 수행한다. DB에 발생되는 트랜잭션의 유형을 파악한다. 용량과 트랜잭션의 유형에 따라 반정규화를 수행 이력 모델의 조정, PK/FK조정, 슈퍼/서브타입 조..
[ SQLD ] 데이터 모델링의 이해
·
IT_STUDY/SQLD
데이터 모델링의 중요성 및 유의점 중복 : 같은 시간 같은 데이터 제공 비유연성 : 사소한 업무 변화에 데이터 모델이 수시로 변경되면 안 된다. 데이터 정의를 사용 프로세스와 분리한다. 비일관성 : 데이터 간 상호 연관 관계에 대해 명확히 정의해야 한다. 데이터 모델링 개념적 데이터 모델링 논리적 데이터 모델링 물리적 데이터 모델링 데이터 독립성 요소 외부 스키마 : 개개 사용자가 보는 개인적 DB 스키마 개념 스키마 : 모든 사용자 관점에서 통합한 전체 DB 내부 스키마 : 물리적 장치에서 데이터가 실제적 저장 데이터 독립성 논리적 독립성 : 개념 스키마 변경, 외부 스키마에 영향을 안 준다. 물리적 독립성 : 내부 스키마 변경, 외부/개념 스키마에 영향 안 준다. Mapping 상호 독립적인 개념을 ..
[Spring] MVC 패턴이란 ?
·
Backend/Spring
spring MVC(Model-View-Controller) 패턴이란 ? - 아키텍처 패턴을 기반으로 하는 Java 기반의 웹 애플리케이션 프레임워크이다. - 소프트웨어를 구조화하고 설계하는 데 사용되며, 각 구성 요소가 역할을 명확하게 나누어 유지보수와 확장을 용이하게 만든다. 1. Model(모델) : 애플리케이션의 비즈니스 로직을 처리하고 데이터를 관리하는 부분 2. View (뷰) : 사용자에게 정보를 표시하고 사용자와의 상호작용을 담당하는 부분 3. Controller(컨트롤러) : 사용자의 입력을 처리하고 모델과 뷰 사이의 상호 작용을 관리하는 부분이다. 컨트롤러는 클라이언트의 요청을 수신하고, 해당 요청에 대한 응답으로 모델의 상태를 업데이트하거나 뷰를 변경한다. 한마디로, 소프트웨어를 모델..
[Vue.js] 뷰 템플릿이란 ? / 뷰 템플릿 문법
·
Frontend/Vue.js
뷰 템플릿 - HTML, CSS 등의 마크업 속성과 뷰 인스턴스에서 정의한 데이터 및 로직들을 연결하여 사용자가 브라우저에서 볼 수 있는 형태의 HTML로 변환해주는 속성 - CDN으로 사용할 땐 ES5 사용 템플릿에서 사용하는 뷰의 속성과 문법 - 뷰 인스턴스의 데이터를 HTML 태그에 연결하는 가장 기본적인 텍스트 삽입 방식 - 아이디, 클래스, 스타일 등의 HTML 속성 값에 뷰 데이터 값을 연결 할 때 사용하는 데이터 연결 방식 두잇 vue.js {{ system }} 두잇 vue.js 뷰 입문서 경고 창 버튼 클릭 ES6version v-on = @ 클릭 watch - 데이터 변화를 감지하여 자동으로 특정 로직을 수행 - computed속성과 유사하지만 compoted는 내장 API를 활용한 간..
[Spring] JWT (JSON Web Token)
·
Backend/Spring
JWT(JSON Web Token) 토큰 기반의 인증 시스템 사용자가 로그인 할 때 session -> was에 사용자가 로그인을한다. (ID와 비밀번호) > controller에서 db와 비교를 한다. 이 것을 JSP로 내려보내준다. was안에 세션에다가 사용자의 유일한 정보를 담는다(ID). 아이디가 저장되어 있는 세션에 고유한 번호를 만들어준다(세션ID). 세션안에는 세션의 고유한 번호를 가지고 있고, 사용자의 ID나 PWD를 가지고 있다. 세션 아이디를 내려보내준다. 브라우저는 리스펀스로 세션 아이디를 받고, 쿠키에 저장을 한다. (쿠키 : 브라우저 내에 정보를 저장하는 공간(저장소)) 다음 새로운 요청이 있으면, 새로운 요청을 할 때 요청 객체에 쿠키를 포함해서 보낸다. 서버는 쿠키로 부터 세션..