DB 개요 1. 데이터베이스 정의 데이터의 중복성을 최소화하면서 조직 또는 기업에서 필요로 하는 상호 연관 있는 데이터들의 체계적인 집합 통합된 데이터(Integrated Data) : 자료 중복 최소화 저장된 데이터(Stored Data) : 저장 매체에 저장 운영 데이터(Operational.

Slides:



Advertisements
Similar presentations
컴퓨터와 인터넷.
Advertisements

1. 관계 데이터베이스의 정규화 (1) 정규화 1) 이상(anomaly) ① 이상의 정의 • 관계 모델에서는 애트리뷰트들 간에 존재하는 여러 종속관계를 하나의 릴레이션에 표현하기 때문에 릴레이션 조작 시 이상 (anomaly) 발생 • 데이터의 중복으로 인하여 관계연산을.
You YOungseok 데이터베이스 테이블 및 인덱스 You YOungseok.
MS-Access의 개요 1강 MOS Access 2003 CORE 학습내용 액세스 응용 프로그램은 유용한 데이터를
최윤정 Java 프로그래밍 클래스 상속 최윤정
Entity Relationship Diagram
질의어와 SQL 기본 SQL 고급 SQL 데이타의 수정 데이타 정의 언어 내장 SQL
제 09 장 데이터베이스와 MySQL 학기 인터넷비즈니스과 강 환수 교수.
컴퓨터 과학 개론 √ 원리를 알면 IT가 맛있다 컴퓨터 과학도를 위한 첫 전공서 ehanbit.net.
12장 데이터 읽기 일관성과 락.
6장 Mysql 명령어 한빛미디어(주).
MySQL 및 Workbench 설치 데이터 베이스.
데이터베이스 및 설계 금오공과대학교 컴퓨터공학부 이 이섭.
(개정판) 뇌를 자극하는 Red Hat Fedora 리눅스 서버 & 네트워크
6 장. ER-관계 사상에 의한 관계 데이터베이스 설계
테이블 : 데이터베이스를 구성하는 요소로 같은 성격에 정보의 집합체. 레코드 : 하나의 정보를 가지고 있는 컬럼의 집합체
5장 Mysql 데이터베이스 한빛미디어(주).
4장. 웹로직 서버상에서의 JDBC와 JTA의 운용
ALLPPT.com _ Free PowerPoint Templates, Diagrams and Charts
07 그룹 함수 그룹 함수의 개념 그룹 함수의 종류 데이터 그룹 생성 HAVING 절.
XML과 데이터베이스 ㅎㅎ XML과 데이터베이스 XML과 데이터베이스 매핑 관계.
2장. 관계 데이터 모델과 제약조건 관계 데이터 모델은 지금까지 제안된 데이터 모델들 중에서 가장 개념이 단순한 데이터 모델의 하나 IBM 연구소의 E.F. Codd가 1970년에 관계 데이터 모델을 제안함 관계 데이터 모델을 최초로 구현한 가장 중요한 관계 DBMS 시제품은.
3.2 SQL Server 설치 및 수행(계속) 시스템 데이터베이스 master
13 인덱스 인덱스의 개념 인덱스의 구조 인덱스의 효율적인 사용 방법 인덱스의 종류 및 생성 방법 인덱스 실행 경로 확인
3. 데이타베이스 관리시스템.
08. 데이터 모델링.
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
17강. 데이터 베이스 - I 데이터 베이스의 개요 Oracle 설치 기본적인 SQL문 익히기
MYSQL 설치 SQL언어 SQL언어의 활용 웹과 SQL언어와의 연동
01 데이타베이스 개론 데이타베이스의 등장 배경 데이타베이스의 발전 과정 데이타베이스의 정의 데이타베이스의 특징
5장 Mysql 데이터베이스 한빛미디어(주).
13 인덱스 인덱스의 개념 인덱스의 구조 인덱스의 효율적인 사용 방법 인덱스의 종류 및 생성 방법 인덱스 실행 경로 확인
1장. 데이터베이스 자료의 조직적 집합체_데이터베이스 시스템의 이해
자바 5.0 프로그래밍.
DataBase 김상훈 송예은 고미영 이경민.
Visual Basic .NET MDI 만들기.
2장. 데이터베이스 관리 시스템 데이터베이스 관리 시스템의 등장 배경 데이터베이스 관리 시스템의 정의
ER-관계 사상에 의한 관계 데이터베이스 설계
15장 컬렉션 프레임워크 Section 1 컬렉션 프레임워크의 개요 Section 2 리스트 Section 3 셋
테이블 만들기 실습 목표 입력할 tableDB <실습1> SSMS에서 테이블 생성
1. 데이터 모델 개념 (1) 정보 모델링과 데이터 모델링 1) 정보 모델링 (information modeling) ① 현실 세계에 존재하는 개체를 인간이 이해할 수 있는 정보 구조 (현실 세계에 대한 인식을 추상적 개념으로 표현)로 표현하는 과정 ② 정보 모델링을.
Chapter 03. 관계 데이터베이스 설계.
04. DBMS 개요 명지대학교 ICT 융합대학 김정호.
05. Relational DBMS 명지대학교 ICT 융합대학 김정호.
Database Management System
7장. 릴레이션 정규화 릴레이션 정규화 부주의한 데이터베이스 설계는 제어할 수 없는 데이터 중복을 야기하여 여러 가지 갱신 이상(update anomaly)을 유발함 어떻게 좋은 데이터베이스 설계를 할 것인가? 데이터베이스에 어떤 릴레이션들을 생성할 것인가? 각 릴레이션에.
데이터 베이스 DB2 관계형 데이터 모델 권준영.
문성우 SQL 실습 Part Ⅰ 문성우.
제 8 장 ER-관계 사상에 의한 관계 데이타베이스 설계
14 뷰(View) 뷰의 개념 뷰 관리.
Part 2 개념적 데이터 모델 Copyright © 2006 by Ehan Publishing Co. All rights reserved.
제 23 장 오라클에서 보안 기능.
Chapter 10 데이터 검색1.
멀티미디어시스템 제 5 장. 멀티미디어 데이터베이스 개념 IT응용시스템공학과 김 형 진 교수.
학습내용 프로토콜 계층화 OSI 모델의 용어 및 기능 개체 서비스 접근점 (N) 프로토콜과 (N) 서비스 서비스 프리미티브
4장. 데이터 모델링 데이터 모델링과 데이터 모델의 개념 개체-관계 모델 논리적 데이터 모델.
ER-관계 사상에 의한 관계데이터베이스 설계 충북대학교 구조시스템공학과 시스템공학연구실
.Net FrameWork for Web2.0 한석수
07. DB 설계 명지대학교 ICT 융합대학 김정호.
Chapter 2: Intro to Relational Model
ER-관계 사상에 의한 관계 데이터베이스 설계
14 뷰(View) 뷰의 개념 뷰 관리.
 6장. SQL 쿼리.
