본문 바로가기

728x90

DBMS

(13)
[PostgreSQL] Query Plan 데이터베이스 엔진은 쿼리를 수행할 때 어떤 방식을 사용하고 어떤 순서로 쿼리를 수행할지에 대한 계획은 세우게 되는데, 이것을 쿼리 실행 계획(Query execution plan) 또는 쿼리 플랜(Query plan)이라고 부른다. Heroku에서 사용하는 PostgreSQL에서 EXPLAIN 이라는 SQL구문을 이용하여 쿼리 플랜을 확인할 수 있다. 그리고, 성능 분석을 할 때는 보통 ANALYZE 문까지 붙여서 실행 시간을 포함한 구체적인 실행 계획을 분석한다. PostgreSQL은 다음 5가지 스캔 방식을 사용한다. Sequential Scan Index Scan Index Only Scan Bitmap Scan TID Scan EXPLAIN ANALYZE SELECT * FROM user WHER..
[SQL 기본] DDL (Data Definition Language) - 2. CREATE TABLE [SQL 기본] DDL (Data Definition Language) 2. CREATE TABLE 가. 테이블과 칼럼 정의 테이블에 존재하는 모든 데이터를 고유하게 식별할 수 있으면서 반드시 값이 존재하는 단일 칼럼이나 칼럼의 조합들(후보키) 중에 하나를 선정하여 기본키 칼럼으로 지정 나. CREATE TABLE 테이블을 생성하는 구문 형식 CREATE TABLE 테이블이름 ( 칼럼명1 DATATYPE [DEFAULT 형식], 칼럼명2 DATATYPE [DEFAULT 형식], 칼럼명3 DATATYPE [DEFAULT 형식]); 테이블 생성 시 주의할 규칙 테이블명은 객체를 의미할 수 있는 적절한 이름을 사용테이블명은 다른 테이블의 이름과 중복되지 않아야 한다.한 테이블 내에서는 칼럼명이 중복되게 지정될..
[SQL 기본] DDL (Data Definition Language) - 1. 데이터 유형 [SQL 기본] DDL (Data Definition Language) 1. 데이터 유형 데이터 유형은 데이터베이스의 테이블에 특정 자료를 입력할 때, 그 자료를 받아들일 공간을 자료의 유형별로 나누는 기준 선언한 유형이 아닌 다른 종류이 데이터가 들어오려고 하면 데이터베이스는 에러를 발생 CHAR에서는 문자열을 비교할 때 공백(BLANK)을 채워서 비교하는 방법을 사용끝의 공백만 다른 문자열은 같다고 판단 예) CHAR 유형'AA' = 'AA ' 예) VARCHAR 유형'AA' ≠ 'AA ' [표] 자주 쓰이는 데이터 유형 데이터 유형 설명 CHARACTER(s) - 고정 길이 문자열 정보 (CHAR로 표현) - s는 기본 길이 1바이트, 최대 길이 Oracle 2,000, SQL Server 8,00..
[SQL 기본] 관계형 데이터베이스 개요 관계형 데이터베이스 개요 1. 데이터베이스 넓은 의미에서의 데이터베이스는 일상적인 정보들을 모아 놓은 것 자체를 의미일반적으로 특정 기업이나 조직 또는 개인이 필요에 의해 데이터를 일정한 형태로 저장해 놓은 것을 의미 - 데이터베이스의 발전1960년대 : 플로우차트 중심의 개발 방법, 파일 구조를 통해 데이터를 저장1970년대 : 계층형(Hierarchical) 데이터베이스, 망형(Network) 데이터베이스 제품 상용화1980년대 : 관계형 데이터베이스 상용화. → Oracle, Sybase, DB21990년대 : 객체 관계형 데이터베이스로 발전. → Oracle, Sybase, Informix, DB2, Teradata, SQL Server - 관계형 데이터베이스 (Relational Database..
[데이터 모델링] 07. 데이터 모델링의 중요한 세 가지 개념 07. 데이터 모델링의 중요한 세 가지 개념 가. 데이터 모델링의 세 가지 요소1) 업무가 관여하는 어떤 것(Things) 2) 어떤 것이 가지는 성격(Attributes) 3) 업무가 관여하는 어떤 것 간의 관계(Relationships) 데이터 모델링을 완성해 가는 핵심 개념 : 엔터티, 속성, 관계 나. 단수와 집합(복수)의 명명 [표] 용어의 구분정의 개념 복수/집합개념 타입/클래스 개별/단수개념 어커런스/인스턴스 어떤 것(Thing) 엔터티 타입(Entity Type) 엔터티(Entity) 엔터티(Entity) 인트턴스(Instance) 어커런스(Occurrence) 어떤 것간의 연관 (Association between Things) 관계(Relationship) 패어링(Pairing) 어떤 ..
[데이터 모델링] 06. 데이터 모델링에서 데이터 독립성의 이해 06. 데이터 모델링에서 데이터 독립성의 이해 가. 데이터독립석의 필요성유지보수 비용 증가데이터 중복성 증가데이터 복잡도 증가요구사항 대응 저하 ※ 데이터 독립성 확보 시 효과각 View의 독립성을 유지하고 계층별 View에 영향을 주지 않고 변경이 가능단계별 Schema에 따라 데이터 정의어(DDL)와 데이터 조작어(DML)가 다름을 제공 나. 데이터베이스 3단계 구조ANSI/SPARC의 3단계 구성의 데이터 독립성 모델은 외부단계, 개념적 단계, 내부적 단계로 구성된 서로 간섭되지 않는 모델을 제시 외부단계 : 사용자와 가까운 단계, 사용자 개개인이 보는 자료에 대한 관점과 관련이 있는 부분개념단계 : 사용자가 처리하는 데이터 유형의 공통적인 사항을 처리하는 통합된 뷰를 스키마 구조로 디자인한 형태내..
[데이터 모델링] 05. 프로젝트 생명주기(Life Cycle)에서 데이터 모델링 05. 프로젝트 생명주기(Life Cycle)에서 데이터 모델링Waterfall 기반 : 데이터 모델링의 위치가 분석과 설계단계로 구분되어 명확하게 정의.정보공학, 구조적 방법론 : 분석단계에서 논리적 데이터 모델링, 설계단계에서 물리적인 데이터 모델링을 수행.나선형 모델(RUP, 마르미) : 업무 크기에 따라 분석, 설계단계 양쪽에서 수행 참고서적 : SQL 전문가 가이드 2013 Edition
[데이터 모델링] 04. 데이터 모델링의 3단계 진행 04. 데이터 모델링의 3단계 진행현실세계에서 데이터베이스까지 만들어지는 과정 개념적 데이터 모델 → 논리적 데이터 모델 → 물리적 데이터 모델 데이터 모델링 내용 개념적 데이터 모델링 추상화 수준이 높고 업무중심적이고 포괄적인 수준의 모델링 진행. 전사적 데이터 모델링, EA 수립시 많이 사용 논리적 데이터 모델링 시스템으로 구축하고자 하는 업무에 대해 Key, 속성, 관계 등을 정확하게 표현, 재사용성이 높음 물리적 데이터 모델링 실제로 데이터베이스에 이식할 수 있도록 성능, 저장 등 물리적인 성격을 고려하여 설계 가. 개념적 데이터 모델링(Conceptual Data Modeling) 핵심 엔터티와 그들 간의 관계를 발견하고, 그것을 표현하기 위해서 엔터티-관계 다이그램을 생성하는 것. 엔터티-관계..

728x90