본문 바로가기

전체 글40

[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.
미니 프로젝트 회고 - [패스트캠퍼스 부트캠프 : PM 2기] 약 한 달여간 진행되었던 미니 프로젝트를 회고하는 포스팅을 작성해보려고 한다. 미니 프로젝트는 사전에 선택한 3가지 주제 중에 하나를 택하여 조가 편성이 되었다. (수강생들이 원하는 프로젝트 주제를 정할 수도 있었지만, 투표에 의해 멘토님들이 몇 가지 주제를 정해주는 방향으로 결정되었다. 아무래도 현업에서 다년간 커리어를 쌓으신 멘토님들이 좋은 주제를 선정해주시지 않을까!??) 3가지 주제는 아래와 같았다 Project 1 : SaaS 회사들의 MRR, ARR 개선 Project 2 : 적자 회사의 수익 창출 방안 (도메인 무관) Project 3 : 배송 관련 VOC (배송 지연, 회수 지연) 감소 방안 이 중에 나는 project 2번에 해당하는 적자 개선의 주제를 선택했는데, 이유는 도메인이 자유롭.. 2023. 8. 29.
반응형
LIST