임시테이블과 테이블변수 SQLWorld Study Group - 최명환 -.
11장. 보안과 권한 관리 보안 권한 관리. 11장. 보안과 권한 관리 보안 권한 관리.
6 객체.
데이터베이스 설계 데이터의 분석 개체 관계.
8장. 데이터베이스 설계 데이터베이스 설계 단계 요구 사항 분석 개념적 설계 논리적 설계 물리적 설계와 구현.
교과서 78쪽 학습 목표 정보 관리의 필요성을 이해할 수 있다. 데이터베이스의 개념과 필요성을 이해할 수 있다.
Ⅰ. 데이터베이스 정의 Ⅱ. MS SQL 서버 Ⅲ. 데이터베이스 인터페이스
Presentation transcript:

DB 개요 1. 데이터베이스 정의 데이터의 중복성을 최소화하면서 조직 또는 기업에서 필요로 하는 상호 연관 있는 데이터들의 체계적인 집합 통합된 데이터(Integrated Data) : 자료 중복 최소화 저장된 데이터(Stored Data) : 저장 매체에 저장 운영 데이터(Operational Data) : 조직의 업무 수행에 가치가 있음 공용 데이터(Shared Data) : 여러 응용 시스템이 공동소유 데이터베이스 관리자(DBA) D B M S DB 일반사용자 응용프로그래머

2. 데이터베이스 특징 3. 데이터베이스 시스템 실시간 접근성 계속적인 변화 동시 공용 내용에 의한 참조 DB 개요 2. 데이터베이스 특징 실시간 접근성 계속적인 변화 동시 공용 내용에 의한 참조 3. 데이터베이스 시스템 데이터베이스를 이용하여 자료를 저장하고 관리하여 정보를 얻어내는 데 필요한 컴퓨터 중심의 시스템 구성요소 : 데이터베이스, 스키마, DBMS, DB 언어, DB 컴퓨터, DB 사용자

4. 분산 데이터베이스(Distributed Database) DB 개요 4. 분산 데이터베이스(Distributed Database) 논리적으로는 같은 시스템에 속하지만 물리적으로는 컴퓨터 네트워크를 통해 분산되어 있는 데이터베이스 5. 데이터 웨어하우스(Data Warehouse) 급증하는 다량의 데이터를 효과적으로 분석하여 정보화하고 이를 여러 사용자들이 효율적으로 사용할 수 있도록 한 데이터베이스 정보의 효율적인 분석으로 신속 정확한 의사결정 6. 데이터 마트(Data Mart) 데이터 웨어하우스와 사용자 사이의 중간층에 위치한 것으로, 하나의 주제 또는 하나의 부서 중심의 데이터 웨어하우스라고 할 수 있다. 특정 사용자가 관심을 갖는 데이터들을 담은 비교적 작은 규모의 데이터 웨어하우스이다.

