전체 글

전체 글

    [SQLD] 논리적 데이터 모델링에 대한 설명 및 예시

    SQLD의 논리적 데이터 모델링은 개념적 모델링을 기반으로 실제 데이터베이스 시스템에서 사용되는 데이터 구조를 정의하는 단계입니다. 아래 예시를 통해 논리적 데이터 모델링을 자세히 설명하겠습니다. 예시: 온라인 서점 주문 관리 시스템 1. 개념적 모델링 결과: - 개념적 모델링을 통해 "고객(Customer)", "주문(Order)", "상품(Product)"이라는 개체(Entity)와 그들 간의 관계(Relationship)를 식별했습니다. - 예를 들어, "고객(Customer)"은 여러 개의 "주문(Order)"을 가질 수 있으며, 각 주문은 여러 개의 "상품(Product)"으로 구성될 수 있습니다. 2. 개체(Entity)를 테이블(Table)로 변환: - 논리적 데이터 모델링에서는 개체(Ent..

    [SQLD] 개념적 데이터 모델링에 대한 설명 및 예시

    SQLD의 개념적 데이터 모델링은 업무 요구사항과 개체(Entity)들 간의 관계를 표현하는 단계로, 데이터베이스 설계의 중요한 단계입니다. 아래 예시를 통해 개념적 데이터 모델링을 자세히 설명하겠습니다. 예시: 학사 관리 시스템 1. 요구사항 분석: - 학사 관리 시스템의 요구사항을 분석합니다. - 요구사항으로는 학생(Student), 과목(Subject), 교수(Professor) 간의 관계, 수강(Enrollment) 정보 등이 있습니다. 2. 개체(Entity) 식별: - 분석 결과를 바탕으로 개체를 식별합니다. - 예를 들어, "학생(Student)", "과목(Subject)", "교수(Professor)" 등의 개체를 식별할 수 있습니다. 3. 개체 간 관계(Relationship) 식별: -..

    [SQLD] ER(Entity-Relationship) 모델링 예시 및 설명

    ER(Entity-Relationship) 모델링은 데이터 모델링의 개념적 단계에서 사용되는 방법으로, 업무 요구사항을 개체(Entity)와 개체 간의 관계(Relationship)로 표현하는 기법입니다. 아래 예시를 통해 ER 모델링을 자세하게 설명해드리겠습니다. 예시: 은행 계좌 관리 시스템 1. 요구사항 분석: - 은행 계좌 관리 시스템의 요구사항을 분석합니다. - 요구사항으로는 고객(Customer)과 계좌(Account) 간의 관계, 계좌의 입출금(Transaction) 내역 등이 있습니다. 2. 개체(Entity) 식별: - 분석 결과를 바탕으로 개체를 식별합니다. - 예를 들어, "고객(Customer)", "계좌(Account)", "입출금(Transaction)" 등의 개체를 식별할 수 ..

    [SQLD] 데이터 모델링의 대해

    SQLD 데이터 모델링은 데이터베이스 설계의 핵심 단계 중 하나로, 데이터의 구조와 관계를 정의하는 과정입니다. 데이터 모델링은 개념적, 논리적, 물리적 모델링 단계로 나뉘며, 이를 통해 데이터베이스 시스템을 구축하고 유지보수합니다. 1. 개념적 데이터 모델링: - 개념적 데이터 모델링은 업무 요구사항과 개체(Entity)들 간의 관계를 표현하는 과정입니다. - 대표적인 개념적 데이터 모델링 방법은 ER(Entity-Relationship) 모델입니다. - ER 다이어그램을 사용하여 업무 개념을 시각적으로 표현하고, 개체 간의 관계와 속성을 정의합니다. - 예를 들어, "고객(Customer)"과 "주문(Order)"이라는 개체가 있다면, 이들 사이의 관계를 정의하고 속성을 식별합니다. 2. 논리적 데이..

    [SQLD] SQLD에 대한 개념과 설명

    SQLD는 "SQL 데이터베이스 설계"를 의미하며, 데이터베이스 시스템을 구축하기 위해 데이터 모델링, 테이블 설계, 관계 정의 등을 수행하는 과정입니다. 아래는 SQLD의 단계적 설명입니다. 1. 요구사항 분석: - 데이터베이스를 구축하기 위한 요구사항을 수집하고 분석합니다. - 사용자 요구사항, 업무 프로세스, 데이터 흐름 등을 이해하고 문서화합니다. - 요구사항 분석을 통해 필요한 데이터 및 업무 규칙을 도출합니다. 2. 개념적 설계: - 개념적 설계는 데이터 모델링의 첫 번째 단계로, 개념적 데이터 모델을 만드는 과정입니다. - 업무 요구사항과 관련된 개념을 식별하고, 개체(Entity)와 개체 간의 관계(relationship)를 표현하는 ER(Entity-Relationship) 다이어그램을 ..

    [MYSQL] 전체 텍스트 검색 방법

    MySQL에서 전체 텍스트 검색을 수행하는 방법은 여러 가지가 있지만, 가장 일반적으로 사용되는 방법은 `FULLTEXT` 인덱스를 활용하는 것입니다. `FULLTEXT` 인덱스를 생성하면 전체 텍스트 검색에 대한 성능을 향상시킬 수 있습니다. 아래 예시는 `products` 테이블에 있는 `description` 열을 기반으로 전체 텍스트 검색을 수행하는 방법을 보여줍니다. `description` 열은 제품에 대한 설명을 포함하는 열로 가정합니다. 먼저, `description` 열에 `FULLTEXT` 인덱스를 생성해야 합니다. 이를 위해 다음과 같은 SQL 문을 사용할 수 있습니다: ALTER TABLE products ADD FULLTEXT(description); 이제 `FULLTEXT` 인덱..

    [AWS] Athena 엔진 버전 2에서 엔진 버전 3로 갈때 문제점

    AWS Athena 엔진 버전 2에서 Athena 엔진 버전 3으로 변경될 때 몇 가지 이슈가 발생할 수 있습니다. 다음은 일반적으로 발생할 수 있는 몇 가지 이슈입니다: 1. 쿼리 실행 계획 변경: Athena 엔진 버전 3은 업데이트된 실행 계획 최적화 엔진을 사용합니다. 이로 인해 쿼리 실행 계획이 이전 버전과 다를 수 있으며, 일부 쿼리의 실행 속도 및 성능이 영향을 받을 수 있습니다. 2. 쿼리의 구문 변경: Athena 엔진 버전 3은 SQL 호환성 및 기능 측면에서 몇 가지 변경 사항을 가지고 있을 수 있습니다. 따라서 몇몇 쿼리는 구문 에러를 발생시킬 수 있으며, 수정이 필요할 수도 있습니다. 3. 데이터 유형 호환성: Athena 엔진 버전 3은 데이터 유형 처리 방식에서 일부 변경 사항..

    [MYSQL] 트리거 사용 방법

    MySQL에서 트리거(Trigger)는 데이터베이스의 특정 이벤트가 발생할 때 자동으로 실행되는 작업을 정의하는 객체입니다. 트리거를 사용하면 데이터 변경 작업을 모니터링하고, 필요한 추가 작업을 자동으로 수행할 수 있습니다. 다음은 MySQL 트리거에 대한 자세한 설명과 예시입니다: 1. 트리거의 개념: - 트리거는 데이터베이스의 특정 테이블에 대한 이벤트(INSERT, UPDATE, DELETE 등)가 발생할 때 자동으로 실행되는 작업입니다. - 트리거는 특정 조건을 충족하는 경우에만 실행되며, 데이터 변경 작업을 모니터링하고 추가 작업을 수행할 수 있습니다. 2. 트리거의 종류: - MySQL에서는 세 가지 종류의 트리거를 지원합니다: BEFORE, AFTER, INSTEAD OF 트리거. - BE..

    [MYSQL] 커서 사용 방법

    MySQL에서 커서(Cursor)는 데이터베이스 질의 결과를 순회하고 조작하기 위한 개체입니다. 커서를 사용하면 쿼리 결과 집합을 하나씩 가져와서 처리할 수 있으며, 데이터베이스 로직을 더욱 유연하게 작성할 수 있습니다. 다음은 MySQL 커서에 대한 자세한 설명과 예시입니다: 1. 커서의 개념: - 커서는 결과 집합에 대한 포인터 또는 인덱스로 볼 수 있습니다. 커서를 사용하여 결과 집합을 순회하고 특정 레코드를 선택하고 조작할 수 있습니다. 2. 커서의 사용 단계: - 커서를 사용하는 과정은 다음과 같습니다: 1) 커서를 선언합니다. 2) 커서에 결과 집합을 연결합니다. 3) 커서를 열고 결과 집합을 가져옵니다. 4) 커서를 사용하여 결과 집합을 순회하고 조작합니다. 5) 커서를 닫고 자원을 해제합니..

    [MYSQL] 스토어드 함수 사용 방법

    MySQL 스토어드 함수는 입력 값을 받아 처리하고, 결과를 반환하는 데이터베이스 객체입니다. 스토어드 함수는 SQL 문과 프로그래밍 요소를 결합하여 데이터베이스 작업을 수행하며, 쿼리에서 함수처럼 사용할 수 있습니다. 스토어드 함수를 사용하면 데이터베이스 로직을 캡슐화하고, 코드의 재사용성을 높일 수 있습니다. 다음은 MySQL 스토어드 함수에 대한 자세한 설명과 예시입니다: 1. 스토어드 함수의 구조: - 스토어드 함수는 `CREATE FUNCTION` 문으로 생성됩니다. 함수는 이름, 파라미터, 반환 타입, SQL 문 등으로 구성됩니다. - 함수는 SQL 문을 사용하여 데이터베이스 작업을 수행하고, 결과를 반환합니다. 2. 파라미터와 반환 값: - 스토어드 함수는 입력 파라미터와 반환 값의 타입을 ..