SlideShare a Scribd company logo
1 of 17
An introduction to
computer
Science
- Database
2017. 05. 16
황태욱
01 File System
02 Main Memory Management
CONTENTS
03 Further Study
1.1 Database Definition
데이터베이스(영어: database 또는 DB)는 체계화된 데이터의 모임이다. 즉,
작성된 목록으로써 여러 응용 시스템들의 통합된 정보들을 저장하여 운영할 수
있는 공용 데이터들의 묶음이다.
데이터베이스 관리 프로그램
데이터베이스를 조작하는 별도의 소프트웨어(미들웨어와 유사)를
DBMS(Database Management System)이라고 한다.
여러 응용프로그램들이 데이터베이스를 공유해서 사용할 수 있는 환경을 제공
- 대표적으로 Oracle, 인포믹스, 액세스 등
데이터베이스 모델: 계층적 데이터모델, 네트워크형 데이터모델, 관계형
데이타모델, 객체지향형 데이터 모델 등이 있음
관계 데이타모델(Relational Datamodel)
2.1 Relational Database
테이블 형식을 이용하여 데이터를 정의하고 설명한 모델
속성:Attribute – 각 열의 이름/ 학번, 이름, 학과명, 성별, 성적
도메인:Domain – 각 속성의 입력 가능한 값 범위/ 성별의 도메인은 남,여
차수:degree – 속성의 수 / 표에서는 5
튜플: tuple – 각 행
카디널리티:cardinality – 전체 행 수 / 표에서는 5
릴레이션: Relation – 테이블을 의미, 중복된 튜플이 있어서는 안되고
중복된 속성도 허용되지 않음
후보키:Candidate Key - 튜플을 구별할 수 있는 최소한의 속성 / (학번), (이름, 학과)
기본키: Primary Key – 후보 키 중 하나로 선택된 키 / (학번) 또는 (이름,학과)
학번 이름 학과명 성별 성적
20051201 김철수 컴퓨터 남 85
20050315 이영희 수학 여 95
20040527 홍길동 화학 남 88
20031209 이영희 컴퓨터 여 95
20040307 박희동 수학 남 82
2.2 RDB 연산
학번 이름 학과명 성별 성적
20051201 김철수 컴퓨터 남 85
20050315 이영희 수학 여 95
20040527 홍길동 과학 남 88
20031209 이영희 컴퓨터 여 95
20040307 박희동 수학 남 82
학과명 사무실 전화번호
수학 A304 720-0816
과학 A205 720-0821
영어 C201 720-0851
컴퓨터 E304 720-0856
이름 학과명 성별 직위
김종훈 윤리 남 교수
이종진 수학 남 부교수
박현경 영어 여 조교수
최동규 컴퓨터 남 부교수
학생 릴레이션
학과 릴레이션
교수 릴레이션
2.3 RDB 연산: Selection
σ조건식 (릴레이션)
σ성별=“여” (학생)
AND(∧), OR(∨), NOT 연산자 사용가능
σ성별=“남” ∧ 직위=“부교수”(교수)
학번 이름 학과명 성별 성적
20050315 이영희 수학 여 95
20031209 이영희 컴퓨터 여 95
이름 학과명 성별 직위
이종진 수학 남 부교수
최동규 컴퓨터 남 부교수
2.4 RDB 연산: projection 추출
𝜋 속성리스트 (릴레이션)
𝜋 학번, 이름 (학생)
𝜋 이름, 학과명 (σ성별=“남” (교수))
학번 이름
20051201 김철수
20050315 이영희
20040527 홍길동
20031209 이영희
20040307 박희동
이름 학과명
김종훈 윤리
이종진 수학
최동규 컴퓨터
2.4 RDB 연산: 합집합 연산
(𝜋 속성리스트 (릴레이션)) ∪ (𝜋 속성리스트 (릴레이션))
𝜋 이름, 학과명 (학생) ∪ 𝜋 이름, 학과명 (교수)
학생과 교수 릴레이션에서 학과명이 “컴퓨터”인 튜플의 이름을 모두 찾는 연산
(𝜋 이름 (σ학과명=“컴퓨터” (학생))) U (𝜋 이름 (σ학과명=“컴퓨터” (교수)))
이름 학과명
김철수 컴퓨터
이영희 수학
홍길동 과학
이영희 컴퓨터
박희동 수학
김종훈 윤리
이종진 수학
박현경 영어
최동규 컴퓨터
이름
김철수
이영희
최동규
2.4 RDB 연산: 교집합, 차집합, 카디션 곱
(𝜋 속성리스트 (릴레이션)) ∩ (𝜋 속성리스트 (릴레이션))
(𝜋 학과명 (학생)) ∩ (𝜋 학과명 (교수))
(𝜋 속성리스트 (릴레이션)) - (𝜋 속성리스트 (릴레이션))
(𝜋 학과명 (학생)) - (𝜋 학과명 (교수))
카디션 곱(x)연산은 두 릴레이션 튜플간의 모든 조합을 취하는 연산
릴레이션1 x 릴레이션2
학과명
컴퓨터
수학
학과명
과학
2.4 RDB 연산: Join 조인 연산
조인연산은 두 릴레이션에서 특정 조건을 만족하는 튜플들을 결합해 하나의 튜플로
만드는 연산
R1 ⊳⊲조건식 R2
학생과 학과 릴레이션에서 학과명에 대한 정보를 조합해서 하나의 튜플로 만든다면
다만 이경우 학과명이 양쪽 릴레이션에 모두 있으므로 이를 학생.학과명 /
학과.학과명으로 나타낸다
학생 ⊳⊲ 학생.학과명 = 학과.확과명 학과
컴퓨터과에 다니는 학생의 이름과 학과사무실 전화번호를 찾고자 한다면
𝜋 이름, 전화번호 (σ학생.학과명=“컴퓨터” (학생 ⊳⊲ 학생.학과명 = 학과.확과명 학과) )
학번 이름 학생.학과명 성별 성적 학과.학과명 사무실 전화번호
20051201 김철수 컴퓨터 남 85 컴퓨터 E304 720-0856
20050315 이영희 수학 여 95 수학 A304 720-0816
20040527 홍길동 과학 남 88 과학 A205 720-0821
20031209 이영희 컴퓨터 여 95 컴퓨터 E304 720-0856
20040307 박희동 수학 남 82 수학 A304 720-0816
이름 전화번호
김철수 720-0856
이영희 720-0856
3.1 SQL Definition
SQL(Structured Query Language): 관계형 DB에서 사용되는 언어
크게 데이터 정의 언어(DDL: Data Definition Language)와 데이터 조작 언어
(DML: Data Manipulation Language)로 나눔
DDL: 릴레이션 생성, 릴레이션 삭제, 릴레이션 변경
DML: 검색, 삽입, 삭제, 갱신
3.2 SQL: Relation Create
CREATE TABLE 릴레이션 이름
(속성1 자료형1,
속성2 자료형2,
: :
속성n 자료형 n );
CREATE TABLE 대학생
(이름 VARCHAR(20),
주민등록번호 CHAR(14) NOT NULL
학과명 VARCHAR(20),
학년 INT,
PRIMARY KEY (주민등록번호));
자료형 설명
CHAR(n) 길이가 n인 고정길이 문자열
VARCHAR(n) 길이가 최대 n인 가변 길이 문자열
INT 정수형
FLOAT(n) n개의 자리수를 갖는 부동소수점형
DATE 날짜형
TIME 시간형
3.3 SQL: Relation 삭제, 변경
DROP TABLE 릴레이션;
ALTER TABLE 기존 릴레이션 ADD 속성이름 자료형;
 ALTER TABLE 대학생 ADD 성적 INT;
