[TIL] 5월 9일

yeon·2021년 5월 9일
0
스크린샷 2021-05-10 오전 12 41 11

game과 team의 관계는 무엇인가... coco의 PR을 보니 이렇게 1:1이 두번 왔다갔다 해도 괜찮다고 한다(정규화의 관점에선). 1:N이라고 하기에는 뭔가 이상한거 같다. 하나의 game의 home_team_id(또는 away_team_id)가 여러개의 team을 가질수 있는게 아니니깐....?

이전에 game 테이블 스키마에서는 home_team_id references team (id), away_team_id references team (id)라고 하면 에러가 떴는데 기능구현을 완료한 지금 시점에서는 에러없이 잘 동작한다. 스키마에서 create table A ( attribuite1 references B (id) ); 이라고 하면 B 테이블에 해당하는 클래스에 필드로 A테이블에 해당되는 클래스의 타입의 객체를 가져야 하는줄 알았는데... 지금 내 Team클래스에는 Game의 대한 정보를 갖고 있지 않는데 에러가 발생하지 않는다. 아직도 잘 모르겠다.


데이터베이스 개론

강한개체와 약한개체

개체B가 개체A에 종속되어있다.

→ 개체 A가 존재해야 개체 B가 존재할 수 있다.

→ 개체 A가 삭제되면 개체 B도 삭제되어야한다.

개체A : 강한개체, strong entity

개체B : 약한개체, weak entity

관계 데이터 모델

  • 속성 attribute
  • 투플 tuple: 개체의 인스턴스
  • 카디널리티 cardinality: 투플의 전체 개수

key의 종류

  • super key 슈퍼키: 유일성을 만족하는 속성들의 집합
  • candidate key 후보키: 유일성과 최소성을 만족하는 속성들의 집합
    • 최소성: 꼭 필요한 속성들로만 키를 구성하는 것, 하나의 속성으로 구성된 키는 최소성을 만족한다고 할 수 있음
  • 기본키: 후보키 중에서 기본적으로 사용되는 키, 투플을 식별, 테이블에서 원하는 투플을 찾기 위한 접근 방식 제공
  • alternate key 대체키: 기본키로 선택되지 못한 후보키들
  • foreign key 외래키: 다른 테이블의 기본키를 그대로 참조하는 속성의 집합, 외래키는 다른 테이블의 기본키를 참조해야한다.

오늘 한일

  • 호눅스 AWS 강의 보면서 private ec2에 접속하는 실습을 해보았다.
  • 데이터베이스 개론-관계형 데이터 모델
    • 강한 개체, 약한 개체, 투플과 카디널리티, key의 종류
  • DB와 DB설계는 어렵다.

In progress

  • 데이터베이스 개론 읽는중(~145p)

  • 생코 관계형 데이터베이스 모델링 학습중(~물리적 데이터 모델링 역정규화:컬럼을 조작해서 join을 줄이기까지)

  • 우아한테크세미나 우아한 CRUD by 정상혁&이명현님 (~45:34)

  • 자바스크립트 기초 강좌 (~22:49)

  • 호눅스 AWS 강의 (41%)

  • 인프런 김영한님 스프링 핵심원리 (43%)

  • 호눅스 DB강의 디비개론2부터 듣기

  • 백기선님 자바스터디로 자바공부 다시하기

2개의 댓글

comment-user-thumbnail
2021년 5월 10일

디비공부 화이팅!!

1개의 답글