2014-10-25 1 views
0

이제 저는 이것이 매우 광범위한 질문이라는 것을 알고 있습니다. 그래서 나는 광범위한 대답을 기대합니다. 나는 옳은 방향으로 조종하려고한다. 간단히 말하면 사용자가 프로필에 특정 데이터를 포함시키고 해당 데이터를 입력 한 다른 사용자와 일치시켜 "일치"를 생성 할 수있는 웹 사이트를 만들려고합니다. "화학"에 가장 적합한 사용자와 일치하는 데이트 사이트와 비슷합니다. 그러나 이보다 더 간단합니다. NetBeans에서 코딩 경험을 갖고 있으며 웹 사이트 개발에 대한 지식을 지속적으로 확장하고 있습니다. 예를 들어제출 한 정보를 기반으로 사용자를 맞춰보십시오

:

101, 102 and 103 = MATCH 
User A - Data [User lists they have 101] 
User B - Data [User lists they have 102 and 103] 

어느 사용자 A 또는 B가 사용

은 및 테이블 또는 열 목록 "당신의 설정을 완료 사용자 찾기"사용자가 사람들이 세트를 완료했다.

누군가가 올바른 방향으로 나를 안내 할 수 있다면 크게 환영 할 것입니다. 나는 Webs.com에서 몇몇 웹 사이트를 만들었지 만, 나는 그들의 도구가이 필요를 채우는 것과 비슷한 것을 가지고 있다고 믿지 않는다. 필자는 Java (NetBeans와 유사)를 사용하여이 일치 시스템을 프로그래밍하고 웹 사이트에 구현하려고합니다. 고마워요 !!!

+0

데이터베이스를 사용 하시겠습니까? –

+0

그게 최선의 루트라고 생각합니다. 나는 처음부터 웹 사이트를 구축 한 적이 없다. 나는 잠시 동안이 목표를 연구 할 것이다. 나를 보내주기위한 좋은 기반이 필요합니다. –

+0

'JDBC'에 익숙합니까? SQL 쿼리를 작성할 수 있습니까? –

답변

0

데이터베이스를 사용하여 사용자를 저장하고 가능한 모든 특성 집합을 완성하여 일치시킬 수도 있습니다. PostgreSQL을 사용하여 데이터베이스를 만드는 한 가지 방법은 다음과 같습니다.

create table person (
    id int primary key, 
    first_name text not null, 
    attributes text[] 
); 

create table match (
    id int primary key, 
    attributes text[] 
); 

insert into person values (1, 'Bob', array['A']); 
insert into person values (2, 'Alice', array['B','D']); 
insert into person values (3, 'Carol', array['B','C']); 
insert into person values (4, 'Ted', array['D']); 
insert into match values (1, array['A','B','D']); 

나는 연결 표를 사용하지 않고 덜 자세하게 배열을 사용하고 있습니다. 이제 모든 사람을 찾을 수 다음 쿼리를 실행하여 예를 들어, 앨리스에 대한 완전한 세트 # 1 :

select 
    id, 
    first_name 
from 
    (select 
    p2.id as id, 
    p2.first_name as first_name, 
    array(  
     select unnest(p1.attributes) union select unnest(p2.attributes) 
    ) as match_potential 
    from 
    person p1 
    inner join person p2 on (p1.id = 2 and p2.id <> 2)) as p 
where 
    p.match_potential @> (select attributes from match where id = 1); 

밥과 앨리스는 이제 일치합니다.

최종적으로 좀 더 정교한 작업을해야하지만이 경우 웹 사이트에서 시작할 수 있어야하며 개념을 테스트하는 데 사용할 수있는 첫 번째 프로토 타입을 만들 수 있어야합니다.