7. 데이터베이스 관리 시스템(DBMS) DataBase Management System 사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 생성해 주고, 데이터베이스를 관리해 주는 소프트웨어 기존 파일 시스템이 갖는 데이터의 종속성과 중복성의 문제를 해결하기 위해 제안된 시스템 모든 응용 프로그램들이 데이터베이스를 공용할 수 있도록 관리해 준다. 데이터베이스의 구성, 접근 방법, 유지관리에 대한 책임을 진다. 데이터베이스 시스템을 운영 및 관리하며, 데이터베이스와 사용자를 연결해 주는 소프트웨어들의 집합체 데이터베이스 내의 데이터 검색과 저장이 편리하고 효율적이도록 환경을 제공

8. DBMS의 필수 기능 정의 : 데이터베이스에 저장될 데이터의 형(Type)과 구조에 대한 정의 조작 : 데이터 검색, 갱신, 삽입, 삭제 등을 체계적으로 처리하기 위해 데이터 접근 수단 등을 정함 제어 : 데이터의 정확성과 안전성을 유지하기 위한 무결성, 보안 및 권한 검사, 병행 수행 제어 등의 기능을 정함

9. 데이터의 독립성 종속성의 대비되는 말로 DBMS의 궁극적 목표 논리적 독립성 : 응용 프로그램과 데이터베이스를 독립시킴으로써, 데이터의 논리적 구조를 변경시키더라도 응용 프로그램은 변경되지 않는다. 물리적 독립성 : 응용 프로그램과 보조기억장치 같은 물리적 장치를 독립시킴으로써, 데이터베이스 시스템의 성능 향상을 위해 새로운 디스크를 도입해도 응용 프로그램에는 영향을 주지 않고 데이터의 물리적 구조만을 변경

10. 스키마의 정의 Schema 데이터베이스의 전체적인 구조와 제약 조건에 관한 전반적인 명세를 기술 데이터베이스를 구성하는 데이터 개체(Entity), 속성(Attribute), 관계(Relationship) 및 데이터 조작 시 데이터 값들이 갖는 제약 조건 등에 관해 전반적인 정의 사용자의 관점에 따라 외부 스키마, 개념 스키마, 내부 스키마로 나뉜다.

11. 스키마의 특징 스키마는 컴파일되어 데이터 사전(Data Dictionary)에 저장된다. 데이터 사전 : 데이터베이스에 저장되어 있는 모든 데이터 개체들에 대한 정보를 유지, 관리. 메타 데 이터라고도 한다. 현실 세계의 특정한 한 부분의 표현으로서 특정 데이터 모델을 이용해서 만들어진다. 데이터의 구조적 특성을 의미하며, 인스턴스에 의해 규정된다. 인스턴스(Instance) : 데이터 개체를 구성하고 있는 속성들에 데이터 타입이 정의되어 구체적인 데이터 값을 갖고 있는 것

12. 스키마 3계층 스키마 외부 스키마1 외부 스키마1 외부 스키마1 ….. 사용자 관점 개념 스키마 논리적 관점 내부 스키마 물리적 저장 관점 저장 DB

12. 스키마 3계층 외부 스키마 서브 스키마, 사용자 뷰(view) 라고도 함 일반사용자는 질의어(SQL)을 이용하여 DB 사용 응용 프로그래머는 COBOL, C 등의 언어를 사용하여 DB 접근 개념 스키마 전체적인 논리적 구조, 전체적인 뷰(view) 조직 전체의 데이터베이스로 하나만 존재 단순히 스키마(schema)라고 하면 개념 스키마 기관이나 조직체의 관점에서 DB 정의 DBA에 의해서 구성 개체 간의 관계와 제약 조건, DB 접근 권한, 보안 및 무결성 규칙에 관한 명세를 정의

12. 스키마 3계층 내부 스키마 데이터베이스의 물리적 구조 데이터의 실제 저장 방법을 기술 시스템 프로그래머나 시스템 설계자가 보는 관점의 스키마

13. 데이터베이스 사용자 DBA(Database Administrator) 데이터베이스 구조 등과 관련된 업무를 처리하는 사람 또는 그룹 데이터 정의 언어를 사용하여 데이터베이스를 DBMS에 표현하고 관리하는 목적으로 데이터베이스에 접근 데이터베이스 전반에 대해 책임을 진다. 데이터베이스 구성 요소를 결정 개념 스키마 및 내부 스키마를 정의 데이터베이스의 저장 구조 및 접근 방법을 정의 보안 및 데이터베이스의 접근 권한 부여 정책 수립 무결성을 위한 제약 조건 지정

사용자 13. 데이터베이스 사용자 응용 프로그래머 일반 호스트 언어로 프로그램을 작성할 때 데이터 조작어를 삽입해서 일반 사용자가 응용 프로그램을 사용할 수 있게, 인터페이스를 제공할 목적으로 DB에 접근 호스트 언어(C, COBOL, PASCAL 등)와 DBMS가 지원하는 데이터 조작어에 능숙 일반 사용자 보통 터미널을 이용하여 데이터베이스에 있는 자원을 활용할 목적으로 질의어나 응용 프로그램을 사용하여 데이터베이스에 접근

