good_da22 's devLog

SQL 5

Database Modelling (데이터베이스 모델링) 1

Database Modelling (데이터베이스 모델링) 정보화 시스템을 구축하기 위해 어떤 데이터가 존재하는지 또는 업무에 필요한 정보는 무엇인지 분석하는 방법 관계형 데이터베이스는 표(table) 개념을 사용해서 데이터를 구성하는 방법을 사용 자바관점에서 table 하나는 Dto 하나 Database Modeling 순서 업무 프로세스 분석 개념적 모델링 - 개념적 구조 성립 논리적 모델링 - 데이터 모델 정립 물리적 모델링 - 물리적 데이터베이스 생성 일치성 검토 개념적 데이터베이스 모델링 업무분석 단계에서 얻어진 내용을 토대로 우선 Entity를 추출하고 Entity내에 속성(Attribute)을 구성하며 Entity간의 관계를 정의해서 ER-Diagram을 정의하는 단계 사용자 부문의 처리현상을..

Back-End/Database 2022.09.26

Sub query

서브 쿼리 (Sub Query) 서브 쿼리(sub query)란 다른 쿼리 내부에 포함되어 있는 SELECT문을 의미 서브 쿼리를 포함하고 있는 쿼리를 외부 쿼리(outer query) 또는 메인 쿼리(main query)라고 부르며, 서브 쿼리는 내부 쿼리(inner query)라고도 부른다. 서브 쿼리는 비교 연산자의 오른쪽에 기술해야 하고 반드시 괄호 () 로 감싸져 있어야 한다. 서브 쿼리를 모른다면 JOIN을 사용해야 한다. JOIN의 경우 쿼리가 복잡해지거나 카테시안곱으로 인한 속도 저하 발생 가능(case by case) 서브 쿼리를 이용하여 CREATE, INSERT, UPDATEm DELETE 가능 서브 쿼리 종류 중첩 서브 쿼리(Nested Subquery) : WHERE 문에 작성하는..

Back-End/Database 2022.09.19

JOIN

JOIN 둘 이상의 테이블에서 데이터가 필요한 경우 테이블 JOIN이 필요 일반적으로 JOIN 조건을 포함하는 WHERE 절을 작성해야 한다. JOIN 조건은 일반적으로 각 테이블의 PK와 FK로 구성 JOIN 종류 INNER JOIN OUTER JOIN LEFT OUTER JOIN RIGHT OUTER JOIN JOIN 조건의 명시에 따른 구분 NATURAL JOIN CROSS JOIN(FULL JOIN, CARTESIAN JOIN) JOIN 주의 JOIN의 처리는 어느 테이블을 먼저 읽을지를 결정하는 것이 중요(처리할 작업량이 상당히 달라진다) INNER JOIN : 어느 테이블을 먼저 읽어도 결과가 달라지지 않아 MySQL 옵티마이저가 JOIN의 순서를 조절해 다양한 방법으로 최적화 수행 OUTER..

Back-End/Database 2022.09.19

MySQL function / GROUP BY / Transaction

MySQL 내장함수 숫자 관련 함수 ABS(숫자) : 절대값 CEILING(숫자) : 값보다 큰 정수 중 가장 작은수 FLOOR(숫자) : 값보다 작은 정수 중 가장 큰 수 ROUND(숫자, 자릿수) : 자릿수 기준으로 반올림 TRUNCATE(숫자, 자릿수) : 숫자를 자릴수를 기준으로 버림 POW(X, Y) or POWER(X, Y) : X의 Y 제곱 MOD(A, B) : A mod B GREATEST(num1, num2, ...) : 주어진 수에서 가장 큰 수를 반환 LEAST(num1, num2, ...) : 주어진 수에서 가장 작은 수를 반환 문자 관련 함수 ASCII(문자) : .문자의 아스키 코드 값 리턴 CONCAT('문자열1', '문자열2', ...) : 문자열..

Back-End/Database 2022.09.19

RDBMS & SQL

RDBMS 관계형(Relational) 데이터베이스 시스템 테이블 기반(Table based)의 DBMS 데이터를 테이블 단위로 관리 - 하나의 테이블은 여러 개의 컬럼(Column)으로 구성 중복 데이터를 최소화 - 같은 데이터가 여러 컬럼 또는 테이블에 존재 했을 경우, 데이터를 수정 시 문제 발생 가능성이 높아짐, 정규화 여러 테이블에 분산되어 있는 데이터를 검색 시 테이블 간의 관계(join)를 이용하여 필요한 데이터를 검색 SQL (Structured Query Language) Database에 있는 정보를 사용할 수 있도록 지원하는 언어 모든 DBMS에서 사용 가능 대소문자는 구별하지 않는다.(데이터의 대소문자는 구분) DDL (Data Definition Language) DDL (Data..

Back-End/Database 2022.09.11