나는 관계형 데이터베이스를 이해하기위한 적어도 두 가지 다른 이론적 접근법, 즉 Codd의 관계형 대수 / 미적분학 및 범주 이론을 알고 있습니다.
이 두 접근법 사이에 어떤 관계가 있습니까? 그것들은 어떤 의미에서 동등합니까? 이 두 프레임 워크가 관계형 데이터베이스를 설명하는 방법을 설명하는 입문 작업이 있습니까?
배경 : 얼마 전에 나는 데이비드 스피 바크 (David Spivak)의 과학자 들을 위한 범주 이론 (Category Theorys for Scientists) 을 읽었 습니다. 그러나 관계형 데이터베이스가 무엇인지 또는 왜 유용한 지에 대한 개인적인 경험이 거의 없었습니다. 당시이 책에서 찾은 깊이있는 통찰력을 충분히 이해하지 못했습니다.
그러나 최근에는 dplyr 과 data.table 데이터 조작을위한 SQL 쿼리와 두 개의 R 패키지에 대해 배웠습니다 . SQL은 Codd의 관계형 대수 / 미적분 / 모델의 많은 아이디어 를 표현할 수 있지만 전부는 아닙니다 . 또한 dplyr의 저자 인 Hadley Wickham 은 패키지의 기본 철학은 관계형 대수에 대한 Codd의 작업과 data.table 의 기본 명령을 기반으로 한다고 명시 적으로 언급 했습니다.
또한 범주 이론은 Haskell과 같은 함수형 프로그래밍 언어를 사용하는 많은 프로그래머에게 영향을 미친다는 것을 알고 있습니다. 그러나 Hadley Wickham의 R에 대한 purrr 패키지, Apache Spark 가 Scala 로 작성된 사실 및 MapReduce 관련 기술 외에 데이터 조작 또는 데이터 과학에 기능 프로그래밍을 사용 하고 있다는 사실을 실제로 알지 못합니다. .
이 모든 종류는 카테고리 이론과 Codd의 관계형 대수 / 미적분학 사이에 어떤 종류의 관계 가 있어야한다고 제안 하지만, 나는 그러한 연결을 명시 적으로 만들거나 대중적인 데이터 조작에서 디자인 결정의 기초가되는 방법을 설명하는 사람은 결코 들어 본 적이 없습니다. 관계형 데이터베이스 기술. 그래서 나는 내가 완전히 틀렸다고 생각합니다.
편집 : 분명히 David Spivak은 " FQL (functorial query language) "에서 작업했습니다. 이것은 이론적 연결의 적용이 될 수있는 것처럼 들린다.
참고 : "관계형 구조"가 관계형 데이터베이스 또는 관계형 대수 / 미적분학에 대한 적절한 태그인지 확실하지 않습니다. 이 Wikipedia 기사 는 그것들이 연결될 수 있다고 제안하지만 궁극적으로 "관계 구조"라는 문구가 무엇을 의미하는지 모르겠습니다. 태그를 다시 지정하십시오.