반응형
SMALL

DB/SQL 기초 32

문자열 검색하는 정규표현식 (Regular Expression) 기초

정규표현식(Regular Expression)은 원래 패턴과 문자열을 검색하기 위한 표현식이다. 쉽게말해 조건에 일치하는 것을 찾는데 쓰인다. 쿼리문에서는 Regular Expression >> 'REGEXP'로 사용된다. 정규표현식의 기본 예를 알아보자. /* SELECT DISTINCT player FROM tean WHERE brand LIKE 'k%' OR brand LIKE 'l%' OR brand LIKE 'p%' */ -- 위는 'a 또는 b, c'로 시작하는 선수이름 -- -- 아래는 정규표현식 REGEXP 함수를 사용하였을 경우 -- SELECT DISTINCT player FROM team WHERE city REGEXP '^[klp].*' 규칙참고 % : 어떠한 문자도 허용 a% = ..

DB/SQL 기초 2023.07.02

피봇(PIVOT) 연산자

SQL 쿼리가 길거나 열이 많을 경우 행과 열을 바꾸는 피봇 쿼리를 작성하는 것은 번거로울 수 있다. 이때 피봇(PIVOT) 연산자를 사용해 볼 수 있다. 피봇 연산자는 행 데이터를 열 데이터로 변환시켜주는데, 특정 열을 그룹화하고, 그룹화된 데이터를 새로운 열의 VALUE 값들이 행으로 나열된다. 예1) [pivot_columns]인 AGE가 새로운 열의 목록을 지정한다. SELECT Name, Age FROM table PIVOT (COUNT(Age) FOR Age IN ([value1], [value2], ...)) AS pivot_table; 예2) 피봇전) Type / Size 두 열에서 피봇후) Type + [S], [M], [L] 새로운 열로 바뀐다. SELECT Type, [S], [M],..

DB/SQL 기초 2023.06.29

SQLD 말 문제 - WINDOW 함수 구조 이해하기

윈도우 함수란? 테이블에서 윈도우(창문)처럼 특정 행을 지정해서 보는 방법이다. (파티션이라고 한다.) 분석함수 또는 순위함수라고도 한다. → 중첩불가 → 서브쿼리 가능 → OVER 가 들어가면 윈도우 함수이다. 특징 Window Function = Analytic Function Partition과 Group by 구문은 의미적으로 유사하다. Partition 구문이 없으면, 전체 집합을 하나의 Partition으로 정의한 것과 동일하다. 윈도우 함수 적용범위는 Partition을 넘을 수 없다. *윈도우 함수 처리로 인해 결과 건수가 줄어들지 않는다. → 집계 함수 처리로 인해 결과 건수가 줄어든다. 윈도우 함수는 GROUP BY절과 함께 사용할 수 있다. 윈도우 함수는 ORDER BY절에 AVG 집..

DB/SQL 기초 2022.09.18

SQLD 말 문제 - 메인쿼리와 서브쿼리에서 간과하기 쉬운 주의사항

1. 서브쿼리는 단일 행 또는 복수 행 비교 연산자와 함께 사용 가능하다. 2. 서브쿼리에서는 ORDER BY 를 사용하지 못한다. 3. 서브쿼리에서는 메인쿼리의 컬럼을 사용할 수 있지만, 메인쿼리는 서브쿼리의 컬럼을 사용하지 못한다. → FROM 절 인라인뷰에서만 가능 -- 오류 발생 SELECT T1.C1, T2.C2 -- 서브쿼리의 T2.C2 컬럼 사용은 불가하다. FROM T1 WHERE C1 = (SELECT C1, C2 FROM T2 WHERE C1 = '100') ORDER BY 1 추가로, 두 테이블의 컬럼 값이 같다면 EXIST 구문으로 서브쿼리 형태를 만들 수 있다. →EXIST는 TRUE와 FALSE만 되돌린다.

DB/SQL 기초 2022.09.18

자기가 자기 엔터티를 참조하는 자기참조 관계(Self Referencing Relationship), 순환관계(Recursive Relationship)

자기참조 관계란? 여러 명이 한 명의 유저를 추천인으로 등록할 수 있다. 타 테이블이라면 1:N(일대다) 관계이지만, 자기 테이블에서 참조하게 될 때 표현하는 관계이다. 유형 분리통합형: 단일 엔티티로 자기 자신을 참조 복합형: 다중 엔티티로 별도 테이블의 동일한 PK를 참조

DB/SQL 기초 2022.09.18

SQLD 말 문제 - 엔터티(Entity), 테이블(Table), 릴레이션(Relation) 같을까?

ERD(Entity Relationship Diagram)란? 엔터티간의 관계를 설명해 주는 다이어그램을 뜻한다. 엔터티(Entity)란? 엔티티==테이블==릴레이션으로 통칭해서 사용되기도 한다. 관계(Relation)란? 관계명(Relationship Membership) → 이름, 발주명 관계 차수(Relationship Degree / Cardinality) → Instance 수 (행수) → 두 엔터티간 경우의 수 → 1:1, 1:M, M:N 관계 선택 사항(Relationship Optionality) → 관계 참여 여부 → 필수관계, 선택관계 그렇다면 엔티티, 테이블, 릴레이션은 완전히 같을까? → DB의 설계 단계에서는 엔터티(Entity), → DBMS로 구현되는 단계에서는 테이블(Tabl..

DB/SQL 기초 2022.09.18

SQLD 말 문제 - 분산 데이터베이스 특징과 장단점 정리

특징 → 네트워크를 경유하여 여러 개의 DB로 물리적으로 분리하는 것이다. → 네트워크가 많아서 실시간 연동이 어려울때 사용한다. → 네트워크가 좋지 않았던 과거에 주로 사용하였다. → 사용자는 인지하지 못한다. → DB 물리적으로 분리시킨다. → 무결성 보장을 위하여 2PC(TWO-PHASE CUMMIT) 장점 → 높은 DB 신뢰성과 가용성 → 병렬처리로 빠른 응답 → 통신비 절감 → 지역 자치성 → 지역 요구 수용 증대 → 시스템 용량 확장 용이 (점증적) → 시스템 규모 조절 단점 → 어려운 데이터 무결성 관리 → 어려운 관리와 통제 → 어려운 보안 → 복잡한 DB 설계와 관리 → 소프트웨어 개발 비용 → 처리비용 증대 → 오류의 잠재적 증대 → 불규칙한 응답속도

DB/SQL 기초 2022.09.18

SQLD 말 문제 - 스키마(Schema) 개념과 명령어

스키마(Schema)란? → DB의 데이터 구조와 제약 조건을 기술한 명세와 같다. → 사용자의 관점에 외부 스키마, 개념 스키마, 내부 스키마로 3단계 구조를 갖는다. 스키마 3단계(Three Level Architecture) 내부 스키마(Internal Schema) → 개별 사용자 관점 개념 스키마(Conceptual Schema) → 조직 전체 관점 외부 스키마(External Schema) → 엔지니어 관점 스키마 필요성 → 데이터 무결성 그림과 같이 테이블을 구성하는 개체(Entity), 속성(Attribute), 관계(Relationship), 식별자(Identifier)와 같은 요소들에 물리적인 제약조건(Constraint)을 설정하여 데이터를 정제하는 것이다. sys AS SYSDBA ..

DB/SQL 기초 2022.09.16
반응형
LIST