Download presentation
Presentation is loading. Please wait.
Published byMariano Espinoza López Modified 5년 전
1
01 데이터베이스 개론 데이터베이스의 등장 배경 데이터베이스의 발전 과정 데이터베이스의 정의 데이터베이스의 특징
01 데이터베이스 개론 데이터베이스의 등장 배경 데이터베이스의 발전 과정 데이터베이스의 정의 데이터베이스의 특징 관계형 데이터 모델 객체관계형 데이터 모델 데이터베이스 관리시스템
2
데이터베이스의 등장 배경 데이터베이스의 등장 배경 지식 기반 사회에서 대용량 데이터 관리에 대한 필요성 파일 시스템의 문제점
응용 프로그램과 데이터의 종속성 다수 사용자들의 정보 공유에 대한 문제 1970년대 데이터베이스 관리 시스템 등장 컴퓨터에 저장된 대량의 데이타를 체계적으로 관리하고 사용자가 원하는 정보를 효과적으로 검색하기 위한 소프트웨어 데이터베이스 데이터베이스 관리시스템에 의해 관리되는 데이타의 집합 데이터베이스 언어 데이터베이스에 저장된 데이타를 검색하고 조작하기 위한 언어 SQL 언어 현재 가장 널리 사용되는 데이터베이스 언어 미국표준연구소(ANSI)와 국제표준기구(ISO)에서 관계형 데이터베이스 표준 언어로 채택 1장. 데이터베이스 개론
3
데이터베이스 시스템 발전 과정 1960년대 초반 최초의 데이터베이스 IDS(Integrated Data Store)제시
1960년대 후반 IBM사에서 IMS(Information Management System)개발 1970년 6월 IBM연구소의 Codd박사에 의해 관계형 데이터 모델 제시 1970년대 초반 System/R, 최초의 관계형 데이터베이스 시스템 모델 개발 1979년 오라클 V1, 최초의 상용 관계형 데이터베이스 시스템 출시 1982년 SQL/DS, IBM의 상용 관계형 데이터베이스 제품 출시 현재 오라클, DB2, Sybase, SQL Server 사용 중 1장. 데이터베이스 개론
4
SQL의 역사 1973 SQUARE(Structured Queries As Relational Express) 1974
System/R용 SEQUEL(Structured English QUEry Language) 1976 SEQUEL-2 1980 SQL(Structured Query Language)로 개명 1986 SQL-86, 최초의 SQL 표준안 1988 ANSI, ISO 국제표준 인정 1989 SQL-1(SQL/89) 표준안 제정 1992 SQL-2(SQL/92) 표준안 제정 1999 SQL-3(SQL/99) 표준안 제정 1장. 데이터베이스 개론
5
데이터베이스의 현재 관계형 데이터베이스 시스템 객체지향 및 객체관계형 데이터베이스 시스템 등장
1990년대부터 모든 산업 분야에 널리 보급 1992년 오라클 7 발표 이후, 우리나라에서도 활성화 객체지향 및 객체관계형 데이터베이스 시스템 등장 PC보급의 일반화에 따른 객체지향 기술과 멀티미디어 기능 요구 관계형 데이터 모델 자체의 제약으로 인한 멀티미디어 기능 지원에 대한 문제점 1장. 데이터베이스 개론
6
객체지향 데이터베이스 & 객체관계형 데이터베이스
객체지향 데이터베이스 시스템 객체, 클래스, 메소드, 상속등과 같은 객체 개념을 지원 모델링 능력이 우수하지만 복잡한 개념, 처리 성능의 저하로 인해 일부 특수 분야에서만 사용 O2, Versant, Ontos, ObjectStore, Objectivity 등 객체관계형 데이터베이스 시스템 기존 관계형 데이터 모델과 객체지향 기술을 접목 IBM : DB2 UDB 5.0 INFORMIX :1990년대 중반부터 지원 ORACLE : ORACLE 8(1997년 발표) 부터 제한적으로 지원 ORACLE 9i부터 SQL-3에서 요구하는 대부분의 표준 기능 지원 1장. 데이터베이스 개론
7
데이터베이스의 정의 통합 데이터(integrated data) 공유 데이터(shared data)
여러 군데 분산된 데이타를 통합하여 데이타의 중복을 최소화하기 위한 개념 공유 데이터(shared data) 분산된 파일의 통합 관리를 통해 조직 내의 다수의 사용자나 여러 응용 시스템에서 동일한 데이타를 공유하는 개념 저장 데이터(stored data) 컴퓨터가 접근 가능한 매체에 저장된 디지털 데이타를 의미 운영 데이터(operational data) 특정 조직의 고유 업무를 수행하기 위하여 항상 유지해야 하는 데이타 의사 결정 데이터(decision-making data) 조직에서 장기간 축적된 데이타를 분석하여 새로운 의사 결정을 하는데 활용하기 위한 데이터 1장. 데이터베이스 개론
8
데이터베이스의 특징 실시간 접근(realtime access) 지속적인 변화(continuous changes)
데이터베이스를 조회하는 사용자 질의에 대한 처리 시간이 몇 초를 넘지 않아야 한다는 것을 의미 지속적인 변화(continuous changes) 데이터베이스에도 추가, 삭제, 수정과 같은 작업을 통해 현실 세계의 변화를 지속적으로 반영 동시 공유(concurrent sharing) 서로 다른 응용 업무에서 다수의 사용자가 동일한 데이타를 공유할 수 있는 환경을 제공 내용에 의한 참조(reference by content) 데이터베이스에서 데이타를 검색하는 방식은 데이타의 일부 내용에 의해 참조되는 방식 예 : ‘모든 컴퓨터공학과 학생을 검색하라’ 1장. 데이터베이스 개론
9
관계형 데이터 모델 관계형 데이터 모델의 구성 요소 1장. 데이터베이스 개론
10
릴레이션 릴레이션(relation) 릴레이션의 개념 2차원 테이블 구조
튜플(tuple)과 속성(attribute)의 집합으로 구성 릴레이션의 개념 1장. 데이터베이스 개론
11
릴레이션의 성질 릴레이션에 저장된 튜플들은 유일 릴레이션에 저장된 튜플간에는 순서 관계가 없음
릴레이션은 튜플들의 집합이기 때문에 하나의 릴레이션에는 동일한 튜플이 저장될 수 없음 릴레이션에 저장된 튜플간에는 순서 관계가 없음 하나의 집합내에서 원소간의 순서는 무의미하기 때문에 릴레이션에 저장된 튜플끼리는 순서 관계가 없음 릴레이션을 구성하는 속성간에는 순서가 없음 학생1(학번, 이름, 주민번호, 사용자ID)과 학생2(학번, 주민번호, 이름, 사용자ID)는 동일한 릴레이션 모든 속성 값은 원자 값(atomic value) 속성 값은 더 이상 나뉘어질 수 없는 논리적인 최소 단위를 의미 예 : 이름 1장. 데이터베이스 개론
12
관계 연산 1장. 데이터베이스 개론
13
관계 연산과 SQL UNION : 합집합 INTERSECT : 교집합 DIFFERENCE : 차집합
SQL 예 : SELECT a FROM R UNION SELECT b FROM S; INTERSECT : 교집합 SQL 예 : SELECT a FROM R INTERSECT SELECT b FROM S; DIFFERENCE : 차집합 SQL 예 : SELECT a FROM R MINUS SELECT b FROM S; PRODUCT : 카티젼 곱 SQL 예 : SELECT a, b FROM R, S; RESTRICTION : 수평적인 부분 집합 SQL 예 : SELECT * FROM R WHERE r.A=10; PROJECTION : 수직적인 부분 집합 SQL 예 : SELECT r.A1, r.A2 FROM R; JOIN SQL 예 : SELECT r.A, r.B FROM R, S WHERE r.A = s.B; DIVIDE 1장. 데이터베이스 개론
14
제약 조건 엔터티 무결성 규칙 릴레이션에 저장되는 튜플의 유일성을 보장하기 위한 제약조건 기본 키(primary key)
릴레이션에 저장되는 튜플의 유일성을 보장하기 위하여 하나 이상의 속성으로 구성되는 식별자 유일성(uniqueness)과 최소성(minimality)을 만족 유일성 기본 키를 구성하는 속성 집합의 값은 릴레이션내에서 유일 예 : 학번 최소성 유일성을 해치지 않는 최소의 속성으로 구성 예 : 기본키(학번, 이름) => 학번과 이름을 결합하여 유일성을 보장할 수 있지만, 학번만으로도 유일성을 보장할 수 있으므로 최소성에 위배 1장. 데이터베이스 개론
15
제약 조건 참조 무결성 규칙 도메인 무결성 규칙 릴레이션간의 데이터의 일관성을 보장하기 위한 제약조건
하나의 릴레이션에 있는 속성 값이 다른 릴레이션에 있는 속성 값을 참조하기 위해서는 참조되는 속성 값이 반드시 해당 릴레이션에 존재 외래 키(foreign key) : 다른 릴레이션의 칼럼 값을 참조하는 칼럼 참조 키(reference key) : 다른 릴레이션에서 참조되는 칼럼 도메인 무결성 규칙 속성에서 허용 가능한 값의 범위를 지정하기 위한 제약 조건 속성의 데이터 타입, 길이, 기본 키, 유일성, NULL 허용, 허용 값의 범위와 같은 제약 조건 지정 가능 1장. 데이터베이스 개론
16
관계형 데이터 모델의 성공 요인 단순하고 이해하기 쉬운 모델 수학적 이론을 기반으로 한 모델 비절차적인 질의어 지원
테이블의 논리적인 구조가 2차원적인 테이블 형식 수학적 이론을 기반으로 한 모델 수학의 집합 이론과 관계 대수를 기반으로 구성 시스템의 기능이나 성능을 예측하거나 검증 가능 질의 최적화나 성능 개선을 위한 기법들은 수학적 기반위에 지원 비절차적인 질의어 지원 SQL이라는 비절차적인 언어로 데이터베이스에 접근 지속적인 투자와 기술 지원 상용 데이터베이스 회사에서의 지속적인 대규모 투자 새로운 요구에 대한 지속적인 연구 개발 1장. 데이터베이스 개론
17
객체관계형 데이터 모델 사용자 정의 타입 지원 참조 타입 지원 중첩 테이블 대용량 객체 타입 상속 관계
사용자가 정의하는 데이터 타입을 지원 참조 타입 지원 객체로 구성된 객체 테이블에서 하나의 객체 레코드가 다른 객체 레코드를 참조할 수 있음 관련된 객체를 조회하기 위하여 조인 연산 대신에 참조 구조를 이용하여 네비게이션을 통한 접근이 가능 중첩 테이블 테이블의 데이터 값으로 다른 테이블을 저장할 수 있는 중첩 테이블을 지원 대용량 객체 타입 이미지, 오디오, 비디오, 텍스트와 같은 대용량의 비정형 데이터를 저장하기 위한 대용량 객체(LOB: Large Object) 타입을 지원 상속 관계 객체로 구성된 테이블끼리 상속 관계를 지정할 수 있음 1장. 데이터베이스 개론
18
데이터베이스 관리시스템 데이터베이스 관리시스템 Database Management System
사용자 또는 응용 시스템과 데이터베이스간의 인터페이스 역할을 담당하는 시스템 소프트웨어 1장. 데이터베이스 개론
19
데이터베이스 관리시스템의 주요 기능 데이터 정의 기능 데이터 조작 기능 데이터 제어 기능 데이터베이스에 스키마를 정의
테이블, 인덱스, 동의어, 시퀀스 등과 같은 스키마 객체(schema object)를 생성, 변경, 삭제 CREATE TABLE, ALTER TABLE, DROP TABLE, CREATE INDEX등 데이터 조작 기능 테이블이나 뷰와 같은 스키마 객체에 저장된 데이터를 조작하는 기능 새로운 데이타를 입력, 수정 또는 삭제하는 기능을 INSERT, UPDATE, DELETE문 데이터 제어 기능 데이터의 정확성과 안전성을 유지하기 위한 기능 데이터의 정확성 유지를 위한 트랜잭션 관리나 접근 권한 관리 기능 COMMIT, ROLLBACK, GRANT, REVOKE등 1장. 데이터베이스 개론
20
데이터베이스 관리시스템의 장점 데이타 중복의 최소화 데이타의 공유 데이타의 일관성 유지 데이타의 무결성 유지
데이타의 통합 관리를 통하여 데이타의 중복을 최소한으로 줄일 수 있음 데이타의 공유 데이타의 통합 관리를 통하여 여러 사용자가 동일한 데이타를 공유 가능 데이타의 일관성 유지 통합된 데이타의 체계적인 관리를 통하여 데이타의 일관성을 유지 데이타의 무결성 유지 무결성 규칙에 의해 데이타에 대한 정확성과 일관성을 유지 데이타의 보안 보장 데이타에 대한 중앙집중 관리를 통하여 사용자의 접근을 효율적으로 통제 전체 데이타에 대한 요구 조정 데이타에 대한 액세스 빈도, 변경 주기, 저장 공간 관리와 사용자 요구 사항을 파악하여 전체 데이타에 대한 요구 조건을 조정 1장. 데이터베이스 개론
21
데이터베이스 관리시스템의 단점 운영비 증대 자료 처리의 복잡화 복잡한 예비와 회복 시스템의 취약성
데이터베이스 관리시스템 운영을 위한 하드웨어, 소프트웨어 및 인력 운영 비용이 증가 자료 처리의 복잡화 일관성과 보안을 유지하며 데이타를 통합 관리하기 위해 시스템 내부적인 자료 처리가 복잡 복잡한 예비와 회복 데이터베이스는 통합된 데이타를 여러 사용자가 동시에 사용하는 관계로 장애 발생시에 복구 과정이 복잡 안정적인 복구를 위해 적절한 백업 작업이 필요 시스템의 취약성 데이타에 대한 의존도가 높은 조직이나 업무는 장애 발생시 시스템에 대한 신뢰성과 가용성을 저하 1장. 데이터베이스 개론
Similar presentations