본문 바로가기

MySQL17

Django - database mysql로 연동 성공! django에서 database를 sqlite3가 아니라 mysql로 꼭 연결해서 써보고 싶었다. 그 이유는 솔직히 RDB계열의 모든 프로그램을 사용해봤다. 오라클, sqlserver, postgreSQL, mysql, sqllite3 뭐 그 외에도 더 있었던 것 같긴한데 본의아니게 이렇게 다루게 되었다. 우선 오라클을 생각해보면 모든 RDB중에서 가장 압도적으로 빨랐다. 다만 단점은 설치가 윈도우에서만 돌아가거나 우분투, 아니면 어쨌든 가상환경을 써야하므로 맘에 안들었다. 그리고 설치가 가능한 윈도우에서도 한번삐끗하면 포멧하고 재설치하는데 하루가 날라갔고, 정상적으로 설치된다 하더라도 7시간은 족히 걸렸던 것으로 기억된다. 환경설정 변화에 너무 취약하다고 생각해서 별로였고 sqlserver는 써본지 시.. 2022. 11. 21.
[Mysql] 이것이 MYSQL이다 후기 이책은 근래에 봤던 책 중 잘 만들어진 편이라고 볼 수 있다. 최소한에 표현하고자 하는바에 충실하다. 하지만 내 개인적으로는 한 주제에 대해서 똑같은 패턴이 약간은 지겨워질때까지 반복하고 반복하면서 익히는 스타일을 좋아하는데 너무 새로운게 계속 나오니깐 그 새로움이 지겨워서 안하는게 낮겠다 싶었다. 어차피 기억도 다 못하니깐 그럼에도 실무를 하게되면 두고두고 아예 사놓고 보면서 공부하면서 익혀가는게 올바른 일종의 바이블같은 책이라고 생각한다. 음.. 암튼 이 책은 학습용? 보다는 직감상 실무에선 구글링보다 mysql영역에 한에서는 더욱 유용할 것같다는 느낌이든다. 300페이지 즈음에서 학습을 챕터 7정도까지 마치고 접는다. 2022. 10. 5.
[Mysql] 데이터베이스 모델링 기본개념 데이터베이스 모델링 #1 고객이름, 연락처, 주소, 나이, 구매물품, 물품, 수량 등이 있을때, 이것을 한 테이블에 몰아넣으면 L자형 모습이라고 해서 테이블의 빈 필드가 생기게 된다. 이를 방지하기위해서 최대한 하나의 주제로 하나의 카테고리로 묶을 수 있게 설정을 하고 추후에 필요에 따라 조인을 해주는 것이 중요하다. 더불어서 누가 무엇을 샀는지 구분해주기위해서 PK 값을 양쪽 모두에 넣어주면 관리가 가능하다. #2 그리고 주가 되는 테이블과 부가 되는 테이블 모델링이 있다. 보통의 경우에는 ‘학생의 수업’이라고 할때 학생이 주가되고 수업이 부가 된다. 하지만 모든경우에 그런것이 아니라 ‘물품을 관리할 직원’ 등으로 분류가 나뉠때는 물품이 주가 될 수도 있다. 2022. 10. 3.
[Mysql] TRIGGER(트리거) 매우중요개념 (삭제된 필드를 다른테이블로 자동이동) 트리거 데이터가 삭제되기 전에 저장되는 공간혹은 그런 공간과 비슷한 개념 정도로 보면 될 것 같다. DELIMITER // CREATE TRIGGER trg_deleteMemberTBL AFTER DELETE -- 삭제 후에 작동하게 지정 ON memberTBL -- 트리거를 부착할 테이블 FOR EACH ROW -- 각 행마다 적용 시킴 BEGIN -- OLD 테이블의 내용을 백업 테이블에 삽입 INSERT INTO deleteMemberTBL VALUES (OLD.memberID, OLD.memberName, OLD.memberAddress, CURDATE()); END // DELIMITER; 정확히는 트리거를 설정해주면 삭제할때, 삭제한 내용에 대해서 트리거 설정된 테이블로 내용이 전이된다고 보면.. 2022. 10. 3.