CS지식/데이터베이스
-
[PostgreSQL] Date/Time TypesCS지식/데이터베이스 2022. 8. 6. 11:59
오늘은 회사 내에서 사용 중인 RDBMS, 그 중에서 PostgreSQL에서 제공하는 Date/Time Type들에 대해 정리해보려고 한다. 1. Date/Time Type 종류 PostgreSQL에서는 아래와 같이 6개의 타입을 제공한다. 여기서 p는 seconds(초)를 표현할 때에 소수점아래로 어디까지 표현할 것인가를 의미한다. 0~6까지의 값을 가질 수 있다. 그리고 interval에 보면 fields라는 값을 받는데 여기서 fields와 p 둘 다 명시하면 fields는 무조건 second를 포함한 값여야만 한다. YEAR, MONTH, DAY, HOUR, MINUTE, SECOND, YEAR TO MONTH, DAY TO HOUR, DAY TO MINUTE, DAY TO SECOND, HOUR..
-
MySQL 새로 알게 된 쿼리CS지식/데이터베이스 2021. 12. 21. 21:08
1. DISTINCT의 위치는 중요하다. https://programmers.co.kr/learn/courses/30/lessons/59408 코딩테스트 연습 - 중복 제거하기 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr 이때 이름이 NULL인 경우는 집계하지 않으며 중복되는 이름은 하나로 처음 내가 생각한 쿼리 -> SELECT DISTINCT COUNT(NAME) FROM ANIMAL_INS WHERE NAME is not NUL..
-
기초가 튼튼한 데이터베이스(저자 이종만) 후기CS지식/데이터베이스 2021. 6. 22. 23:40
기초가 튼튼한 데이터베이스 후기 KOCW에서 백현미 교수님의 데이터베이스의 원리와 응용 강좌를 13일동안 들으면서 기초를 다지고 처음에는 real my sql책을 통해 공부를 하려고 했다. http://www.yes24.com/Product/Goods/6960931 Real MySQL - YES24 Real MySQL, MySQL의 새로운 발견!더 이상 MySQL은 커뮤니티나 소셜 네트워크 서비스와 떼어놓을 수 없는 관계에 있다는 것은 누구나 잘 알고 있을 것이다. 하지만 MySQL은 여기서 그치지 않고 빌링이나 www.yes24.com 하지만, real my sql을 혼자서 독학으로 보기에는 한장을 이해하고 넘기기도 너무 벅찼다. 그래서 조금 더 개념에 중점을 두어 기초를 확실히 다지고 이렇게 다진 기..
-
OLAP란 무엇인가? (기초가 튼튼한 데이터베이스 완독!!)CS지식/데이터베이스 2021. 6. 22. 22:41
OLAP는 Online Analytical Processing의 약어로 최종 사용자가 다차원 정보에 직접 접근하여 대화식(마치 컴퓨터와 직접 대화하는 것처럼)으로 정보를 분석하고 의사결정을 지원하는 시스템이다. 간단히 말하면, 어떠한 의사결정을 하려고 하는데 필요한 정보를 얻어 도움을 받을 수 있고 정보를 분석할 수 있는 일종의 툴이다. 먼저 OLAP는 어떠한 기능을 가지고 있는지 알아보자. 1) pivoting pivoting은 데이터를 분석하는 dimension을 사용자의 요구에 따라 다양한 기준으로 전환하여 볼 수 있는 기능이다. 예를 들어, A F&B기업의 지역별 가맹점 매출을 보여주는 데이터를 날짜별(연도, 달..)로 가맹점 매출을 볼 수 있게 전환시킬 수 있는 것이다. 2) filtering ..
-
데이터 웨어하우스란 무엇인가CS지식/데이터베이스 2021. 6. 19. 23:03
데이터 웨어하우스(Data Warehouse)란 사용자의 비즈니스 분석 활동과 의사 결정 지원을 위한 대규모의 데이터 저장소이다. 데이터 웨어하우스는 여러 곳에 분산되어 운영되는 시스템들로부터 필요한 데이터를 추출한 후 표준화된 형식으로 변환하여 하나의 중앙 집중화된 저장소에 모아놓고 다양한 목적을 가진 여러 사람들이 쉽게 데이터를 쓸 수 있도록 만든 창고라고 생각하면 된다. 이러한 데이터 웨어하우스의 특징은 데이터의 주제 지향성, 통합성, 시계열성, 비휘발성이 있다. 주체 지향성(subject orientation)은 의사결정에 필요한 특징 주제에 따라 데이터를 분류, 저장, 관리한다는 것이다. 우리가 지금까지 알아본 데이터베이스는 어떠한 개체(entity)에 대한 모든 데이터는 의사결정에 필요하지 않..
-
트랜잭션이란 무엇인가?CS지식/데이터베이스 2021. 6. 16. 22:11
오늘은 트랜잭션에 대해 공부해보았다. 트랜잭션... 처음 단어의 정의를 접했을 때에는 이해가 되지 않았다. 그래서 데이터베이스에서의 트랜잭션의 뜻 말고 원래 트랜잭션이 영어단어로써 어떠한 뜻을 가지고 쓰이는지 찾아보았다. 구글에 트랜잭션, transaction을 검색한 결과, 대부분의 상위 검색결과는 데이터베이스의 트랜잭션에 대한 내용 뿐이였고 구글번역 자체도 그냥 한국어로 트랜잭션이라고만 나왔다. 스크롤링을 하다보니 트랜잭션을 설명하는 영영사전 사이트가 있어 들어가봤다. https://dictionary.cambridge.org/ko/%EC%82%AC%EC%A0%84/%EC%98%81%EC%96%B4/transaction transaction 1. an occasion when someone buys ..
-
[MySQL] 날짜, 시간 표기 방식 지정하기CS지식/데이터베이스 2021. 6. 13. 22:57
오늘은 프로젝트를 진행하면서 mysql에서 데이터를 가져올 때 속성(attribute)의 도메인이 Datetime인 데이터의 표기 방식을 변경하는 방법을 배우게 되서 정리해보려고 한다. 먼저, 도메인이 Datetime인 속성(attribute)를 그냥 조회해보자. todo 테이블의 information을 보면 regdate라는 속성의 도메인이 datetime인 것을 확인할 수 있다. SELECT문을 이용해 regdate를 조회해보면 이렇게 기본 표기방식인 YYYY-MM-DD hh:mm:ss으로 나오게 된다. 만약에 우리가 흔히 날짜를 보는 표기 방식인 YYYY-MM-DD으로 데이터를 받고 싶으면 어떻게 하면 될까? 답은 date_format( )을 이용하는 것이다. 직접 SQL문을 써서 결과를 보자. s..
-
정규화란 무엇인가?CS지식/데이터베이스 2021. 6. 10. 23:34
정규화는 데이터베이스에 존재하는 릴레이션(테이블)에 무언가를 가하고 만지며 정규(정식으로 된 규정)화 한다는 것인데 무엇을 하고 왜 하는 것일까? 정규화의 개념을 보면 무엇을 하고 왜 하는 것인지 알 수 있다. 정규화란 이상 현상이 발생하는 테이블의 설계를 수정하여 정규 테이블로 만드는 과정이다. 정규 테이블이라는 것은 관계형 데이터베이스에 저장될 데이터의 중복이 최소화된 구조를 뜻한다. 그러면 이상 현상은 무엇일까? 이상 현상은 데이터를 삽입, 삭제, 수정을 할 때 사용자의 예상 외의 현상이 발생하여 데이터의 일관성이 깨지는 현상이다. 이상 현상에는 삽입 이상, 삭제 이상, 갱신 이상이 있다. 삽입 이상은 데이터 삽입 시 특정 속성(attribute)에 해당하는 값이 없어 필요하지 않은 NULL 값을 ..