반응형

으쌰으쌰💪/SQL 18

SQL 기본 - DDL (Data Definition Language)

주요 데이터 유형(타입) 정리 CHAR(L) - 고정 길이 문자열. 고정 길이를 가지고 있으므로 할당된 변수의 값이 L값보다 작을 경우 그 차이만큼 공백으로 채워진다. VARCHAR2(L) - 가변 길이 문자열. L만큼의 최대 길이를 가진다. L값보다 작을 경우 해당 값만큼만 공간을 차지한다. NUMBER(L, D) - 정수, 실수를 저장한다. L값은 전체 자릿수, D값은 소수점 자릿수를 나타낸다. L : 전체 자릿수는 숫자의 총 자릿수를 나타낸다. 이는 정수 부분과 소수점 이하 부분을 모두 포함한 숫자의 총 길이를 말한다. D : 소수점 이하 자릿수는 소수점 다음에 몇 개의 숫자가 올 수 있는지를 나타낸다. 예를 들어 NUMBER(5, 2) 는 총 5자리를 가지는 숫자를 의미한다. 여기서 소수점을 제외..

SQL기본 - 관계형 데이터베이스 개요

데이터베이스 1. 넓은 의미에서의 데이터베이스는 일상적인 정보들을 모아 놓은 것 자체를 의미한다. 2. 일반적으로 데이터베이스라고 말할 때는 특정 기업이나 조직 또는 개인이 필요에 의해 (예: 부가가치가 발생하는) 데이터를 일정한 형태로 저장해 놓은 것을 의미한다. 3. 사용자들은 보다 효율적인 데이터의 관리 뿐만 아니라 예기치 못 한 사건으로 인한 데이터의 손상을 피하고, 필요시 필요한 데이터를 복구하기 위한 강력한 기능의 소프트웨어를 필요로 하게 되었고, 이러한 기본적인 요구사항을 만족시켜주는 시스템을 DBMS(Database Management System)라고 한다. 관계형 데이터베이스 (Relational Database) 1. 관계형 데이터베이스는 정규화를 통한 합리적인 테이블 모델링을 통해 ..

데이터 모델과 성능 - 연습문제 오답노트