14. 데이터베이스 언어 DBMS를 통해 사용하며, 데이터베이스를 구축하고 이용하기 위한 데이터베이스 시스템과의 통신 수단 데이터 정의 언어(DDL; Data Definition Language) DB 구조, 데이터 형식, 접근 방식 등 DB를 구축하거나 수정할 목적으로 사용 내부 스키마를 데이터베이스에 적용하여 물리적인 데이터베이스를 정의하고 관리하는 언어 번역한 결과가 데이터 사전이라는 특별한 파일에 저장 종류 : create, alter, drop

14. 데이터베이스 언어 데이터 조작 언어(DML; Data Manipulation Language) 사용자로 하여금 데이터를 처리할 수 있게 하는 도구로서, 사용자와 DBMS 간의 인터페이스를 제공 데이터의 검색, 추가, 삭제, 수정 등의 역할 호스트 언어에 DB 기능을 추가해서 만든 언어 대표적인 언어는 질의어가 있으며 터미널에서 이용 종류 : select, update, insert, delete 데이터 제어 언어(DCL; Data Control Language) 무결성, 보안 및 권한 제어, 회복 등을 하기 위한 언어 데이터를 보호하고 관리하는 목적으로 사용 시스템 장애에 대비한 데이터 회복과 병행 수행 제어 종류 : commit, rollback, grant, revoke

00. 데이터베이스 설계 스키마를 정의하고, 이에 따라 데이터베이스를 구현하기 위한 전반적인 과정 데이터베이스 설계 사용자들의 필요한 용도를 파악. 수집된 정보를 바탕으로 요구 조건 명세 작성 요구조건분석 정보모델링, 개념화, 개념 스키마 설계 현실 세계에 대한 인식을 추상적 개념으로 표현 개념적설계 데이터모델링, 논리 스키마 설계, 테이블 설계 개념세계의 데이터를 논리적구조의 데이터로 모델화 논리적설계 데이터 구조화 논리적 구조로 표현된 데이터를 물리적 저장장치에 저장할 수 있는 물리적 구조의 데이터로 변환 물리적설계 데이터베이스 스키마를 파일로 생성 DDL로 데이터베이스 생성 구현

15. 데이터 모델 현실 세계의 정보들을 컴퓨터에 표현하기 위해서 단순화, 추상화하여 체계적으로 표현한 개념적 모형 데이터의 구조를 논리적으로 표현하기 위해 사용 데이터의 구조(Schema)를 논리적으로 묘사 개체 : 주택 특성 : 주소, 색상, 가격, 양식 값 : 양식의 값은 아파트, 단독주택 개체 개체 타입 레코드 특성 속성 필드 값 값 값 현실세계 개념세계 컴퓨터세계

16. 데이터 모델 종류 개념적 데이터 모델 현실 세계에 대한 인식을 추상적 개념으로 표현 개체 타입들 간의 관계를 이용하여 현실 세계 표현 E-R 모델이 대표적인 모델 논리적 데이터 모델 개념적 모델링 과정에서 얻은 개념적 구조를 컴퓨터 세계의 환경에 맞도록 변환 데이터 모델이라고 하면 논리적 데이터 모델을 의미 데이터 간의 관계 표현에 따라 관계 모델, 계층 모델, 네트워크 모델로 구분

17. 데이터 모델의 구성 요소 개체(Entity) 사람이 생각하는 개념이나 정보 단위 같은 현실 세계의 대상체 파일 시스템의 레코드에 대응하는 것 속성(Attribute) 데이터의 가장 작은 논리적 단위. 파일 구조상의 데이터 항목 또는 데이터 필드에 해당 개체의 성질이나 상태를 기술 개체를 구성하는 항목 관계(Relationship) 두 개 이상의 개체 간의 연관성을 의미 개체 간의 관계 또는 속성 간의 관계를 표현 개체 집합 구성 원소 사이의 대응성을 명시 1:1, 1:N, N:M 등의 사상을 의미

17. 데이터 모델의 구성 요소 교사 개체 예 데이터 모델 속성 교사번호 성명 전공 부서 10 김응* 과학 학생부 11 하낙* 전산 12 김달* 영어 1학년부 개체타입 개체 인스턴스 (개체 어커런스)

17. 데이터 모델의 구성 요소 관계(Relationship) 교사가 학생을 지도하는 관계 데이터 모델 지도 교사 학생 성명 전공 부서 학번 이름 주소

17. 데이터 모델의 구성 요소 관계(Relationship) 관계 형태(예: 개체집합 A, 개체집합 B) 데이터 모델 A B 일대일(1:1) 일대다(1:N) 다대다(N:M)

데이터 모델 18. 개체-관계(E-R) 모델 특징 개체 타입(Entity Type)과 이들 간의 관계 타입(Relationship Type)을 이용해 현실세계를 개념적 표현 데이터를 개체(Entity), 관계(Relationship), 속성(Attribute)으로 묘사 고객과 주문서 간의 관계를 나타낸 E-R 다이어그램 1 N 고객 고객번호 성명 주소 주문 주문서 주문번호 품명 수량 금액

