Microsoft SQL
쉽게 배우기 1
인문정보학 SQL세미나
SQL Seminar for
Cultural Informatics
2016
Microsoft SQL
쉽게 배우기 1
한국학중앙연구원 한국학대학원
인문정보학 박사과정 김사현
인문정보학과 데이터베이스
Cultural Informatics and Database
들어가며
Introduction
왜…
데이터베이스를 알고 배워야 할까요?
우리가 살고 있는 시대에는 개인과 조직들이 스스로 원하는 업
무를 컴퓨터와 네트워크를 통해 처리하고 있습니다. 과거에 종
이 서류와 필기 등 사람들의 수작업에 의해 이루어진 대부분의
작업들이 컴퓨터와 네트워크를 기반으로 움직이는 데이터에 의
해 처리 됩니다.
실생활 속에서 필요한 각종 정보를 담은 데이터를 컴퓨터에 반
영하여 처리하는 시스템을 정보 시스템이라고 합니다. 이 정보
시스템을 이용하게 됨으로써 예전에는 수작업으로 장부를 기록
하고, 재고를 기록하던 단순한 일들을 요즘은 컴퓨터를 이용해
프로그램과 데이터로 처리하게 되었습니다.
정보시스템을 이용할 경우 처리속도를 단축시킬 수 있음은 물
론이고 단순 업무에서 해방될 수 있어서 인간은 좀 더 가치로운
곳에 자신의 능력을 투자할 수 있게 되었습니다.
(이영걸,SQLServer 2008, 길벗, p14)
수업을
준비하며
Database
우리가 살고 있는 시대에는 개인과 조직들이 스스로 원하는 업
무를 컴퓨터와 네트워크를 통해 처리하고 있습니다. 과거에 종
이 서류와 필기 등 사람들의 수작업에 의해 이루어진 대부분의
작업들이 컴퓨터와 네트워크를 기반으로 움직이는 데이터에 의
해 처리 됩니다.
실생활 속에서 필요한 각종 정보를 담은 데이터를 컴퓨터에 반
영하여 처리하는 시스템을 정보 시스템이라고 합니다. 이 정보
시스템을 이용하게 됨으로써 예전에는 수작업으로 장부를 기록
하고, 재고를 기록하던 단순한 일들을 요즘은 컴퓨터를 이용해
프로그램과 데이터로 처리하게 되었습니다.
정보시스템을 이용할 경우 처리속도를 단축시킬 수 있음은 물
론이고 단순 업무에서 해방될 수 있어서 인간은 좀 더 가치로운
곳에 자신의 능력을 투자할 수 있게 되었습니다.
(이영걸,SQLServer 2008, 길벗, p14)
디지털 인문학을 연구하는 시각에서, SQL을 다룰 수 있다고 하
는 것이 의미하는 바가 무엇인지 떠올려 본다면 아마도 디지털
인문학이 인문지식 데이터의 기반 위에서 연구되고 활용되기
때문일 것입니다.
한국연구재단의 2014년 인문학대중화 사업 중 디지털 인문학
분야의 “조선시대 표류 노드 시각망 구축 ”, 2015년 토대연구지
원사업인 “수신사 및 조사시찰단 자료 DB 구축” 등의 사업들
도 모두 인문지식 데이터를 체계적으로 수집 관리하고, 다
양한 목적으로 그것을 분석, 종합할 수 있는 데이터베이스
(Database)의 기술적 도움이 있었기 때문에 가능했습니다.
(김현등3명,디지털인문학입문,58페이지일부인용)
오늘, 내일, 그 이후의 인문학 연구는 인문지식 데이터 위에서
수행될 것으로 기대됩니다. 체계적으로 수집 관리된 인문지식
데이터를 관리할 수 있는 SQL(Structured Query Language)을 배
우는 것은 앞으로의 인문학 연구를 수행할 수 있는 능력을 함양
하는 것이라 생각합니다. 자 열심히 배웁시다.
수업을
준비하며
Database
디지털 인문학을 연구하는 시각에서, SQL을 다룰 수 있다고 하
는 것이 의미하는 바가 무엇인지 떠올려 본다면 아마도 디지털
인문학이 인문지식 데이터의 기반 위에서 연구되고 활용되기
때문일 것입니다.
한국연구재단의 2014년 인문학대중화 사업 중 디지털 인문학
분야의 “조선시대 표류 노드 시각망 구축 ”, 2015년 토대연구지
원사업인 “수신사 및 조사시찰단 자료 DB 구축” 등의 사업들
도 모두 인문지식 데이터를 체계적으로 수집 관리하고, 다
양한 목적으로 그것을 분석, 종합할 수 있는 데이터베이스
(Database)의 기술적 도움이 있었기 때문에 가능했습니다.
(김현등3명,디지털인문학입문,58페이지일부인용)
오늘, 내일, 그 이후의 인문학 연구는 인문지식 데이터 위에서
수행될 것으로 기대됩니다. 체계적으로 수집 관리된 인문지식
데이터를 관리할 수 있는 SQL(Structured Query Language)을 배
우는 것은 앞으로의 인문학 연구를 수행할 수 있는 능력을 함양
하는 것이라 생각합니다. 자 열심히 배웁시다.
데이터베이스Database
- 김현교수님 강의안 인용 -
데이터
베이스
Database
v 데이터베이스Database 정의
• 다수의 응용 시스템들이 사용하기 위해 체계적으로 편성, 저장
된 데이터의 집합
An organized collection of information records that can be accessed
electronically.
v 데이터베이스Database 구축의 목적
• 데이터 관리의 편리성
• 데이터 무결성 유지
• 데이터의 물리적 & 논리적 독립성 유지
• 데이터 중복의 최소화
• 데이터의 공유
• 다양한 접근 방법 제공
• 데이터 보안
v 데이터베이스Database 정의
• 다수의 응용 시스템들이 사용하기 위해 체계적으로 편성, 저장
된 데이터의 집합
An organized collection of information records that can be accessed
electronically.
v 데이터베이스Database 구축의 목적
• 데이터 관리의 편리성
• 데이터 무결성 유지
• 데이터의 물리적 & 논리적 독립성 유지
• 데이터 중복의 최소화
• 데이터의 공유
• 다양한 접근 방법 제공
• 데이터 보안
데이터
베이스
Database
v 데이터모델Datamodel
• Relational data model
데이터의 관계(relation)를 테이블(table) 형태로 표현
• Network data model
데이터 구조를 레코드와 링크(link)에 의해 망(network)형태로 표
현
• Hierarchical data model
데이터 구조를 레코드와 링크에 의해 트리(tree)형태로 표현
v 데이터모델Datamodel
• Relational data model
데이터의 관계(relation)를 테이블(table) 형태로 표현
• Network data model
데이터 구조를 레코드와 링크(link)에 의해 망(network)형태로 표
현
• Hierarchical data model
데이터 구조를 레코드와 링크에 의해 트리(tree)형태로 표현
데이터
베이스
Database
v 데이터베이스Database 스키마Schema
• 데이터베이스의 논리적 정의
The logical definition of an entire database.
• 데이터 베이스를 구성하는 데이터 개체(entity), 이들의 속성
(attribute), 관계(relation), 그리고 데이터 조작 및 데이터 값의 제
약 조건에 대한 정의의 총칭
A conceptual model of the structure of a database that defines the
data contents and relationships.
A pattern that represents the data's model defining the elements
(or objects), their attributes (or properties), and the relationships
between the different elements.
v 데이터베이스Database 스키마Schema
• 데이터베이스의 논리적 정의
The logical definition of an entire database.
• 데이터 베이스를 구성하는 데이터 개체(entity), 이들의 속성
(attribute), 관계(relation), 그리고 데이터 조작 및 데이터 값의 제
약 조건에 대한 정의의 총칭
A conceptual model of the structure of a database that defines the
data contents and relationships.
A pattern that represents the data's model defining the elements
(or objects), their attributes (or properties), and the relationships
between the different elements.
데이터
베이스
Database
v 관계형 데이터베이스 스키마
vㄴ
릴레이션
“행(Row)과 열(Column)로 이루어진 2차원 테이블(Table)”
“튜플들의 집합”
번호 이름 생년 몰년 본관번호 이름 생년 몰년 본관
102 원균 1540 1597 원주원씨
103 이순신 1545 1598 덕수이씨
104 허균 1569 1618 양천허씨
105 임성주 1711 1788 풍천임씨
애트리뷰트(attribute)
“릴레이션의 열(column)”
“엔티티(entity)가 보유하는 특성 표현”
“field”
튜플(tuple)
“릴레이션의 행(row)”
“record, entity”
데이터
베이스
Database
v키KEY
• 후보 키Candidate Key
• 한 릴레이션의 특정 튜플을 유일하게 구별할 수 있는 애트리뷰트들의 집합
• 릴레이션에 있는 모든 튜플에 대해 유일성(uniqueness)과 최소성(minimality)을
만족시켜야 함
• 기본 키Primary Key
• 후보 키 중에서 데이터베이스 관리자가 선택한 주 키(Main Key)
• Null 값을 가질 수 없음.
• Null: 정보 부재를 명시적으로 표시하는 특수한 데이터 값
• 기본 키로 정의된 애트리뷰트에는 동일한 값이 중복 저장될 수 없다.
• 대체 키Alternate Key
• 기본 키를 제외한 나머지 후보 키
• 슈퍼 키Super Key
• 두 개 이상의 애트리뷰트의 집합으로 구성되는 키
• 유일성(uniqueness)은 만족시키지만 최소성(minimality)은 만족시키지 않는 애
트리뷰트의 집합
• 외래 키Foreign Key
• 관계를 맺고 있는 릴레이션의 기본 키에 해당하는 애트리뷰트
• 외래 키로 지정된 애트리뷰트는 참조된 릴레이션의 기본 키에 없는 값을 가질
수 없다.
v키KEY
• 후보 키Candidate Key
• 한 릴레이션의 특정 튜플을 유일하게 구별할 수 있는 애트리뷰트들의 집합
• 릴레이션에 있는 모든 튜플에 대해 유일성(uniqueness)과 최소성(minimality)을
만족시켜야 함
• 기본 키Primary Key
• 후보 키 중에서 데이터베이스 관리자가 선택한 주 키(Main Key)
• Null 값을 가질 수 없음.
• Null: 정보 부재를 명시적으로 표시하는 특수한 데이터 값
• 기본 키로 정의된 애트리뷰트에는 동일한 값이 중복 저장될 수 없다.
• 대체 키Alternate Key
• 기본 키를 제외한 나머지 후보 키
• 슈퍼 키Super Key
• 두 개 이상의 애트리뷰트의 집합으로 구성되는 키
• 유일성(uniqueness)은 만족시키지만 최소성(minimality)은 만족시키지 않는 애
트리뷰트의 집합
• 외래 키Foreign Key
• 관계를 맺고 있는 릴레이션의 기본 키에 해당하는 애트리뷰트
• 외래 키로 지정된 애트리뷰트는 참조된 릴레이션의 기본 키에 없는 값을 가질
수 없다.
데이터
베이스
Database
• 데이터베이스 관리 시스템DBMS: Database Management System
• 응용 프로그램과 데이터의 중재자로서 모든 응용 프로그램들이 데이터베
이스에 접근하여 공동으로 활용할 수 있게끔 관리해 주는 소프트웨어
• 데이터베이스의 편리하고 효율적인 검색, 저장을 위한 환경 제공
• A collection of software that manages, manipulates and retrieves data in a
database.
• A collection of software for organizing the information in a database that
might contain routines for data input, verification, storage, retrieval, and
combination.
출처(http://db-engines.com/en/ranking/relational+dbms)
• 데이터베이스 관리 시스템DBMS: Database Management System
• 응용 프로그램과 데이터의 중재자로서 모든 응용 프로그램들이 데이터베
이스에 접근하여 공동으로 활용할 수 있게끔 관리해 주는 소프트웨어
• 데이터베이스의 편리하고 효율적인 검색, 저장을 위한 환경 제공
• A collection of software that manages, manipulates and retrieves data in a
database.
• A collection of software for organizing the information in a database that
might contain routines for data input, verification, storage, retrieval, and
combination.
출처(http://db-engines.com/en/ranking/relational+dbms)
설치
Installation
Microsoft SQL Sever 2012 Express
https://www.microsoft.com/ko-kr/download/details.aspx?id=29062
설치
Installation
Microsoft SQL Sever 2012 버전별 기능
https://technet.microsoft.com/ko-kr/library/cc645993(v=sql.110).aspx
Excel 배우기 1 - DB기초 이해
Basic understanding of DB by MS-Excel
소개
Instruction
v엑셀
마이크로소프트 윈도우와 OS X에서 작동하는 마이크로소프트사
에서 개발해 판매하는 스프레드시트 프로그램이다. 마이크로소
프트 오피스의 일부이다. 회계 및 각종 데이터베이스 관리에 주
로 사용된다.
v스프레드시트
스프레드시트(spreadsheet, 문화어: 스프레드쉬트) 또는 표 계
산은 경리, 회계 등의 계산을 위해 사용되는 표 형식의 계산용지
나, 계산용지를 컴퓨터에서 사용할 수 있게 구현한 표 계산 프로
그램을 의미한다.
- 계산을 위해 사용되는 표 형식의 컴퓨터 프로그램
v엑셀
마이크로소프트 윈도우와 OS X에서 작동하는 마이크로소프트사
에서 개발해 판매하는 스프레드시트 프로그램이다. 마이크로소
프트 오피스의 일부이다. 회계 및 각종 데이터베이스 관리에 주
로 사용된다.
v스프레드시트
스프레드시트(spreadsheet, 문화어: 스프레드쉬트) 또는 표 계
산은 경리, 회계 등의 계산을 위해 사용되는 표 형식의 계산용지
나, 계산용지를 컴퓨터에서 사용할 수 있게 구현한 표 계산 프로
그램을 의미한다.
- 계산을 위해 사용되는 표 형식의 컴퓨터 프로그램
소개
Instruction
마이크로소프트
Excel
부가기능,
이용자
많음.
한글과컴퓨터
한셀
구글docs
Spreadsheet
엑셀 보다
저렴
온라인
편집가능
소개
Instruction
엑셀은 스타일과 데이터로 구분되어 있다. 스프레드시트
가 데이터의 관리, 처리 기능 등의 본연의 기능 외에 스타
일 기능이 추가 되었다고 할 수 있다. 이것이 관계형 데이
터베이스와 다른 부분이라 할 수 있다.
엑셀을 통해 관계형 데이터베이스의 기초를 살펴보자.
엑셀엑셀스타일스타일 데이터데이터
소개
Instruction
Excel 배우기 2 - 스타일
Learn to Concept of Style by MS-Excel
스타일
Style
v글꼴, 정렬Font Align
폰트
글자,
셀바탕색
셀안의 문자
위치 정렬
(위,아래)
스타일
Style
v글꼴, 정렬, 레이아웃Font, Align, Layout
1
두줄이상입력 - ALT + 엔터키
2
특수기호 - ㅁ,ㄱ,ㄹ 등 자음 + 한자
3
열너비, 행너비
조절가능
1
두줄이상입력 - ALT + 엔터키
2
특수기호 - ㅁ,ㄱ,ㄹ 등 자음 + 한자
스타일
Style
v 표, 테두리, 대각선Table, Border, Diagonal
1. 셀 범위지정
2. 오른쪽 마우스 키
3. 셀서식
4. 테두리
또는
1. 셀 범위 지정.
2. 삽입 – 표
1. 셀 범위지정
2. 오른쪽 마우스 키
3. 셀서식
4. 테두리
또는
1. 셀 범위 지정.
2. 삽입 – 표
스타일
Style
v 셀병합Cell Merge
A1~D1 까지 셀 병합하여 하나의 셀로 만듬
(제목으로 표시)
스타일
Style
X
스타일 기능만 사용한다면 워드프로세서
(한글, word 등)와 다를 바 없다.
스프레드시트를 쓰는 이유는, 데이터로 사용하기 위함이다.
Excel 배우기- 데이터이해
Learn to Concept of Data by MS-Excel
데이터
Data
v텍스트 vs 데이터
-텍스트
-데이터
안녕하세요 저는 한국학중앙연구원 인문정보학 전공
박사과정을 수학하고 있는 김사현 입니다.
v텍스트 vs 데이터
-텍스트
-데이터
이름 김사현
소속 한국학중앙연구원
학력 박사재학
전공분야 인문정보학
데이터
Data
v데이터 형식 1
-숫자? vs 문자?
3
0
-675
0.7765
-0.65678
3
0
-675
0.7765
-0.65678
장서각
藏書閣
2016년3월23
일
031-709-8111
…
장서각
藏書閣
2016년3월23
일
031-709-8111
…
숫자 – 정수(integer), 실수(float)
문자 – 문자(character, text …)
…
날짜, 통화 등
데이터
Data
v데이터 형식 2
데이터
Data
v데이터 형식 3
• 데이터형식: A열 – 숫자, B열 – 텍스트
- ‘001’을 입력한 결과 : 텍스트 데이터형식은 ‘0’, ‘공백’ 등도 기호
로 받아들인다.
데이터
Data
v데이터 형식 4
• 0 vs Space vsNull
-텍스트에서 0, SPACE 도 데이터로 인식됨. 정보가 입력되지 않
으면 NULL
숫자 0
- 0도 값이다.
0
숫자 0
- 0도 값이다.
눈에 보이지도 않고
값으로 여겨지지
않는 것.
- 입력된 정보가
없는것
눈에 보이지 않지만
“ “ = Space 도 데이터.
- 빈칸도 값이다
Null Space
0
Vs
Null
Vs
빈칸(공백)
데이터
Data
v데이터의 활용
•데이터로 입력된 정보는 통계, 조회/참조, 분석, 시각화 등의 기
능에 기초자료로써 활용 가능하다.
통계 찾기/참조 분석
시각화
…
등등
Excel 배우기 3 – 데이터 다루기
Learn to dealing with Data by MS-Excel
함수
문자열
Function
Character
v문자열함수 1
•문자를 데이터로 인식하기.
LEFT
LEFT(문자 또는 참조열, 개수)
Ex) LEFT(A1, 3)
LEFT(“가나다라”, 2) -> 가나
RIGHT
RIGHT(문자 또는 참조열, 개수)
Ex) RIGHT(B1, 3)
RIGHT(“가나다라”, 2) -> 다라
MID
MID(문자 또는 참조열, 시작 순서, 문자 개수)
Ex) MID(C1, 3, 2)
MID(“가나다라마”, 3, 2) -> 다라
v문자열함수 2
•문자를 데이터로 인식하기.
LEN. 문자열의 길이.
=len(가나다라) -> 4
=len(a1) -> a1의 문자열 길이
함수
문자열
Function
Character
v문자열함수 3
•문자를 데이터로 인식하기.
FIND
텍스트 내 특정 문자의 위치(순서) 찾기.
=find(“.”, “가나다.라”)
->4
=find(“-”, “790131-1000002)
->8
함수
문자열
Function
Character
FIND
텍스트 내 특정 문자의 위치(순서) 찾기.
=find(“.”, “가나다.라”)
->4
=find(“-”, “790131-1000002)
->8
v문자열함수 4
•문자를 데이터로 인식하기.
SUBSTITUTE
텍스트에서 문자를 다른 문자로 변환
=substitute(“가나다라”, “가“, “나“)
-> 나나다라
함수
문자열
Function
Character
v문자열함수 5
•숫자 데이터를 문자데이터로 변환.
TEXT - 숫자의 서식을 적용한 후 텍스트로
변환하고 싶을 때?
1을 00001로 표현하고 싶다면?
Text(1,”00000”) -> 00001
Text(3,”00.00”) -> 3.00
Text(27.31,”00.0”) -> 27.3
함수
문자열
Function
Character
TEXT - 숫자의 서식을 적용한 후 텍스트로
변환하고 싶을 때?
1을 00001로 표현하고 싶다면?
Text(1,”00000”) -> 00001
Text(3,”00.00”) -> 3.00
Text(27.31,”00.0”) -> 27.3
v문자열과 수식
•문자와 수식을 연결해서 쓰고 싶을 때?
문자는 “” 안에 입력.
문자와 참조셀의 연결은 &.
Ex1) A1의값 + 원 -> = a1&”원”
Ex2) A1값 + left(c1,4) + 원 -> A1&left(c1,4)+”원”
함수
문자열
Function
Character
문자는 “” 안에 입력.
문자와 참조셀의 연결은 &.
Ex1) A1의값 + 원 -> = a1&”원”
Ex2) A1값 + left(c1,4) + 원 -> A1&left(c1,4)+”원”
vAND, OR 1
AND
조건이 모두 맞으면 true, 하나라도 아니면 False
=AND(logical1, logical2…), =AND(3>0, 4>3), -> true
=AND(3>4, 4>3) - > false
함수
논리
Function
Logical
vAND, OR 2
OR
조건이 모두 맞으면 true, 하나라도 아니면 False
=AND(logical1, logical2…), =AND(3>0, 4>3), -> true
=AND(3>4, 4>3) - > false
함수
논리
Function
Logical
vAND, OR 3
함수
논리
Function
Logical
A B 결과
AND
O O TRUE
O X FALSE
X O FALSEX O FALSE
X X FALSE
OR
O O TRUE
O X TRUE
X O TRUE
X X FALSE
vIF 1
§조건이 참 일때, 거짓 일때에 따라 각기 다른 값을 반환
§뒤져서 나오면 100원에 한대. ? 안나오면? ㅠㅠ
함수
논리
Function
Logical
If
If(조건, 참 일때 반환 값, 거짓 일때 반환 값)
If
If(‘오늘=수요일’, ‘회의’, ‘일’)
If(‘오늘=금요일 and 약속=있음’, ‘불금’, ‘방콕’)
vIF 2
IF
조건, 조건이 참일 때 반환, 거짓일 때 반환
A1=4, =IF(A1>3, “저학년”, “고학년”)
함수
논리
Function
Logical
vVlookup 1
VLOOKUP
1. 원하는 값을 2. 배열의 첫 열에서 검색하여,
3. 지정한 열의 같은 행에서 데이터를 찾아줌.
함수
논리
Function
Logical
vVlookup 2
원하는 값 = 서거정
찾으려고 하는 값 = 서거정의 생년
함수
논리
Function
Logical
A B C D
1 인물명 시호 생년 본관
2 김종직 문충 1431 선산2 김종직 문충 1431 선산
3 조식 문정 1501 창녕
4 조광조 문정 1482 한양
5 서거정 문충 1420 대구
서거정
A1:D5
3
False

