개발자 발전기록

고정 헤더 영역

글 제목

메뉴 레이어

개발자 발전기록

메뉴 리스트

  • 홈
  • 태그
  • 방명록
  • 분류 전체보기 (144)
    • 설치메뉴얼 (3)
    • Java (71)
    • MySQL (0)
    • Spring boot (28)
    • Final Project (11)
    • HTML, CSS (2)
    • JPA (3)
    • JS (0)
    • Git (0)
    • Flutter (1)
    • error note (0)
    • My Project (0)
    • 소개 (0)
    • SQLD (16)
    • W3School Practice (8)

검색 레이어

개발자 발전기록

검색 영역

컨텐츠 검색

SQLD

  • SQLD - 정규화와 성능

    2024.08.08 by endless123

  • SQLD - 정규화

    2024.08.08 by endless123

  • SQLD - 엔터티 식별자(Entity Identifier)

    2024.08.06 by endless123

  • SQLD - 관계(Relationship) + 관계차수(Relationship Cardinality)

    2024.08.06 by endless123

  • SQLD - 속성(Attribut)

    2024.08.06 by endless123

  • SQLD - 엔터티(Entity)

    2024.08.06 by endless123

  • SQLD - 3층 스키마

    2024.08.05 by endless123

  • SQLD - 데이터 모델링

    2024.08.05 by endless123

SQLD - 정규화와 성능

정규화의 문제점정규화는 데이터 조회(SELECT) 시에 조인(Join)을 유발하기 때문에 CPU와 메모리를 많이 사용한다 ▶중첩된 루프(Nested Loop)결과적으로 이중으로 for문을 사용해서 비교하는 기능을 만들어야 조인을 할 수 있다.이러한 구조는 데이터양이 증가하면 비교해야 하는 건수도 증가한다.물론 실제로 위와 같은 비효율이 발생하지는 않는다. 이러한 문제를 해결하기 위해서 인덱스와 옵티마이저(Optimizer)가 있는 것이다.결론적으로 조인이 부하를 유발하는 것은 분명하다.정규화의 문제점을 해결하기 위해서 반정규화를 하여 하나의 테이블에 저장한다면 조인을 통한 성능 저하는 해결될 것이다.이런 성능 저하를 해결하기 위해 반정규화가 있는 것이다. 정규화를 사용한 성능 튜닝 조인으로 인하여 성능이..

SQLD 2024. 8. 8. 19:20

SQLD - 정규화

정규화 정규화는 데이터의 일관성, 최소한의 데이터 중복, 최대한의 데이터 유연성을 위한 방법이며 데이터를 분해하는 과정이다.정규화는 데이터 중복을 제거하고 데이터 모델의 독립성을 확보하기 위한 방법이다.정규화는 테이블을 분해해서 데이터 중복을 제거하기 때문에 데이터 모델의 유연성을 높인다.정규화를 수행하면 비즈니스에 변화가 발생하여도 데이터 모델의 변경을 최소화할 수 있다.정규화는 제1정규화부터 제5정규화까지 있지만, 실질적으로는 제3정규화까지만 수행한다.정규화 절차정규화 절차설명제1정규화- 속성(Attribute)의 원자성을 확보한다.- 기본키(Primary)를 설정한다.제2정규화기본키가 2개 이상의 속성으로 이루어진 경우, 부분 함수 종속성을 제거(분해)한다.제3정규화- 기본키를 제외한 칼럼 간에 종..

SQLD 2024. 8. 8. 19:00

SQLD - 엔터티 식별자(Entity Identifier)

엔터티 식별자(Entity Identifier) 식별자라는 것은 엔터티를 대표할 수 있는 유일성을 만족하는 속성이다. 일반적으로 회원ID, 계좌번호, 주민등록번호, 외국인등록번호, 여권번호 등이 있다.1. 주식별자(기본키, Primary key)최소성 : 주식별자는 최소성을 만족하는키대표성 : 주식별자는 엔터티를 대표할 수 있어야 한다.유일성 : 주식별자는 엔터티의 인스턴스를 유일하게 식별한다.불변성 : 주식별자는 자주 변경되지 않아야 한다.존재성 : 주식별자는 항상 데이터 값이 있어야 한다. 키의 종류데이터베이스 키설명기본키(Primary key)후보키 중에서 엔터티를 대표할 수 있는 키후보키(Candidate key)후보키는 유일성과 최소성을 만족하는 키슈퍼키(Super key)슈퍼키는 유일성은 만족..

SQLD 2024. 8. 6. 19:23

SQLD - 관계(Relationship) + 관계차수(Relationship Cardinality)