19. 논리적 데이터 모델의 종류 계층형 데이터 모델 트리 구조를 이용해 데이터 관계를 계층적으로 정의 상위와 하위 레코드가 일대다(1:N)의 대응관계 망(네트워크)형 데이터 모델 그래프 구조를 이용해 데이터 관계를 계층적으로 정의 상위와 하위 레코드가 다대다(N:M)의 대응관계 객체지향형 데이터 모델 객체 개념을 데이터베이스에 도입한 것 모든 것을 클래스(Class) 또는 객체(Object)로 표현 관계형 데이터 모델(Relational Data Model) 표(Table)를 이용해 데이터 관계를 정의 테이블들을 하나의 DB로 묶어 테이블 내의 속성들 간의 관계를 설정 또는 테이블 간의 관계 설정 대표적인 언어 SQL

관계형 데이터베이스 20. 관계형 데이터베이스의 특징 개체(Entity), 관계(Relationship)를 모두 릴레이션(Relation)이라는 표(Table)로 표현 릴레이션은 개체를 표현하는 개체 릴레이션, 관계를 표현하는 관계 릴레이션으로 구분

21. 관계형 데이터베이스의 Relation 구조 릴레이션은 데이터들을 표(Table)의 형태로 표현 구조를 나타내는 릴레이션 스키마와 실제 값들인 릴레이션 인스턴스로 구성 <학생> 릴레이션 속성 릴레이션 스키마 학번 이름 학년 주소 계열 20104 홍길동 2 매향동 경영 10712 임꺽정 1 천천동 디콘 20630 장길산 정자동 31230 김태산 3 릴레이션 인스턴스 튜플 (Tuple) 도메인 (Domain)

22. 관계형 데이터베이스의 용어 릴레이션(Relation) : 자료의 저장 형태가 2차원 구조인 테이블(표) 속성(Attribute) : 릴레이션을 구성하는 각 열(Column, 항목, 필드)을 의미 튜플(Tuple) : 릴레이션의 한 행을 구성하는 속성들의 집합으로 행(Row, 레코드)을 의미 도메인(Domain) : 하나의 속성이 가질 수 있는 값들의 범위 릴레이션 스키마(Relation Schema) : 릴레이션의 이름과 속성 이름의 집합. 릴레이션의 구조를 말함 릴레이션 인스턴스(Relation Instance) : 릴레이션에서 어느 시점까지 입력된 튜플들의 집합 차수(Degree) : 하나의 릴레이션을 구성하는 속성의 수 카디널리티(Cardinality) : 하나의 릴레이션에 입력된 튜플의 수

관계형 데이터베이스 23. 키(Key)의 개념 관계 데이터베이스에서 튜플을 유일하게 식별하기 위해 사용하는 속성이나 속성의 집합 조건에 만족하는 튜플을 찾거나 순서대로 정렬할 때 기준이 되는 애트리뷰트 24. 키(Key)의 종류 후보키(Candidate Key) 릴레이션을 구성하는 속성들 중에서 튜플을 유일하게 식별하기 위해 사용하는 속성들의 부분 집합 기본키로 사용할 수 있는 속성들을 말함 조건은 유일성, 최소성을 모두 만족해야 함

24. 키(Key)의 종류 기본키(Primary Key) 후보키 중에서 선택한 주키(Main Key) 관계형 데이터베이스 24. 키(Key)의 종류 기본키(Primary Key) 후보키 중에서 선택한 주키(Main Key) 한 릴레이션에서 특정 튜플을 유일하게 구별하기 위해 특별히 선택된 키 중복될 수 없으며, Null 값이 올 수 없다. 대체키(Alternate Key) 후보키 중에서 기본키를 제외한 속성을 말함 보조키라고도 함 슈퍼키(Super Key) 한 릴레이션 내의 튜플들을 식별할 수 있는 후보키와 다른 속성들과의 모든 조합 모든 튜플에 대해 유일성은 만족시키지만 최소성은 만족시키지 못함

24. 키(Key)의 종류 외래키(Foreign Key) 관계형 데이터베이스 24. 키(Key)의 종류 외래키(Foreign Key) 하나의 테이블에서 원하는 자료를 얻지 못하는 경우 다른 테이블을 참조하기 위해 사용되는 속성. 외래키는 참조 릴레이션의 기본키와 같아야 하며 기본키에 없는 값은 입력할 수 없다. 외래키의 속성명과 참조 릴레이션의 기본키 속성명이달라도 됨 수강 외래키 학생 기본키 학번 과목명 1001 영어 전산 1002 1003 수학 학번 주민번호 성명 1001 810429-1231457 김길동 1002 800504-1546713 홍상훈 1003 811213-1534562 장길정

