DBeaver/실습

foreing keys 연결과 여러 테이블 join , left join실습

qoeka 2024. 12. 3. 23:10

 

1.foreing keys 연결

 

movie_db의 테이터 베이스안에 table을 만들어 주었다.

 

하지만 이렇게 여러게의 테이블들은 서로의 정보를 공유하고 있는 상태는 아니기에 이를 연결 시켜주기위해

forening keys를 연결시켜 주겠다. 

 

 

 

 

 

 

 테이벌 컬럼에 들어가서 컬럼생성된 왼쪽에서 3번째에 foreign key 를 누른 뒤 오른쪽 버튼을 눌러 새로생성을 눌러주면 위와 같은 화면이 뜬다 지금 나는 리뷰테이블에 있다라는 걸 알려주는게 1번인것이다

 

그리고 2번이 속한 박스안은 내가 연결하고 싶은 테이블명을 선택하는 박스이다 위처럼 2번의 user 를 선택했다

 

3번은 2번에 선택한 테이블의 컬럼명이 나오는 곳이다. 그리고 유저 아이디의 정보를 불러오기 위해서는 유저아이디와 연결시켜야하기에 미리 만들어둔 userId와 연결시키는 것이다. 

 

이런식으로 forenig keys 를 내가 연결하고싶은 곳과 연결을 반복해서 연결하면 된다.

 

 

 

 

위와 같이 foreign keys 를 연결 시키면 아래와 같이 연결이된다. 

 

 

 

이렇게 foreign keys 를 쓰는 이유는 데이터의 무결성과 정합성을 유지하며 중복데이터의 효율적 관리,테이블 간의 관계명확화, 자동화된데이터 관리 기능 코드의 복잡성을 감소시키기에 이를 통해 데이터베이스 관리가 더욱 효율적이고 안정적으로 이뤄질 수 있기때문이다.

 

 

2. join 실습

 

 

user 의 정보에는 별점이 없기에 review 를 나머지 두개에는 영화제목이 없기에 movie를 연결시켜 주었다.

 

그러니 내가 원하는 정보들을 전부 불러올 수 있었다.

 

 

영화제목과 별점 평균을 불러 오기 위해서 join을 썻다

 

하지만 그냥 join 이 아닌 left join을 썻다. 왜냐하면 영화는 존재할 수 있지만 리뷰는 존재 할 수 없기 때문이다

join공통된 정보만을 불러오는 반면 left join공통되지 않은 정보들도 전부 불러오기에 left join을 쓴것이다.