나는 관계형 데이터베이스가 한 테이블의 필드가 다른 테이블의 행에 연결되어있는 데이터베이스라는 것을 알고있다.'관계형 데이터베이스'의 '관계형'은 우리에게 어떤 의미입니까?
그러나 나는 웹 개발자로서 나를 위해 그것이 무엇을 의미하는지 이해할 수 없다!
아시다시피 조인과 중첩 된 선택을 사용한 쿼리는 성능 (특히 수십 개의 조인이있는 Drupal 스타일 쿼리)을 줄일 수 있습니다. 더군다나 DB에 대한 쿼리는 병목 현상이므로 모든 선택 요청을 캐시해야하는 사용자가 많습니다.
모든 선택 요청을 캐시하면 복잡하지 않고 간단한 요청을 캐시하는 것이 좋습니다. "select * from tbl1 where id = 123"및 "select * from tbl2 where id = 456"또는 "select * from tbl1, tbl2 where ..."를 캐시 할 수 있지만 두 번째 방법을 선택하면 개체의 모든 조합을 캐시해야합니다.
좋아, 이제 "select id from 123"에서 "select tbl1 from id limit 0, 30"을 선택하고 캐시합니다 (또는 첫 번째 유형 만 캐시 할 수 있습니다 쿼리의, 뭐든간에). 쿼리와 덜 단순한 INSERT, DELETE 및 UPDATE가 모두 우리가 필요로하는 것과 우리가 사용하는 모든 것입니다!
모든 관계형 논리는 SQL이 아닌 응용 프로그램의 기본 언어에 있습니다. 그래서, 왜 우리는이 모든 관계적인 것들을 필요로합니까? 그게 무슨 뜻이야? "관계형"유형은 다른 유형이 갖고 있지 않지만 필요한 것은 무엇입니까? 관계형 기능을 사용하지 않는다면 성능을 중요하게 생각하더라도 모든 사용자가 MySQL 또는 관계형 데이터베이스를 사용하는 이유는 무엇입니까?
이 유형의 데이터베이스가 표준이되었습니다. 왜? 나는 단서가 없다. 필자는 GAE의 기능을 제외한 비 관계형 데이터베이스를 사용하는 사람에 대해 거의 들어 본 적이 없습니다.
내가 누락 된 항목이 있습니까?
데이터베이스에 대한 책을 구입하고 정규화에 대해 읽어보십시오. –
@Ken White, 사이트에서 모든 질문을 열고 "[topic]에 대한 책을 사서 그것에 대해 읽어보십시오"라고 적어보십시오. –
* 정규화 *가 유일하기 때문에 * 정말 * 중요합니까? –