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)을 배
우는 것은 앞으로의 인문학 연구를 수행할 수 있는 능력을 함양
하는 것이라 생각합니다. 자 열심히 배웁시다.
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
• 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)형태로 표현
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
• 후보 키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
• 관계를 맺고 있는 릴레이션의 기본 키에 해당하는 애트리뷰트
• 외래 키로 지정된 애트리뷰트는 참조된 릴레이션의 기본 키에 없는 값을 가질
수 없다.
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)
15. Excel 배우기 1 - DB기초 이해
Basic understanding of DB by MS-Excel
16. 소개
Instruction
v엑셀
마이크로소프트 윈도우와 OS X에서 작동하는 마이크로소프트사
에서 개발해 판매하는 스프레드시트 프로그램이다. 마이크로소
프트 오피스의 일부이다. 회계 및 각종 데이터베이스 관리에 주
로 사용된다.
v스프레드시트
스프레드시트(spreadsheet, 문화어: 스프레드쉬트) 또는 표 계
산은 경리, 회계 등의 계산을 위해 사용되는 표 형식의 계산용지
나, 계산용지를 컴퓨터에서 사용할 수 있게 구현한 표 계산 프로
그램을 의미한다.
- 계산을 위해 사용되는 표 형식의 컴퓨터 프로그램
v엑셀
마이크로소프트 윈도우와 OS X에서 작동하는 마이크로소프트사
에서 개발해 판매하는 스프레드시트 프로그램이다. 마이크로소
프트 오피스의 일부이다. 회계 및 각종 데이터베이스 관리에 주
로 사용된다.
v스프레드시트
스프레드시트(spreadsheet, 문화어: 스프레드쉬트) 또는 표 계
산은 경리, 회계 등의 계산을 위해 사용되는 표 형식의 계산용지
나, 계산용지를 컴퓨터에서 사용할 수 있게 구현한 표 계산 프로
그램을 의미한다.
- 계산을 위해 사용되는 표 형식의 컴퓨터 프로그램
18. 소개
Instruction
엑셀은 스타일과 데이터로 구분되어 있다. 스프레드시트
가 데이터의 관리, 처리 기능 등의 본연의 기능 외에 스타
일 기능이 추가 되었다고 할 수 있다. 이것이 관계형 데이
터베이스와 다른 부분이라 할 수 있다.
엑셀을 통해 관계형 데이터베이스의 기초를 살펴보자.
엑셀엑셀스타일스타일 데이터데이터
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. 삽입 – 표
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 …)
…
날짜, 통화 등
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
빈칸(공백)
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
43. vIF 1
§조건이 참 일때, 거짓 일때에 따라 각기 다른 값을 반환
§뒤져서 나오면 100원에 한대. ? 안나오면? ㅠㅠ
함수
논리
Function
Logical
If
If(조건, 참 일때 반환 값, 거짓 일때 반환 값)
If
If(‘오늘=수요일’, ‘회의’, ‘일’)
If(‘오늘=금요일 and 약속=있음’, ‘불금’, ‘방콕’)
44. vIF 2
IF
조건, 조건이 참일 때 반환, 거짓일 때 반환
A1=4, =IF(A1>3, “저학년”, “고학년”)
함수
논리
Function
Logical