관계형 데이터베이스 25. 무결성 개념 데이터베이스에서 저장된 데이터 값과 그것이 표현하는 현실 세계의 실제 값이 일치하는 정확성을 의미 무결성 제약 조건 : 데이터의 정확성과 안정성을 유지하기 위한 제약 조건 26. 무결성의 종류 개체 무결성 기본키는 Null값이 올 수 없으며, 중복될 수 없음을 나타내는 제약조건 개체를 식별하기 위해서 오류가 없도록 하기 위한 것 참조 무결성 외래키 값은 Null이거나 참조 릴레이션의 기본키와 같아야 함. 참조할 수 없는 외래키 값은 가질 수 없다.

관계형 데이터베이스 26. 무결성의 종류 관계 무결성 릴레이션에 어느 한 튜플의 삽입 가능 여부 또는 한 릴레이션과 다른 릴레이션의 튜플들 사이의 관계에 대한 적절성 여부를 지정하는 규정 도메인 무결성 특정 속성의 값이, 그 속성이 정의된 도메인에 속한 값이어야한다. 키 무결성 하나의 테이블에는 적어도 하나의 키가 존재해야 한다. 고유 무결성 특정 속성에 대해 각 튜플이 갖는 값들이 서로 달라야 한다. Null 무결성 특정 속성의 값이 Null이 될수 없다.

27. 이상(Anomaly) 28. 이상(Anomaly)의 종류 관계형 데이터베이스 27. 이상(Anomaly) 데이터베이스의 논리적 설계시 하나의 릴레이션에 많은 속성이 존재하여, 데이터의 중복과 종속으로 인해 발생되는 문제점을 말한다. 정규화(Normalization)를 거치지 않으면 데이터베이스 내에 데이터들이 불필요하게 중복되어 릴레이션 조작 시 예기치 못한 곤란한 현상이 발생하는 것 28. 이상(Anomaly)의 종류 삽입이상 : 릴레이션에 데이터를 삽입할 때 튜플단위로 이루어져 의도와는 상관없이 원하지 않는 값들도 함께 삽입되는 현상 삭제이상 : 튜플단위로 삭제되어 원치 않는 값들도 함께 삭제 되는 현상

29. 함수적 종속(Functional Dependency) 관계형 데이터베이스 28. 이상(Anomaly)의 종류 갱신이상 : 자료를 갱신하는 과정에서 일부의 튜플만 갱신됨으로 정보가 모호해지거나 일관성이 없어지는 현상 29. 함수적 종속(Functional Dependency) 어떤 릴레이션에서 속성 A, B가 있을 때, A의 값을 알면 B의 값을 알수 있거나 A의 값에 따라 B의 값이 달라진다면 B는 A에 함속적으로 종속된 것임 완전 함수 종속 : 릴레이션에서 한 속성이 오직 기본키에만 종속되는 경우 부분 함수 종속 : 릴레이션에서 한 속성이 기본키가 아닌 다른 속성에 종속되거나 기본키가 2개 이상 합성키로 구성된 경우 이 중 일부 속성에 종속이 되는 경우

관계형 데이터베이스 30. 정규화(Normalization) 논리적 설계 단계에서 발생할 수 있는 종속으로 인한 이상(Anomaly) 현상의 문제점을 해결하기 위해, 속성들 간의 종속 관계를 분석하여 여러 개의 릴레이션으로 분해하는 과정을 말한다. 데이터베이스의 개념적 설계 단계와 논리적 설계 단계 사이에서 수행한다. 개체들에 존재하는 데이터 속성의 중복을 최소화하여 일치성을 보장하며 데이터 모델을 단순하게 구성한다. 정규화되지 못한 릴레이션을 조작할 때 발생하는 Anomaly 현상의 근본 원인은 여러 종류의 사실들이 하나의 릴레이션에 모두 표현되기 때문이다. Anomaly 현상을 제거하기 위해 릴레이션에 제한 사항들을 첨가해 가면서 보다 더 정규화된 릴레이션으로 변환시켜 단순하게 만들어야 한다.

31. SQL(Structured Query Language) 관계형 데이터베이스를 지원하는 언어 질의어지만, 질의 기능만 있는 것이 아니라 데이터 구조의 정의, 데이터 조작, 데이터 제어 기능을 모두 갖추고 있다. DDL(데이터 정의어), DML(데이터 조작어), DCL(데이터 제어어)로 구분 32. DDL(Data Definition Language) Schema, Domain, Table, View, Index 를 정의하거나 변경 삭제할 때 사용하는 언어이다. 데이터베이스 관리자나 데이터베이스 설계자가 사용 Create : Schema, Domain, Table, View, Index를 정의 Alter : Table에 대한 정의를 변경할 때 사용 Drop : Schema, Domain, Table, View, Index를 삭제

33. DML(Data Manipulation Language) SQL 33. DML(Data Manipulation Language) 데이터베이스 사용자가 응용 프로그램이나 질의어를 통하여 저장된 데이터를 실질적으로 처리하는 데 사용되는 언어이다. 사용자와 DBMS 간의 인터페이스를 제공한다. Select : 테이블에서 조건에 맞는 튜플을 검색 Insert : 테이블에 새로운 튜플을 삽입 Delete : 테이블에서 조건에 맞는 튜플을 삭제 Update : 테이블에서 조건에 맞는 튜플의 내용을 변경 34. DCL(Data Control Language) 데이터의 보안, 무결성, 회복, 병행 수행 제어 등을 정의 데이터베이스 관리자가 데이터 관리 목적으로 사용

