[CloudType] AWS에서 cloudtype으로 DB 마이그레이션하기
·
DevOps/CloudType
개요 앞편에서 cloudtype의 MariaDB를 생성해주었다. 이에 이어서 AWS MySQL로부터 cloudtype MariaDB로 마이그레이션을 함으로써 비용을 절약해보자.  가장 먼저 cloudtype 프로젝트 전체 설정(나의 경우 koala)에서 TCP 허용이 되어있는지 확인하자.  1) RDS 외부 접근을 위한 작업일단 마이그레이션을 하려면 AWS RDS에 직접 내 로컬에서 접근이 가능해야 한다.  1-1) 마스터 암호 설정DB 수정을 통해 마스터 암호를 설정하자.  1-2) 퍼블릭 액세스 허용  1-3) 보안그룹이 설정되어 있다면 인바운드에 나의 IP 등록DB에 보안그룹이 설정되어있다면, 나의 IP가 접근 가능하도록 정보를 등록해준다.  2) 로컬 터미널에서 명령어를 통해 AWS RDS에 접근..
[CloudType] cloudtype으로 DB 호스팅 비용 줄이기
·
DevOps/CloudType
개요koala 프로젝트를 하다가 첫 난관(?)이 생겼다..! 바로 서버 비용이 없다는 것 이 설계에 맞춰서 클라우드 환경을 구축하기 전에, "이렇게 가면 비용이 꽤 들 것같은데 우리 얼마 쓰고 있지?" 확인하는 것에서부터 서버 비용에 대한 걱정이 시작되었다.. ㅋㅋ🤣     아예 cloudtype 서비스로 옮겨보자!사실 첫 시도에서는 AWS를 이용하지 않고 아예 cloudtype을 사용하자는 생각이었다. 하지만 cloudtype을 구축하는 과정에서 만난 문제들을 해결하지 못했고, 가장 비용이 많이 드는 RDS만이라도 cloudtype을 이용하자는 결론을 도출하게 되었다.  cloudtype은 비교적 합리적인 비용으로 웹사이트/데이터베이스 등을 호스팅할 수 있는 국내 서비스다. 디스코드 채널에서 실시간으..
[DB] DB스튜디오 과제 리뷰 | 데이터 모델링과 개념적 설계
·
DB/DB 설계 과제
개요DB 스튜디오 과목에서 매주 요구사항에 맞게 데이터 모델링을 하고, 개념적 설계를 진행한다.각각의 팀이 설계한 과제물에 대해 게시판을 통해 1차 토의하고, 강의시간에 교수님과 2차 토의를한다.토의에서 나왔던 내용을 중심으로 과제에 대한 리뷰를 작성해보도록 한다. 요구사항첫 설계의 요구사항은 다음과 같다. 하나는 UNIVERSITY DB로, 일반적으로 대학교에서 학생, 학부, 과목 등을 관리하는 요구사항이다. 두 번째는 MAIL_ORDER DB로, 쉽게 말해 구매 서비스다. 개체와 속성, 관계 추출먼저 ERD를 그리기 전, 텍스트로 개체와 속성, 관계를 추출하는 과제를 수행하였다. 이때 composite, complex attribute 등의 속성 특징과 관계를 속성으로 나타내는 것을 활용하였다. 특히..
[프로그래머스] 자동차기록에서 장기/단기 대여 구분하기 | DATEDIFF, SQL IF문
·
PS/BOJ&Programmers
개요이 문제의 핵심은대여 시작일이 2022년 9월이어야 한다. ➡️ date_format 함수로 DATE형 원하는 형식으로 수정하기장기/단기 기간은 30일이 기준이다. ➡️ datediff 함수와 if문 이용하기 DATEDIFF날짜의 차이를 일(day)로 환산해주는 함수. datediff(date1, date2) 계산은 date1 - date2로 진행된다. 음수는 0으로 도출된다. IF문if문은 SELECT와 WHERE 절에 사용할 수 있다. IF문if(조건, 참일 때 결과, 거짓일 때 결과)if(datediff(end_date,start_date)  중첩 IF문if(조건, 참, if(조건, 참, 거짓))if(score 전체 코드SELECT history_id, car_id, date_format(sta..
[SQL] JOIN
·
DB/SQL
개요데이터베이스를 관리할 때는 데이터베이스 품질 보장을 위해 정규화(관계형 스키마를 세분화하는 것)를 한다.이렇게 세분화된 테이블들은 연결되어 사용해야 하는 경우가 있다. 예를 들어, 학생 정보 테이블과 학과 정보 테이블이 정규화에 의해 분리되었고 학생의 학과 정보를 위해 두 테이블을 연결하여 정보를 얻는다.이러한 연결을 위한 연산이 JOIN이다. JOIN 종류  카티션 곱(Cartesian Product): 모든 행에 대한 조인(합집합)동등 조인(equi join): 공통 속성을 기준으로 같은 값을 가지는 행 조회(교집합)비동등 조인(non-equi join): 공통 속성을 기준으로 >, =, 외부 조인(outer join): 조인 조건이 만족하지 않는 경우, 모두 조회 LEFT/RIGHT로 나뉜다. ..
[프로그래머스] 조건에 맞는 도서 리스트 출력하기 | DATE
·
PS/BOJ&Programmers
DATESQL의 DATE 타입은 YYYY-MM-DD hh:mm:ss 형식이다.select 문에서 DATE(datetype_record) 이렇게 사용하면 YYYY-MM-DD 부분만 추출한다.DATE_FORMAT으로 기본값인 YYYY-MM-DD hh:mm:ss를 변경할 수 있다. DATE Format2024-02-01 18:31:45 날짜 및 요일포맷 형식결과값%Y2000%y00%MFebruary%bFeb%m02%d01%e1%aThu 시간포맷 형식결과값%H18(24시간)%h6(12시간)%i31(분)%s / %S45(초)%m02  해당 문제는 시간을 제외하고 날짜를 'yyyy-mm-dd' 데이터를 출력해야 하므로, SQL문은 다음과 같다. date_format(published_date, '%Y-%m-%d')..
[DB] TRUNCATE, DELETE | RDBMS 삭제 명령어 비교
·
DB/SQL
개요로컬에 더미로 쌓아둔 데이터가 너무 많고 난잡해서 database 값들을 초기화했는데.. 여기서 문제가 생겼다.  현재 Table 구조는 상당히 복잡하게 연관관계가 매핑되어있다.예를 들어, 유저가 회원가입을 하면 account 테이블이 생성되고, 이와 관련하여 account_a, account_b, account_c… 이런식으로 관계가 정의되어 있기에 update나 insert, delete 등의 명령어는 주의해서 사용해야 한다. 나처럼 무심코 정리했다간 에러지옥에 파묻힐것이다ㅠ.ㅠ 실서버나 staging과 같은 테스트 서버에 데이터를 쉽게/자주 조작하면 안되겠지만,local은 테스트를 위해 이런저런 작업을 하게된다.이때 무심코 delete를 하기보다는… truncate라는 명령어를 사용하는 것이 테..
[Docker] MariaDB 도커 이미지와 PyMySQL로 쿼리 작성하기
·
DevOps/Docker
개요지금까지 Docker image mariadb, DBeaver mariadb를 사용하여 database를 다루는 환경을 세팅하고, 쿼리문을 작성해보았다. RDBMS 마지막 시간에서는 python으로 mysql을 다루는데, 이러한 방법이 있는줄 몰랐고 생소한 내용이어서 기록해두기로 하였다.   환경 세팅우선 Docker 컨테이너 접속하여 가상환경 전원을 켜준다.개발 환경은 docker container와 visual studio code를 활용하였다. 사용할 도커 컨테이너를 터미널에서 작동시키고, vsc를 통해 접속하면 된다.위 화면은 아직 가상환경 접속 전 상태이므로 오른쪽에 로컬에서 사용했던 코드가 보인다가상환경에 접속하기 위해 원하는 컨테이너에 오른쪽 마우스를 클릭한 뒤, Attach Visual..
[DB/MySQL] 기본 명령어3 | ORDER BY, GROUP BY, DISTINCT, LIMIT
·
DB
ORDER BY파이썬 sort / sorted와 똑같음.오름차순이 default이고 내림 차순으로 하려면 뒤에 DESC(Descending)을 붙여주면 된다.SELECT *FROM cityORDER BY Population;SELECT *FROM cityORDER BY CountryCode ASC, Population DESC;# USA의 인구수 오름차순 출력SELECT *FROM cityWHERE CountryCode = 'USA'ORDER BY Population;GROUP BY말 그대로 그룹으로 묶어줌.집계함수(Aggregation : AVG, MIN, MAX, COUNT, STDEV(표준편차), VARIANCE(분산))과 함께 사용 CountryCode 별로 인구수의 평균 볼건데,, Country..
[DB/MySQL] 기본 명령어2 | BEETWEEN, IN, LIKE, ALY, ALL
·
DB
BETWEEN 숫자로 구성된 연속적인 데이터 BETWEEN, ANDSELECT *FROM cityWHERE Population 7000000 AND 8000000IN()이산값 조건SELECT *FROM cityWHERE Name IN('Seoul', 'Pusan')LIKE문자열의 내용 검색 (%랑 _ 사용)KOR 기억안남.. KO 뒤에 한 글자 머였더라..? 할 때 SELECT *FROM cityWHERE CountryCode LIKE 'KO_'Tel로 시작하는 .. 도시 뭐더라..? 할 때SELECT *FROM cityWHERE Name LIKE 'tel %' ANY / SOME서브 쿼리의 여러가지 조건 중 하나만 만족해도 출력SELECT *FROM cityWHERE Population > ANY # ..
sebinChu
'DB' 태그의 글 목록