이번에는 WHERE 절, GROUP BY & HAVING 절, 그리고 ORDER BY 절에 대해 알아보겠습니다! 조건을 달고 싶다면, 무조건 WHERE 절!WHERE 절은 SQL 쿼리에서 특정 조건을 만족하는 행(row)을 선택하기 위해 사용됩니다. WHERE 절은 데이터를 필터링하여, 조건에 부합하는 데이터만을 결과로 반환합니다. 또한 다양한 연산자와 함께 사용되어, 보다 세밀한 데이터 검색과 분석을 가능하게 합니다. ✅ 비교 연산자 5가지! 비교 연산자는 두 값의 비교 결과에 따라 참(True) 또는 거짓(False)을 반환합니다. 기본적인 비교 연산자에는 =, >, , >=, 가 있습니다. 예를 들어, age > 18은 'age'가 18보다 클 경우 참을 반환합니다. ✅ 부정 비교 연산자 부정..
이번에는 관계형 데이터베이스(RDB), 그리고 SQL에 기본인 SELECT 문과 몇 가지 함수에 대해 알아보겠습니다! 관계형 데이터베이스란?✅ 데이터베이스는 뭐지? 데이터베이스는 체계화된 데이터의 모음입니다. 각 데이터베이스는 용도와 목적에 맞는 데이터들끼리 모여 저장됩니다.이를 통해 데이터를 쉽게 저장, 검색, 수정, 삭제할 수 있으며, 다양한 사용자와 응용 프로그램이 데이터를 효율적으로 관리하고 액세스할 수 있는 환경을 제공합니다. 데이터베이스 관리 시스템(DBMS)은 이러한 데이터베이스를 생성하고 관리하는 소프트웨어입니다. ✅ 그렇다면 관계형 데이터베이스는? 관계형 데이터베이스(RDB)는 데이터를 2차원의 표(table) 형태로 구조화하여 관리하는 데이터베이스의 한 종류입니다. 각 표는 행(row..
앞선 글에서 나오지 않은 개념이나 헷갈리는 문제들을 정리하고 '데이터 모델과 SQL' 챕터를 마무리하고자 합니다. 정규화 & 반정규화✅ 성능 데이터 모델링이란?성능 데이터 모델링은 데이터베이스 성능을 최적화하는 목적으로 데이터 모델을 설계하는 과정입니다.이 과정에서는 데이터베이스의 응답 시간을 개선하고, 시스템의 처리량을 최대화하기 위해 데이터 구조를 조정합니다.성능 데이터 모델링의 방법으로는 정규화, 반정규화, 테이블 통합, 테이블 분할 등이 있습니다. ✅ 성능 데이터 모델링의 순서는?데이터 모델에 맞게 정규화를 수행합니다.데이터베이스의 용량 및 트랜잭션 유형을 파악하여 성능 저하를 일으키는 부분이 없는지 검토합니다.용량과 트랜잭션 유형에 맞게 반정규화를 수행합니다.성능 향상을 위한 이력모델의 조정, ..
이번에는 데이터 모델을 정규화 및 반정규화하는 방법과, 트랜잭션, NULL에 대해서 알아보겠습니다! 정규화란?정규화는 데이터베이스 설계의 핵심 과정으로, 중복을 최소화하고 데이터의 정합성(데이터의 정확성과 일관성을 유지하고 보장)을 위해 데이터를 구조화하는 방법입니다. 정규화를 통해 데이터를 여러 엔티티로 분리하여, 각 엔티티가 그 목적에 맞게 데이터를 보다 효율적으로 저장하도록 합니다.일반적으로 정규화를 수행하면 데이터 처리 성능이 향상됩니다.이제 정규화의 주요 단계들을 하나씩 살펴보도록 하겠습니다. ✅ 제1정규형제1정규형은 엔티티의 모든 속성이 하나의 속성값(더 이상 분해할 수 없는 값)만을 포함하도록 구조화하는 것입니다. 즉, 각 속성에는 반복되는 그룹이나 배열이 없어야 하며, 각 인스턴스마다 유일..
앞선 글에서는 나오지 않았던 개념이나 헷갈리는 문제들을 토대로 정리하고 '데이터 모델링의 이해' 챕터를 마무리하고자 합니다. 데이터 모델링✅ 데이터 모델링 시 유의점 3가지! 중복: 중복은 데이터의 무결성을 저해하고 저장 공간의 낭비를 초래할 뿐만 아니라, 데이터 갱신 시 일관성 문제를 발생시킬 수 있습니다. 따라서, 데이터 모델링 과정에서는 같은 데이터를 사용하는 사람, 시간, 그리고 장소를 정확히 파악하여 중복성을 최소화해야 합니다. 비유연성: 데이터 모델의 설계는 업무의 변화에 유연하게 대응할 수 있도록 해야 합니다. 비유연한 데이터 모델은 사소한 업무 변화에도 모델을 수시로 변경해야 하며, 이는 유지보수의 어려움을 가중시킵니다. 이를 방지하기 위해, 데이터의 정의를 데이터의 사용 프로세스와 분리..
이번에는 엔티티의 속성, 관계, 식별자 등에 대해 정리해 보겠습니다. 속성(Attibutes)데이터 모델링 과정에서 엔티티를 정의한 후, 그 다음 과정은 각 엔티티의 세부 특성을 나타내는 '속성'을 식별하는 것이라고 볼 수 있습니다.속성은 데이터 모델의 근본적인 구성 요소 중 하나로, 데이터베이스에서 관리되는 데이터의 성격과 특성을 정의합니다. ✅ 속성이란?속성은 데이터베이스 시스템에서 엔티티를 구성하고, 엔티티의 특성을 설명하는, 더 이상 쪼개지지 않는 데이터의 최소 단위입니다.예를 들어, '직원' 엔티티의 경우 '이름', '주소', '전화번호' 등이 이에 해당합니다.각 속성은 엔티티의 구체적인 정보를 나타내며, 이 정보를 통해 엔티티의 인스턴스를 구별할 수 있습니다. ✅ 속성값이란?속성값은 속성에 할..
이번 카테고리에서는 SQLD 자격증의 첫 번째 파트인 '데이터 모델링의 이해'에 초점을 맞추어, 데이터 모델링이 무엇인지, 왜 중요한지에 대해 알아보고자 합니다.추가적으로 SQLD 자격증을 따기 위해 공부한 내용들을 정리하면서 추후에도 살펴볼 수 있도록 하고자 합니다!먼저 데이터 모델에 대한 설명을 정리해보겠습니다. 데이터 모델이란? 데이터 모델링은 복잡한 현실 세계의 정보를 컴퓨터 시스템에서 사용할 수 있도록 체계적으로 조직화, 정의, 관리하는 과정입니다. 이 과정에서 데이터 모델은 비즈니스의 정보 요구 사항을 기술적으로 표현하는 데 필요한 구조입니다. 데이터 모델링의 핵심 요소와 단계를 살펴보겠습니다. ✅ 모델링이 갖춰야 할 조건모델링은 현실 세계의 데이터를 정확하게 반영해야 하며, 데이터 간의 관계..