ALTER TABLE 기존 릴레이션 DROP 속성이름;
 ALTER TABLE 대학생 DROP 학년;
3.4 SQL: 검색
SELECT 속성리스트 FROM 릴레이션리스트 WHERE 조건;
학생 릴레이션에서 학과명이 컴퓨터인 튜플을 찾아 학번과 이름을 검색
 SELECT 학번, 이름 FROM 학생 WHERE 학과명=‘컴퓨터’;
두 릴레이션이 포함된 경우
학생.학과명과 교수.학과명이 같으면서 학과명이 컴퓨터인 학생이름과 교수이름을
검색
SELECT 학생.이름, 교수.이름
FROM 학생, 교수
WHERE 학생.학과명 = 교수.학과명 and 학생.학과명=‘컴퓨터’;
3.4 SQL: 삽입, 삭제, 갱신
튜플삽입
INSERT INTO 릴레이션
VALUES (값1, 값2, … 값n);
INSERT INTO 릴레이션(속성이름1, 속성이름2 … 속성이름n)
VALUES (값1, 값2, … 값 n);
튜플 삭제
DELET FROM 릴레이션
WHERE 조건;
학생릴레이션에서 확과명 ‘수학’인 튜플을 삭제
 DELETE FROM 학생
WHERE 학과명=‘수학’
튜플 갱신
UPDATE 릴레이션
SET 속성1=수식1, 속성2=수식2, … 속성n=수식n
WHERE 조건;
UPDATE 교수 SET 직위=‘부교수’ WHERE 이름 =‘박현경’;
3. Further Study
관계형데이타베이스
https://ko.wikipedia.org/wiki/%EA%B4%80%EA%B3%84%ED%98%95_%EB
%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%
A4
Q&A
For further details, please contact us by e-mail
황태욱 : taewook.hwang@gmail.com
010.9576.5105
Kakao: Aldemaya

