본문 바로가기
반응형

Database16

[MySQL] my.cnf 위치 찾기 (for port 변경) Mac MySQL port 변경하기 위해 my.cnf 파일을 열어야한다. 그런데 위치 찾기가 어려웠다 ㅠ Mac 터미널에서 다음 명령어로 찾을 수 있었다. mysqld --verbose --help | grep -A 1 'Default options' /opt/homebrew/etc/my.cnf 에 있었다. /opt/homebrew/etc로 이동 후 vi로 my.cnf 파일을 열고 맨아래에 port 번호를 적고 :wq로 저장후 종료하면 된다 my.cnf.default 파일에도 port를 적는다. 노트북을 재시작 후 터미널에서 mysql 서버 상태를 확인한다. mysql server status port 부분에 3307로 변경된 것을 확인할 수 있다. 2022. 12. 9.
[MySQL] DATE_FORMAT() 사용 - 컬럼 created_at에서 연, 월 나눠서 조회 컬럼 created_at 에서 연, 월 조회가 필요할 때가 있다. DATE_FORMAT()을 이용한다. 테이블 user_info created_at: LocalDateTime dtype: Member, Doctor select created_at, dtype from user_info; DATE_FORMAT() 이용 select DATE_FORMAT(created_at, '%y') YEAR, DATE_FORMAT(created_at, '%m') MONTH, dtype from user_info; 2022. 11. 5.
h2 데이터베이스 모든 테이블 삭제 application.yml에서 ddl-auto: create를 해도 h2 데이터베이스 목록에는 테이블이 여전히 남아있다. 모든 테이블을 삭제하고 싶을때 아래 쿼리를 실행한다. drop all objects 2022. 10. 18.
CRUD에서 Update, Delete: where절에 id를 사용 데이터베이스에서 Update 혹은 Delete를 할 경우 where에서 id 값을 집어서 해야한다. 예를 들어 emp 테이블이 다음과 같다. 이진우의 deptId를 1에서 2로 바꾸고 싶은 경우 where절에 이진우의 이름으로 바꾸라는 쿼리를 쓴다면 에러가 난다. 테이블에 있는 데이터를 수정하고 싶을 경우 update를 이용하는데 "당연히 id를 명시해야하는거 아닌가요?"라고 생각할 수 있지만 "이름인 이진우를 바꿔야지"라고 생각하고 where절에 name = '이진우'를 넣는 오류를 낼 수도 있다. 주의하자. 따라서 where절에 이진우의 id를 쓰자. 다음과 같이 이진우의 deptId가 1 -> 2로 바뀐 것을 볼 수 있다. Delete도 마찬가지이다. 2022. 8. 20.
DB 개념적 설계 - 4 https://brightgarden02.tistory.com/6 DB 개념적 설계 - 3 https://brightgarden02.tistory.com/5 DB 개념적 설계 - 2 https://brightgarden02.tistory.com/4?category=572225 DB 개념적 설계 - 1 비대면 반려동물 웹프로젝트를 시작하게 되었다. 이와 관련해서 DB 설계를.. brightgarden02.tistory.com 3차정규화를 하려고 한다. 3차 정규화는 테이블에 있는 모든 속성이 primay key에만 의존해야한다. primay key가 아닌 속성이 primary key가 아닌 다른 속성을 의존하면 분리한다. 3차 정규화도 필요해보이지 않는다. 2022. 7. 29.
DB 개념적 설계 - 3 https://brightgarden02.tistory.com/5 DB 개념적 설계 - 2 https://brightgarden02.tistory.com/4?category=572225 DB 개념적 설계 - 1 비대면 반려동물 웹프로젝트를 시작하게 되었다. 이와 관련해서 DB 설계를 해보려고 한다. 정규화를 이용해보자. 테이블은 일단 3개로.. brightgarden02.tistory.com 이제 2차 정규화를 이용하겠다. 2차 정규화란 primary key가 여러개인 복합키가 있을 경우 적용한다. primary key가 아닌 칼럼을 복합키에 종속되게 하는 것이다. 즉, 복합키가 2개라면 2개의 복합키에 종속되야한다. 아래는 현재 테이블이다. 현재 테이블에는 복합키가 없으므로 2차 정규화는 패스한다. 정.. 2022. 7. 29.
DB 개념적 설계 - 2 https://brightgarden02.tistory.com/4?category=572225 DB 개념적 설계 - 1 비대면 반려동물 웹프로젝트를 시작하게 되었다. 이와 관련해서 DB 설계를 해보려고 한다. 정규화를 이용해보자. 테이블은 일단 3개로 시작한다. 고객, 수의사, 진료 테이블이다. 일단 고객테이 brightgarden02.tistory.com 이제는 진료 테이블을 1차 정규화한다. 1차 정규화: 1. 반복되는 그룹을 파악한다. 2. 반복되는 부분과 반복되지 않는 부분을 분리한다.(단, primary key는 그대로 가져간다) 3. 테이블을 나눈후 반복되는 행은 삭제한다. 수의사 테이블은 정규화를 하지 않아도 되니 그대로 둔다. 2022. 7. 29.
DB 개념적 설계 - 1 비대면 반려동물 웹프로젝트를 시작하게 되었다. 이와 관련해서 DB 설계를 해보려고 한다. 정규화를 이용해보자. 테이블은 일단 3개로 시작한다. 고객, 수의사, 진료 테이블이다. 일단 고객테이블부터 1차 정규화를 한다. 1차 정규화: 1. 반복되는 그룹을 파악한다. 2. 반복되는 부분과 반복되지 않는 부분을 분리한다.(단, primary key는 그대로 가져간다) 3. 테이블을 나눈후 반복되는 행은 삭제한다. 1차 정규화를 통해 고객 테이블을 고객정보, 동물정보 테이블로 나누었다. 그런데 의문이 생겼다. 1. SSO 구글, 카카오, 네이버로 로그인하게 만들면 DB에는 회원정보를 어떻게 저장해야하지? 이메일, 고객이름, 동물등록번호, 동물이름, 동물종류, 동물나이를 저장하면 될까? ->해결: 어차피 SSO는.. 2022. 7. 29.

반응형
반응형