MY SQL에서 데이터베이스 ERD 생성하기
mysql newmodel 버튼 , 이름 변경
add diagram
forward engineer 설계 구현 (내가 만든 ERD를 바탕으로 데이터베이스에 테이블을 생성해준다)
위치 정해주고 sql들어가면 테이블 생성됨(관계형 데이터베이스)
테이블 2개 생성 1:n 연결
기본 키(Primary key) :
- 각 테이블에는 1개만 지정 가능 —> 테이블을 나타내는 id 같은것.
- 데이터를 구분하는 식별자로 사용된다 .
- 무조건 NOT NULL값이다. NULL 값 허용 X ⇒ 식별자는 꼭 필요하기 때문에.
- 연결되는 두 테이블중 기준이 되는 테이블에 위치한다.
외래 키(Foreign key) :
- 각 테이블에 여러개가 지정이 가능하다.
- 외래키는 두 테이블 사이의 관계를 연결해준다 ⇒ 참조하기 위한 키
- 연결되는 두 테이블 중 참조테이블에 위치한다. (참조를 해야하는 테이블)
1 대 1 관계 : 하나의 테이블은 하나의 관계만을 가지는 것
1 대 n 관계 : 한 쪽 엔티티가 관계를 맺은 엔티티쪽의 여러 객체를 가질 수 있는 것
- 이 때 여러 객체가 있는 쪽의 엔티티는 어떤 엔티티값에 속해있는지 표현할 수 있게 해야하기 때문에 부모 테이블의 PK값을 자식 테이블에 FK값으로 집어 넣어 관계를 표현한다.
N 대 M 관계 : 양쪽 엔티티 모두에서 1:N 관계를 가지는 것
- 이 때는 서로가 서로를 1:N 관계로 갖고 있기 때문에 서로의 PK를 자신의 외래키 컬럼으로 가지고 있으면 된다.
- 이 때는 일반적으로 두 테이블의 대표키를 컬럼으로 갖는 또 다른 테이블을 생성해서 관리한다.
여기서 관계형 테이블을 그릴 때 각 엔티티의 관계를 설명할 때 Barker 표기법을 사용한다.
ERD 다이어그램이란?
엔티티 관계 다이어그램의 약자.
데이터베이스에 저장 될 데이터 엔티티들과 엔티티 간의 관계를 시각적으로 표현한다.
ERD는 데이터베이스 설계의 초기 단계에서 개념적 모델을 만드는 데 사용됨.
ERD를 통해 데이터베이스 구조를 시각화 할수 있어 개발자와 설계자 간의 의사소통이 원할해지고 , 데이터베이스 구조의 논리적 모순을 조기에 발견할 수 있다.
시험문제 5번
외래키 값 변경 옵션 cascade 설정해주기 !!
CASCADE : 외래키가 있는 테이블이 참조하고 있는 테이블의 참조 키 값을 변경하면 참조 테이블의 값도 같이 변경되게 하는 것. 이를 함으로써 데이터 참조의 무결성을 준수할 수 있다.
리눅스 우분투 다운
OS (Operating System)
VirtualBox 다운후에 우분투 iso 파일 추가
여기서 할당된 네트워크 ip들이 네트워크 설정에서 보면 이더넷에 할당이 되어있다. 그러면 이제 사용할 때는 이 만든 ip 외에 나머지를 사용해야 한다.
이 때를 위해 초반 네트워크 이론을 배운건가..
시간대별 수업내용
오전 : 초반에는 DRAW.IO 로 관계형 테이블만들기를 계속 했었다. 강사님께서 같은 줄 사람들과 의논해보면서 생각하며 관계형 테이블을 만들어보라 했는데 너무 조용한 분위기 속에 내가 있던 줄만 얘기하니까 뭔가 눈치보여서 문제가 잘 안풀어졌다 ㅋㅋ.
그러고 10시 정도부터는 MYSQL 에서 ER 다이어그램 만들기를 했다. 나중에 시험에 나온다고 하니 까먹지 말고 잘 기억해두도록 하자.
오후 : 리눅스를 배우기 위해 Oracle Virtual machine VirtualBox 를 다운받았는데 좀 우여곡절이 많았다. 아직 컴퓨터 포맷이 안되서 그런가 어떤 컴퓨터는 오류가 나고 어디는 느려가지고 다운도 안되고 (나도 그랬음) 그래서 우분투 다운받아서 설정하고 실행하는데만 오후를 다 썼다.
p.s 여기서 헷갈렸던건 관계 테이블을 만들 때 관계 테이블이 PK값 대신 FK값을 PK값으로 사용했을 때의 상황이 좀 헷갈렸다.
이게 무슨 뜻이냐 관계 테이블은 양쪽의 참조 테이블을 참조하고 있으므로 관계 테이블의 PK값은 참조 테이블의 FK값이 된다는 뜻이었다 ~
EX.)
'Developer Note > 국비과정 수업내용 정리&저장' 카테고리의 다른 글
24년 08월 08일 (0) | 2024.08.08 |
---|---|
24년 08월 07일 (0) | 2024.08.07 |
24 년 07월 31일 (0) | 2024.08.07 |
24년 08월 2일 (0) | 2024.08.06 |
24년 08월 1일 (0) | 2024.08.06 |