분류 전체보기
-
반정규화SQL 2020. 3. 2. 01:24
반정규화란? - 정규화된 엔티티, 속성, 관계에 대해 시스템의 성능향상과 개발, 운영의 단순화를 위해 중복, 통합, 분리 등을 수행하는 데이터 모델링 기법 협의의 반정규화란? 데이터를 중복하여 성능을 향상시키기 위한 기법 넓은 의미의 반정규화란? 데이터를 중복하여 성능을 향상시키기 위한 기법 언제 사용? 1. 정규화만을 수행하여 엔터티의 개수가 증가하고 관계가 많아져 일부 여러 개의 조인이 걸려야만 데이터를 가져오는 경우 2. 정규화의 함수적 종속관계는 위반하지 않지만 데이터의 중복성을 증가시켜야만 데이터 조회의 성능을 향상시키는 경우 사용하는 이유? 데이터 무결성이 깨질 수 있는 위험을 무릅쓰고 데이터를 중복하여 반정규화를 적용하는 이유는 데이터를 조회할 때 디스크 I/O양이 많아서 성능이 저하되거나 ..
-
데이터 모델의 성능(성능 데이터 모델링, 정규화, 반정규화)SQLD (자격증)/1-2. 데이터 모델의 성능 2020. 3. 2. 01:07
성능 데이터 모델링의 정의 설계단계의 데이터 모델링 때 부터 정규화, 반정규화, 테이블통합, 테이블분할, 조인구조, PK, FK 등 여러 가지 성능과 관련된 사항이 데이터 모델링에 반영될 수 있도록 하는 것으로 정의할 수 있다. * 일반적인 성능이라고 하면 데이터 조회의 성능을 의미하곤 한다. 성능이 저하되는 세가지 경우 1. 데이터 모델 구조에 의해 2. 데이터가 대용량이 됨으로 인해 3. 인덱스의 특성을 충분히 고려하지 않고 인덱스를 생성함으로 인해 성능 데이터 모델링 수행시점 - 분석 / 설계 단계에서 데이터 모델에 성능을 고려한 데이터 모델링을 수행할 경우 성능저하에 따른 재업무(Rework) 비용을 최소화 할 수 있음 * 데이터의 증가가 빠를수록 성능저하에 따른 성능개선비용은 기하급수적으로 증가..
-
데이터 모델의 이해 2SQLD (자격증)/1-1. 데이터 모델링의 이해 2020. 3. 1. 05:18
데이터 모델링의 중요한 세가지 개념 1. 업무가 관여하는 어떤 것(Things) - 사물이나 사건 등을 바라 볼 때 전체를 지칭하는 용어 => 엔터티(Entity) 2. 어떤 것이 가지는 성격(Attributes) - 어떤 것이 가지는 세부적인 사항 => 속성 (Attributes) 3. 업무가 관여하는 어떤 것 간의 관계(Relationships) - 각각의 어떤 것과 다른 어떤 것과의 연관성 => 관계(Relationships) 단수와 집합(복수)의 명명 데이터 모델링의 이해관계자 데이터 모델의 표기법인 ERD의 이해 1. 데이터 모델 표기법 2. ERD 작업 순서 * 참고 1) 중요한 Entity일 수록 눈이 먼저가는 왼쪽 하단부에 배치 2) 중복되는 관계가 발생되지 않도록 하고 Circle 관계도..
-
스키마 (Schema)SQLD (자격증)/스키마 2020. 3. 1. 03:33
스키마 (Schema) 1. 스키마는 데이터 구조와 제약 조건에 관한 전반적인 명세를 기술한 메타데이터의 집합 2. 스키마는 데이터베이스를 구성하는 데이터 개체(Entity), 속성(Attribute), 관계(Relationship) 및 데이터 조작 시 데이터 값들이 갖는 제약 조건 등에 관해 전반적으로 정의 3. 스키마는 사용자의 관점에 따라 외부 스키마, 개념 스키마, 내부 스키마로 나눠짐 스키마의 특징 1. 스키마는 데이터 사전(Data Dictionary)에 저장되며, 다른 이름으로 메타 데이터라고도 한다. 2. 스키마는 현실 세계의 특정한 한 부분의 표현으로서 특정 데이터 모델을 이용해서 만들어진다. 3. 스키마는 시간에 따라 불변인 특성을 갖는다. 4. 스키마는 데이터의 구조적 특성을 의미하며..
-
데이터 모델의 이해SQLD (자격증)/1-1. 데이터 모델링의 이해 2020. 2. 29. 23:49
1. 모델링의 이해 모델링의 정의 - 복잡한 현실세계를 일정한 표기법에 의해 표현하는 일 모델링의 특징 1. 추상화(모형화, 가설적) - 현실세계를 일정한 형식에 맞추어 표현을 한다는 의미 - 즉, 다양한 현상을 일정한 양식인 표기법에 의해 표현 2. 단순화 - 복잡한 현실 -> (약속된 규약, 제한된 표기법, 언어로 표현) -> 쉽게 이해할 수 있게 3. 명확화 - 대상에 대한 애매모호함 제거, 정확하게 현상을 기술하는 것 => 모델링은 '현실세계를 추상화, 단순화, 명확화하기 위해 일정한 표기법에 의해 표현하는 기법' 정보시스템 구축에서 모델링의 세 가지 관점 1. 데이터 관점(what, data) - 업무가 어떤 데이터와 관련이 있는지 - 데이터간의 관계는 무엇인지 2. 프로세스 관점(how, pr..
-
비교 연산자 ( ComparisonOperator )초급 JAVA/b_operator 2020. 2. 29. 20:37
비교 연산자 : 크다 = : 크거나 같다 == : 같다. != : 같지 않다. 비교 연산자 수행시 주의할 점 float와 double형 비교 10.1f == 10.1 은 true 가 아닌 false가 출력됌 ==> double형을 float형으로 형 변환해야 정확하게 비교할 수 있다. 10.1f == (float) 10.1; String형 비교 boolean b = "abc" == "abc"; // 같은 스트링 리터럴은 같은 주소를 갖는다. - 참조형 탕비은 저장된 메모리 주소를 비교하기 때문에 String은 등가비교 연산자로 내용을 비교할 수 없다. String의 내용을 비교하기 위해서는 equals() 메소드를 사용한다. b = "abc".equals("abc");
-
산술연산자 (ArithmeticOperator)초급 JAVA/b_operator 2020. 2. 29. 20:12
산술연산자 + : 더하기 - : 빼기 * : 곱하기 / : 나누기 % : 나머지 int a = 10 + 20 - 10 * 5 / 10 % 2; * 이항 연산자는 양쪽의 피연산자의 타입이 일치해야 연산 가능 * *, /, % 연산자가 +, - 보다 연산의 우선순위가 높음 * 우선 순위가 동일할 경우 왼쪽부터 연산 수행 double d = 10 + 20.3; - 피연산자의 타입이 서로 다를 경우 표현범위가 큰 쪽으로 형 변환 후 연산 수행 따라서, 연산의 결과도 표현범위가 큰 쪽의 타입이 됌 byte b = 10; short c = 20; a = b + c ; - 4byte 보다 작은 정수 타입은 4byte(int)로 형변환 후 연산 수행 복합연산자 - 산술 연산자와 대입 연산자를 합해 연산식을 줄여 표현한..