On the Reasonable Effectiveness of Relational Diagrams.pdf

  1. Relational Diagrams Relational Diagrams(이하 RD)은 모호하지 않고 가장 완벽한 형태의 표현이다.

    Tuple Relatinal Calculus(이하 TRC)와 RD의 변환은 straightforward하다.

    Relational Calculus(이하 RC)의 논리곱은 항상 쿼리들의 Union으로 표현이 가능하다.

    이 모든것들을 쿼리로 설명하겠다.(사람들이 쿼리에 익숙하니)

    image.png

    1. AND not exist / Selet와 같은 hierarcy를 나타내는 문구를 기준으로 쿼리를 Partitioning한다. Scope기준으로 q1 / q2 / q3 이렇게 나눈다.
    2. a)에서 나눈 partition을 기준으로 attribute들을 table 근처에 배치한다. 주의할 점은 위 쿼리에서 S1, S2처럼 aliases를 사용해야한다는 것이다. for 쿼리의 모호성을 피하기 위하여.
    3. table 밑에 select 될 attribute를 배치한다.
    4. attribute간 edge를 연결하고 compare parameter도 추가한다.
    5. output 쿼리를 만들어 낸다.
    6. Union이 있다면 각 sell을 분리해서 관리하고 나중에 junction한다.

    Summary : Relational Diagram은 두 Relational calculus(관계해석) 간 변환이 가능하게 한다.

    위 예시에선 SQL 과 Block Diagram 간 변환을 보여주었다.

  2. Relational Patterns

    image.png

    Relational Pattern of Query는 해당 쿼리를 구성하는 dissociated query들을 input으로 하는 logical function이다.

    image.png

    Query(Datalog, Relational Algebra, Relational Diagram etc.)가 주어지면 해당 쿼리 안에 Table들을 dissociated 취급한다. 같은 R이더라도 R1,R2 이렇게 따로 취급한다. 이런 테이블들이 갖는 logical function을 정의한다.. but how?? 패턴을 어떻게 찾는 다는 거지에 대한 설명은 X

    그저 QLs의 syntax를 보고, 그리고 QL에 사용된 extensional DB relation을 보고 판단한다고 한다.

    Logical 하게 같은 쿼리들은 같은 pattern을 갖는다. 쿼리의 Schema가 다르다고 하면 logical하겐 다르지만 여전히 같은 pattern을 갖는다.

    하지만, logical equivalent 해도 Pattern이 다른 경우가 있다.

    image.png

  3. Pattern Expressiveness of QLs

    SQL쿼리와 Logically 같은 Relation Algebra가 있다고 했을 때, 이 둘은 pattern은 같지 않을 수 있다. 오히려 Relational Algebra는 Relational query에 비해 적은 양의 pattern을 갖는다.

  4. A Fully Reproducible User Study

    image.png

  1. 실험적 검증의 구체적 설명

논문에서 진행된 실험은 Amazon Mechanical Turk (MTurk) 플랫폼을 통해 수행되었으며, 주로 다음 세 가지 질문을 중심으로 이루어졌습니다:

  1. SQL 사용자들이 Relational Diagrams를 사용하여 일반적인 관계형 쿼리 패턴을 SQL보다 더 빠르게 인식할 수 있는가?
  2. 사용자들이 동일한 패턴에 반복적으로 노출되면서 패턴 인식 속도가 빨라질 수 있는가?
  3. Relational Diagrams와 SQL을 사용할 때 참가자들의 정확도가 유사한가?

실험은 32개의 질문으로 구성되었으며, 각 질문은 참가자에게 네 가지 관계형 쿼리 패턴 중 하나를 제시하고, 이 중에서 주어진 패턴과 가장 유사한 패턴을 선택하도록 요구했습니다. 참가자들은 Relational Diagrams형식화된 SQL 텍스트 조건을 번갈아 가며 노출되었습니다. 이러한 방식으로 참가자들이 특정 순서에 따른 영향(주문 효과)을 최소화하도록 실험이 설계되었습니다.


해당 논문 4번의 Higher accuracy 측정방법을 참고하면, SQL2NL 정확도 측정법을 알아낼 수도?

어쨌건 필자의 최종 목표는 User가 어떤 Query를 날렸을 때, 그것을 Visualize하여 해석된 내용을 다시 User에게 확인 받는 시스템이다.

Relational Diagrams are a complete and sound diagrammatic representation of safe relational calculus. They are (𝑖) proven unambiguous, (𝑖𝑖) proven relationally complete, and (𝑖𝑖𝑖) are able to represent all relational query patterns for unions of non-disjunctive queries. Our anonymously preregistered user study shows that Relational Diagrams allows users to recognize patterns meaningfully faster and with higher accuracy across different schemas than SQL. We envision a future in which a user dictates queries while interacting with a relational database, and the system visualizes the queries back, enabling the user to verify their correct interpretation.

쿼리를 쪼개는 방법을 잘 참고해야겠다. 특히, 각 Table을 dissociate한다는 부분을 참고.

그 쪼개진 Talbe로 쿼리의 Relational pattern을 파악하고 그것을 NL로 바꿀 수 있다면..?

필자는 쿼리를 RD로 바꿔서 User에게 시각화한 Data를 보여주는 것인데, 그것을 사람의 언어로 다시 표현하여 User에게 feedback을 얻을 수 있는가