34. DCL(Data Control Language) SQL 34. DCL(Data Control Language) Commit : 명령에 의해 수행된 결과를 실제 물리적 디스크로 저장하고, 데이터베이스 조작 작업이 정상적으로 완료되었음을 관리자에게 알려 줌 Rollback : 데이터베이스 조작 작업이 비정상적으로 종료되었을 때 원래의 상태로 복구한다. Grant : 데이터베이스 사용자에게 사용 권한을 부여한다. Revoke : 데이터베이스 사용자의 사용 권한을 취소한다.

35. 테이블 생성 표기 형식 CREATE TABLE 테이블명 ( 속성명 데이터타입 [NOT NULL] SQL 35. 테이블 생성 표기 형식 CREATE TABLE 테이블명 ( 속성명 데이터타입 [NOT NULL] [PRIMARY KEY (기본키_속성명),] [UNIQUE (대체키_속성명),] [FOREIGN KEY (외래키_속성명) REFERENCES 참조테이블(기본키_속성명)] [CHECK (조건식)] ); 속성명 : 테이블에 포함될 속성명과 datatype, NOT NULL 지정 FOREIGN KEY : 외래키가 지정되면 참조 무결성의 CASCADE 법칙이 적용됨 CHECK : 제약 조건의 정의

35. 테이블 생성 CREATE TABLE 학생 (학번 INT, 성명 VARCHAR(15) NOT NULL, SQL 35. 테이블 생성 CREATE TABLE 학생 (학번 INT, 성명 VARCHAR(15) NOT NULL, 학과 CHAR(10), 학년 CHAR(5), PRIMARY KEY(학번)); <결과> 학생 학번 성명 학과 학년

36. 테이블 변경 표기 형식 ALTER TABLE 테이블명 ADD 속성명 데이터타입; SQL 36. 테이블 변경 표기 형식 ALTER TABLE 테이블명 ADD 속성명 데이터타입; ALTER TABLE 테이블명 ALTER 속성명 ; ALTER TABLE 테이블명 DROP 속성명 [CASCADE|RESTRICT]; ADD : 추가 ALTER : 변경 DROP : 삭제 CASCADE 옵션 : 삭제할 요소를 참조하는 다른 모든 개체를 함께 삭제한다. RESTRICT 옵션 : 삭제할 요소를 다른 개체가 참조중일 때는 삭제를 취소한다.

36. 테이블 변경 ALTER TABLE 학생 ADD 주소 VARCHAR(15); SQL 학번 성명 학과 학년 학생 1001 이준석 디콘 2 1002 고길동 경영 1 1003 이길정 ALTER TABLE 학생 ADD 주소 VARCHAR(15); 학번 성명 학과 학년 주소 학생 1001 이준석 디콘 2 1002 고길동 경영 1 1003 이길정

37. 테이블 삭제 표기 형식 DROP SCHEMA 스키마명 [CASCADE | RESTRICT]; SQL 37. 테이블 삭제 표기 형식 DROP SCHEMA 스키마명 [CASCADE | RESTRICT]; DROP DOMAIN 도메인명 [CASCADE | RESTRICT]; DROP TABLE 테이블명 [CASCADE | RESTRICT]; DROP VIEW 뷰명 [CASCADE | RESTRICT]; DROP INDEX 인덱스명; DROP TABLE 학생 CASCADE; <학생> 테이블을 삭제하되, <학생> 테이블을 참조하는 모든 테이블을 함께 삭제

38. 자료 검색 표기 형식 SELECT [DISTINCT] 속성명1, 속성명2, …. FROM 테이블명 [WHERE 조건] SQL 38. 자료 검색 표기 형식 SELECT [DISTINCT] 속성명1, 속성명2, …. FROM 테이블명 [WHERE 조건] [GROUP BY 속성명 [HAVING 조건]] [ORDER BY 속성명 [ASC | DESC]]; 모든 속성 지정할 때는 ‘*’을 쓴다. DISTINCT : 중복된 튜블이 있으면 첫 번째 한 개만 검색 GROUP BY : 특정 속성을 기준으로 그룹화할 때 지정 HAVING : GROUP BY와 사용되며, 그룹에 대한 조건 지정 ORDER BY : 특정 속성 기준으로 정렬 검색할 때 사용 ASC는 오름 차순, DESC는 내림차순 정렬

38. 자료 검색 SELECT * FROM 학생; SELECT 성명, 학년 FROM 학생; SQL 38. 자료 검색 SELECT * FROM 학생; SELECT 성명, 학년 FROM 학생; SELECT DISTINCT 학과 FROM 학생; SELECT * FROM 학생 WHERE 학과=‘디콘’; SELECT * FROM 학생 WHERE 학과=‘디콘’ AND 학년=‘2’; SELECT * FROM 학생 WHERE 성명 LIKE “고%”; SELECT * FROM 학생 WHERE 주소 IS NULL; SELECT * FROM 학생 ORDER BY 성명 ASC; SELECT 학과, COUNT(*) AS 학생수 FROM 학생 GROUP BY 학과; 그룹함수 : COUNT, MAX, MIN, SUM, AVG 등

39. 자료 삽입 표기 형식 INSERT INTO 테이블명(속성명1, 속성명2, …) VALUES (자료1, 자료2, …); SQL 39. 자료 삽입 표기 형식 INSERT INTO 테이블명(속성명1, 속성명2, …) VALUES (자료1, 자료2, …); 대응하는 속성과 자료는 개수와 자료형이 일치해야 한다. 기본 테이블의 모든 속성을 사용할 때는 속성명을 생략할 수 있다. INSERT INTO 학생(학번, 성명) VALUES (1005, ‘장보고’); INSERT INTO 학생 VALUES (1006, ‘김나라’, ‘디콘’, ‘3’);

40. 자료 갱신 41. 자료 삭제 표기 형식 UPDATE 테이블명 SET 속성명=변경값 [WHERE 조건]; SQL 40. 자료 갱신 표기 형식 UPDATE 테이블명 SET 속성명=변경값 [WHERE 조건]; UPDATE 학생 SET 학과=‘경영’ WHERE 이름=‘장보고’; UPDATE 학생 SET 학번=학번+1000 WHERE 학년=‘1’; 41. 자료 삭제 표기 형식 DELETE FROM 테이블명 [WHERE 조건]; DELETE FROM 학생 WHERE 학년=‘3’; DELETE FROM 학생;

43. 시스템 카탈로그(System Catalog) 데이터베이스 기능 42. 뷰(View) 사용자에게 접근이 허용된 자료만을 제한적으로 보여주기 위해 하나 이상의 기본 테이블로부터 유도된, 이름을 가지는 가상테이블이다. 저장장치 내에 물리적으로 존재하지 않지만, 사용자에게는 있는 것처럼 간주된다. 43. 시스템 카탈로그(System Catalog) 시스템 그 자체에 관련이 있는 다양한 객체에 관한 정보를 포함하는 시스템 데이터베이스이다. 카탈로그들이 생성되면 자료사전(Data Dictionary)에 저장되기 때문에 카탈로그를 자료 사전이라고도 한다. 카탈로그에 저장된 정보를 메타 데이터(Meta-Data)라고 한다.

43. 트랜잭션(Transaction) 44. 회복(Recovery) 데이터베이스 기능 43. 트랜잭션(Transaction) 데이터베이스에서 하나의 논리적 기능을 수행하기 위한 작업의 단위로, 데이터베이스 관련 연산의 가장 기본적인 단위이다. 데이터베이스 시스템에서 복구 및 병행 수행 시 처리되는 작업의 논리적 단위이다. 하나의 트랜잭션은 Commit 되거나 Rollback 된다. 트랜잭션은 원자성, 일관성, 격리성, 영속성의 특징을 가진다. 44. 회복(Recovery) 여러 가지 요인으로 인해 손상된 데이터베이스를 손상되기 이전의 정상적인 상태로 복구시키는 작업 회복을 위해 로그(log:트랜잭션이 수행되어 변경되는 상황 정보를 기록하는 것)를 이용

45. 병행제어(Concurrency Control) 데이터베이스 기능 45. 병행제어(Concurrency Control) 동시에 여러 개의 트랜잭션이 실행되는 경우를 병행 실행이라고 하는데 병행 실행시 트랜잭션 간의 격리성을 유지하여 트랜잭션 수행에 문제가 발생되지 않도록 제어하는 것 로킹(Locking): 트랜잭션 병행 실행 시 하나의 트랜잭션이 사용하는 데이터베이스 내의 데이터를 다른 트랜잭션이 접근하지 못하게 하는 것 46. 인덱스(Index) 수많은 데이터 중에서 원하는 자료를 빠르고 효율적으로 검색하기 위해서 사용하는 방법 인덱스 파일 : 데이터의 위치 관리. 키값, 주소로 구성 데이터 파일 : 실제 데이터를 기억

48. 스토어드 프로시저(Stored Procedure) 데이터베이스 기능 47. 트리거(Trigger) 참조 관계에 있는 두 테이블에서 하나의 테이블에 삽입, 삭제, 갱신 등으로 테이블 내용이 바뀌었을 때 데이터의 일관성과 무결성 유지를 위해 이와 연관된 테이블도 연쇄적으로 변경이 이루어질 수 있도록 하는 것 48. 스토어드 프로시저(Stored Procedure) 자주 수행해야 할 SQL 처리 과정을 미리 하나의 작은 프로그램으로 작성하여 데이터베이스에 저장해 두었다가 필요한 경우 호출하여 사용하기 위해 만들어 놓은 프로그램