More Related Content

What's hot

Senti prompt sentiment knowledge enhanced prompt tuning for aspect-based sent...
Senti prompt sentiment knowledge enhanced prompt tuning for aspect-based sent...Senti prompt sentiment knowledge enhanced prompt tuning for aspect-based sent...
Senti prompt sentiment knowledge enhanced prompt tuning for aspect-based sent...taeseon ryu
 
[アルゴリズムイントロダクション勉強会] ハッシュ
[アルゴリズムイントロダクション勉強会] ハッシュ[アルゴリズムイントロダクション勉強会] ハッシュ
[アルゴリズムイントロダクション勉強会] ハッシュRei Takami
 
Computer architecture multi processor
Computer architecture multi processorComputer architecture multi processor
Computer architecture multi processorMazin Alwaaly
 
미등록단어 문제 해결을 위한 비지도학습 기반 한국어자연어처리 방법론 및 응용
미등록단어 문제 해결을 위한 비지도학습 기반 한국어자연어처리 방법론 및 응용미등록단어 문제 해결을 위한 비지도학습 기반 한국어자연어처리 방법론 및 응용
미등록단어 문제 해결을 위한 비지도학습 기반 한국어자연어처리 방법론 및 응용NAVER Engineering
 
Operating System Concepts Presentation
Operating System Concepts PresentationOperating System Concepts Presentation
Operating System Concepts PresentationNitish Jadia
 
Processor structure and funtions
Processor structure and funtionsProcessor structure and funtions
Processor structure and funtionsMuhammad Ishaq
 
Hunspell 한국어 맞춤법 검사의 원리
Hunspell 한국어 맞춤법 검사의 원리Hunspell 한국어 맞춤법 검사의 원리
Hunspell 한국어 맞춤법 검사의 원리Changwoo Ryu
 
한국어 문서 추출요약 AI 경진대회- 좌충우돌 후기
한국어 문서 추출요약 AI 경진대회- 좌충우돌 후기한국어 문서 추출요약 AI 경진대회- 좌충우돌 후기
한국어 문서 추출요약 AI 경진대회- 좌충우돌 후기Hangil Kim
 
Random Forest Intro [랜덤포레스트 설명]
Random Forest Intro [랜덤포레스트 설명]Random Forest Intro [랜덤포레스트 설명]
Random Forest Intro [랜덤포레스트 설명]Hyunwoo Kim
 
introduction to operating system
introduction to operating systemintroduction to operating system
introduction to operating systemHAMZA AHMED
 
Instruction Level Parallelism | Static Multiple Issue & Dynamic Multiple Issu...
Instruction Level Parallelism | Static Multiple Issue & Dynamic Multiple Issu...Instruction Level Parallelism | Static Multiple Issue & Dynamic Multiple Issu...
Instruction Level Parallelism | Static Multiple Issue & Dynamic Multiple Issu...babuece
 
Thread scheduling in Operating Systems
Thread scheduling in Operating SystemsThread scheduling in Operating Systems
Thread scheduling in Operating SystemsNitish Gulati
 
Cache performance considerations
Cache performance considerationsCache performance considerations
Cache performance considerationsSlideshare
 
Chapter 04 the processor
Chapter 04   the processorChapter 04   the processor
Chapter 04 the processorBảo Hoang
 
[분석] DeepTitle : 한국어 기사 자동 요약
[분석] DeepTitle : 한국어 기사 자동 요약[분석] DeepTitle : 한국어 기사 자동 요약
[분석] DeepTitle : 한국어 기사 자동 요약BOAZ Bigdata
 
AtCoder Regular Contest 023 解説
AtCoder Regular Contest 023 解説AtCoder Regular Contest 023 解説
AtCoder Regular Contest 023 解説AtCoder Inc.
 
Kernel. Operating System
Kernel. Operating SystemKernel. Operating System
Kernel. Operating Systempratikkadam78
 

What's hot (20)

컴퓨터개론03
컴퓨터개론03컴퓨터개론03
컴퓨터개론03
 
Senti prompt sentiment knowledge enhanced prompt tuning for aspect-based sent...
Senti prompt sentiment knowledge enhanced prompt tuning for aspect-based sent...Senti prompt sentiment knowledge enhanced prompt tuning for aspect-based sent...
Senti prompt sentiment knowledge enhanced prompt tuning for aspect-based sent...
 