관계(Relationship)엔터티 간의 관련성을 의미하며 존재 관계와 행위 관계로 분류존재 관계는 두 개의 엔터티가 존재 여부의 관계가 있는 것이고, 행위 관계는 두 개의 엔터티가 어떤 행위에 의한 관련성이 있는 것관계의 종류(1) 존재 관계존재 관계는 엔터티 간의 상태를 의미한다. 예를 들어 고객이 은행에 회원가입을 하면, 관리점이 할당되고, 그 할당된 관리점에서 고객을 관리한다.(2) 행위 관계행위 관계는 엔터티 간에 어떤 행위가 있는 것으로, 계좌를 사용해서 주문을 발주하는 관계가 만들어진다.ex) 증권회사는 계좌를 개설하고 주문을 발주하는 것 관계차수(Relationship Cardinality) 관계 차수는 두 개의 엔터티 간에 관계에 참여하는 수를 의미ex) 한 명의 고객은 여러 개의 계좌를..

SQLD 2024. 8. 6. 18:51

SQLD - 속성(Attribut)

속성(Attribute)업무에서 필요한 정보인 엔터티가 가지는 항목더 이상 분리되지 않는 단위로, 업무에 필요한 데이터를 저장할 수 있다.인스턴스와 구성요소이고 의미적으로 더 이상 분해되지 않는다.속성의 특징속성은 업무에서 관리되는 정보속성은 일반적으로 하나의 값만 가진다.주식별자에게 함수적으로 종속된다. 즉, 기본키가 변경되면 속성의 값도 변경된다는 것이다.  ※ 속성의 종류  - 분해 여부에 따른 속성의 종류단일 속성복합 속성다중값 속성단일 속성하나의 의미로 구성된 것으로 회원ID, 이름 등이다.복합 속성여러 개의 의미가 있는 것으로 대표적으로 주소가 있다.주소는 시ㅡ군ㅡ동 등으로 분해가능다중값 속성속성에 여러 개의 값을 가질 수 있는 것으로 예를 들어 상품 리스트가 있다.다중값 속성은 엔터티로 분해..

SQLD 2024. 8. 6. 18:00

SQLD - 엔터티(Entity)

엔터티(Entity)엔터티는 업무에서 관리해야 하는 데이터 집합을 의미함저장되고 관리되어야 하는 데이터개념, 사건, 장소 등의 명사 엔터티의 의미 4가지Peter Chen(1976) - 엔터티는 변별할 수 있는 사물James Martin(1989) - 정보를 저장할 수 있는 어떤 것CJ Data(1986) - 데이터베이스 내부에서 변별 가능한 객체Thomas Bruce(1992) 정보가 저장될 수 있는 장소, 사람, 사건, 개념, 물건 들이다. 엔터티의 특징식별자 - 엔터티는 유일한 식별자가 있어야 한다. 인스턴스 집합 - 2개 이상의 인스턴스가 있어야 한다.속성 - 엔터티는 반드시 속성을 가지고 있다.관계 - 엔터티는 다른 엔터티와 최소한 한 개 이상 관계가 있어야 한다.업무 - 엔터티는 업무에서 관리..

SQLD 2024. 8. 6. 17:43

SQLD - 3층 스키마

3층 스키마사용자, 설계자, 개발자가 데이터베이스를 보는 관점에 따라 데이터베이스를 기술하고 관계를 정의한 ANSI표준3층 스키마는 데이터베이스의 독립성을 확보하기 위한 방법데이터의 독립성을 확보하면 데이터 복잡도 감소, 데이터 중복 제거, 사용자 요구사항 변경에 따른 대응력 향상, 관리 및 유지보수 비용 절감 등의 장점을 갖는다.3단계 계층으로 분리해서 독립성을 확보하는 방법으로 각 계층을 뷰(View)라고도 한다.ANSI (American National Standards Institute) 미국표준협회ANSI 표준은 데이터베이스와 관련된 표준을 정의한 것으로 ANSI SQL, 표준이라는 것이 있다. ANSI SLQ 표준은 SQL문이 모든 데이터베이스 관리 시스템(ex - Oracle, Sybase,..

SQLD 2024. 8. 5. 19:06

SQLD - 데이터 모델링

데이터 모델링  데이터 모델링의 특징추상화 - 공통적인 특징을 가지고 간략하게 표현 단순화 - 복잡한 문제를 피하고 누구나 이해할 수 있게 표현 명확성 - 의미적 해석이 모호하지 않고 명확하게 해석 데이터 모델링 단계개념적 모델링(Conceptual Data Modeling)논리적 모델링(Logical Data Modeling)물리적 모델링(Physical Modeling)  개념적 모델링전사적 관점에서 모델링추상화 수준이 가장 높은 수준의 모델링계층형 데이터 모델, 네트워크 모델, 관계형 모델에 관계없이 업무측면에서 모델링논리적 모델링특정 데이터베이스 모델에 종속식별자를 정의하고 관계, 속성 등을 모두 표현한다.정규화를 통해서 재사용성을 높임물리적 모델링구축할 데이터베이스 관리 시스템에 테이블, 인덱스..

SQLD 2024. 8. 5. 18:49

추가 정보

인기글

최신글

페이징

이전
1 2
다음
TISTORY
개발자 발전기록 © Magazine Lab
페이스북 트위터 인스타그램 유투브 메일

티스토리툴바