2020-04-03 TIL

할 일 목록

  1. 논리학 추론 규칙 4개에 해당하는 내용을 복습한다.
  2. 컬렉션과 스트림 복습.
  3. DB 이전 스터디 들으면서 정리하기(절반)
  4. 시나리오 만들기
  5. 논리게이트 공부하기
  6. 트리 공부

완료하지 못한 목록

완료 목록

  • 컬렉션과 스트림 복습.
  • 논리학 추론 규칙 4개에 해당하는 내용을 복습한다.
  • 시나리오 만들기
  • DB 이전 스터디 들으면서 정리하기(절반)
  • 트리 공부

DB 스터디 정리 내용

테이블은 attr 의 집합인 hedding 과 일치하는 튜플들의 집합이다. 이떼 릴레이션의 관계는 튜플들의 관계가 있다는 의미임. 헤딩의 attr을 만족하는 관계를 갖고 있다. 릴레이션이 릴레이션들 사이의 관계를 이야기 하는게 아니라 ㄹ릴레이션 내의 튜플들이 관계가 있다는 뜻이다. 헤딩에 있는 attr가 그 튜플에는 다 나와라는 뜻이다.

튜플을 집합의 개념으로 넣기 위해선 튜플을 대표하는 하나의 값으로 만들어야 된다. 그래서 우리는 유니크 키값을 그 튜플의 대표값으로 쓰고 중복되지 앟도록 하나의 대표하는 값으로 만들어준다.

집합은 독립되어 있고 중복되지 않은 값들만 포함할 수 있고 만약 릴레이션을 집합으로 사용하기 위해선 각각의 튜플이 하나의 값으로 대표했을때 중복되면 안된다.

집합에 나오는 수학적 이론을 사용하기 위해선 무조건 튜플이 하나의 값으로 치환 됬을때 중복 되지 않게 릴레이션 안에 포함되있어야되를 만족해야함. 이게 집합의 이론에서 배울 수 있는 가장 중요한 점이다.

restrict는 부분 집합이기 때문에 원래의 헤더를 공유하고 있음. 원래의 릴레이션의 헤더를 변경할 필요가 없는 릴레이션이다.그래서 sql의 where 절에 들어간다. Sql select에 들어가지 않아도됨. sql에서 릴레이션을 지정할 때 From으로 지정을 한다. 근데 왜 where절에 들어가도 되냐면 헤더가 일치하기 때문이다. where 조건으로 줋이면 릴레이션의 header가 일치하기 때문에 from절에 있는 애의 헤더를 이어받는다. 왜 restrict만을 위한 where 가 있냐면 릴레이션 헤더가 똑같기 때문에 from 뒤의 where로 들어갈 수 있는것임. From where은 from에 있는 릴레이션이 일치하는 헤더가 일치하는 릴레이션의 부분집합을 where에 있는 수식으로 줋이는 것임.

나머지 extend나 projection 모두 셀렉트 문에 들어간다. select문에 들어가는건 relation의 heading을 바꾸는 것이다.

join을 해도 릴레이션의 헤딩이 변하진 않음 . 릴레이션은 select 구문에 join한 테이블에 필드를 등장시킬때만 바뀜

UNOIN을 쓴다고 하더라도 select 구문에 관여하지 않음. 이미 존재하는 릴레이션에 합산을 했기 때문이다.

헤딩을 변경하는거에 따라 연산의 종류가 달라진다는게 핵심

Alias 는 결국 DB에서 제공하는 키워드며, 릴레이션의 헤딩의 속성을 변경하는 것임.

5Fs

1. Fact

  • 졸업 프로젝트 유즈케이스와 시나리오를 만들었다.
  • 추론규칙 마지막 4가지를 복습했다.
  • 컬렉션과 스트림 부분을 다시 복습했다.
  • DB 스터디 내용을 다시 들으면서 복습했다.

2.Feelings

  • 점점 시간을 효율적으로 사용하지 못하고 있는것이 느껴진다.
  • 좋지 못한 자세와 운동 부조긍로 인해 몸이 점점 뻐근하다.
  • 그래도 오늘 할 계획을 다 해서 기분이 좋다.

3.Findings

  • nand 게이트로 and와 or 게이트 표현하는 방법을 알게되었다.
  • stream은 연산중에 collection을 변경하면 문제가 발생한다. 중간 연산은 연산을 지연하기 때문에 괜찬지만 stream 내에서 collection을 건들면 안된다.
  • 복습을 하면 정말 몇일전에 공부한건데 기억이 안나는걸 알게되었다.

4.Future Action Plan

  • 양화논리 끝낸다.
  • 자료구조 tree를 공부한다.
  • 졸업 프로젝트 유저스토리를 만든다.
  • pos 프로그래밍을 진행한다.

5.FeedBack


Written by@Zero1
This blog is for that I organize what I study and my thinking, feeling and experience.

GitHub