[アルゴリズムイントロダクション勉強会] ハッシュ
[アルゴリズムイントロダクション勉強会] ハッシュ[アルゴリズムイントロダクション勉強会] ハッシュ
[アルゴリズムイントロダクション勉強会] ハッシュ
 
Computer architecture multi processor
Computer architecture multi processorComputer architecture multi processor
Computer architecture multi processor
 
미등록단어 문제 해결을 위한 비지도학습 기반 한국어자연어처리 방법론 및 응용
미등록단어 문제 해결을 위한 비지도학습 기반 한국어자연어처리 방법론 및 응용미등록단어 문제 해결을 위한 비지도학습 기반 한국어자연어처리 방법론 및 응용
미등록단어 문제 해결을 위한 비지도학습 기반 한국어자연어처리 방법론 및 응용
 
Operating System Concepts Presentation
Operating System Concepts PresentationOperating System Concepts Presentation
Operating System Concepts Presentation
 
Processor structure and funtions
Processor structure and funtionsProcessor structure and funtions
Processor structure and funtions
 
Parallel programming model
Parallel programming modelParallel programming model
Parallel programming model
 
Hunspell 한국어 맞춤법 검사의 원리
Hunspell 한국어 맞춤법 검사의 원리Hunspell 한국어 맞춤법 검사의 원리
Hunspell 한국어 맞춤법 검사의 원리
 
한국어 문서 추출요약 AI 경진대회- 좌충우돌 후기
한국어 문서 추출요약 AI 경진대회- 좌충우돌 후기한국어 문서 추출요약 AI 경진대회- 좌충우돌 후기
한국어 문서 추출요약 AI 경진대회- 좌충우돌 후기
 
Random Forest Intro [랜덤포레스트 설명]
Random Forest Intro [랜덤포레스트 설명]Random Forest Intro [랜덤포레스트 설명]
Random Forest Intro [랜덤포레스트 설명]
 
introduction to operating system
introduction to operating systemintroduction to operating system
introduction to operating system
 
Draw and explain the architecture of general purpose microprocessor
Draw and explain the architecture of general purpose microprocessor Draw and explain the architecture of general purpose microprocessor
Draw and explain the architecture of general purpose microprocessor
 
Instruction Level Parallelism | Static Multiple Issue & Dynamic Multiple Issu...
Instruction Level Parallelism | Static Multiple Issue & Dynamic Multiple Issu...Instruction Level Parallelism | Static Multiple Issue & Dynamic Multiple Issu...
Instruction Level Parallelism | Static Multiple Issue & Dynamic Multiple Issu...
 
Thread scheduling in Operating Systems
Thread scheduling in Operating SystemsThread scheduling in Operating Systems
Thread scheduling in Operating Systems
 
Cache performance considerations
Cache performance considerationsCache performance considerations
Cache performance considerations
 
Chapter 04 the processor
Chapter 04   the processorChapter 04   the processor
Chapter 04 the processor
 
[분석] DeepTitle : 한국어 기사 자동 요약
[분석] DeepTitle : 한국어 기사 자동 요약[분석] DeepTitle : 한국어 기사 자동 요약
[분석] DeepTitle : 한국어 기사 자동 요약
 
AtCoder Regular Contest 023 解説
AtCoder Regular Contest 023 解説AtCoder Regular Contest 023 解説
AtCoder Regular Contest 023 解説
 
Kernel. Operating System
Kernel. Operating SystemKernel. Operating System
Kernel. Operating System
 

Similar to 컴퓨터개론10

디지털 인문학 데이터베이스 개론
디지털 인문학 데이터베이스 개론디지털 인문학 데이터베이스 개론
디지털 인문학 데이터베이스 개론Baro Kim
 
181215 MS SQL로 알아보는 데이터베이스
181215 MS SQL로 알아보는 데이터베이스181215 MS SQL로 알아보는 데이터베이스
181215 MS SQL로 알아보는 데이터베이스KWANGIL KIM
 
Fundamentals of Oracle SQL
Fundamentals of Oracle SQLFundamentals of Oracle SQL
Fundamentals of Oracle SQLJAEGEUN YU
 
2016년 인문정보학 Sql세미나 1/3
2016년 인문정보학 Sql세미나 1/32016년 인문정보학 Sql세미나 1/3
2016년 인문정보학 Sql세미나 1/3in2acous
 
04주차 ddl- table을 만들자-2
04주차 ddl- table을 만들자-204주차 ddl- table을 만들자-2
04주차 ddl- table을 만들자-2Yoonwhan Lee
 
현대고등학교 PHP 강의 - 5차시 (설리번 프로젝트)
현대고등학교 PHP 강의 - 5차시 (설리번 프로젝트)현대고등학교 PHP 강의 - 5차시 (설리번 프로젝트)
현대고등학교 PHP 강의 - 5차시 (설리번 프로젝트)Ukjae Jeong
 
