본문 바로가기

카테고리 없음

관계형데이터베이스 조인, 자바스크립트 불변성 개념

[관계형데이터베이스 - RDBMS] 

JOIN - 여러 개의 표로 분산된 정보를 결합해서 하나의 단일한 표로 만드는 기술. 관계형데이터베이스의 핵심 (각각의 테이블들을 ★붙인다★ = 조인)

특정 테이블에서 정보의 중복이 발생할 때, 그리고 특정 테이블의 정보들이 다른 테이블에서 사용될 때 - 테이블을 따로 나눌 타이밍

trade-off)
정보를 하나의 테이블로 표현할 때 - 읽기가 편하지만 쓰기(변경)가 나쁘다
정보를 다수의 테이블로 표현할 때 - 읽기가 불편하지만 쓰기(변경)가 좋다

sql joins visualize - 조인 시각화 사이트

LEFT (OUTER) JOIN 쿼리
----------------------------
SELECT * FROM TableA A
LEFT JOIN TableB B ON
A.key = B.key
----------------------------
A테이블을 왼쪽에 놓고 B테이블을 오른쪽에 놓고 결합을 하는데
기준은 A의 포린키 그리고 B의 프라이머리키

[JAVASCRIPT]

어떤 언어든, 함수를 만들어서 쓸 때는 함수가 호출되는 횟수를 최대한 줄여주는 게 좋다 (성능을 높이기 위해)

데이터 불변성: 새로운 원시 데이터를 사용했을 때 만일 그 원시데이터가 기존 메모리 주소에 들어있다면 그 원시데이터를 새로운 메모리에 새롭게 만드는 것이 아니라 기존에 존재하던 메모리 주소만 바라보도록 만들어주는 거. (원시데이터 - 문자열, 숫자, 불리언, undefined, null). 즉, 원시데이터는 한 번 메모리에 만들어지면 더이상 새롭게 만들어지는 게 아니고 항상 불변한다는 개념 

그런데 참조형 데이터는 불변성이 없다. 가변하는 데이터임. 참조형 데이터는 선언할 때마다 새로운 메모리 주소에 참조형 데이터들이 할당될 수 있으므로, 생김새가 똑같더라도 서로 같은 데이터가 아닐 수 있다.

그래서 참조형데이터를 사용할 때 조심해야 건, 같은 메모리를 바라보고 있는 여러개의 변수들이 있을 때, 하나의 변수 값만 수정하더라도 의도하지 않게 다른 변수들의 값들까지 수정을 할 수도 있다는 점. 

할당 연산자는 결국 우변에 있는 걸 복사해서 새로운 데이터를 집어넣는다는 게 아니고, 단순하게 메모리 참조 주소만 같은 곳을 바라보게 만드는 역할을 한다. 

 

화살표 함수에서 축약형으로 데이터를 반환할 수 있는데,
객체데이터의 경우 {} 중괄호를 통해서 만들기 때문에
코드블록의 {}로와 겹치는 문제가 있다.
그래서 객체데이터를 축약형으로 반환하고 싶을 때는
()소괄호로 한 번 감싸주고 그 안에 객체데이터를 작성하면 된다. 

 

-함수와 메소드의 차이점

https://velog.io/@yejin20/Python-%ED%95%A8%EC%88%98%EC%99%80-%EB%A9%94%EC%86%8C%EB%93%9C%EC%9D%98-%EC%B0%A8%EC%9D%B4%EC%A0%90