DB00 - admin
안건
- 강의 개요
- 강의 동기
- 행정 사항
강의 개요
1. 강의: ECE30030/ITP30010 데이터베이스 시스템
- ITP-1분반 (영어): 월/목 14:30-15:45 @OH401
- ITP-2분반 (영어): 월/목 16:00-17:15 @OH401
2. 강사: 홍참길 (Charmgil Hong)
- 사무실: NTH201
- 이메일: charmgil@handong.edu
- 오피스 아워: 추후 공지
3. 조교: 추후 공지
4. 강의 목표:
- 학생들이 데이터베이스 관리 시스템의 개념과 기초 메커니즘을 이해할 수 있도록 한다.
- 학생들이 모델링 언어로 데이터베이스 설계를 표현하고 주어진 제약 조건에 따라 설계를 분석할 수 있도록 한다.
- 학생들이 관계형 데이터베이스 언어(구조적 쿼리 언어)를 명확하게 설명할 수 있도록 한다.
- 학생들이 데이터베이스에서 데이터를 추출, 변환 및 로드(ETL)하고 최신 알고리즘을 사용하여 분석할 수 있도록 한다.
5. 선수 과목: 이산수학
6. 주교재
- Abraham Silberschatz, Henry F. Korth, S. Sudarshan. Database System Concepts, 7th edition. McGraw Hill. 2019.
7. 보조 참고서
- Alex Petrov. Database Internals: A Deep Dive into How Distributed Data Systems Work. O'Reilly Media. 2019.
- Raghu Ramakrishnan, Johannes Gehrke. Database Management Systems, 3rd edition. McGraw Hill. 2003.
8. 강의 개요
1) 이 강의는 영어로 진행된다 (ITP30010만 해당)
- 숙제, 시험 및 수업 내 모든 의사소통에서 영어를 사용해야 한다.
- 제출물이 영어가 아닌 경우 학점을 받을 수 없다.
동기
1. 데이터베이스
- 현실 세계의 일부 측면을 모델링한 상호 관련된 데이터의 조직화된 집합.
- 데이터베이스는 대부분의 컴퓨터 애플리케이션의 핵심 구성 요소 중 하나이다.
2. 데이터베이스 예시
1) 대학
- 등록, 성적
2) 금융 시장
- 신용 카드 거래
- 주식 및 채권의 매매 정보
- 실시간 시장 데이터
3) 기업 정보
- 판매: 고객 제품, 구매
- 회계: 지불, 영수증, 자산
- 인사: 직원 프로필, 급여, 세금
4) 항공사
- 예약, 일정
5) 웹 서비스
- 온라인 상거래: 고객 정보, 제품 정보, 주문 추적
- 온라인 광고
6) 통신
- 통화 기록
- 문자
- 데이터 사용량
- 월간 청구서
7) 웹 서비스

8) 기업

9) 대학

