데이터 모델링의 이해관계(Relationship)?엔터티 내의 인스턴스들 간 서로 논리적인 연관성이 있는 상태. 분류 - 존재/행위존재에 의한 관계: 예시. 직원 --- 부서 (소속되다/보유하다)행위에 의한 관계: 예시. 고객 --- 상품 (주문하다/주문되다)더보기ERD(Entity Relationship Diagram)는 존재/행위 등 관계를 똑같이 표시한다. → 간략하게 설명하면, 엔터티 사이의 관계를 그림으로 표현하는 것을 의미한다.UML 클래스다이어그램 → 연관관계(존재)는 실선으로 표기 / 의존관계(행위)는 점선으로 표시. 표시 방법표기하는 방식에 따라 IE와 Barker 표기법으로 구분한다. 보통 IE를 쓰지만 차이점을 구분해야 한다. 관계명(Membership), 관계차수(Cardinalit..
개요오늘은 저번 시간에 말했던 redis cluster를 적용해보는 시간을 가졌다. 사실 대략적으로 사용 방법만 살펴보고 빠르게 적용이 완료될 줄 알았는데... 생각보다 오래 걸렸다... Redis Cluster먼저 redis cluster가 무엇인지 다시 한 번 살펴보자. Redis Cluster는 Redis의 분산처리 및 고가용성을 지원하는 구성 방식으로, 데이터를 여러 Redis 노드에 분산 저장하고 관리할 수 있도록 설계되었다. 이는 단일 Redis 인스턴스의 한계를 극복하고 확장성과 장애 복구 능력을 강화하기 위해 사용된다. 주요 특징데이터 분산 (Sharding): 데이터를 키 범위(Hash Slot)로 나누고, 이를 클러스터의 여러 노드에 분배. Redis는 키에 대해 해시(Hash) 값을 ..
SQLD 자격증을 준비했을 때 공부했던 이론 정리.SQLD데이터 베이스란 무엇인가?여러 데이터들을 모아 통합적으로 관리하는 기술. 여러 사람들이 함께 사용하고 공유한다! 데이터 베이스가 없었을 때는 각 사람들이 전부 데이터를 지니고 있었고, 데이터베이스가 출시되면서 데이터를 한 곳에 모아 저장하고 공유할 수 있게 되었다. SQLD에서는 데이터 베이스에서 데이터를 조회하고 조작하는 능력을 공부함에 목적을 지니고 있다. 데이터 모델이란?현실 세계의 대상을 추상화 단순화 명확화 하여 데이터 베이스로 표현하는 것. 데이터 모델링 예시.1) 집을 만들자! → 요구 사항 접수2) 단순한 설계도 → 개념적 데이터 모델링(엔터티, 관계, 속성...)3) 좀 더 상세한 설계도 → 논리적 데이터 모델링4) 실제로 구축..
문법SUBQUERY연산이 한 번에 끝나면 참 좋은데 아닐 때가 많다. 문자를 변경한 다음,.. 숫자 연산을 하고 그 결과로 또 연산을 해야할 때... 너무 긴 쿼리문보다는 조금 더 효율적이고 알아보기 쉽게 Subquery를 사용해보자! 언제 사용할까?→ 여러번의 연산을 수행해야 할 때. → 조건문에 연산 결과를 사용해야 할 때. → 조건에 Query 결과를 사용하고 싶을 때. 기본 구조Sub 라는 명칭에서 알 수 있듯이, Query안에 sub로 들어간 구문이라고 생각하면 쉽다.select column1, special_columnfrom ( /* subquery */ select column1, column2 special_column from table1 ) Subquery_name 예시. 음식점의 총..
문법 문자 포맷이 다를 경우, SQL로 가공하기 데이터를 조회하다보면, Query 결과를 그대로 이용하지 못하는 경우가 발생한다. 그럴 때는 어떻게 해야 할까? 특정 문자를 다른 문자로 바꾸기 REPLACE(바꿀 컬럼, 현재 값, 바꿀 값) SELECT addr "원래 주소", REPLACE(addr , '문곡리', '문가리') "바뀐 주소"FROM food_orders fo where addr LIKE '%문곡리%' 원하는 문자만 남기기 SUBSTR(조회 할 컬럼, 시작 위치, 글자 수) SELECT addr "원래 주소", SUBSTR(addr, 1, 2) "특별시"FROM food_orders fo WHERE addr LIKE '%서울특별시%' 여러 컬럼의 문자를 합치기: 원하..
문법숫자 연산SELECT food_preparation_time, delivery_time, food_preparation_time + delivery_time as total_timeFROM food_orders일반적인 사칙연산과 같이 sql에서도 + - * / 을 이용하여 숫자 연산이 가능하다. 단, 사용하려는 쿼리가 숫자 형식인지 반드시 확인하고 사용해야 한다. SUMSELECT SUM(food_preparation_time) total_food_preparation_timeFROM food_orders해당 쿼리 내 데이터를 전부 더한다. AVGSELECT AVG(age) as average_of_age FROM customers c 해당 쿼리 내 데이터의 평균값. COUNTS..