2014-09-07 3 views
0

SQL 쿼리 결과에 새 열을 만들 수 있습니까? 여러 사용자를 처리하기 위해 내 영화 데이터베이스를 확장 할 생각입니다. 제목 유형 플롯 등급 발표 연도와 같은 기본 영화 세부 정보가있는 표가 있으며 사용자가 시청 한 것으로 표시된 영화의 영화 ID 및 사용자 ID 목록이있는 표가 있습니다. 사용자 목록을 생성하고 해당 사용자가 시청했는지 여부를 표시하고 싶습니다.SQL 결과에 새 열 만들기

예 이 매트릭스는 행렬 지켜 2 또는 매트릭스 2 해제 지켜

을하거나 영화 IDS 나다 사용자의 아이디어와 상태의 목록이있는 테이블을 만들 수있는 더 좋은 생각이 될 것입니다 기둥?

답변

1

당신은이

이 테이블은 사용자 ID를 포함하고 난 당신이 지켜 경우가있다 (상태 열을 필요가없는 생각

을 movieID해야 Many-to-Many 테이블 관계 새 테이블

을 추가해야합니다 줄/없으면 아무 것도 없음)

+0

나는 그 일을 할 수 있음을 알았지 만, 그 일이 최선의 방법인지 아닌지는 몰랐다. 도와 주셔서 감사합니다. – user2537388

+0

확실하게 최상의 솔루션입니다. – maskacovnik

+0

이것은 관계형 데이터베이스에서 가장 현명한 방법입니다. 그것은 다른 방법으로 (다소 덜 표준화 된) 할 수 있지만, 필요할 경우, 그것을 알 수 있습니다. :) – PawelP

2

그래서 사용자와 영화가 있습니다. 사용자가 여러 영화를 볼 수있었습니다. 많은 사용자가 하나의 영화를 볼 수있었습니다. 즉, many-to-many 관계가 입니다.

표준 문제입니다. 해결책 :

  1. movies 테이블 - 영화 ID, 제목, 형식 등 - 당신이있어 이미
  2. users_to_movies - 사용자 ID, 영화 ID, 상태 (감시하지 않을 경우 또는 예를 들어 날짜가 NULL, 감시), 어떤 필요한 경우 다른 데이터
  3. users - 사용자 아이디, 이름, 성, 이메일 - 당신이 필요로하는 모든 것. (user_id, movie_id)

users_to_movies의 기본 키는 두 개의 열로 구성된 복합 키이다.

테이블 users_to_movies연관 테이블입니다. 이것은 many-to-many 관계에있는 두 테이블 사이의 "다리"입니다.

예 : 9월 4일 오후 6시에 ID를 5 보았다 매트릭스 2 (ID 12 표 movies에서)와

사용자. 그래서 너 INSERT INTO users_to_movies VALUES(5, 12, '2014-04-09'). 사용자 ID 2가 Matrix 2를 보지 않은 정보를 저장하려면 (2, 12, NULL을 삽입하십시오.

관련 문제