성공적인웹프로그래밍
성공적인웹프로그래밍성공적인웹프로그래밍
성공적인웹프로그래밍dgmong
 
제13장 사용자 권한
제13장 사용자 권한제13장 사용자 권한
제13장 사용자 권한sang doc Lee
 
R 프로그램의 이해와 활용 v1.1
R 프로그램의 이해와 활용 v1.1R 프로그램의 이해와 활용 v1.1
R 프로그램의 이해와 활용 v1.1happychallenge
 
R을 이용한 데이터 분석
R을 이용한 데이터 분석R을 이용한 데이터 분석
R을 이용한 데이터 분석simon park
 
데이터베이스의 이해
데이터베이스의 이해데이터베이스의 이해
데이터베이스의 이해Byung Kook Ha
 
데이터베이스 시스템 chapter1_STG박하은
데이터베이스 시스템 chapter1_STG박하은데이터베이스 시스템 chapter1_STG박하은
데이터베이스 시스템 chapter1_STG박하은ETRIBE_STG
 
Informix user guide
Informix user guideInformix user guide
Informix user guideJunSeok Kim
 
자바로 배우는 자료구조
자바로 배우는 자료구조자바로 배우는 자료구조
자바로 배우는 자료구조중선 곽
 

Similar to 컴퓨터개론10 (18)

디지털 인문학 데이터베이스 개론
디지털 인문학 데이터베이스 개론디지털 인문학 데이터베이스 개론
디지털 인문학 데이터베이스 개론
 
181215 MS SQL로 알아보는 데이터베이스
181215 MS SQL로 알아보는 데이터베이스181215 MS SQL로 알아보는 데이터베이스
181215 MS SQL로 알아보는 데이터베이스
 
Fundamentals of Oracle SQL
Fundamentals of Oracle SQLFundamentals of Oracle SQL
Fundamentals of Oracle SQL
 
2016년 인문정보학 Sql세미나 1/3
2016년 인문정보학 Sql세미나 1/32016년 인문정보학 Sql세미나 1/3
2016년 인문정보학 Sql세미나 1/3
 
04주차 ddl- table을 만들자-2
04주차 ddl- table을 만들자-204주차 ddl- table을 만들자-2
04주차 ddl- table을 만들자-2
 
현대고등학교 PHP 강의 - 5차시 (설리번 프로젝트)
현대고등학교 PHP 강의 - 5차시 (설리번 프로젝트)현대고등학교 PHP 강의 - 5차시 (설리번 프로젝트)
현대고등학교 PHP 강의 - 5차시 (설리번 프로젝트)
 
성공적인웹프로그래밍
성공적인웹프로그래밍성공적인웹프로그래밍
성공적인웹프로그래밍
 
제13장 사용자 권한
제13장 사용자 권한제13장 사용자 권한
제13장 사용자 권한
 
R 프로그램의 이해와 활용 v1.1
R 프로그램의 이해와 활용 v1.1R 프로그램의 이해와 활용 v1.1
R 프로그램의 이해와 활용 v1.1
 
R을 이용한 데이터 분석
R을 이용한 데이터 분석R을 이용한 데이터 분석
R을 이용한 데이터 분석
 
데이터베이스의 이해
데이터베이스의 이해데이터베이스의 이해
데이터베이스의 이해
 
MySQL과 PHP
MySQL과 PHPMySQL과 PHP
MySQL과 PHP
 
MySQL 기초
MySQL 기초MySQL 기초
MySQL 기초
 
데이터베이스 시스템 chapter1_STG박하은
데이터베이스 시스템 chapter1_STG박하은데이터베이스 시스템 chapter1_STG박하은
데이터베이스 시스템 chapter1_STG박하은
 
7주차 스터디
7주차 스터디7주차 스터디
7주차 스터디
 
Informix user guide
Informix user guideInformix user guide
Informix user guide
 
자바로 배우는 자료구조
자바로 배우는 자료구조자바로 배우는 자료구조
자바로 배우는 자료구조
 
강의자료3
강의자료3강의자료3
강의자료3
 

More from Edward Hwang

02 특허와 실용신안 제도
02 특허와 실용신안 제도02 특허와 실용신안 제도
02 특허와 실용신안 제도Edward Hwang
 
게임디자인 레벨 밸런싱
게임디자인   레벨 밸런싱게임디자인   레벨 밸런싱
게임디자인 레벨 밸런싱Edward Hwang
 
Understanding of growth hacking 01
Understanding of growth hacking 01Understanding of growth hacking 01
Understanding of growth hacking 01Edward Hwang
 
