본문 바로가기

DataBase/필기일지

231020 [DB] - ERD (Workbench) / .sql (query, mysqldump)

반응형

[23.10.20] 54일차

 

<<진도>>

[DB] MySQL

- ERD (Workbench)

- .sql (query, mysqldump)

- DB 평가

 

<<오늘의 팁>>

- WorkbenchERD 제작툴에서 Entity‘table’ 개념으로

- ERD 속성 중

UN : UnSigned(양수만)

NN : Not Null

- Workbench 기능으로 작성된 ERDMySQL DB로 바로만들 수 있다(but, MySQL DB로만)

- create 내에 index 설정 구문을 넣을 수도 있다

- 테이블 ,로 다중삭제 쿼리문 작성가능

 

* ERD (Entity Relationship Diagram)

데이터 수집, 분석 후 먼저 관계도를 그리고 나서 ERD를 제작한다.

 

[식별 관계]

table(entity) 사이의 관계를 나타내는 선

 

실선 : 식별

-    (결속력) 강한 관계

-    외래키가 기본키에 참여

-    하나의 개체가 다른 개체없이 독립적으로 존재할 수 없음

 

점선 : 비식별 관계

-    (결속력) 약한 관계

-    외래키가 기본키에 참여하지않음

-    객체가 독립적으로 존재

 

< emp‘emp_no’dept가 가지고 쓰는 형태 >

 

[점선 1:n] 약한 관계

외래키 dept.emp_no 기본키로 사용되지 않았다. // 미사용시 null 처리

 

[실선 1:n] 강한 관계

dept의 외래키emp_no가 기본키로 사용

 

[ ERD -> DB ] Forward Engineer (비권장)

 

[확인]

emp :

 

dept :

[ DB -> ERD ] Reverse Engineer

 

employees DBtable, view ERD

모두 실선 : 독립적이지 않음 외래키가 기본키로 사용됨

 

* query 쿼리

.sql 파일 : 스크립트 파일 = 실행파일 (실행될 쿼리들이 들어가있다.)

 

- 자주 쓰는 쿼리문들을 sql파일로 모아 저장했다가 실행가능

- mysql 접속 시 특정 DB를 선택해서 접속하는 문법도 가능하다(but, 명령어로 DB위치를 외부에 노출하므로 취약성이 높아질 수 있다)

 

mysql 접속후 sql파일로 쿼리 실행하고 싶으면 source 쿼리명.sql 입력

[query.sql]

[cmd]

** 디렉토리 경로가 파일과 일치해야한다. 하위경로가 추가 필요할 시

[ p201020\query.sql ] 입력

 

[MySQLdump]

: hello DB에 있는 모든 정보를 반대로 .sql 파일로(query) 백업

해당 디렉토리에 파일 생성 (but, DB생성 관련은 없음)

 

[DB의 일부 테이블만 따로 DUMP를 뜰 수도 있다]

 

[sql파일안에 .dump 파일을 불러오는 형태] : employees.sql

sql에는 보통 명령어 쿼리들이 오고

/ .dump 파일에 데이터 정보들이 있어 불러오는 형태로 형성된다.

 

** +) 운영중인 DB에 복사본인 백업용 DB를 만드는 방법도 여러가지 있다

반응형