우리FISA

우리FIS아카데미(우리FISA) 17주차 AI 엔지니어링 ERD 디벨롭 과정

히그다스 2023. 8. 20. 21:47

 

8/11

1. ERD란? 
 -  ERD(Entity Relationship Diagram) = 시스템 내 다양한 엔티티와 서로 간의 관계를 시각화한 것
 - 관계형 데이터베이스 설계 및 모델링에 도움
 - 데이터베이스의 논리적 구조를 볼 수 있음
 
2. ERD의 용도
  - DB설계
  - 시스템 요소와 서로의 관계 식별에 도움 → 소프트웨어 엔지니어링에 사용
    ex) 소매점에 사용되는 재고 소프트웨어 : 구매, 항목, 항목유형, 항목소스, 항목가격
 

 
3.  ERD 기호 및 표기법
  - 엔티티 = 개체
  - 약한 엔티티 : 다른 엔티티에 의존하는 엔티티, 자체 속정으로 식별할 수 없는 엔티티, 외래키 사용
  - 속성 : 엔티티는 필요한 만큼 속성을 가질 수 있음, 속성도 고유한 속성을 가질 수 있음
 

8/14

이론보다 실제로 하는 게 더 중요하다는 생각이 들어 무작정 나열해봤다
주말에 DB 생각해놓은 것으로 짧게 리더와 공유회의
1차로 리더에게 확인은 받았다
 

버전 1.1

 
해외연회비와 기준실적이 문제였는데
해외연회비는 해외여부와 해외연회비로 나누는 걸로 내 안에서 결론이 났는데
기준실적은 당월이 현대카드에만 있어서 고민된다
어쨌든 나누긴 해야 됨...
오늘 draw.io로 간략하게 그려보면서 다시 생각해보는 걸로
 

8/15

버전 1.2

 
14일에 초안 작성해보고 오늘 조금 디벨롭해봤다
컬럼명 정하는게 제일 어렵다...
아직 확정난 것도 아니라 그냥 찌끄려보고 있는 건데 혼자선 힘들구만
6명이 머리 맞대면 좀 더 나은 결과가 나올 것이라 기대한다
우선 이정도만 해가면 되겠지?
  

8/16

 

버전 1.3


리더랑 변수명이랑 구성요소 다 상의하고 mySQL로 다이어그램 만들었는데
don't save 눌러서 저장안됨  ㅋㅋ....
내일 와서 다시 만들어야 한다....
내일 봅시다.....
 

8/17


어제 날린 db 다시 만드는데 
난 boolean을 선택하고 싶은데 자꾸 tinyint가 돼서 스트레스
구글링 시작했다

https://velog.io/@gagaeun/MySQL-BOOLEAN-vs-TINYINT

 

MySQL BOOLEAN vs TINYINT

MySQL BOOLEAN vs TINYINT

velog.io

 
근데 여기서 tinyint = boolean 이니
그런거 신경쓸 시간에 다른 걸 신경쓰라는 말만 보고 다시 ERD 만들기 돌입
다 만들고 저장도 제대로 하고 나서 보니
tinyint도 0과 1 밖에 없어서 boolean이랑 같은 역할을 한다는 설명을 보고
맘이 편해졌다
 

버전 1.4

 
아직도 화살표가 어렵다
회의햇는데 DB가 증식한다
로그 다 모으면 좋지만 괴롭다....
 
 DB에 전월실적 당월실적이 있어 전월실적이 있으면 당월실적을 NULL로 처리하는 방식으로 하고 있었는데
조건 없음이 있어서 멘토님께 질문
멘토님이 말하기를 DB에서는 NULL을 최대한 안쓴다고 한다 뻑날 수도 있어서
 
그리고 추가적으로 멘토님이 보기에 우리 프로젝트는 MLDL이 아니라
웹서비스라서 프론트를 이쁘게 만드는게 더 좋을 거 같다고
그리고 카드 추천을 혜택을 classify해서 하는 것도 좋지만
뽐뿌같은 사이트에서 크롤링해서 그걸 기반으로 추천해주는 것도 2순위로 내보내면 어떻냐고 하셨다
하나는 혜택기준(정량적), 하나는 크롤링해서 키워드 기반으로 표출
 
DB 쿼리 작성은 다 했는데 insert가 안돼서 미쳐가고 있었는데

선생님께 도움요청하고 나니 선생님이 빈 자리 하나를 찾으셔서
고거 채우고 insert into 완료
내일 쿼리 넘기면 될 듯
 

8/18

 
쿼리문 넘기고 오전회의를 통해서 웹 스크래핑 하기로 결정
스크래핑 자료를 위한 DB가 필요하다는 말을 듣고 소리없는 비명 지름
DB는 언제까지 추가되는걸까(끝까지겠죠..)
여튼 산출물은 냈고 하루종일 코테랑 웹 스크래핑 깔짝깔짝 건들임
requests를 이용한 웹 스크래핑 하나 했고
내일 셀레니움을 이용한 스크래핑 실습할 예정 !
이걸로 크롤링 할 건데 두근거린다
 
주피터 노트북에서 하는 중인데 자동완성이 안돼서 찾아보니
https://willow826.tistory.com/28

 

jupyter notebook에서 자동완성 기능 쓰기

VSC나 Colab 등에서 코드를 칠 때, 자동으로 완성되거나 커서가 있는 해당 내용의 doc_string이 뜨는 편리한 기능이 있다. 그런데 jupyter notebook에서는 뜨지 않아 항상 아쉬움이 있었는데, 어jupyter noteboo

willow826.tistory.com


↑ 이 블로그에서 방법을 찾았다

 

%config Completer.use_jedi = False

 

이렇게 설정해놓고 하면 타이핑하다 tab 치면 자동완성이 짜잔!
 

8/19

셀레니움을 이용한 웹 스크래핑 로그를 남겨야겠다
requests는 왜 안남기냐면 우리가 사용할 거는 셀레니움이라서
어제 다른 조에서 스크래핑한 코드도 받아서 실습한번 해보고
그거 수정해가면서 우리한테 맞추면 될 듯
 
 


출처 : https://creately.com/guides/er-diagrams-tutorial/
https://olidang.tistory.com/95
https://jins-dev.tistory.com/entry/RDBMS%EC%9D%98-%EA%B4%80%EA%B3%84-Identifying-NonIdentifying-Relationship-%EC%97%90-%EB%8C%80%ED%95%98%EC%97%AC
 그외 본문에 있음