Understanding of gamification 03
Understanding of gamification 03Understanding of gamification 03
Understanding of gamification 03Edward Hwang
 
게임디자인 게임시스템
게임디자인   게임시스템게임디자인   게임시스템
게임디자인 게임시스템Edward Hwang
 
게임디자인 게임디자인
게임디자인   게임디자인게임디자인   게임디자인
게임디자인 게임디자인Edward Hwang
 
게임디자인 게임제작 및 시나리오
게임디자인   게임제작 및 시나리오게임디자인   게임제작 및 시나리오
게임디자인 게임제작 및 시나리오Edward Hwang
 
게임디자인 게임역사
게임디자인   게임역사게임디자인   게임역사
게임디자인 게임역사Edward Hwang
 
창업아이디어 2015 2학기
창업아이디어 2015 2학기창업아이디어 2015 2학기
창업아이디어 2015 2학기Edward Hwang
 
Understanding of gamification 2015
Understanding of gamification 2015Understanding of gamification 2015
Understanding of gamification 2015Edward Hwang
 
사업계획서 기본요소
사업계획서 기본요소사업계획서 기본요소
사업계획서 기본요소Edward Hwang
 
May 2015 flow chart 익히기
May 2015 flow chart 익히기May 2015 flow chart 익히기
May 2015 flow chart 익히기Edward Hwang
 
창업아이디어
창업아이디어창업아이디어
창업아이디어Edward Hwang
 
앱을 위한 아이디어 2015
앱을 위한 아이디어 2015 앱을 위한 아이디어 2015
앱을 위한 아이디어 2015 Edward Hwang
 
기술 창업 Idea to business
기술 창업 Idea to business기술 창업 Idea to business
기술 창업 Idea to businessEdward Hwang
 
Lean startup 이해하기 황태욱
Lean startup 이해하기   황태욱Lean startup 이해하기   황태욱
Lean startup 이해하기 황태욱Edward Hwang
 

More from Edward Hwang (20)

컴퓨터개론13
컴퓨터개론13컴퓨터개론13
컴퓨터개론13
 
컴퓨터개론12
컴퓨터개론12컴퓨터개론12
컴퓨터개론12
 
컴퓨터개론11
컴퓨터개론11컴퓨터개론11
컴퓨터개론11
 
02 특허와 실용신안 제도
02 특허와 실용신안 제도02 특허와 실용신안 제도
02 특허와 실용신안 제도
 
게임디자인 레벨 밸런싱
게임디자인   레벨 밸런싱게임디자인   레벨 밸런싱
게임디자인 레벨 밸런싱
 
Understanding of growth hacking 01
Understanding of growth hacking 01Understanding of growth hacking 01
Understanding of growth hacking 01
 
Understanding of gamification 03
Understanding of gamification 03Understanding of gamification 03
Understanding of gamification 03
 
게임디자인 게임시스템
게임디자인   게임시스템게임디자인   게임시스템
게임디자인 게임시스템
 
게임디자인 게임디자인
게임디자인   게임디자인게임디자인   게임디자인
게임디자인 게임디자인
 
게임디자인 게임제작 및 시나리오
게임디자인   게임제작 및 시나리오게임디자인   게임제작 및 시나리오
게임디자인 게임제작 및 시나리오
 
게임의 분류
게임의 분류게임의 분류
게임의 분류
 
게임디자인 게임역사
게임디자인   게임역사게임디자인   게임역사
게임디자인 게임역사
 
창업아이디어 2015 2학기
창업아이디어 2015 2학기창업아이디어 2015 2학기
창업아이디어 2015 2학기
 
Understanding of gamification 2015
Understanding of gamification 2015Understanding of gamification 2015
Understanding of gamification 2015
 
사업계획서 기본요소
사업계획서 기본요소사업계획서 기본요소
사업계획서 기본요소
 
May 2015 flow chart 익히기
May 2015 flow chart 익히기May 2015 flow chart 익히기
May 2015 flow chart 익히기
 
창업아이디어
창업아이디어창업아이디어
창업아이디어
 
앱을 위한 아이디어 2015
앱을 위한 아이디어 2015 앱을 위한 아이디어 2015
앱을 위한 아이디어 2015
 
기술 창업 Idea to business
기술 창업 Idea to business기술 창업 Idea to business
기술 창업 Idea to business
 
Lean startup 이해하기 황태욱
Lean startup 이해하기   황태욱Lean startup 이해하기   황태욱
Lean startup 이해하기 황태욱
 

