SQL 12

[sql] Rollup, Cube, Grouping sets(집계함수)

집계함수인 ROLLUP, CUBE, GROUPING SETS이다. ROLLUP은 계층적인 요약을 생성한다. CUBE는 모든 가능한 조합에 대한 요약을 생성한다. GROUPING SETS는 사용자가 정의한 여러 그룹핑 세트를 지정하여 집계한다. 공통점은 ROLLUP, CUBE, GROUPING SETS 모두 집계함수의 공통점을 가지며, group by 절에서 사용된다는 점이다. 차이점으로는, cube는 모든 가능한 조합을 출력하는 데에 반해, rollup 은 단순히 계층적인 요약 기능만 제공한다. grouping sets는 사용자의 정의가 되어야 집계되는 형태이다.

Certificate/SQL 2023.11.23

[sql] 데이터베이스의 view 기능

데이터베이스 상에서 View는 기존의 테이블로부터 유도된 가상의 테이블로서, 입력, 수정, 삭제가 불가능하다는 제약을 가지고 있다. 그러나 이러한 특성 덕분에 보안성은 향상되는 이점을 가지고 있다. view의 작동 순서는 다음과 같다. 우선 사용자가 select문을 이용하여 테이블을 조회하고 view 생성을 위한 테이블을 생성한다(실체 테이블로부터 가상의 테이블을 만드는 구조라고 이해하면 될 것 같다.) 그리고 쿼리를 실행시켜 테이블로부터 쿼리 결과값을 얻는다.

Certificate/SQL 2023.11.11

[sql] join에 대하여(Natural join, inner join, Outer join, Cross join)

join은 natural join, inner join, outer join, cross join으로 나눈다. natural join은 테이블 칼럼명이 같으면 모두 join하는 방식이다. Inner join은 집합의 교집합과 같은 역할을 하며, 공통된 부분만 추출하여 보여준다. outer join은 세 가지로 나뉘는데, 기준이 왼쪽이고 다른 테이블이 붙는 경우 left outer join, 마찬가지로 기준이 오른쪽일 경우는 right outer join이 된다. left , right, inner join을 모두 수행하기를 원하는 경우 full outer join을 이용한다. cross join은 가능한 모든 조합에 대해 join이 일어나기를 원할 때 사용한다.

Certificate/SQL 2023.11.10

[sql] sqld 1과목 요약 (데이터모델링, 엔터티, 속성, 관계, 식별자, 정규화)

