반응형

ms sql 16

5.1.4 AddCandidate 저장 프로시저

5.1.4 AddCandidate 저장 프로시저 이제 수집 대상 페이지 주소를 추가하는 AddCandidate 저장 프로시저를 만듭시다. 입력 인자로 수집 대상 페이지 주소와 Seed 사이트에서의 상대적 깊이를 인자로 받습니다. CREATE PROCEDURE dbo.AddCandidate ( @Url varchar(200), @Depth int ) 그리고 저장 프로시저에서는 NeedCollectUrl 저장 프로시저를 이용하여 수집이 필요한 페이지인지 확인하여 필요하면 CandidateTable에 추가합니다. Declare @Need int Exec NeedCollectUrl @Url, @Need OUTPUT if @Need = 1 begin insert into CandidateTable values(@..

5.1.3 NeedCollectUrl 저장 프로시저

5.1.3 NeedCollectUrl 저장 프로시저 이번에는 수집할 필요가 있는 페이지인지 확인하는 NeedCollectUrl 저장 프로시저를 만듭시다. 입력 인자로 페이지 주소와 OUTPUT 유형으로 수집할 필요가 있는지 여부를 결정하는 인자가 필요하겠죠.CREATE PROCEDURE dbo.NeedCollectUrl ( @Url varchar(200), @Need int OUTPUT ) 저장 프로시저의 알고리즘은 이미 작성한 ExistedCandidate 저장 프로시저를 이용해 존재하는 페이지 주소인지 확인합니다. 존재 여부를 확인하기 위한 변수를 선언해야겠죠.Declare @Existed intExec ExistedCandidate @Url, @Existed OUTPUT 만약 존재하지 않으면 Exi..

5.1.2 ExistedPostedUrl 저장 프로시저

5.1.2 ExistedPostedUrl 저장 프로시저 이번에는 이미 수집한 페이지인지 확인하는 저장 프로시저를 만들어 봅시다. 저장 프로시저 이름은 ExistedPostedUrl로 합시다. 입력 인자로 페이지 주소를 받고 OUTPUT 유형의 인자로 존재 여부가 필요합니다. CREATE PROCEDURE dbo.ExistedPostedUrl ( @Url varchar(200), @Existed int OUTPUT ) 저장 프로시저 내부에서는 PostedUrlTable에 입력 인자로 받은 Url이 있는지 확인한 결과를 존재 여부를 결정하는 인자에 설정합니다. 앞에서 작성한 ExistedCandidate 저장 프로시저와 테이블 이름만 차이가 있어 하나의 저장 프로시저로 일반화할 수 있지만 여기에서는 일반화하..

5.1.1 ExistedCandidate 저장 프로시저

5.1.1 ExistedCandidate 저장 프로시저 ExistedCandidate 저장 프로시저는 입력 인자로 사이트 주소와 OUTPUT 형태의 인자로 존재 여부가 있습니다. CREATE PROCEDURE dbo.ExistedCandidate ( @Url varchar(200), @Existed int OUTPUT ) 존재하는지 확인은 Select 쿼리문의 결과를 이용합시다. SQL 쿼리문을 사용해 본 적이 없다면 별도의 레퍼런스를 통해 학습이 필요합니다. if exists (select * from CandidateTable where Url=@Url) begin set @Existed = 1 end else begin set @Existed = 0 end 다음은 ExistedCandidate 저장..

5. DBM 설계 및 구현

5. DBM 설계 및 구현 이번에는 DBMS에 정보를 저장하거나 검색할 때 사용하는 컴포넌트를 설계 및 구현합시다. 이와 같은 컴포넌트에는 DBM ForAll과 DBM ForSearch가 있습니다. 이번 작업에서는 DBMS에 자주 사용하는 쿼리를 저장 프로시저 형태로 만드는 작업도 진행합니다. 5.1 DBM ForAll필요한 저장 프로시저 구현 DBM ForAll은 웹 로봇과 형태소 분석기, 역 파일 생성기 등에서 수집 결과나 분석 결과 등을 저장하는 작업을 수행하는 컴포넌트입니다. 검색 서비스에서 검색 결과를 얻어오는 부분은 DBM ForSearch 컴포넌트가 담당하기로 하였습니다. 여기에서는 DBM ForAll 컴포넌트를 설계하고 이를 구현할 것입니다. 그리고 구현에 필요한 저장 프로시저가 있으면 같..

3. 3 DB 설계

3. 3 DB 설계 일반적으로 아키텍쳐링 단계에서 DB설계를 진행합니다. 여기에서도 시퀀스 다이어그램을 통해 DBMS에 관리해야 할 것들이 무엇인지를 분석하여 DB 설계합시다. 3.3.1 웹로봇에서 수집해야 할 대상 웹 로봇에서는 관리자에 의해 Seed 사이트를 추가하면 이를 수집해야 할 대상으로 등록합니다. 그리고 웹 로봇은 주기적으로 수집해야 할 대상을 얻어와서 웹 페이지를 수집한 이후에 수집한 웹 페이지에 있는 링크를 다시 수집해야 할 대상으로 등록합니다. 여기에서는 Seed 사이트에서 특정 depth 내에 있는 웹 페이지를 수집할 수 있게 합시다. 이와 같은 정보를 반영하여 CandidateTable을 만들기로 합시다. 테이블의 컬럼에는 사이트 주소와 Seed 사이트에서의 상대적 깊이가 있어야겠죠..

반응형