SK네트웍스 Family AI캠프 10기

SK네트웍스 AI캠프 8일차 - MySQL, ERD

netsma 2025. 1. 16. 09:30

https://github.com/good593/class_SQL/blob/main/README.md

 

class_SQL/README.md at main · good593/class_SQL

Contribute to good593/class_SQL development by creating an account on GitHub.

github.com

https://github.com/good593/class_SQL/blob/main/%EB%8D%B0%EC%9D%B4%ED%84%B0%20%EB%AA%A8%EB%8D%B8%EB%A7%81.md

 

class_SQL/데이터 모델링.md at main · good593/class_SQL

Contribute to good593/class_SQL development by creating an account on GitHub.

github.com

https://www.erdcloud.com/

 

ERDCloud

Draw ERD with your team members. All states are shared in real time. And it's FREE. Database modeling tool.

www.erdcloud.com

 

 

https://inpa.tistory.com/entry/ERD-CLOUD-%E2%98%81%EF%B8%8F-ERD-%EB%8B%A4%EC%9D%B4%EC%96%B4%EA%B7%B8%EB%9E%A8%EC%9D%84-%EC%98%A8%EB%9D%BC%EC%9D%B8%EC%97%90%EC%84%9C-%EA%B7%B8%EB%A0%A4%EB%B3%B4%EC%9E%90

 

☁️ ERD CLOUD - ERD 다이어그램을 온라인에서 그려보자

ERD CLOUD 프론트엔드 작업을 하기전에 UI 와이어프레임을 그리는 과정은 중요하듯이, 백엔드에서도 데이터베이스 모델링 설계 과정은 매우 중요하다. 데이터베이스 모델링을 할 때 ERD 다이어그램

inpa.tistory.com

 

 

1일차 글 참조

docker 는 mysql 의 서버(=DBMS)로 작동하고 있다.

docker-compose.yml 내에 'db:' 로 되어 있어 docker 의 이름이 'db-1'로 되어 있다.

 

DBeaver 는 DBMS 중 하나인 mySQL 이 아니고 어플리케이션(개발툴)임.

SQL 편집기를 통해 show databases; 실행하면 하단에 리스트 5개가 나옴.

 

연결이 잘 안될 경우, 커넥션 라이브러리를 아래 사이트 통해 (추가)설치할 수 있다.

https://mvnrepository.com/

Connection name 을 localhost 에서 root@MySQL 로 변경함.

SQL 편집기를 통해 show databases; 실행하면 하단에 리스트 3개가 나옴.;

세미콜론에서 세미콜론 사이가 실행이 됨. 세미콜론 없이 줄바꿈하는 것은 아무 영향이 없음.  

 

DB 2개 중 sys 를 선택한 후 테이블을 조회하면 여러개 나온다.

DB 2개 중 examplesdb 를 선택한 후 테이블을 조회하면 1개 나온다.

DBeaver 단점이 db를 생성해도 바로 업데이트가 되지 않는다.(실제 생성은 되었고 보이지만 않는 것임.)

그래서 db에서 오른쪽버튼 눌러 새로고침을 해야 dbname 이 보인다.

 

이 SQL 문은 다음과 같은 열과 제약 조건을 가진 "student" 테이블을 생성합니다:
  1. student_id: 기본 키 역할을 하는 자동 증가 부호 없는 정수입니다.
  2. sutdent_name: 최대 길이가 10자인 VARCHAR 열로, NULL이 될 수 없습니다.
  3. student_address: 최대 길이가 50자인 VARCHAR 열로, NULL이 허용됩니다.
  4. create_dt: 기본값으로 현재 타임스탬프를 가지는 TIMESTAMP 열입니다.
  5. modify_dt: 기본값으로 현재 타임스탬프를 가지는 TIMESTAMP 열입니다.
PRIMARY KEY 제약 조건이 student_id 열에 적용되어 각 학생이 고유한 식별자를 가지도록 보장합니다."sutdent_name" 열 이름에 오타가 있음을 주의하세요. 일관성을 위해 "student_name"으로 수정하는 것이 좋습니다.또한, student_id 열의 UNSIGNED 속성은 음수가 아닌 값만 저장되도록 보장합니다.student_id AUTO_INCREMENT 속성은 새 행을 삽입할 때 이 열에 값을 지정하지 않으면 MySQL이 자동으로 고유한 값을 생성하고 삽입한다는 의미입니다.DEFAULT CURRENT_TIMESTAMP가 있는 TIMESTAMP 열은 새 레코드가 삽입될 때 자동으로 현재 날짜와 시간을 설정합니다.
 

desc 는 student 테이블 속성을 보여준다.

좌측의 student 테이블을 더블클릭해도 속성이 조회된다.

 

 

 

student 테이블 삭제 (후 새로고침)

dbname 데이터베이스 삭제 (후 새로고침)