SQL
[생활코딩] 관계형 데이터 모델링 (26-32강의 : 물리적데이터 모델링/역정규화)
26.물리적 데이터 모델링 논리적 데이터 모델링이 관계형 데이터베이스에 맞는 이상적인 표를 만드는것이라면 물리적 데이터 모델링은 이상적인 표를 구체적인 제품에 맞는 현실적인 표를 만드는것. 특히 이단계에서 중요한 것은 성능이다. 지금부터 어떻게성능을 향상시킬수있는지에 대한 이야기를 해볼것임. 운영을 조금이라도 해보는것. 데이터가 쌓이고 처리량이 많아져야 분별력이 생기고 적당한 시점에서 각 쿼리의 성능을 평가해보고 병목이 발생하는 지점을 집중적으로 해결하는 거이 바람직하다고 생각한다. 이때 사용해볼 방법은 슬로우 커리라고해서 여러가지 쿼리가 동작할때 특히 느려지는 쿼리가 있을텐데 이걸 찾을수있는게 제품마다 다르다. 우리가 사용하는 데이터 베이스 제품에 이름을 붙여서 검색하면 어디서 병목이 발생하는지 찾을수..
[생활코딩] 관계형 데이터 모델링 (22-25강의 : 정규화)
22.정규화 소개 관계형 데이터 베이스의 부모인 에드가 프랑크 커드 박사는 평범한 사람도 그가 제안하는 방법을 적용하기만 하면 천재적인 표를 만들수있는 레시피를 개발함. 이 레시피를 한국어로는 정규화, 영어로는 normalization이라고 함. normalization이라는 것은 정제되지 않은 데이터를 다시 말해서 표를 관계형 데이터 베이스에 어울리는 표로 만들어주는 레시피 이다. 위키피디아에서 가져온 표 Unfortunately, 1nf, 2nf이런거 이중 unf는 un normalize form이라고 해서 정규화가 적용되어있지 않은 형태의 표를 의미 그리고 1nf라는 것은 first normal form이라고 해서 제1 정규형이라고 부름. 이 두가지 사이의 차이점은 atimic columns라고 하..
[생활코딩] 관계형 데이터 모델링 (15-21강의 : 논리적 데이터 모델링)
15.부록 (erd.yah.ac) - 간단하게 다이어그램을 만들어주는 웹사이트 16.논리적 데이터 모델링 데이터 모델링을 여러사람이 분업한다면 최고의 실력자는 개념적 데이터 모델링에 배치해야된다. 개념적 데이터 모델링은 순서상으로 논리적 앞에 있지만 그것은 제일 쉽기 때문이 아닌 제일 어렵고 중요하기 때문이다. 개념적 모델링이 잘되어있다면 논리적 모델링은 기계적인 일이다. 개념적 모델링이 업무에서 개념을 뽑아내는 일이라면 논리적 데이터 모델링은 그렇게 뽑아낸 개념을 관계형 데이터 베이스 패러다임에 어울리게 데이터 형식을 잘 정리정돈 하는 것. 이과정에서는 구체적인 데이터베이스 제품의 특성이나 성능과 같은 것은 크게 신경쓰지 않는다. 대신 관계형 데이터 베이스 패러다임에 어울리는 가장 이상적인 모습으로 개..
[생활코딩] 관계형 데이터 모델링 (8-14강의 : 개념적 모델링)
8. 엔티티 정의 앱을 하나의 건물이라고 하면 ui는 옥상,db는 지하 . ui와 db사이를 원인과 결과의 관점에서 한번 생각해보자 ui가 원인이 되어서 db의 데이터를 변경하는 결과를 낳고 데이터라는 원인에 의해서 ui에 내용이 표시되는 결과를 낫는다. 즉 사용자가 마주하는 ui와 컴퓨터에 저장되는 데이터는 서로 원인과 결과의 관계에있다고 할수있다. 원인과 결과를 번갈아가면서 순차적으로 점검하지 않는다면 좋은 모델링이 나오기 어렵다. 그런점에서 기획자와 구현자가 다르다면 데이터 모델링까지는 최소한 함께 동행하는 것이 이!상!적! 데이터 모델링은 기획에게 또 기획은 데이터 모델링에게 놓치면 안되는 중요한 틈을 보여주는것과 같다. ✓제일 먼저할 일은 기획서에서 엔티티를 찾아내는 것이다. 본능적으로 연관된 ..