컴퓨터개론10

  • 1. An introduction to computer Science - Database 2017. 05. 16 황태욱
  • 2. 01 File System 02 Main Memory Management CONTENTS 03 Further Study
  • 3. 1.1 Database Definition 데이터베이스(영어: database 또는 DB)는 체계화된 데이터의 모임이다. 즉, 작성된 목록으로써 여러 응용 시스템들의 통합된 정보들을 저장하여 운영할 수 있는 공용 데이터들의 묶음이다. 데이터베이스 관리 프로그램 데이터베이스를 조작하는 별도의 소프트웨어(미들웨어와 유사)를 DBMS(Database Management System)이라고 한다. 여러 응용프로그램들이 데이터베이스를 공유해서 사용할 수 있는 환경을 제공 - 대표적으로 Oracle, 인포믹스, 액세스 등 데이터베이스 모델: 계층적 데이터모델, 네트워크형 데이터모델, 관계형 데이타모델, 객체지향형 데이터 모델 등이 있음 관계 데이타모델(Relational Datamodel)
  • 4. 2.1 Relational Database 테이블 형식을 이용하여 데이터를 정의하고 설명한 모델 속성:Attribute – 각 열의 이름/ 학번, 이름, 학과명, 성별, 성적 도메인:Domain – 각 속성의 입력 가능한 값 범위/ 성별의 도메인은 남,여 차수:degree – 속성의 수 / 표에서는 5 튜플: tuple – 각 행 카디널리티:cardinality – 전체 행 수 / 표에서는 5 릴레이션: Relation – 테이블을 의미, 중복된 튜플이 있어서는 안되고 중복된 속성도 허용되지 않음 후보키:Candidate Key - 튜플을 구별할 수 있는 최소한의 속성 / (학번), (이름, 학과) 기본키: Primary Key – 후보 키 중 하나로 선택된 키 / (학번) 또는 (이름,학과) 학번 이름 학과명 성별 성적 20051201 김철수 컴퓨터 남 85 20050315 이영희 수학 여 95 20040527 홍길동 화학 남 88 20031209 이영희 컴퓨터 여 95 20040307 박희동 수학 남 82
  • 5. 2.2 RDB 연산 학번 이름 학과명 성별 성적 20051201 김철수 컴퓨터 남 85 20050315 이영희 수학 여 95 20040527 홍길동 과학 남 88 20031209 이영희 컴퓨터 여 95 20040307 박희동 수학 남 82 학과명 사무실 전화번호 수학 A304 720-0816 과학 A205 720-0821 영어 C201 720-0851 컴퓨터 E304 720-0856 이름 학과명 성별 직위 김종훈 윤리 남 교수 이종진 수학 남 부교수 박현경 영어 여 조교수 최동규 컴퓨터 남 부교수 학생 릴레이션 학과 릴레이션 교수 릴레이션
  • 6. 2.3 RDB 연산: Selection σ조건식 (릴레이션) σ성별=“여” (학생) AND(∧), OR(∨), NOT 연산자 사용가능 σ성별=“남” ∧ 직위=“부교수”(교수) 학번 이름 학과명 성별 성적 20050315 이영희 수학 여 95 20031209 이영희 컴퓨터 여 95 이름 학과명 성별 직위 이종진 수학 남 부교수 최동규 컴퓨터 남 부교수
  • 7. 2.4 RDB 연산: projection 추출 𝜋 속성리스트 (릴레이션) 𝜋 학번, 이름 (학생) 𝜋 이름, 학과명 (σ성별=“남” (교수)) 학번 이름 20051201 김철수 20050315 이영희 20040527 홍길동 20031209 이영희 20040307 박희동 이름 학과명 김종훈 윤리 이종진 수학 최동규 컴퓨터
  • 8. 2.4 RDB 연산: 합집합 연산 (𝜋 속성리스트 (릴레이션)) ∪ (𝜋 속성리스트 (릴레이션)) 𝜋 이름, 학과명 (학생) ∪ 𝜋 이름, 학과명 (교수) 학생과 교수 릴레이션에서 학과명이 “컴퓨터”인 튜플의 이름을 모두 찾는 연산 (𝜋 이름 (σ학과명=“컴퓨터” (학생))) U (𝜋 이름 (σ학과명=“컴퓨터” (교수))) 이름 학과명 김철수 컴퓨터 이영희 수학 홍길동 과학 이영희 컴퓨터 박희동 수학 김종훈 윤리 이종진 수학 박현경 영어 최동규 컴퓨터 이름 김철수 이영희 최동규
  • 9. 2.4 RDB 연산: 교집합, 차집합, 카디션 곱 (𝜋 속성리스트 (릴레이션)) ∩ (𝜋 속성리스트 (릴레이션)) (𝜋 학과명 (학생)) ∩ (𝜋 학과명 (교수)) (𝜋 속성리스트 (릴레이션)) - (𝜋 속성리스트 (릴레이션)) (𝜋 학과명 (학생)) - (𝜋 학과명 (교수)) 카디션 곱(x)연산은 두 릴레이션 튜플간의 모든 조합을 취하는 연산 릴레이션1 x 릴레이션2 학과명 컴퓨터 수학 학과명 과학
  • 10. 2.4 RDB 연산: Join 조인 연산 조인연산은 두 릴레이션에서 특정 조건을 만족하는 튜플들을 결합해 하나의 튜플로 만드는 연산 R1 ⊳⊲조건식 R2 학생과 학과 릴레이션에서 학과명에 대한 정보를 조합해서 하나의 튜플로 만든다면 다만 이경우 학과명이 양쪽 릴레이션에 모두 있으므로 이를 학생.학과명 / 학과.학과명으로 나타낸다 학생 ⊳⊲ 학생.학과명 = 학과.확과명 학과 컴퓨터과에 다니는 학생의 이름과 학과사무실 전화번호를 찾고자 한다면 𝜋 이름, 전화번호 (σ학생.학과명=“컴퓨터” (학생 ⊳⊲ 학생.학과명 = 학과.확과명 학과) ) 학번 이름 학생.학과명 성별 성적 학과.학과명 사무실 전화번호 20051201 김철수 컴퓨터 남 85 컴퓨터 E304 720-0856 20050315 이영희 수학 여 95 수학 A304 720-0816 20040527 홍길동 과학 남 88 과학 A205 720-0821 20031209 이영희 컴퓨터 여 95 컴퓨터 E304 720-0856 20040307 박희동 수학 남 82 수학 A304 720-0816 이름 전화번호 김철수 720-0856 이영희 720-0856
  • 11. 3.1 SQL Definition SQL(Structured Query Language): 관계형 DB에서 사용되는 언어 크게 데이터 정의 언어(DDL: Data Definition Language)와 데이터 조작 언어 (DML: Data Manipulation Language)로 나눔 DDL: 릴레이션 생성, 릴레이션 삭제, 릴레이션 변경 DML: 검색, 삽입, 삭제, 갱신
  • 12. 3.2 SQL: Relation Create CREATE TABLE 릴레이션 이름 (속성1 자료형1, 속성2 자료형2, : : 속성n 자료형 n ); CREATE TABLE 대학생 (이름 VARCHAR(20), 주민등록번호 CHAR(14) NOT NULL 학과명 VARCHAR(20), 학년 INT, PRIMARY KEY (주민등록번호)); 자료형 설명 CHAR(n) 길이가 n인 고정길이 문자열 VARCHAR(n) 길이가 최대 n인 가변 길이 문자열 INT 정수형 FLOAT(n) n개의 자리수를 갖는 부동소수점형 DATE 날짜형 TIME 시간형
  • 13. 3.3 SQL: Relation 삭제, 변경 DROP TABLE 릴레이션; ALTER TABLE 기존 릴레이션 ADD 속성이름 자료형;  ALTER TABLE 대학생 ADD 성적 INT; ALTER TABLE 기존 릴레이션 DROP 속성이름;  ALTER TABLE 대학생 DROP 학년;
  • 14. 3.4 SQL: 검색 SELECT 속성리스트 FROM 릴레이션리스트 WHERE 조건; 학생 릴레이션에서 학과명이 컴퓨터인 튜플을 찾아 학번과 이름을 검색  SELECT 학번, 이름 FROM 학생 WHERE 학과명=‘컴퓨터’; 두 릴레이션이 포함된 경우 학생.학과명과 교수.학과명이 같으면서 학과명이 컴퓨터인 학생이름과 교수이름을 검색 SELECT 학생.이름, 교수.이름 FROM 학생, 교수 WHERE 학생.학과명 = 교수.학과명 and 학생.학과명=‘컴퓨터’;
  • 15. 3.4 SQL: 삽입, 삭제, 갱신 튜플삽입 INSERT INTO 릴레이션 VALUES (값1, 값2, … 값n); INSERT INTO 릴레이션(속성이름1, 속성이름2 … 속성이름n) VALUES (값1, 값2, … 값 n); 튜플 삭제 DELET FROM 릴레이션 WHERE 조건; 학생릴레이션에서 확과명 ‘수학’인 튜플을 삭제  DELETE FROM 학생 WHERE 학과명=‘수학’ 튜플 갱신 UPDATE 릴레이션 SET 속성1=수식1, 속성2=수식2, … 속성n=수식n WHERE 조건; UPDATE 교수 SET 직위=‘부교수’ WHERE 이름 =‘박현경’;
  • 17. Q&A For further details, please contact us by e-mail 황태욱 : taewook.hwang@gmail.com 010.9576.5105 Kakao: Aldemaya