no image
SQL 활용 2
03 집합 연산자각 쿼리의 결과 집합을 가지고 연산을 하는 명령어1. UNION ALL각 쿼리의 결과 집합의 합집합중복된 행도 그대로 출력됨QUERY1의 결과와 QUERY2의 결과를 그대로 합하는 것으로 중복된 행도 그대로 출력 2. UNION각 쿼리의 결과 집합의 합집합중복된 행은 한 줄로 출력됨QUERY1의 결과와 QUERY2의 결과를 합한 후 중복을 제거하여 출력 각 쿼리의 결과 집합의 합집합에 중복된 행이 없을 때는 UNION ALL과 UNION 모두 같은 결과를 도출한다.하지만 UNION을 사용할 때 데이터베이스 내부적으로 중복된 행을 제거하는 과정을 거쳐야 하므로 성능상 불리할 수 있다.3. INTERSECT각 쿼리의 결과 집합의 교집합중복된 행은 한 줄로 출력됨QUERY1의 결과와 QUERY..
2024.05.23
no image
SQL 활용 1
CHAPTER 2. SQL 활용01 서브쿼리(Subquery)서브쿼리는 하나의 쿼리 안에 존재하는 또 다른 쿼리이다.하나의 SELECT 문장으로, 괄호로 둘러싸인 형태 서브쿼리의 위치에 따른 분류SELECT 절 : 스칼라 서브쿼리FROM 절 : 인라인 뷰WHERE 절, HAVING 절 : 중첩 서브쿼리1. 스칼라 서브쿼리주로 SELECT 절에 위치하지만 컬럼이 올 수 있는 대부분 위치에 사용할 수 있다.컬럼 대신 사용되므로 반드시 하나의 값만을 반환해야 하며 그렇지 않은 경우 에러를 발생시킨다.→ 스칼라 서브쿼리를 이용하여 PRODUCT_REVIEW 테이블에 존재하지 않는 PRODUCT_NAME 데이터를 출력→ 스칼라 서브쿼리를 이용하여 PRODUCT_REVIEW 테이블에 존재하지 않는 PRODUCT_N..
2024.05.19
no image
SQL 기본 3
05 GROUP BY, HAVING 절1. GROUP BY말 그대로 데이터를 그룹별로 묶을 수 있도록 해주는 절이다. 2. 집계 함수데이터를 그룹별로 나누면 그룹별로 집계 데이터를 도출하는 것이 가능해진다.ex. 유튜브 이용자 수를 국가별로 그룹핑한다고 했을 때 나라별로 얼마만큼의 이용자가 있는지 COUNT 해볼 수 있다. 3. HAVINGGROUP BY 절을 사용할 때 WHERE 절처럼 사용하는 조건절주로 데이터를 그룹핑한 후 특정 그룹을 골라낼 때 사용한다.HAVING 절은 논리적으로 GROUP BY 절 이후에 수행되기 때문에 그룹핑 후에 가능한 집계 함수로 조건을 부여할 수 있다.HAVING 절은 논리적으로 SELECT 절 전에 수행되기 때문에 SELECT 절에 명시되지 않은 집계 함수로도 조건을 ..
2024.05.09
no image
SQL 기본 2
02 SELECT문1. SELECT저장되어 있는 데이터를 조회하고자 할 때 사용하는 명령어 SELECT * FROM 테이블;위와 같이 컬럼을 따로 명시하지 않고 *를 쓰면 전체 컬럼이 조회되며 조회되는 컬럼의 순서는 테이블의 컬럼 순서와 동일하다.별도의 WHERE 절이 없으면 테이블의 전체 ROW가 조회된다. SELECT BAND.BAND_NAME, BAND_MEMBER.MEMBER_NAME FROM BAND,BAND_MEMBER WHERE BAND.BAND_CODE = BAND_MEMBER.BAND_CODE;↓SELECT B.BAND_NAME, BM.MEMBER_NAME FROM BAND B, BAND MEMBER BM WHERE B.BAND_CODE = BM.BAND_CODE;FROM 절에서 BAND..
2024.04.29
no image
SQL 기본 1
CHAPTER 1. SQL 기본01 관계형 데이터베이스 개요1. 데이터베이스데이터 베이스 : 데이터를 저장하는 공간일반적으로 데이터베이스는 용도와 목적에 맞는 데이터들끼리 모아서 저장한다.여러 사람이 공유하고 사용할 목적으로 통합 관리되는 정보의 집합 2. 관계형 데이터베이스흔히 RDB(Relational Database)라고 불린다.말 그대로 관계형 데이터 모델에 기초를 둔 데이터베이스설계는 모든 데이터를 2차원 테이블 형태로 표현한 뒤 각 테이블 간의 관계를 정의하는 것으로 시작된다.RDBMS(Relational Database Management System) : 이러한 RDB를 관리, 감독하기 위한 시스템이며, Oracle, SQL Server(MSSQL), MySQL, MariaDB, Postg..
2024.04.04
no image
데이터 모델링의 이해 3
02 반정규화 (De-Normalization) 데이터의 조회 성능을 향상시키기 위해 데이터의 중복을 허용하거나 데이터를 그룹핑하는 과정이다. 조회 성능을 향상될 수 있으나 입력, 수정, 삭제 성능은 저하될 수 있으며 데이터 정합성 이슈가 발생할 수 있어 주의해야 한다. 반정규화의 과정은 정규화가 끝난 후 성능상 이슈가 있을 때만 고려한다. 1. 테이블 반정규화 테이블 병합 업무 프로세스상 JOIN이 필요한 경우가 많아 테이블을 통합하는 것이 성능 측면에서 유리할 경우를 고려한다. 1:1 관계 테이블 병합 1:M 관계 테이블 병합 1:M 관계 테이블 병합의 경우 엔터티의 속성 개수가 많으면 병합했을 경우 중복 데이터가 많아지므로 테이블 병합에 적절하지 못하다. 테이블 분할 테이블 수직 분할 테이블 수평 ..
2024.04.04
no image
데이터 모델링의 이해 2
04 관계(Relationship) 1. 관계란? 엔터티와 엔터티와의 관계를 의미하며, 어떠한 연관성이 있는지 타입을 분류하여 존재 관계와 행위 관계로 나눌 수 있다. 2. 존재 관계 엄마와 아기처럼 존재 자체로 연관성이 있는 관계 ex. 직원과 부서, 학생과 학과 엔터티 3. 행위 관계 특정한 행위를 함으로써 연관성이 생기는 관계 ex. 회원과 주문, 학생과 출석부 엔터티 4. 표기법 관계명 관계의 이름 엔터티와 엔터티가 어떠한 관계를 맺고 있는지를 나타내주는 문장 모든 관계를 두 개의 관계명을 가짐 반드시 명확한 문장으로 표현해야 함 관계차수 관계에 참여하는 수 실각 엔터티에서 관계에 참여하는 수를 의미 일반적으로 1:1, 1:M, M:N 형식 관계선택사양 필수인지 선택인지의 여부 필수적 관계 - 참..
2024.03.28
no image
데이터 모델링의 이해 1
01 데이터 모델의 이해 1. 모델링이란? 모델 : 현실 세계에서 일어날 수 있는 다양한 현상에 대해서 일정한 표기법에 의해 표현해 놓은 모형 모델링 : 모델을 만들어가는 일, '현실 세계를 단순화하여 표현하는 기법'이다. 투표 데이터를 배우 번호별로 카운트한 결과로 순위를 매겨 가장 많은 표를 받은 배우에게 시상된다. 이처럼 모델링은 현실 세계에서 필요한 데이터를 저장하는 데이터베이스를 구축하기 위한 분석/설계의 과정이라고 할 수 있다. 2. 모델링의 특징 추상화(Abstraction) : 현실 세계를 일정한 형식으로 표현한 것, 아이디어나 개념을 간략하게 표현하는 과정 단순화(Simplification) : 복잡한 현실 세계를 정해진 표기법으로 단순하고 쉽게 표현한다는 의미 명확화(Clarity) :..
2024.03.21
Prev 1 Next
반응형