"20201119"의 두 판 사이의 차이
(새 문서: * 구글 어스, 세슘 소개 * 만경전, 잡상, 의궤, 여악 등 다양한 연구들 → 합해짐→ 더욱 발전 * 디지털리터러시: 아날로그에서 분업되어있...) |
|||
| (같은 사용자의 중간 판 2개는 보이지 않습니다) | |||
| 1번째 줄: | 1번째 줄: | ||
| − | * 구글 어스, 세슘 소개 | + | * 구글 어스 (구글의 API: application programming interface), 세슘 소개 |
* 만경전, 잡상, 의궤, 여악 등 다양한 연구들 → 합해짐→ 더욱 발전 | * 만경전, 잡상, 의궤, 여악 등 다양한 연구들 → 합해짐→ 더욱 발전 | ||
* 디지털리터러시: 아날로그에서 분업되어있는 것을 디지털세계에서 협업하길 | * 디지털리터러시: 아날로그에서 분업되어있는 것을 디지털세계에서 협업하길 | ||
* 모든것들 아래에는 데이터베이스가 기반 | * 모든것들 아래에는 데이터베이스가 기반 | ||
| + | * 인문지식의 저변화가 필요 | ||
| + | * 네이버 API가 무료로 제공되고 있는것이 많음. 그러나 쓰고싶으면 기본적인 논리와 언어, 총체적인 이해가 가능해야함. 누구나 쓸수있다하지만 문제는 API의 장벽이 높아지고 있음. | ||
| + | * 국립중앙박물관 가상현실은 큐레이션과 별도의 기술만. 세계 인문학 대회에서의 가능성을 봄(인문학 대상+컴퓨터 기술) | ||
| + | * 신뢰할 수 있는 데이터를 생산해야내야함 | ||
| + | <pre> | ||
| + | use s_phj | ||
| + | |||
| + | select * from sys.tables | ||
| + | |||
| + | |||
| + | drop table xmltable3 /*기존것 지워서 깨끗하게 만들어놓기*/ | ||
| + | select * into xmltable3 from Class2020.dbo.xmltable3 /*class2020안의 xmltable3를 카피하기*/ | ||
| + | select * from xmltable3 | ||
| + | |||
| + | /*table2를 3에 넣고 다시 작업시작,자동으로 id값을 넣어줌,트리거(방아쇠, 자동으로 변환해줌) 새로운 insert작업이 이루어질때 필요*/ | ||
| + | create trigger xmltable3getid on xmltable3 instead of insert | ||
| + | as /*as 아래와같이 동작하라*/ | ||
| + | insert into xmltable3(id, xmltxt) | ||
| + | select | ||
| + | that.xmltxt.value('(//./@id)[1]', 'nvarchar(20)') as id, | ||
| + | that.xmltxt as xmltxt /* this, that 모두 상관없음 지금 입력되고 있는 그 테이블*/ | ||
| + | from inserted that | ||
| + | |||
| + | |||
| + | /* xmltable3.xmltxt 데이터 예시 | ||
| + | |||
| + | <개체 id="개념-화통도감"> | ||
| + | <표제> | ||
| + | <이름 표기="국문">화통도감</이름> | ||
| + | <이름 표기="한자">火筒都監</이름> | ||
| + | <이름 표기="영문">Hwatongdogam</이름> | ||
| + | </표제> | ||
| + | <범주> | ||
| + | <프로젝트>민족기록화</프로젝트> | ||
| + | <클래스>개념</클래스> | ||
| + | <기여 역할="작성">김지선</기여> | ||
| + | </범주> | ||
| + | <속성 틀="제도정보"> | ||
| + | <시대>고려/고려후기</시대> | ||
| + | <유형>제도</유형> | ||
| + | <성격>관청</성격> | ||
| + | <시행처>고려</시행처> | ||
| + | <시행일시>1327년</시행일시> | ||
| + | <폐지일시>1388년</폐지일시> | ||
| + | <정의>고려시대 화약·화기의 제조를 맡아보던 임시관청</정의> | ||
| + | </속성> | ||
| + | ...... | ||
| + | </개체> | ||
| + | */ | ||
| + | |||
| + | /*1. XML 문서로부터 특정 요소(Element) 값 추출 */ | ||
| + | |||
| + | select id, | ||
| + | xmltxt.value('(//범주/프로젝트)[1]', 'nvarchar(40)') as projcet, | ||
| + | xmltxt.value('(//범주/클래스)[1]', 'nvarchar(40)') as class, | ||
| + | xmltxt.value('(//속성/정의)[1]', 'nvarchar(256)') as definition | ||
| + | from xmltable3 | ||
| + | |||
| + | /*2. XML 문서로부터 특정 요소의 속성(Attribute) 값 추출 */ | ||
| + | |||
| + | select id, | ||
| + | xmltxt.value('(//속성/@틀)[1]', 'nvarchar(20)') as template | ||
| + | from xmltable3 | ||
| + | |||
| + | /*3. 속성 값을 한정(Filtering)하여, 이에 해당하는 요소의 값 추출 */ | ||
| + | |||
| + | select id, | ||
| + | xmltxt.value('(//표제/이름[./@표기="국문"])[1]', 'nvarchar(40)') as hangeul, | ||
| + | xmltxt.value('(//표제/이름[./@표기="한자"])[1]', 'nvarchar(40)') as hanja, | ||
| + | xmltxt.value('(//표제/이름[./@표기="영문"])[1]', 'nvarchar(80)') as english | ||
| + | from xmltable3 | ||
| + | |||
| + | /* 종합: XML 문서로부터 데이터 활용에 필요한 메타데이터 추출 */ | ||
| + | |||
| + | select id, | ||
| + | xmltxt.value('(//범주/프로젝트)[1]', 'nvarchar(40)') as projcet, | ||
| + | xmltxt.value('(//범주/클래스)[1]', 'nvarchar(40)') as class, | ||
| + | xmltxt.value('(//표제/이름[./@표기="국문"])[1]', 'nvarchar(40)') as hangeul, | ||
| + | xmltxt.value('(//표제/이름[./@표기="한자"])[1]', 'nvarchar(40)') as hanja, | ||
| + | xmltxt.value('(//표제/이름[./@표기="영문"])[1]', 'nvarchar(80)') as english, | ||
| + | xmltxt.value('(//속성/@틀)[1]', 'nvarchar(20)') as template, | ||
| + | xmltxt.value('(//속성/정의)[1]', 'nvarchar(256)') as definition | ||
| + | from xmltable3 | ||
| + | |||
| + | /* 추출한 메타데이터를 가상 테이블(뷰, view)에 저장 */ | ||
| + | |||
| + | create view xmlmeta as | ||
| + | select id, | ||
| + | xmltxt.value('(//범주/프로젝트)[1]', 'nvarchar(40)') as projcet, | ||
| + | xmltxt.value('(//범주/클래스)[1]', 'nvarchar(40)') as class, | ||
| + | xmltxt.value('(//표제/이름[./@표기="국문"])[1]', 'nvarchar(40)') as hangeul, | ||
| + | xmltxt.value('(//표제/이름[./@표기="한자"])[1]', 'nvarchar(40)') as hanja, | ||
| + | xmltxt.value('(//표제/이름[./@표기="영문"])[1]', 'nvarchar(80)') as english, | ||
| + | xmltxt.value('(//속성/@틀)[1]', 'nvarchar(20)') as template, | ||
| + | xmltxt.value('(//속성/정의)[1]', 'nvarchar(256)') as definition | ||
| + | from xmltable3 | ||
| + | |||
| + | select * from xmlmeta | ||
| + | |||
| + | /*클라스가 사건인 데이타를 뽑아내고싶다*/ | ||
| + | select * from xmlmeta | ||
| + | where class='사건' | ||
| + | |||
| + | /*클라스가 사건인 데이타를 뽑아내어 xmltable3도 같이 보여줘라*/ | ||
| + | select xmlmeta.*,xmltxt.query('//속성'), xmltxt.query('//개설') from xmlmeta | ||
| + | join xmltable3 on xmlmeta.id=xmltable3.id | ||
| + | where class='사건' | ||
| + | |||
| + | select * from xmlmeta | ||
| + | |||
| + | </pre> | ||
2020년 11월 23일 (월) 00:56 기준 최신판
- 구글 어스 (구글의 API: application programming interface), 세슘 소개
- 만경전, 잡상, 의궤, 여악 등 다양한 연구들 → 합해짐→ 더욱 발전
- 디지털리터러시: 아날로그에서 분업되어있는 것을 디지털세계에서 협업하길
- 모든것들 아래에는 데이터베이스가 기반
- 인문지식의 저변화가 필요
- 네이버 API가 무료로 제공되고 있는것이 많음. 그러나 쓰고싶으면 기본적인 논리와 언어, 총체적인 이해가 가능해야함. 누구나 쓸수있다하지만 문제는 API의 장벽이 높아지고 있음.
- 국립중앙박물관 가상현실은 큐레이션과 별도의 기술만. 세계 인문학 대회에서의 가능성을 봄(인문학 대상+컴퓨터 기술)
- 신뢰할 수 있는 데이터를 생산해야내야함
use s_phj
select * from sys.tables
drop table xmltable3 /*기존것 지워서 깨끗하게 만들어놓기*/
select * into xmltable3 from Class2020.dbo.xmltable3 /*class2020안의 xmltable3를 카피하기*/
select * from xmltable3
/*table2를 3에 넣고 다시 작업시작,자동으로 id값을 넣어줌,트리거(방아쇠, 자동으로 변환해줌) 새로운 insert작업이 이루어질때 필요*/
create trigger xmltable3getid on xmltable3 instead of insert
as /*as 아래와같이 동작하라*/
insert into xmltable3(id, xmltxt)
select
that.xmltxt.value('(//./@id)[1]', 'nvarchar(20)') as id,
that.xmltxt as xmltxt /* this, that 모두 상관없음 지금 입력되고 있는 그 테이블*/
from inserted that
/* xmltable3.xmltxt 데이터 예시
<개체 id="개념-화통도감">
<표제>
<이름 표기="국문">화통도감</이름>
<이름 표기="한자">火筒都監</이름>
<이름 표기="영문">Hwatongdogam</이름>
</표제>
<범주>
<프로젝트>민족기록화</프로젝트>
<클래스>개념</클래스>
<기여 역할="작성">김지선</기여>
</범주>
<속성 틀="제도정보">
<시대>고려/고려후기</시대>
<유형>제도</유형>
<성격>관청</성격>
<시행처>고려</시행처>
<시행일시>1327년</시행일시>
<폐지일시>1388년</폐지일시>
<정의>고려시대 화약·화기의 제조를 맡아보던 임시관청</정의>
</속성>
......
</개체>
*/
/*1. XML 문서로부터 특정 요소(Element) 값 추출 */
select id,
xmltxt.value('(//범주/프로젝트)[1]', 'nvarchar(40)') as projcet,
xmltxt.value('(//범주/클래스)[1]', 'nvarchar(40)') as class,
xmltxt.value('(//속성/정의)[1]', 'nvarchar(256)') as definition
from xmltable3
/*2. XML 문서로부터 특정 요소의 속성(Attribute) 값 추출 */
select id,
xmltxt.value('(//속성/@틀)[1]', 'nvarchar(20)') as template
from xmltable3
/*3. 속성 값을 한정(Filtering)하여, 이에 해당하는 요소의 값 추출 */
select id,
xmltxt.value('(//표제/이름[./@표기="국문"])[1]', 'nvarchar(40)') as hangeul,
xmltxt.value('(//표제/이름[./@표기="한자"])[1]', 'nvarchar(40)') as hanja,
xmltxt.value('(//표제/이름[./@표기="영문"])[1]', 'nvarchar(80)') as english
from xmltable3
/* 종합: XML 문서로부터 데이터 활용에 필요한 메타데이터 추출 */
select id,
xmltxt.value('(//범주/프로젝트)[1]', 'nvarchar(40)') as projcet,
xmltxt.value('(//범주/클래스)[1]', 'nvarchar(40)') as class,
xmltxt.value('(//표제/이름[./@표기="국문"])[1]', 'nvarchar(40)') as hangeul,
xmltxt.value('(//표제/이름[./@표기="한자"])[1]', 'nvarchar(40)') as hanja,
xmltxt.value('(//표제/이름[./@표기="영문"])[1]', 'nvarchar(80)') as english,
xmltxt.value('(//속성/@틀)[1]', 'nvarchar(20)') as template,
xmltxt.value('(//속성/정의)[1]', 'nvarchar(256)') as definition
from xmltable3
/* 추출한 메타데이터를 가상 테이블(뷰, view)에 저장 */
create view xmlmeta as
select id,
xmltxt.value('(//범주/프로젝트)[1]', 'nvarchar(40)') as projcet,
xmltxt.value('(//범주/클래스)[1]', 'nvarchar(40)') as class,
xmltxt.value('(//표제/이름[./@표기="국문"])[1]', 'nvarchar(40)') as hangeul,
xmltxt.value('(//표제/이름[./@표기="한자"])[1]', 'nvarchar(40)') as hanja,
xmltxt.value('(//표제/이름[./@표기="영문"])[1]', 'nvarchar(80)') as english,
xmltxt.value('(//속성/@틀)[1]', 'nvarchar(20)') as template,
xmltxt.value('(//속성/정의)[1]', 'nvarchar(256)') as definition
from xmltable3
select * from xmlmeta
/*클라스가 사건인 데이타를 뽑아내고싶다*/
select * from xmlmeta
where class='사건'
/*클라스가 사건인 데이타를 뽑아내어 xmltable3도 같이 보여줘라*/
select xmlmeta.*,xmltxt.query('//속성'), xmltxt.query('//개설') from xmlmeta
join xmltable3 on xmlmeta.id=xmltable3.id
where class='사건'
select * from xmlmeta