"20201126"의 두 판 사이의 차이

phj
이동: 둘러보기, 검색
(새 문서: *)
 
 
(같은 사용자의 중간 판 3개는 보이지 않습니다)
1번째 줄: 1번째 줄:
*
+
<pre>
 +
use s_phj
 +
 
 +
/*필요하다면 사전작업하기*/
 +
drop table xmltable3 /*기존것 지워서 깨끗하게 만들어놓기*/
 +
select * into xmltable3 from Class2020.dbo.xmltable3 /*class2020안의 xmltable3를 카피하기*/
 +
/*~여기까지*/
 +
 
 +
select * from sys.views
 +
select * from xmlmeta
 +
select * from xmltable3
 +
select id, xmltxt.query('//인명') from xmltable3
 +
 
 +
/* create keyword index view: 인명 */
 +
 
 +
/*19건중 인명이 103건. 한레코드에 한개의 줄로 보여주는게 아니라 xmltable3에 있는 xmltxt의 컬럼에 있는 인명 노드 하나하나를 레코드로 취급해가지고 적용해서 보여줘라*/
 +
/*노드는? 나뭇가지의 결절 부분, 네트워크에서는 node노드(정보의 단위)와 노드 사이의 link링크로 연결*/
 +
/*링크 대신에 edge를 미국에서 쓰기도 함*/
 +
/*쿼리와 벨류는 사람에게 보여줌, 노드는 컴퓨터에게 줌*/
 +
 
 +
cross apply를 써서 이름기준으로 분배를 시킴.
 +
select id, node.value('.', 'nvarchar(80)' ) as 인명 /*'.'.은 자기 자신*/
 +
from xmltable3 CROSS APPLY xmltxt.nodes('//인명') as R(node) /*R(node)대신에 thisRow(thisColumn) select의 node대신에 thiscolumn을써도 됨*/
 +
order by 인명
 +
 
 +
/*인명사전을 view로 만들어줌*/
 +
create view xmltable3_인명 as 
 +
select id, node.value('.', 'nvarchar(80)' ) as 인명 /*'.'.은 자기 자신*/
 +
from xmltable3 CROSS APPLY xmltxt.nodes('//인명') as R(node) /*R(node)대신에 thisRow(thisColumn) select의 node대신에 thiscolumn을써도 됨*/
 +
 
 +
 
 +
select * from xmltable3_인명
 +
 
 +
select 인명, count(*) from xmltable3_인명
 +
group by 인명
 +
order by 인명
 +
 
 +
select 인명, id from xmltable3_인명
 +
 
 +
 
 +
 
 +
/*노드를 인명으로 하고, 노드의 값은 id로 뽑아내라*/
 +
select id, node.value('.', 'nvarchar(80)' ) as 인명, node.value('./@id', 'nchar(80)' ) as 인명_id
 +
from xmltable3 CROSS APPLY xmltxt.nodes('//인명') as R(node)
 +
order by 인명_id
 +
 
 +
/*모든 지식을 data로 만들 수 있다(팀버나즈리 www창시자)*/
 +
 
 +
create view xmltable3_인명 as
 +
select id, node.value('.', 'nchar(80)' ) as 인명, node.value('./@id', 'nchar(80)' ) as 인명_id
 +
from xmltable3 CROSS APPLY xmltxt.nodes('//인명') as R(node)
 +
 
 +
select * from xmltable3_인명
 +
 
 +
select 인명_id, 인명, count(*) as 빈도
 +
from xmltable3_인명
 +
group by 인명_id, 인명
 +
order by 인명_id
 +
 
 +
 
 +
/*인명, 지명, 기관, 사건, 서명, 개념, 용어*/
 +
 
 +
/*cross apply 기사갯수만큼 row를 만들어내기 지명*/
 +
select id, node.value('.', 'nvarchar(80)' ) as 지명, node.value('./@id', 'nchar(80)' ) as 지명_id
 +
from xmltable3 CROSS APPLY xmltxt.nodes('//지명') as R(node)
 +
order by 지명_id
 +
 
 +
create view xmltable3_지명 as
 +
select id, node.value('.', 'nchar(80)' ) as 지명, node.value('./@id', 'nchar(80)' ) as 지명_id
 +
from xmltable3 CROSS APPLY xmltxt.nodes('//지명') as R(node)
 +
 
 +
select * from xmltable3_지명
 +
 
 +
select 지명_id, 지명, count(*) as 빈도
 +
from xmltable3_지명
 +
group by 지명_id, 지명
 +
order by 지명_id
 +
 
 +
</pre>
 +
 
 +