총 6문제 중 4문제를 맞혔다. 2번. 데이터 모델에서 [학번, 과목번호]가 결정자이면서 PK이고 [지도교수, 학과명]이 과목번호에만 함수 종속성을 가진다면, 몇 차 정규형에 속하고 몇 차 정규화 대상인가? 1. 1차 정규형 - 2차 정규화 대상 2. 2차 정규형 - 3차 정규화 대상 3. 3차 정규형 - 4차 정규화 대상 4. 정규화 대상 아님 => 부분함수 종속이 발생했다는 건 알았는데 그게 몇 차 정규형을 위반한 건지 헷갈렸다,, 부분함수 종속은 2차 정규화 대상! 답은 1번 4번. 슈퍼/서브타입 모델에서 설계단계에서 변환할 수 있는 테이블의 형태가 아닌 것은? 1. 전체가 하나의 테이블인 부동산관계자로 통합하는 All in One 타입 2. 슈퍼타입(부동산관계자)과 서브타입(부동산전세자, 부동산소..

데이터 모델과 성능 - 분산 데이터베이스와 성능

분산 데이터베이스 개요 1. 여러 곳으로 분산되어 있는 데이터베이스를 하나의 가상 시스템으로 사용할 수 있도록 한 데이터베이스 2. 논리적으로 동일한 시스템에 속하지만, 컴퓨터 네트워크를 통해 물리적으로 분산되어 있는 데이터들의 모임. 물리적 Site 분산, 논리적으로 사용자 통합 및 공유 분산 데이터베이스의 투명성 (Transparency) 분할 투명성 (단편화) - 하나의 논리적 Relation이 여러 단편으로 분할되어 각 단편의 사본이 여러 site에 저장 위치 투명성 - 사용하려는 데이터의 저장 장소 명시 불필요. 위치 정보가 System Catalog에 유지되어야 함. 지역 사상 투명성 - 지역 DBMS와 물리적 DB 사이의 Mapping 보장. 각 지역 세스템 이름과 무관한 이름 사용 가능. ..

데이터 모델과 성능 - 데이터베이스 구조와 성능

슈퍼타입 / 서브타입 모델 1. 업무를 구성하는 데이터의 특징을 분석하여 공통점/차이점을 고려하여 효과적으로 표현할 수 있음 2. 공통의 부분을 슈퍼타입 엔티티로 모델링하고 공통으로 부터 상속받아 다른 엔티티와 차이가 있는 속성에 대해서는 별도의 서브타입 엔티티로 구분 3. 업무의 모습을 정확하게 표현하면서 물리적인 데이터 모델로 변환을 할 때 선택의 폭을 넓힐 수 있는 장점이 있다. 슈퍼/서브 타입 모델의 물리데이터 모델은 데이터의 양과 트랜잭션의 유형을 기준으로 슈퍼타입, 서브타입, 개별타입으로 변환된다. 슈퍼타입 / 서브타입 모델 변환 방법 슈퍼타입 기준 (Single 타입, All in One 타입) - 슈퍼/서브타입 모델을 하나의 테이블로 변환한 것이다. (예: 고객 테이블을 하나로만 구성) -..

데이터 모델과 성능 - 대량 데이터에 따른 성능

대량 데이터 발생에 따른 테이블 분할 개요 - 대량의 데이터가 존재하는 테이블에 많은 트랜잭션이 발생하여 성능이 저하되는 테이블 구조에 대해 수평/수직 분할 설계를 통해 성능 저하를 예방할 수 있다. 수직분할 - 칼럼(column, 열) 단위로 분할하여 I/O를 감소시킴 수평분할 - 로우(row, 행) 단위로 분할하여 I/O를 감소시킴 테이블의 데이터는 Block단위로 디스크에 저장된다. - 칼럼이 많아지게 되면 하나의 로우를 저장 시 물리적인 디스크에 여러 블록에 데이터가 저장될 가능성이 높아진다. 즉, 하나의 행을 읽더라도 여러 개의 블록을 읽어야 한다. => 해당 SQL문의 Blcok I/O량의 증가 대용량 테이블에서 발생할 수 있는 현상 - 로우 체이닝 (Row Chaining) 로우의 길이가 너..

데이터 모델과 성능 - 반정규화와 성능

반정규화의 정의 1. 정규화된 엔티티, 속성, 관계에 대해 시스템의 성능향상과 개발(Development)과 운영(Maintenance)의 단순화를 위해 중복, 통합, 분리 등을 수행하는 데이터 모델링 기법을 의미한다. 2. 협의의 반정규화는 데이터를 중복하여 성능을 향상시키기 위한 기법이라고 정의할 수 있고, 좀 더 넓은 의미의 반정규화는 성능을 향상시키기 위해 정규화된 데이터 모델에서 중복, 통합, 분리 등을 수행하는 모든 과정을 의미한다. 3. 데이터 무결성이 깨질 수 있는 위험을 무릅쓰고 데이터를 중복하여 반정규화를 적용하는 이유는 데이터를 조회할 때 디스크 I/O량이 많아서 성능이 저하되거나 경로가 너무 멀어 조인으로 인한 성능저하가 예상될때, 또는 칼럼을 계산하여 읽을 때 성능이 저하될 것이 ..

데이터 모델과 성능 - 정규화와 성능

정규화를 통한 성능 향상 전략 1. 정규화를 수행한다는 것은 데이터를 결정하는 결정자에 의해 함수적 종속을 가지고 있는 일반 속성을 의존자로 하여 입력/수정/삭제 이상현상을 제거하는 것이다. 2. 데이터의 중복 속성을 제거하고 결정자에 의해 동일한 의미의 일반 속성이 하나의 테이블로 집약되므로 한 테이블의 데이터 용량이 최소화되는 효과가 있다. 3. 정규화된 테이블은 데이터를 처리할 때 속도가 빨라질 수도 있고 느려질 수도 있는 특성이 있다. - 정규화된 데이터 모델은 조회시에는 처리 조건에 따라 성능이 향상 혹은 저하된다. - 정규화된 데이터 모델은 입력/수정/삭제 시 무조건 성능이 향상된다. 결정자 결정자의 예로 "고객" 엔티티의 "고객번호"를 들 수 있다. 고객번호는 고객의 이름을 결정하고, 고객의..

데이터 모델과 성능 - 성능 데이터 모델링 개요

성능 데이터 모델링의 정의 성능 데이터 모델링이란 데이터베이스 성능향상을 목적으로 설계단계의 데이터 모델링 때부터 정규화, 반정규화, 테이블통합, 테이블분할, 조인구조, PK, FK 등 여러 가지 성능과 관련된 사항이 데이터 모델링에 반영될 수 있도록 하는 것으로 정의할 수 있다. 성능 데이터 모델링 수행 시점 1. 성능 향상을 위한 비용은 프로젝트 수행 중에 있어서 사전에 할 수록 비용이 들지 않는다. 2. 분석/설계 단계에서 데이터 모델의 성능을 고려한 데이터 모델링을 수행할 경우, 성능 저하에 따른 재업무(rework) 비용을 최소화 할 수 있는 기회를 가지게 된다. 3. 분석/설계 단계에서 데이터베이스 처리 성능을 향상시킬 수 있는 방법을 주도면밀하게 고려해야 한다. 성능 데이터 모델링 고려사항 ..

데이터 모델링 - 연습문제 오답노트

총 10개의 연습문제를 풀었는데 8개를 맞혔다. 4번. 이 속성이 없어도 다른 속성을 이용하여 결과를 도출할 수 있는 특징을 가진 속성의 이름은? 1. 설계 속성 (Designed Attribute) 2. 파생 속성 (Derived Attribute) 3. 기본 속성 (Basic Attribute) 4. 관계 속성 (Associative Attribute) => 다른 엔티티와의 관계에서 포함된 FK를 생각하고 4번을 골랐는데 관계 속성은 없는 말이었다. 답은 2번 파생 속성이다. 기본속성: 업무 분석을 통해 바로 정의한 속성 설계속성: 원래 업무상 존재하지는 않지만 설계를 하면서 도출해 내는 속성 파생속성: 다른 속성으로부터 계산이나 변형이 되어 생성되는 속성. -> 다른 속성으로부터 파생되는 속성. 9..

반응형