본문 바로가기

전체 글226

GROUP BY와 ROLL UP ROLL UP은 GROUP BY 절과 함께 사용되는 데이터베이스의 집계(Aggregation) 기능 중 하나로, 계층적인 합계 정보를 생성하는데 사용됩니다. GROUP BY 절은 특정 컬럼의 값을 기준으로 데이터를 그룹화하고, 집계 함수를 사용하여 각 그룹의 합계, 평균, 카운트 등을 계산합니다. ROLL UP은 GROUP BY의 확장된 기능으로, GROUP BY로 생성한 그룹화 결과를 계층적으로 확장하여 다양한 레벨의 합계 정보를 얻을 수 있도록 합니다. ROLL UP을 사용하면, GROUP BY로 생성된 그룹화 결과에 대해 각 레벨별로 합계 정보를 보여줄 수 있습니다. 즉, 여러 컬럼의 그룹화를 한 번에 수행하고, 그룹화된 결과에 대해 여러 레벨의 집계 값을 동시에 확인할 수 있습니다. ROLL UP.. 2023. 7. 26.
NULL 처리 함수 NULLIF 함수 NULLIF 함수는 두 개의 인수를 비교하여 두 값이 같으면 NULL을 반환하고, 다르면 첫 번째 인수의 값을 반환합니다. 주로 두 값이 같을 때 NULL 값을 반환해야 하는 상황에 사용됩니다. 구문: NULLIF(expression1, expression2) 예제: SELECT NULLIF(10, 10) AS result; -- 결과: NULL SELECT NULLIF(20, 10) AS result; -- 결과: 20 SELECT NULLIF('hello', 'hello') AS result; -- 결과: NULL SELECT NULLIF('world', 'hello') AS result; -- 결과: 'world' IFNULL 함수 IFNULL 함수는 첫 번째 인수가 NULL이 아.. 2023. 7. 26.
NULL과 연산 SQL에서 모든 연산이 NULL을 만나면 빈 테이블이 반환되지 않습니다. NULL은 데이터가 없음을 나타내는 특별한 값으로, NULL과 다른 값을 연산하면 결과는 항상 NULL이 됩니다. 하지만 이렇게 연산 결과가 NULL이 된다고 해서 쿼리가 빈 테이블을 반환하는 것은 아닙니다. 실제로 SQL에서 연산 결과가 NULL이더라도, SELECT 문이나 다른 쿼리 구문에서는 NULL 값을 처리하는 방식이 다양합니다. NULL 값을 가진 레코드는 보통 다른 레코드와 함께 결과에 포함되며, NULL 값 처리를 위해 특정 함수나 조건문을 사용할 수 있습니다. 예를 들어, 다음과 같은 테이블이 있다고 가정해봅시다. 테이블: Employees 1 John Doe 50000 2 Jane Smith NULL 3 Mike .. 2023. 7. 26.
피카레스크 / 옴니버스 피카레스크식 구성과 옴니버스식 구성은 두 가지 다른 스토리텔링 방법을 나타내는 용어입니다. 피카레스크식 구성 (Picaresque Narrative) 피카레스크식 구성은 주로 소설이나 영화에 사용되는 문학적 구성 방법으로, 주인공이 여러 모험과 위기를 겪으며 성장하거나 변화하는 모습을 그립니다. 이때 주인공은 종종 불량한 행동을 하며 사회적 기준에서 이탈한 캐릭터로 묘사됩니다. 일반적으로 사회의 비관적인 면모나 기존의 권위적인 가치에 의문을 제기하거나 비판하는 경향이 있습니다. 피카레스크식 구성의 특징 여정과 모험: 주인공은 여러 장소를 돌아다니며 다양한 사건과 만남을 경험합니다. 인간 모습: 주인공은 미덕보다는 결함과 약점이 강조되는 인물로서 현실적인 모습을 보여줍니다. 자아성찰: 주인공은 자신의 행동.. 2023. 7. 26.
달러구트 꿈 백화점 작가 : 이미예 출판사 : 팩토리나인 줄거리 : 우리가 살고있는 현실 세계가 존재하고, 꿈의 세계라는 것이 존재합니다. 꿈의 세계에는 달러구트가 사장인 달러구트 꿈 백화점이 있습니다. 이 소설은 꿈 백화점에서 일하며 일어나는 여러가지 사건들과 꿈이라는 매개체를 통해 연결되는 손님들과의 이야기를 다룹니다. 소감 : 예전에 오랫동안 이 책이 베스트셀러를 유지했던 기억이 있어서 항상 언제 한번 읽어야지 했는데 드디어 읽게 되었습니다. 읽어본 소감으로는 역시 확실히 오랫동안 베스트셀러였던만큼 재밌었습니다. 어떤 부분이 좋았냐면은 일단 소재가 제일 좋았던 것 같습니다. 꿈이라는 일상적인 소재를 작가의 상상력으로 독자적인 세계를 구축하였고 그 세계를 통해 꿈을 표현하는 방식이 좋았습니다. 또한 옴니버스 구성으로 각.. 2023. 7. 26.
서브쿼리의 유형 서브쿼리(Subquery)에는 세 가지 주요 유형이 있습니다. 인라인 뷰(Inline View), 스칼라 서브쿼리(Scalar Subquery), 그리고 연관 서브쿼리(Correlated Subquery)가 있습니다. 인라인 뷰(Inline View) 인라인 뷰는 주 쿼리 내에서 서브쿼리가 사용되는 형태로, 서브쿼리 결과를 뷰(View)처럼 다루는 방식입니다. 주로 FROM 절에서 서브쿼리를 사용하여 데이터를 필터링하거나, 서브쿼리가 생성하는 가상 테이블을 사용하여 복잡한 연산을 수행합니다. 예를 들면, 다음과 같이 사용됩니다: SELECT column1, column2 FROM (SELECT column1, column2 FROM table1 WHERE condition) AS inline_view; .. 2023. 7. 25.
식별관계, 비식별관계 식별 관계와 비식별 관계는 데이터베이스 설계에서 엔티티 간의 관계를 나타내는 데 사용되는 개념입니다. 이 둘은 엔티티 간 관계를 표현하는 방법에 차이가 있습니다. * 관계에서는 다른 테이블의 컬럼을 사용하는데 해당 컬럼을 식별자로 사용하면 식별자 관계이며 사용하지 않으면 비식별자 관계입니다. 식별 관계 (Identifying Relationship) 식별 관계는 부모 엔티티와 자식 엔티티 간의 관계를 말합니다. 자식 엔티티의 주요 식별자(Primary Key)는 부모 엔티티의 식별자를 포함합니다. 즉, 자식 엔티티의 식별자는 부모 엔티티의 식별자에 의해 식별됩니다. 이러한 관계는 보통 일대일(1:1) 또는 일대다(1:N) 관계에서 나타납니다. 식별 관계는 세로선으로 표현됩니다. 비식별 관계 (Non-id.. 2023. 7. 24.
일관성과 무결성 데이터 일관성(Consistency)과 무결성(Integrity)은 데이터베이스에서 중요한 개념들로서, 데이터의 정확성과 신뢰성을 보장하기 위해 사용됩니다. 데이터 일관성과 무결성이 유지되면, 잘못된 데이터가 저장되는 것을 방지하고 데이터의 신뢰성과 정확성을 보장하여 품질 높은 서비스를 제공할 수 있게 됩니다. 데이터 일관성 (Consistency) 데이터 일관성은 데이터베이스의 상태가 항상 일관되고 정확한 상태를 유지하는 것을 의미합니다. 데이터베이스에 저장된 데이터는 언제나 논리적인 규칙과 제약 조건을 따라야 합니다. 예를 들어, 특정 고객의 정보를 한 번만 저장하도록 제약 조건이 설정되어 있다면, 같은 고객의 정보가 중복되어 저장되지 않도록 데이터 일관성을 유지합니다. 데이터 일관성은 트랜잭션(Tr.. 2023. 7. 24.
정규화(Normalization) 정규화(Normalization)는 관계형 데이터베이스에서 데이터를 구조화하는 프로세스로서, 중복을 최소화하고 데이터의 일관성과 무결성을 보장하기 위해 데이터를 여러 개의 테이블로 분할하는 작업을 말합니다. 정규화는 데이터의 논리적 설계 단계에서 주로 이루어지며, 데이터베이스의 성능과 유지보수를 향상시키는 데 도움이 됩니다. 여러 개의 정규화 레벨이 존재하며, 보통 1차 정규화부터 5차 정규화까지 있습니다. 높은 정규화 레벨은 데이터의 중복을 최소화하고 데이터의 일관성을 보장하는 대신, 데이터를 검색하는데 더 많은 조인 작업이 필요할 수 있습니다. 정규화 레벨은 프로젝트의 요구사항과 성능을 고려하여 결정해야 합니다. 1차 정규화 (1NF) 테이블의 모든 속성이 원자값(Atomic Value)을 가지도록 .. 2023. 7. 24.