"20201126"의 두 판 사이의 차이
(새 문서: *) |
|||
| (같은 사용자의 중간 판 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