3. 초기 데이터에서 데이터베이스 애플리케이션은 파일 시스템 위에 직접 구축되었으며, 이로 인해 다음과 같은 문제가 발생했다
1) 데이터 중복(redundancy) 및 불일치(inconsistency)
(1) 데이터가 여러 파일 형식 및 위치에 저장됨 -> 정보의 중복 발생
2) 데이터 접근의 어려움
(1) 각 새로운 작업을 수행하기 위해 새로운 프로그램을 작성해야 함
- 엑셀 vs 스프레의 차이점
3) 데이터 고립(isolation)
(1) 의미: 한 작업에서 이루어진 변경 사항이 언제, 어떻게 다른 작업에 표시되는지를 결정하는 속성
(2) 파일로는 제어할 수 없음
4) 무결성(Integrity) 문제
(1) 무결성 제약 조건(예: 계좌 잔액 >= 0)이 프로그램 코드에 “숨겨져” 명시적으로 기술되지 않음
5) 동시성 문제
(1) 통제되지 않은 동시 접근이 불일치로 이어질 수 있음
6) 보안 문제
(1) 세분화된 사용자 접근 제어를 제공하기 어려움
결론 : 데이터베이스 시스템은 위의 모든 문제에 대한 해결책을 제공한다!
데이터베이스 시스템의 간략한 역사
1. ~ 1960년대 초:
1) 저장을 위한 자기 테이프를 사용한 데이터 처리
(1) 테이프는 오직 순차 접근만 제공
2) 입력을 위한 펀치 카드
임의 접근 (Random Access) | 순차 접근(Sequential Access) |
- 임의로 모든 데이터에 접근할 수 있다. - 빠른 데이터 검색 - RAM, 하드 디스크, SSD, DVD 등 |
- 데이터는 순서대로 접근해야 한다 - 느린 데이터 검색 - 테이프 드라이브 |
2. 1960년대 후반과 1970년대:
1) 하드 디스크가 데이터에 직접 접근할 수 있게 함
2) 네트워크 및 계층적 데이터 모델 사용
3) 테드 코드(Ted Codd)가 관계형 데이터 모델(=Table)을 정의함
(1) 이 작업은 ACM 튜링 상(1981)을 수상함
(2) IBM 연구소가 시스템 R 프로토타입을 시작함
(3) UC 버클리(Michael Stonebraker)가 인그레스(Ingres) 프로토타입을 시작함
(4) 오라클이 첫 상용 관계형 데이터베이스를 출시함
3. 1980년대:
1) 연구 관계형 프로토타입이 상용 시스템으로 발전함
(1) SQL이 산업 표준이 됨
2) 병렬 및 분산 데이터베이스 시스템
(1) 위스콘신, IBM, 테라데이터
3) 객체 지향 데이터베이스 시스템
4. 1990년대:
1) 대규모 의사 결정 지원 및 데이터 마이닝 애플리케이션
2) 대규모 다중 테라바이트 데이터 웨어하우스
3) 웹 상거래의 출현
5. 2000년대:
1) 빅 데이터 저장 시스템
(1) 구글 빅테이블, 야후 PNuts, 아마존
(2) NoSQL 시스템
2) 빅 데이터 분석: SQL을 넘어
(1) 맵 리듀스
3) 추가 설명: 모든 회사 이름과 제품 이름은 해당 회사의 상표 또는 등록 상표임
6. 2010년대~현재:
1) SQL 리로드
(1) 맵 리듀스 시스템을 위한 SQL 프론트엔드
(2) 대규모 병렬 데이터베이스 시스템
(3) 다중 코어 메인 메모리 데이터베이스
2) 추가 설명: 모든 회사 이름과 제품 이름은 해당 회사의 상표 또는 등록 상표임
일정(임시)
1. 우리는 4가지 주요 주제를 학습할 것이다
1) R-DBMS 사용(엔지니어 관점에서)
2) 데이터 설계 및 조작
3) R-DBMS 내부 이해
4) 데이터베이스 시스템 및 데이터 과학의 새로운 동향(NoSQL)
2) 학기 일정 (잠정적)
번호 | 주제 | 번호 | 주제 |
1 | - 관리, 소개 - DBMS, 관계형 데이터 모델 |
9 | 트랜잭션 |
2 | - 관계 대수 - DBMS 설치 |
10 | - 트랜잭션 - 데이터베이스 저장소 |
3 | 구조적 질의 언어 (DML) | 11 | - 데이터베이스 저장소 |
4 | - 구조적 질의 언어 (DDL) - 퀴즈 |
12 | - 인덱스 - 퀴즈 (잠정) |
5 | 개체-관계(ER) 다이어그램 | 13 | 인덱스 |
6 | 정규화 이론 | 14 | 키, 함수/프로시저, 트리거 |
7 | 고급 SQL | 15 | 관계형 데이터 이상 |
8 | - 고급 SQL, 제약조건, 뷰 - 중간고사 |
16 | 기말고사 |
행정 사항
1. 평가
1) 퀴즈: 5%
(1) 2번의 퀴즈를 본다.
2) 중간고사: 23%
3) 기말고사: 25%
4) 과제: 20%
(1) 2주에 하나씩 나온다. (총 6개)
(2) 각 마감일 전에 작업을 제출해야 한다.
(3) 마감일 이후 24시간 이내의 늦은 제출은 과제 점수의 -20% 패널티와 함께 허용된다.
- 마감일로부터 24시간 이후의 제출은 거부된다.
(4) 추가 연장 요청은 마감일 전에 합당한 사유를 제출해야 한다.
(5) 학기 동안 5~6개의 과제가 있으며, 다양한 활동으로 구성된다.
- 교과서 독해를 포함한 단답형 질문
- 문제 해결
- SQL 프로그래밍 과제
5) 기말 프로젝트: 20%
(1) 학생들이 팀을 이루어 데이터베이스를 설계하고 성능을 최적화한다.
- DB 애플리케이션을 구축할 필요는 없다.
- 대량의 데이터와 목표 작업이 제공된다.
- 목표는 수업에서 가장 좋은 성능을 발휘하는 데이터베이스 설계 및 구현을 제시하는 것이다.
6) 참여도: 7%
(1) 오프라인 회의는 학생들의 질문으로 구성되며, 학생들이 적극적으로 참여하고 수업을 이끌도록 권장된다.
- 학생들은 질문할 뿐만 아니라 다른 사람의 질문에 답하는 것도 장려된다.
(2) 토론 중 한국어로 말할 수 있다.
(3) 모든 발언은 참여 점수에 포함된다.
10) 출석
(1) 오프라인 회의는 매주 1회 개최된다.
- LMS에서 사전 녹화된 강의가 제공된다.
- 오프라인 회의는 요약 및 토론을 위해 열린다.
(2) 출석은 성적에 직접 반영되지는 않지만, 전체 수업의 ¼ 이상 결석할 경우 자동으로 "F"를 받게 된다.
11) 다음 사항 중 하나라도 해당되면 실패(F) 처리된다
(1) 모든 형태의 부정행위나 학문적 비양심 행위 실시
(2) 전체 회의의 3/4 이상 불참
- 3번의 지각은 1회의 결석으로 간주된다.
(3) 중간고사 또는 기말고사를 치르지 않음