2016년 인문정보학 Sql세미나 1/3

  • 1.
    Microsoft SQL 쉽게 배우기1 인문정보학 SQL세미나 SQL Seminar for Cultural Informatics 2016 Microsoft SQL 쉽게 배우기 1 한국학중앙연구원 한국학대학원 인문정보학 박사과정 김사현
  • 2.
  • 3.
  • 4.
    우리가 살고 있는시대에는 개인과 조직들이 스스로 원하는 업 무를 컴퓨터와 네트워크를 통해 처리하고 있습니다. 과거에 종 이 서류와 필기 등 사람들의 수작업에 의해 이루어진 대부분의 작업들이 컴퓨터와 네트워크를 기반으로 움직이는 데이터에 의 해 처리 됩니다. 실생활 속에서 필요한 각종 정보를 담은 데이터를 컴퓨터에 반 영하여 처리하는 시스템을 정보 시스템이라고 합니다. 이 정보 시스템을 이용하게 됨으로써 예전에는 수작업으로 장부를 기록 하고, 재고를 기록하던 단순한 일들을 요즘은 컴퓨터를 이용해 프로그램과 데이터로 처리하게 되었습니다. 정보시스템을 이용할 경우 처리속도를 단축시킬 수 있음은 물 론이고 단순 업무에서 해방될 수 있어서 인간은 좀 더 가치로운 곳에 자신의 능력을 투자할 수 있게 되었습니다. (이영걸,SQLServer 2008, 길벗, p14) 수업을 준비하며 Database 우리가 살고 있는 시대에는 개인과 조직들이 스스로 원하는 업 무를 컴퓨터와 네트워크를 통해 처리하고 있습니다. 과거에 종 이 서류와 필기 등 사람들의 수작업에 의해 이루어진 대부분의 작업들이 컴퓨터와 네트워크를 기반으로 움직이는 데이터에 의 해 처리 됩니다. 실생활 속에서 필요한 각종 정보를 담은 데이터를 컴퓨터에 반 영하여 처리하는 시스템을 정보 시스템이라고 합니다. 이 정보 시스템을 이용하게 됨으로써 예전에는 수작업으로 장부를 기록 하고, 재고를 기록하던 단순한 일들을 요즘은 컴퓨터를 이용해 프로그램과 데이터로 처리하게 되었습니다. 정보시스템을 이용할 경우 처리속도를 단축시킬 수 있음은 물 론이고 단순 업무에서 해방될 수 있어서 인간은 좀 더 가치로운 곳에 자신의 능력을 투자할 수 있게 되었습니다. (이영걸,SQLServer 2008, 길벗, p14)
  • 5.
    디지털 인문학을 연구하는시각에서, SQL을 다룰 수 있다고 하 는 것이 의미하는 바가 무엇인지 떠올려 본다면 아마도 디지털 인문학이 인문지식 데이터의 기반 위에서 연구되고 활용되기 때문일 것입니다. 한국연구재단의 2014년 인문학대중화 사업 중 디지털 인문학 분야의 “조선시대 표류 노드 시각망 구축 ”, 2015년 토대연구지 원사업인 “수신사 및 조사시찰단 자료 DB 구축” 등의 사업들 도 모두 인문지식 데이터를 체계적으로 수집 관리하고, 다 양한 목적으로 그것을 분석, 종합할 수 있는 데이터베이스 (Database)의 기술적 도움이 있었기 때문에 가능했습니다. (김현등3명,디지털인문학입문,58페이지일부인용) 오늘, 내일, 그 이후의 인문학 연구는 인문지식 데이터 위에서 수행될 것으로 기대됩니다. 체계적으로 수집 관리된 인문지식 데이터를 관리할 수 있는 SQL(Structured Query Language)을 배 우는 것은 앞으로의 인문학 연구를 수행할 수 있는 능력을 함양 하는 것이라 생각합니다. 자 열심히 배웁시다. 수업을 준비하며 Database 디지털 인문학을 연구하는 시각에서, SQL을 다룰 수 있다고 하 는 것이 의미하는 바가 무엇인지 떠올려 본다면 아마도 디지털 인문학이 인문지식 데이터의 기반 위에서 연구되고 활용되기 때문일 것입니다. 한국연구재단의 2014년 인문학대중화 사업 중 디지털 인문학 분야의 “조선시대 표류 노드 시각망 구축 ”, 2015년 토대연구지 원사업인 “수신사 및 조사시찰단 자료 DB 구축” 등의 사업들 도 모두 인문지식 데이터를 체계적으로 수집 관리하고, 다 양한 목적으로 그것을 분석, 종합할 수 있는 데이터베이스 (Database)의 기술적 도움이 있었기 때문에 가능했습니다. (김현등3명,디지털인문학입문,58페이지일부인용) 오늘, 내일, 그 이후의 인문학 연구는 인문지식 데이터 위에서 수행될 것으로 기대됩니다. 체계적으로 수집 관리된 인문지식 데이터를 관리할 수 있는 SQL(Structured Query Language)을 배 우는 것은 앞으로의 인문학 연구를 수행할 수 있는 능력을 함양 하는 것이라 생각합니다. 자 열심히 배웁시다.
  • 6.
  • 7.
    데이터 베이스 Database v 데이터베이스Database 정의 •다수의 응용 시스템들이 사용하기 위해 체계적으로 편성, 저장 된 데이터의 집합 An organized collection of information records that can be accessed electronically. v 데이터베이스Database 구축의 목적 • 데이터 관리의 편리성 • 데이터 무결성 유지 • 데이터의 물리적 & 논리적 독립성 유지 • 데이터 중복의 최소화 • 데이터의 공유 • 다양한 접근 방법 제공 • 데이터 보안 v 데이터베이스Database 정의 • 다수의 응용 시스템들이 사용하기 위해 체계적으로 편성, 저장 된 데이터의 집합 An organized collection of information records that can be accessed electronically. v 데이터베이스Database 구축의 목적 • 데이터 관리의 편리성 • 데이터 무결성 유지 • 데이터의 물리적 & 논리적 독립성 유지 • 데이터 중복의 최소화 • 데이터의 공유 • 다양한 접근 방법 제공 • 데이터 보안
  • 8.
    데이터 베이스 Database v 데이터모델Datamodel • Relationaldata model 데이터의 관계(relation)를 테이블(table) 형태로 표현 • Network data model 데이터 구조를 레코드와 링크(link)에 의해 망(network)형태로 표 현 • Hierarchical data model 데이터 구조를 레코드와 링크에 의해 트리(tree)형태로 표현 v 데이터모델Datamodel • Relational data model 데이터의 관계(relation)를 테이블(table) 형태로 표현 • Network data model 데이터 구조를 레코드와 링크(link)에 의해 망(network)형태로 표 현 • Hierarchical data model 데이터 구조를 레코드와 링크에 의해 트리(tree)형태로 표현
  • 9.
    데이터 베이스 Database v 데이터베이스Database 스키마Schema •데이터베이스의 논리적 정의 The logical definition of an entire database. • 데이터 베이스를 구성하는 데이터 개체(entity), 이들의 속성 (attribute), 관계(relation), 그리고 데이터 조작 및 데이터 값의 제 약 조건에 대한 정의의 총칭 A conceptual model of the structure of a database that defines the data contents and relationships. A pattern that represents the data's model defining the elements (or objects), their attributes (or properties), and the relationships between the different elements. v 데이터베이스Database 스키마Schema • 데이터베이스의 논리적 정의 The logical definition of an entire database. • 데이터 베이스를 구성하는 데이터 개체(entity), 이들의 속성 (attribute), 관계(relation), 그리고 데이터 조작 및 데이터 값의 제 약 조건에 대한 정의의 총칭 A conceptual model of the structure of a database that defines the data contents and relationships. A pattern that represents the data's model defining the elements (or objects), their attributes (or properties), and the relationships between the different elements.
  • 10.
    데이터 베이스 Database v 관계형 데이터베이스스키마 vㄴ 릴레이션 “행(Row)과 열(Column)로 이루어진 2차원 테이블(Table)” “튜플들의 집합” 번호 이름 생년 몰년 본관번호 이름 생년 몰년 본관 102 원균 1540 1597 원주원씨 103 이순신 1545 1598 덕수이씨 104 허균 1569 1618 양천허씨 105 임성주 1711 1788 풍천임씨 애트리뷰트(attribute) “릴레이션의 열(column)” “엔티티(entity)가 보유하는 특성 표현” “field” 튜플(tuple) “릴레이션의 행(row)” “record, entity”
  • 11.
    데이터 베이스 Database v키KEY • 후보 키CandidateKey • 한 릴레이션의 특정 튜플을 유일하게 구별할 수 있는 애트리뷰트들의 집합 • 릴레이션에 있는 모든 튜플에 대해 유일성(uniqueness)과 최소성(minimality)을 만족시켜야 함 • 기본 키Primary Key • 후보 키 중에서 데이터베이스 관리자가 선택한 주 키(Main Key) • Null 값을 가질 수 없음. • Null: 정보 부재를 명시적으로 표시하는 특수한 데이터 값 • 기본 키로 정의된 애트리뷰트에는 동일한 값이 중복 저장될 수 없다. • 대체 키Alternate Key • 기본 키를 제외한 나머지 후보 키 • 슈퍼 키Super Key • 두 개 이상의 애트리뷰트의 집합으로 구성되는 키 • 유일성(uniqueness)은 만족시키지만 최소성(minimality)은 만족시키지 않는 애 트리뷰트의 집합 • 외래 키Foreign Key • 관계를 맺고 있는 릴레이션의 기본 키에 해당하는 애트리뷰트 • 외래 키로 지정된 애트리뷰트는 참조된 릴레이션의 기본 키에 없는 값을 가질 수 없다. v키KEY • 후보 키Candidate Key • 한 릴레이션의 특정 튜플을 유일하게 구별할 수 있는 애트리뷰트들의 집합 • 릴레이션에 있는 모든 튜플에 대해 유일성(uniqueness)과 최소성(minimality)을 만족시켜야 함 • 기본 키Primary Key • 후보 키 중에서 데이터베이스 관리자가 선택한 주 키(Main Key) • Null 값을 가질 수 없음. • Null: 정보 부재를 명시적으로 표시하는 특수한 데이터 값 • 기본 키로 정의된 애트리뷰트에는 동일한 값이 중복 저장될 수 없다. • 대체 키Alternate Key • 기본 키를 제외한 나머지 후보 키 • 슈퍼 키Super Key • 두 개 이상의 애트리뷰트의 집합으로 구성되는 키 • 유일성(uniqueness)은 만족시키지만 최소성(minimality)은 만족시키지 않는 애 트리뷰트의 집합 • 외래 키Foreign Key • 관계를 맺고 있는 릴레이션의 기본 키에 해당하는 애트리뷰트 • 외래 키로 지정된 애트리뷰트는 참조된 릴레이션의 기본 키에 없는 값을 가질 수 없다.
  • 12.
    데이터 베이스 Database • 데이터베이스 관리시스템DBMS: Database Management System • 응용 프로그램과 데이터의 중재자로서 모든 응용 프로그램들이 데이터베 이스에 접근하여 공동으로 활용할 수 있게끔 관리해 주는 소프트웨어 • 데이터베이스의 편리하고 효율적인 검색, 저장을 위한 환경 제공 • A collection of software that manages, manipulates and retrieves data in a database. • A collection of software for organizing the information in a database that might contain routines for data input, verification, storage, retrieval, and combination. 출처(http://db-engines.com/en/ranking/relational+dbms) • 데이터베이스 관리 시스템DBMS: Database Management System • 응용 프로그램과 데이터의 중재자로서 모든 응용 프로그램들이 데이터베 이스에 접근하여 공동으로 활용할 수 있게끔 관리해 주는 소프트웨어 • 데이터베이스의 편리하고 효율적인 검색, 저장을 위한 환경 제공 • A collection of software that manages, manipulates and retrieves data in a database. • A collection of software for organizing the information in a database that might contain routines for data input, verification, storage, retrieval, and combination. 출처(http://db-engines.com/en/ranking/relational+dbms)
  • 13.
    설치 Installation Microsoft SQL Sever2012 Express https://www.microsoft.com/ko-kr/download/details.aspx?id=29062
  • 14.
    설치 Installation Microsoft SQL Sever2012 버전별 기능 https://technet.microsoft.com/ko-kr/library/cc645993(v=sql.110).aspx
  • 15.
    Excel 배우기 1- DB기초 이해 Basic understanding of DB by MS-Excel
  • 16.
    소개 Instruction v엑셀 마이크로소프트 윈도우와 OSX에서 작동하는 마이크로소프트사 에서 개발해 판매하는 스프레드시트 프로그램이다. 마이크로소 프트 오피스의 일부이다. 회계 및 각종 데이터베이스 관리에 주 로 사용된다. v스프레드시트 스프레드시트(spreadsheet, 문화어: 스프레드쉬트) 또는 표 계 산은 경리, 회계 등의 계산을 위해 사용되는 표 형식의 계산용지 나, 계산용지를 컴퓨터에서 사용할 수 있게 구현한 표 계산 프로 그램을 의미한다. - 계산을 위해 사용되는 표 형식의 컴퓨터 프로그램 v엑셀 마이크로소프트 윈도우와 OS X에서 작동하는 마이크로소프트사 에서 개발해 판매하는 스프레드시트 프로그램이다. 마이크로소 프트 오피스의 일부이다. 회계 및 각종 데이터베이스 관리에 주 로 사용된다. v스프레드시트 스프레드시트(spreadsheet, 문화어: 스프레드쉬트) 또는 표 계 산은 경리, 회계 등의 계산을 위해 사용되는 표 형식의 계산용지 나, 계산용지를 컴퓨터에서 사용할 수 있게 구현한 표 계산 프로 그램을 의미한다. - 계산을 위해 사용되는 표 형식의 컴퓨터 프로그램
  • 17.
  • 18.
    소개 Instruction 엑셀은 스타일과 데이터로구분되어 있다. 스프레드시트 가 데이터의 관리, 처리 기능 등의 본연의 기능 외에 스타 일 기능이 추가 되었다고 할 수 있다. 이것이 관계형 데이 터베이스와 다른 부분이라 할 수 있다. 엑셀을 통해 관계형 데이터베이스의 기초를 살펴보자. 엑셀엑셀스타일스타일 데이터데이터
  • 19.
  • 20.
    Excel 배우기 2- 스타일 Learn to Concept of Style by MS-Excel
  • 21.
  • 22.
    스타일 Style v글꼴, 정렬, 레이아웃Font,Align, Layout 1 두줄이상입력 - ALT + 엔터키 2 특수기호 - ㅁ,ㄱ,ㄹ 등 자음 + 한자 3 열너비, 행너비 조절가능 1 두줄이상입력 - ALT + 엔터키 2 특수기호 - ㅁ,ㄱ,ㄹ 등 자음 + 한자
  • 23.
    스타일 Style v 표, 테두리,대각선Table, Border, Diagonal 1. 셀 범위지정 2. 오른쪽 마우스 키 3. 셀서식 4. 테두리 또는 1. 셀 범위 지정. 2. 삽입 – 표 1. 셀 범위지정 2. 오른쪽 마우스 키 3. 셀서식 4. 테두리 또는 1. 셀 범위 지정. 2. 삽입 – 표
  • 24.
    스타일 Style v 셀병합Cell Merge A1~D1까지 셀 병합하여 하나의 셀로 만듬 (제목으로 표시)
  • 25.
    스타일 Style X 스타일 기능만 사용한다면워드프로세서 (한글, word 등)와 다를 바 없다. 스프레드시트를 쓰는 이유는, 데이터로 사용하기 위함이다.
  • 26.
    Excel 배우기- 데이터이해 Learnto Concept of Data by MS-Excel
  • 27.
    데이터 Data v텍스트 vs 데이터 -텍스트 -데이터 안녕하세요저는 한국학중앙연구원 인문정보학 전공 박사과정을 수학하고 있는 김사현 입니다. v텍스트 vs 데이터 -텍스트 -데이터 이름 김사현 소속 한국학중앙연구원 학력 박사재학 전공분야 인문정보학
  • 28.
    데이터 Data v데이터 형식 1 -숫자?vs 문자? 3 0 -675 0.7765 -0.65678 3 0 -675 0.7765 -0.65678 장서각 藏書閣 2016년3월23 일 031-709-8111 … 장서각 藏書閣 2016년3월23 일 031-709-8111 … 숫자 – 정수(integer), 실수(float) 문자 – 문자(character, text …) … 날짜, 통화 등
  • 29.
  • 30.
    데이터 Data v데이터 형식 3 •데이터형식: A열 – 숫자, B열 – 텍스트 - ‘001’을 입력한 결과 : 텍스트 데이터형식은 ‘0’, ‘공백’ 등도 기호 로 받아들인다.
  • 31.
    데이터 Data v데이터 형식 4 •0 vs Space vsNull -텍스트에서 0, SPACE 도 데이터로 인식됨. 정보가 입력되지 않 으면 NULL 숫자 0 - 0도 값이다. 0 숫자 0 - 0도 값이다. 눈에 보이지도 않고 값으로 여겨지지 않는 것. - 입력된 정보가 없는것 눈에 보이지 않지만 “ “ = Space 도 데이터. - 빈칸도 값이다 Null Space 0 Vs Null Vs 빈칸(공백)
  • 32.
    데이터 Data v데이터의 활용 •데이터로 입력된정보는 통계, 조회/참조, 분석, 시각화 등의 기 능에 기초자료로써 활용 가능하다. 통계 찾기/참조 분석 시각화 … 등등
  • 33.
    Excel 배우기 3– 데이터 다루기 Learn to dealing with Data by MS-Excel
  • 34.
    함수 문자열 Function Character v문자열함수 1 •문자를 데이터로인식하기. LEFT LEFT(문자 또는 참조열, 개수) Ex) LEFT(A1, 3) LEFT(“가나다라”, 2) -> 가나 RIGHT RIGHT(문자 또는 참조열, 개수) Ex) RIGHT(B1, 3) RIGHT(“가나다라”, 2) -> 다라 MID MID(문자 또는 참조열, 시작 순서, 문자 개수) Ex) MID(C1, 3, 2) MID(“가나다라마”, 3, 2) -> 다라
  • 35.
    v문자열함수 2 •문자를 데이터로인식하기. LEN. 문자열의 길이. =len(가나다라) -> 4 =len(a1) -> a1의 문자열 길이 함수 문자열 Function Character
  • 36.
    v문자열함수 3 •문자를 데이터로인식하기. FIND 텍스트 내 특정 문자의 위치(순서) 찾기. =find(“.”, “가나다.라”) ->4 =find(“-”, “790131-1000002) ->8 함수 문자열 Function Character FIND 텍스트 내 특정 문자의 위치(순서) 찾기. =find(“.”, “가나다.라”) ->4 =find(“-”, “790131-1000002) ->8
  • 37.
    v문자열함수 4 •문자를 데이터로인식하기. SUBSTITUTE 텍스트에서 문자를 다른 문자로 변환 =substitute(“가나다라”, “가“, “나“) -> 나나다라 함수 문자열 Function Character
  • 38.
    v문자열함수 5 •숫자 데이터를문자데이터로 변환. TEXT - 숫자의 서식을 적용한 후 텍스트로 변환하고 싶을 때? 1을 00001로 표현하고 싶다면? Text(1,”00000”) -> 00001 Text(3,”00.00”) -> 3.00 Text(27.31,”00.0”) -> 27.3 함수 문자열 Function Character TEXT - 숫자의 서식을 적용한 후 텍스트로 변환하고 싶을 때? 1을 00001로 표현하고 싶다면? Text(1,”00000”) -> 00001 Text(3,”00.00”) -> 3.00 Text(27.31,”00.0”) -> 27.3
  • 39.
    v문자열과 수식 •문자와 수식을연결해서 쓰고 싶을 때? 문자는 “” 안에 입력. 문자와 참조셀의 연결은 &. Ex1) A1의값 + 원 -> = a1&”원” Ex2) A1값 + left(c1,4) + 원 -> A1&left(c1,4)+”원” 함수 문자열 Function Character 문자는 “” 안에 입력. 문자와 참조셀의 연결은 &. Ex1) A1의값 + 원 -> = a1&”원” Ex2) A1값 + left(c1,4) + 원 -> A1&left(c1,4)+”원”
  • 40.
    vAND, OR 1 AND 조건이모두 맞으면 true, 하나라도 아니면 False =AND(logical1, logical2…), =AND(3>0, 4>3), -> true =AND(3>4, 4>3) - > false 함수 논리 Function Logical
  • 41.
    vAND, OR 2 OR 조건이모두 맞으면 true, 하나라도 아니면 False =AND(logical1, logical2…), =AND(3>0, 4>3), -> true =AND(3>4, 4>3) - > false 함수 논리 Function Logical
  • 42.
    vAND, OR 3 함수 논리 Function Logical AB 결과 AND O O TRUE O X FALSE X O FALSEX O FALSE X X FALSE OR O O TRUE O X TRUE X O TRUE X X FALSE
  • 43.
    vIF 1 §조건이 참일때, 거짓 일때에 따라 각기 다른 값을 반환 §뒤져서 나오면 100원에 한대. ? 안나오면? ㅠㅠ 함수 논리 Function Logical If If(조건, 참 일때 반환 값, 거짓 일때 반환 값) If If(‘오늘=수요일’, ‘회의’, ‘일’) If(‘오늘=금요일 and 약속=있음’, ‘불금’, ‘방콕’)
  • 44.
    vIF 2 IF 조건, 조건이참일 때 반환, 거짓일 때 반환 A1=4, =IF(A1>3, “저학년”, “고학년”) 함수 논리 Function Logical
  • 45.
    vVlookup 1 VLOOKUP 1. 원하는값을 2. 배열의 첫 열에서 검색하여, 3. 지정한 열의 같은 행에서 데이터를 찾아줌. 함수 논리 Function Logical
  • 46.
    vVlookup 2 원하는 값= 서거정 찾으려고 하는 값 = 서거정의 생년 함수 논리 Function Logical A B C D 1 인물명 시호 생년 본관 2 김종직 문충 1431 선산2 김종직 문충 1431 선산 3 조식 문정 1501 창녕 4 조광조 문정 1482 한양 5 서거정 문충 1420 대구 서거정 A1:D5 3 False