*[https://history.seoul.go.kr/ 서울역사편찬원]
 +
*서울은 우리의 관심대상임은 분명/디지털 서울학 학술대회
 +
*포스트 모로나 사회, 디지털 서울학
 +
 
 +
<pre>
 +
/*숙제:인명, 지명, 기관, 사건, 서명, 개념, 용어 연습하기!*/
 +
 
 +
/*cross apply 기사갯수만큼 row를 만들어내기 지명*/
 +
select id, node.value('.', 'nvarchar(80)' ) as 지명, node.value('./@id', 'nchar(80)' ) as 지명_id
 +
from xmltable3 CROSS APPLY xmltxt.nodes('//지명') as R(node)
 +
order by 지명_id
 +
 
 +
create view xmltable3_지명 as
 +
select id, node.value('.', 'nchar(80)' ) as 지명, node.value('./@id', 'nchar(80)' ) as 지명_id
 +
from xmltable3 CROSS APPLY xmltxt.nodes('//지명') as R(node)
 +
 
 +
select * from xmltable3_지명
 +
 
 +
select 지명_id, 지명, count(*) as 빈도
 +
from xmltable3_지명
 +
group by 지명_id, 지명
 +
order by 지명_id
 +
 
 +
/*기관*/
 +
  select id, xmltxt.query('//기관') from xmltable3
 +
 
 +
create view xmltable3_기관 as
 +
select id, node.value('.', 'nchar(80)' ) as 기관, node.value('./@id', 'nchar(80)' ) as 기관_id
 +
from xmltable3 CROSS APPLY xmltxt.nodes('//기관') as R(node)
 +
 
 +
select * from xmltable3_기관
 +
 
 +
select 기관_id, 기관, count(*) as 빈도
 +
from xmltable3_기관
 +
group by 기관_id, 기관
 +
order by 기관_id
 +
 
 +
/*사건*/
 +
select id, xmltxt.query('//사건') from xmltable3
 +
 
 +
create view xmltable3_사건 as
 +
select id, node.value('.','nchar(80)') as 사건, node.value('./@id','nchar(80)') as 사건_id
 +
from xmltable3 cross apply xmltxt.nodes('//사건') as R(node)
 +
 
 +
select * from xmltable3_사건
 +
 
 +
select 사건_id, 사건, count(*) as 빈도
 +
from xmltable3_사건
 +
group by 사건_id, 사건
 +
order by 사건_id
 +
 
 +
/*개념*/
 +
select id , xmltxt.query('//개념') from xmltable3
 +
 
 +
create view xmltable3_개념 as
 +
select id, node.value('.','nchar(80)') as 개념, node.value('./@id','nchar(80)') as 개념_id
 +
from xmltable3 cross apply xmltxt.nodes('//개념') as R(node)
 +
 
 +
select * from xmltable3_개념
 +
 
 +
select 개념, 개념_id,count(*) as 빈도
 +
from xmltable3_개념
 +
group by 개념, 개념_id
 +
order by 빈도,개념, 개념_id
 +
 
 +
/* 용어*/
 +
 
 +
select id, xmltxt.query('//용어') from xmltable3
 +
create view xmltable3_용어 as
 +
select id, node.value('.','nchar(80)') as 용어, node.value('./@id','nchar(80)') as 용어_id
 +
from xmltable3 cross apply xmltxt.nodes('//개념') as R(node)
 +
 
 +
select * from xmltable3_용어
 +
 
 +
select 용어, 용어_id, count(*) as 빈도
 +
from xmltable3_용어
 +
group by 용어, 용어_id
 +
order by 용어, 용어_id
 +
</pre>

2020년 12월 4일 (금) 13:46 기준 최신판

use s_phj

/*필요하다면 사전작업하기*/
drop table xmltable3 /*기존것 지워서 깨끗하게 만들어놓기*/
select * into xmltable3 from Class2020.dbo.xmltable3 /*class2020안의 xmltable3를 카피하기*/
/*~여기까지*/

select * from sys.views
select * from xmlmeta
select * from xmltable3
select id, xmltxt.query('//인명') from xmltable3

/* create keyword index view: 인명 */

/*19건중 인명이 103건. 한레코드에 한개의 줄로 보여주는게 아니라 xmltable3에 있는 xmltxt의 컬럼에 있는 인명 노드 하나하나를 레코드로 취급해가지고 적용해서 보여줘라*/
/*노드는? 나뭇가지의 결절 부분, 네트워크에서는 node노드(정보의 단위)와 노드 사이의 link링크로 연결*/
/*링크 대신에 edge를 미국에서 쓰기도 함*/
/*쿼리와 벨류는 사람에게 보여줌, 노드는 컴퓨터에게 줌*/

cross apply를 써서 이름기준으로 분배를 시킴. 
select id, node.value('.', 'nvarchar(80)' ) as 인명 /*'.'.은 자기 자신*/
	from xmltable3 CROSS APPLY xmltxt.nodes('//인명') as R(node) /*R(node)대신에 thisRow(thisColumn) select의 node대신에 thiscolumn을써도 됨*/
	order by 인명

/*인명사전을 view로 만들어줌*/
create view xmltable3_인명 as  
select id, node.value('.', 'nvarchar(80)' ) as 인명 /*'.'.은 자기 자신*/
	from xmltable3 CROSS APPLY xmltxt.nodes('//인명') as R(node) /*R(node)대신에 thisRow(thisColumn) select의 node대신에 thiscolumn을써도 됨*/


select * from xmltable3_인명

select 인명, count(*) from xmltable3_인명
group by 인명
order by 인명

select 인명, id from xmltable3_인명



/*노드를 인명으로 하고, 노드의 값은 id로 뽑아내라*/
select id, node.value('.', 'nvarchar(80)' ) as 인명, node.value('./@id', 'nchar(80)' ) as 인명_id
	from xmltable3 CROSS APPLY xmltxt.nodes('//인명') as R(node) 
	order by 인명_id

/*모든 지식을 data로 만들 수 있다(팀버나즈리 www창시자)*/

create view xmltable3_인명 as
	select id, node.value('.', 'nchar(80)' ) as 인명, node.value('./@id', 'nchar(80)' ) as 인명_id
	from xmltable3 CROSS APPLY xmltxt.nodes('//인명') as R(node) 

select * from xmltable3_인명

select 인명_id, 인명, count(*) as 빈도
	from xmltable3_인명
	group by 인명_id, 인명
	order by 인명_id
  

/*인명, 지명, 기관, 사건, 서명, 개념, 용어*/

/*cross apply 기사갯수만큼 row를 만들어내기 지명*/
select id, node.value('.', 'nvarchar(80)' ) as 지명, node.value('./@id', 'nchar(80)' ) as 지명_id
	from xmltable3 CROSS APPLY xmltxt.nodes('//지명') as R(node) 
		order by 지명_id

create view xmltable3_지명 as
	select id, node.value('.', 'nchar(80)' ) as 지명, node.value('./@id', 'nchar(80)' ) as 지명_id
	from xmltable3 CROSS APPLY xmltxt.nodes('//지명') as R(node) 

		select * from xmltable3_지명

	select 지명_id, 지명, count(*) as 빈도
	from xmltable3_지명
	group by 지명_id, 지명
	order by 지명_id

  • 서울역사편찬원
  • 서울은 우리의 관심대상임은 분명/디지털 서울학 학술대회
  • 포스트 모로나 사회, 디지털 서울학
/*숙제:인명, 지명, 기관, 사건, 서명, 개념, 용어 연습하기!*/

/*cross apply 기사갯수만큼 row를 만들어내기 지명*/
select id, node.value('.', 'nvarchar(80)' ) as 지명, node.value('./@id', 'nchar(80)' ) as 지명_id
	from xmltable3 CROSS APPLY xmltxt.nodes('//지명') as R(node) 
		order by 지명_id

create view xmltable3_지명 as
	select id, node.value('.', 'nchar(80)' ) as 지명, node.value('./@id', 'nchar(80)' ) as 지명_id
	from xmltable3 CROSS APPLY xmltxt.nodes('//지명') as R(node) 

		select * from xmltable3_지명

	select 지명_id, 지명, count(*) as 빈도
	from xmltable3_지명
	group by 지명_id, 지명
	order by 지명_id
  
/*기관*/
  select id, xmltxt.query('//기관') from xmltable3

	create view xmltable3_기관 as
	select id, node.value('.', 'nchar(80)' ) as 기관, node.value('./@id', 'nchar(80)' ) as 기관_id
	from xmltable3 CROSS APPLY xmltxt.nodes('//기관') as R(node) 

	select * from xmltable3_기관

	select 기관_id, 기관, count(*) as 빈도
	from xmltable3_기관
	group by 기관_id, 기관
	order by 기관_id

/*사건*/
select id, xmltxt.query('//사건') from xmltable3

create view xmltable3_사건 as
select id, node.value('.','nchar(80)') as 사건, node.value('./@id','nchar(80)') as 사건_id 
from xmltable3 cross apply xmltxt.nodes('//사건') as R(node)

select * from xmltable3_사건

	select 사건_id, 사건, count(*) as 빈도
	from xmltable3_사건
	group by 사건_id, 사건
	order by 사건_id

/*개념*/
select id , xmltxt.query('//개념') from xmltable3

create view xmltable3_개념 as
select id, node.value('.','nchar(80)') as 개념, node.value('./@id','nchar(80)') as 개념_id
from xmltable3 cross apply xmltxt.nodes('//개념') as R(node)

select * from xmltable3_개념

select 개념, 개념_id,count(*) as 빈도
 from xmltable3_개념
 group by 개념, 개념_id
 order by 빈도,개념, 개념_id

/* 용어*/

select id, xmltxt.query('//용어') from xmltable3
create view xmltable3_용어 as 
select id, node.value('.','nchar(80)') as 용어, node.value('./@id','nchar(80)') as 용어_id
from xmltable3 cross apply xmltxt.nodes('//개념') as R(node)

select * from xmltable3_용어

select 용어, 용어_id, count(*) as 빈도
 from xmltable3_용어
 group by 용어, 용어_id
 order by 용어, 용어_id