본문 바로가기

데이터 분석8

[SQLD] 개념정리 - SQL 기본(2): WHERE, FUNCTION, GROUP BY, HAVING, JOIN ✅WHERE 절 : WHERE 절은 FROM절 다음에 위치. WHERE절을 이용하여 자료들에 대해 제한할 수 있음 ✅연산자의 종류 1) 비교 연산자(부정 비교 연산자 포함) 2) SQL 연산자(부정 SQL 연산자 포함: NOT BETWEEN A AND B, NOT IN, IS NOT NULL) 3) 논리 연산자 : AND, OR, NOT ✅연산자의 우선순위 괄호 NOT 연산자 비교 연산자, SQL 비교 연산자 AND OR ✅와일드 카드 % 0개 이상의 어떤 문자를 의미 _ 1개인 단일 문자를 의미 ex. %수원시% : 수원시가 들어가는 모든 데이터(시작, 끝단어 상관없음) %수원시 : 수원시로 끝나는 데이터 조회 ‘박_ _’ : _언더바 하나는 단일문자 하나를 뜻하므로 박oo인 사람들만 조회됨 ✅문자 유.. 2023. 9. 8.
[SQLD] 개념정리 - SQL 기본(1): DML, DDL, DCL, TCL, 트랜잭션 ✅SQL문의 종류 🌟 종류 명령어 데이터 조작어 (DML : Data Manipulation Language) SELECT INSERT, UPDATE, DELETE 데이터 정의어 (DDL: Data Definitnion Language) CREATE, ALTER, DROP, RENAME 데이터 제어어 (DCL: Date Control Language) GRANT, REVOKE 트랜잭션 제어어 (TCL: Transaction Control Language) COMMIT, ROLLBACK ✅DDL(Data Definition Language) 데이터 타입 타입 설명 CHAR(L) 고정 길이 문자열. 고정 길이를 가지고 있어서 할당된 변수의 값이 L값보다 작을 경우 그 차이만큼 공백으로 채워짐 VARCHAR2.. 2023. 9. 7.
[SQLD] 개념정리 - 데이터 모델과 성능(2): 테이블 분할, 슈퍼/서브 타입, 분산 데이터베이스 ✅대량 데이터 발생에 따른 테이블 분할 : 대량 데이터가 존재하는 테이블에 많은 트랜잭션이 발생 -> 성능 저하 -> 테이블 구조에 대해 수평/수직 분할 설계하여 성능 저하를 예방할 수 있음 테이블의 데이터는 Block 단위로 디스크에 저장됨. 칼럼이 많아지면 하나의 로우를 저장 시 물리적인 디스크의 여러 블록에 데이터가 저장될 가능성이 높아짐. 즉, 하나의 행을 읽더라도 여러 개의 블록을 읽어야 함 -> 해당 SQL문의 Block I/O가 많아짐. 1) 로우 체이닝(Row Chaining): 로우 길이가 길어서 데이터 block 하나에 데이터가 모두 저장되지 않고, 두 개 이상의 블록에 걸쳐 하나의 로우가 저장되어 있는 형태 2) 로우 마이그레이션(Row Migration): 데이터 블록에서 수정이 발.. 2023. 9. 5.
[SQLD] 개념정리 - 데이터 모델과 성능(1): 성능 데이터 모델링, 정규화, 반정규화 ✅성능 데이터 모델링이란? 데이터베이스 성능향상을 목적으로 설계단계의 데이터 모델링 때부터 정규화, 반정규화, 테이블 통합, 테이블 분할, 조인구조, PK, FK, 등 성능과 관련된 여러 사항이 데이터 모델링에 반영될 수 있도록 하는 것. ✅성능 데이터 모델링 수행 시점 분석/설계 -> 구현 -> 테스트 -> 운영 : 사전에 할수록 비용 적음 : 분석/설계 단계에서 DB 처리 성능을 향상시킬 수 있는 방법을 주도면밀하게 고려해야 함 ✅성능 데이터 모델링 고려사항 1) 정규화를 정확하게 수행 2) 데이터베이스 용량 산정을 수행 3) 데이터베이스에서 발생되는 트랜잭션의 유형을 파악 4) 용량과 트랜잭션의 유형에 따라 반정규화를 수행 5) 이력 모델의 조정, PK/FK 조정, 슈퍼 타입/서브타입 조정을 수행 .. 2023. 9. 3.
[SQLD] 개념정리 - 데이터 모델링의 이해(3): 관계, 식별자, 식별자관계 ✅관계의 정의 - 상호 연관성이 있는 상태 - 엔터티 간의 논리적인 연관성을 의미 - 존재에 의한 관계와 행위에 의한 관계로 구분 ✅관계의 페어링 관계: 엔터티 안의 인스턴스가 개별적으로 관계를 가지는 것(페어링) 관계 페어링(Relationship Paring): 각각의 엔터티의 인스턴스들은 자신이 관련된 인스턴스들과 관계의 어커런스(발생, 사건)로 참여하는 형태 ✅관계의 분류 1) 존재에 의한 관계 어떠한 이벤트에 의해 발생되는 것이 아닌, 존재 자체로 인해 관계가 형성되는 것. ex. 사원 엔터티는 항상 부서 엔터티에 속함 2) 행위에 의한 관계 ex. 고객이 주문을 하는 행위를 하기 때문에 만들어진 주문 엔터티 -> 고객과 주문 엔터티 사이의 관계는 행위에 의한 관계임 ✅관계의 표기법 1) 관계명.. 2023. 9. 2.
[SQLD] 개념정리 - 데이터 모델링의 이해(2): 엔터티, 인스턴스, 속성 ✅엔터티의 개념 : 사람, 장소, 물건, 사건, 개념 등의 명사에 해당함 : 업무상 관리가 필요한 관심사에 해당 : 저장이 되기 위한 어떤 것(Thing)에 해당함 => 업무에 필요한 정보를 저장하고 관리하기 위한 집합적인 것(Thing) ✅엔터티와 인스턴스 엔터티: 인스턴스의 집합 ex. 엔터티: 과일 / 인스턴스: 사과, 오렌지, 딸기 ✅엔터티의 특징 1. 반드시 업무에 필요하고, 관리가 필요한 정보여야 함. 2. 유일한 식별자에 의해 식별이 가능해야 함: 인스턴스 각각을 구분하기 위해 유일한 식별자가 존재해야 함. 3. 인스턴스의 집합이어야 한다: 2개 이상. 4. 업무 프로세스에 의해 이용이 되어야 함. 5. 속성을 가지고 있어어 함 6. 다른 엔터티와 최소 한 개 이상의 관계가 있어야 함. ✅엔.. 2023. 8. 18.
반응형
LIST