2016-11-09 15 views
0

SQL에서 양방향 테이블이 무엇인지 알고 싶습니까? 양방향 테이블을 어떻게 읽습니까?

그리고 난이 양방향 테이블을 읽을 수있는 방법을

+0

[이 게시물] (http://stackoverflow.com/questions/6040991/select-a-two-way-table-in-mysql) 도움이 될 수 있습니다. – Vikrant

+0

당신은 데이터베이스 상속에 대해 이야기하나요? u plz 명확히 ..... ..... – PSabuwala

+0

실제로 나는 데이터베이스 상속, 그래서 나는 데이터베이스의 새로운 오전 오전 모르겠다. 최근 한 인터뷰에서 인터뷰 담당자가 양방향 테이블에 대해 묻습니다 – johnwalker10

답변

1

양방향 테이블 데이터를 저장 의 방법은 없지만, 데이터를 표시. 데이터 저장 방법에 대해서는 아무런 언급이 없습니다.

의 우리가 자신의 IQ 그들이 살고있는 나라와 함께 사람을 저장한다고 가정 해 봅시다 표는 다음과 같이 할 수 있습니다.

 
name   iq country 
John Smith 125 GB 
Mary Jones 150 GB 
Juan Lopez 150 ES 
Liz Allen 125 GB 

양방향 테이블이 될 것 IQ와 나라 사이의 관계를 표시하려면

 
    | 125 | 150 
---+------+---- 
GB | 2 | 1 
ES | 0 | 1 

또는 데이터베이스에서 데이터를 검색하기 위해

 
    | GB | ES 
----+-----+--- 
125 | 2 | 0 
150 | 1 | 1 

select iq, country, count(*) 
from persons 
group by iq, country; 

SQL은 데이터를 검색하기위한 것입니다. 그것은 실제로 프리젠 테이션, 레이아웃에 관심을 갖는 것이 아닙니다. 그래서 당신은 데이터베이스에 질의를 보내고, 데이터를 받고, 루프에서 GUI 그리드를 채우는 프로그램 (PHP, C#, Java 등)을 작성합니다.

드물 긴하지만 SQL은 레이아웃 자체를 제공 할 수 있습니다. 즉, 열과 행의 데이터를 제공 할 수 있습니다. 이것은 한 차원의 속성을 미리 알고있는 경우입니다. 이것은 일반적으로 주어진 예와 같이 IQ 나 국가에서는 해당되지 않습니다 (예를 들어 표시하지 않은 경우 어떤 국가와 어떤 IQ가 테이블에 있는지 알지 못합니다). 그러나 물론 국가 또는 IQ 중 하나를 검색 한 다음 주 쿼리를 동적으로 작성할 수 있습니다 (조건부 집계 또는 피벗을 사용). 미리 값을 알고있는 또 다른 경우는 부울 값입니다 (예 : 사람이 노숙자인지 여부를 나타내는 사람 테이블의 플래그. 국가의 노숙자 수에 대한 결과를 원한다면 집없는 노숙자가 아닌 두 개의 열이있는 쿼리를 쉽게 작성할 수 있습니다.

언급 한 바와 같이 양방향 테이블의 데이터를 표시 할 수는 있지만이 데이터의 저장 방법에 대해서는 아무런 언급이 없습니다. 위의 표는 하나의 표를 보여줍니다. 그러나 많은 도시에 상점이 있고 어떤 도시가 더 얇거나 더 두꺼운 사람들로 살고 있는지 알고 싶다고합시다. 어떤 도시에서 판매 된 티셔츠 크기를 확인하기로 결정했습니다. 그래서 당신은 고객의 주문을 받고 그들이 사는 도시와 고객을 찾으십시오. 또한 주문 세부 사항과 그들이 참조하는 항목을 찾은 다음 모든 유형의 티셔츠를 가져갑니다. 많은 테이블이 관련되어 있지만 결과는 다시 두 속성의 관계를 보여주는 양면 테이블입니다. 예 :

 
city  | S | M | L | XL 
------------+-----+-----+-----+----- 
New York | 5% | 8% | 7% | 10% 
Los Angeles | 10% | 7% | 7% | 8% 
Chicago  | 1% | 4% | 6% | 11% 
Houston  | 2% | 2% | 5% | 7%