[sqld 1과목 요약] - 데이터모델링의 특징: 추상화/ 단순화/ 명확화 - 데이터모델링의 단계: 개념적 모델링(1차, 추상성 가장 큼) , 논리적 모델링(2차, 세부적 속성), 물리적 모델링(3차, 실제 서버 내용까지 고려한 설계) - ERD 작성 순서 : 엔터티 도출 > 엔터티 배치 > 엔터티 관계 설정 > 엔터티 기술 > 관계 참여도 기술 > 관계 필수 여부 기술 - 데이터베이스 3단계 스키마: 외부 스키마(응용프로그래밍이 접근), 개념 스키마(일반적인 스키마를 의미), 내부 스키마(물리적 저장) -엔터티 : 논리적 모델링을 할 때 테이블을 의미함(데이터의 집합) -엔터티의 분류: [유형에 따른 분류] 유형엔터티(가장 기본적인 엔터티), 개념엔터티(개념적으로 존재), 사건엔터티(비지니스 프로세스에..

카테고리 없음 2023.11.03

[sql] TCL(Transaction Control Language)에 관하여(의미, 예시 중심으로)

[Transaction이란?] 트랜젝션(Transaction)이란 밀접히 관련되어 분리될 수 없는 한 개 이상의 데이터베이스 조작을 의미한다. [Transaction의 특성] 트랜젝션은 다음 4가지 특성을 만족해야 한다. - 원자성: 트랜젝션에서 정의된 연산들은 모두 성공적으로 실행되거나 전혀 실행되지 않아야 함(all or nothing) - 일관성: 트랜젝션이 실행되기 전의 데이터베이스 내용이 잘못되어 있지 않다면 트랜젝션이 실행된 이후에도 데이터베이스의 내용에 잘못이 있으면 안됨 - 고립성: 트랜젝션이 실행되는 도중에 다른 트랜젝션의 영향을 받아 잘못된 결과를 만들어서는 안됨 - 지속성: 트랜젝션이 정상적으로 수행되면 갱신한 데이터베이스의 내용은 영구적으로 저장됨 [TCL 언어] Transactio..

Certificate/SQL 2023.11.02

[sql] 정규화/반정규화 (개념과 문제점에 관하여)

[정규화] 데이터의 일관성, 최소한의 데이터 중복, 최소한의 데이터 유연성을 위한 방법 정규화된 모델은 테이블이 분해됨. 테이블이 분해되면 직원 테이블과 부서 테이블 간에 부서코드로 조인(join)을 수행하며 하나의 합집합으로 만들 수 있음 정규화를 하면 중복 데이터가 제거됨(불필요한 데이터를 입력하지 않아도 되기 때문) [정규화의 특징] 조인으로 인하여 성능이 저하되는 문제를 반정규화로 해결 가능 반정규화는 데이터를 중복시키기 때문에 또 다른 문제점을 발생시킴 따라서 정규화와 반정규화는 trade-off 관계에 있다고 볼 수 있음(반정규화는 데이터중복 허용해서 join 줄임)' [반정규화] 데이터베이스의 성능 향상을 위하여, 데이터 중복을 허용하고 조인을 줄이는 데이터베이스 성능 향상 방법 [반정규화의..

Certificate/SQL 2023.11.01

[sql] 데이터 독립성 요소 - 스키마(schema)의 분류

데이터베이스 스키마 구조는 세 단계로 구성된다. (1) 외부 스키마 : view 단계 여러개의 사용자 관점으로 구성되는 , 개인적 DB 스키마 [keyword: 사용자 관점] (2) 개념 스키마 : 모든 사용자 관점을 통합한 조직 전체의 DB를 기술하는 것 [keyword: 통합관점] (3) 내부 스키마 : 데이터의 실질적 저장, 물리적 단계에서 데이터가 실제적으로 저장되는 방법 표현 [keyword : 물리적 저장 구조]

Certificate/SQL 2023.10.31

[sql] 식별자(Identifiers)에 관하여(식별자의 의미, 특징, 분류)

[식별자의 의미] 식별자 : 식별자(Identifiers)는 엔터티 내에서 인스턴스들을 구분할 수 있는 구분자이다. 하나의 엔터티에 구성되어 있는 여러 개의 속성 중에 엔터티를 대표할 수 있는 속성을 의미함. 하나의 엔터티는 반드시 하나의 식별자를 가지고 있어야 한다. [식별자의 특징] : 주식별자의 경우 다음의 네 가지 특징을 만족시켜야 함. - 유일성: 주식별자에 의해 엔터티내에 모든 인스턴스들을 유일하게 구분함. - 최소성: 주식별자를 구성하는 속성의 수는 유일성을 만족하는 최소의 수가 되어야 함 - 불변성: 주식별자가 한 번 특정 엔터티에 지정되면 그 식별자의 값은 변하지 않아야 함 - 존재성: 주식별자가 지정되면 반드시 데이터 값이 존재(Null이면 안됨) [여러 기준에 따른 식별자의 분류 체계..

Certificate/SQL 2023.10.30

[sql] 관계(Relationship) 에 관하여 (의미, 분류 )

sql에서 관계는, "엔터티와 인스턴스 사이의 논리적인 연관성으로서 존재의 형태로서나 행위로서 서로에게 연관성이 부여된 상태"를 의미한다. 관계의 분류로는 존재에 의한 관계(group과 개인과 같은), 행위에 의한 관계(행위주체와 피행위주체) 가 있다. 관계를 체크할 때에는 다음과 같은 사항을 확인한다. - 두 개의 엔터티 사이에 관심있는 연관규칙이 존재하는가? - 두 개의 엔터티 사이에 정보의 조합이 발생되는가? - 업무기술서, 장표에 관계연결에 대한 규칙이 서술되어 있는가? - 업무기술서, 장표에 관계연결을 가능하게 하는 동사가 있는가?

Certificate/SQL 2023.10.30
반응형