관계형 데이터란, 데이터를 서로 상호관련성을 가진 형태로 표현한 데이터를 말한다.
모든 데이터는 2차원 테이블로 표현 되는데, 각 로우는 고유 키(Primary Key)를 가지고 있어 이를 통해 해당 로우를 찾을 수 있다.
테이블 연결에는 크게 3종류가 있다.
어떻게 테이블과 테이블을 연결하는가?
: Foreign key(외부키)를 이용하여 주로 연결한다. 위 그림에서 one to one 예에서 user_profiles 테이블의 user_id칼럼은 users 테이블에 걸려있는 외부 키라고 지정한다.
왜 테이블들을 나누어서 저장하는가?
: 하나의 테이블에 모든 정보를 다 넣으면 동일한 정보들이 불필요하게 중복되어 저장된다. 그래서 효율적으로 테이블을 나누어 연결해 사용한다. 이것을 normalization 이라고 한다.
ACID(Atomicity, Consistency, Isolation, Durability)
: 원자성, 일관성, 고립성, 지속성을 말하는데 어려운 내용이므로 다음에 자세히 공부해보겠다.
트랜잭션(Transaction)
: 일련의 작업들이 마차 하나의 작업처럼 취급뒤어서 모두 다 성공하거나 아니면 모두 다 실패하는걸 이야기 한다. 예) 송금(돈을 보냈지만 돈을 못 받거나 할 수 없다)
SQL에 대해 더 알고 싶다면,
<참조블로그> https://stackoverflow.com/c/wecode/questions/147/148#148