데이터베이스 (DataBase)란?
* 특정 조직이 업무를 수행하는 데 필요한 관련성이 있는 자료들의 집합체
* 한 조직(enterprise)의 여러 응용 시스템들이 공용(shared)하기 위해 통합(integrated)하여 저장(stored)한 운영 데이타(operational data)의 집합
* 주요 목적은 데이터를 저장했다가 필요할 때 사용하고, 지속적으로 데이터를 관리하고 보호하는 것이다.
데이터베이스 목적
* 공용 데이터 (shared data)
– 한 조직의 여러 응용 시스템들이 공동으로 소유, 유지, 활용하는 데이타
* 통합 데이터 (integrated data)
– 최소의 중복(minimal redundancy)
– 통제된 중복(controlled redundancy)
* 저장 데이터 (stored data)
– 컴퓨터가 접근 가능한 저장 매체에 저장
– 자기 디스크, 자기 테이프 장치 등
* 운영 데이터 (operational data)
– 한 조직의 고유 기능(업무) 수행 시 필요한 데이타
데이터 웨어하우스 (Data WareHouse)
* 기간 시스템의 데이터베이스에 축적된 데이터를 공통의 형식으로 변환하여 일원적으로 관리하는 데이터베이스.
* 창고라는 의미로 데이터의 격납이나 분석 방법까지 포함하여 조직 내 의사 결정을 지원하는 정보 관리 시스템으로 이용한다.
스키마
* DB의 구조 (개체, 속성, 관계)와 제약조건에 대한 명세를 기술한 것
스키마 3계층
* 외부 스키마(External Scheme)
* 서브 스키마, 사용자뷰
* 사용자가 보는 관점, 사용자에 따라 다르고 여러개가 존재 할 수 있다.
* 내부 스키마 (Internal Scheme)
* 일반적인 스키마
* 전체적인, 범 기관적, 총괄적인 관점
* 데이터베이스의 전체적인 논리적 구조이다.
* 개념 스키마 (Conceptual Scheme)
* 물리적인 스키마
* 실제 데이터를 저장한다.
* 데이터베이스의 전체적인 물리적 구조로 DBA를 관리
데이터베이스 설계 순서
요구사항 분석 -> 개념적 설계 -> 논리적 설계 -> 물리적 설계 -> 구현 -> 운영 -> 감시 및 개선
1) 개념적 설계
* 개체 타입과 이들 간의 관계 타입을 이용해 현실 세계를 개념적으로 표현한다.
* 산출물 : 개체관계도 = ER 다이어그램
구성요소 |
기호 |
설명 |
예시 |
개체 Entity |
|
데이터베이스에 표현하려고 하는 현실 세계의 대상 일반적인 표현방법 -> 레코드 하나 이상의 속성으로 이루어짐 |
학생, 교수, 학과, 과몬 |
속성 Attribute |
|
개체의 성질, 분류, 식별, 수량, 상태등을 나타내는 세부항목 |
학생 - 학번, 이름, 전화번호 |
관계 Relationship |
|
두 개체 간에 의미 있는 연결 |
학생은 과목을 수강한다. 과목은 학생에게 수강되어 진다. |
2) 논리적 설계
* 목표 DBMS에 맞추어 논리적 모델로 설계
* 관계형, 계층형, 망형 모델
3) 물리적 설계
* 저장레코드 양식의 설계 및 물리적 구조 데이터 표현
관계형 데이터베이스
* 테이블 (릴레이션 ) : 개체
* 키 (key)
- 특정 조건에 맞는 튜플을 구분할 수 있는 단일 속성 및 속성 그룹을 말한다.
1) 슈퍼키 : 한 릴레이션 내에 있는 속성들의 집합으로 구성된 키를 말한다. ! 유일성
2) 후보키 : 한 릴레이션 내에 있는 모든 튜플들을 유일하여 식별할 수 있는 하나 또는 몇 개의 속성 집합, ! 유일성, 최소성
2) 기본키 : 후보키들 중 선택한 키. 중복되어서는 안되며, Null값을 가질 수 없다.
4) 대체키 : 기본키를 제외한 나머지 후보키
5) 외래키 : 어떤 릴레이션에서 다른 릴레이션을 참조할 때 기준이 되는 속성으로, 참조하고자 하는 릴레이션의 기본키와 동일하다.
* 튜플 ( Tuple ) : 행
* 속성 ( Attribute ) : 열
* 릴레이션 스키마 : 속성의 이름들, 릴레이션 구조
* 릴레이션 인스턴스 : 튜플들의 집합
* 도메인 : 한 속성에 나타날 수 있는 값들의 범위
* 차수 ( Degree ) : 속성들의 개수
* 카디널리티 ( Cardinality ) : 튜플들의 개수
무결성
1) 참조 무결성
* 릴레이션은 참조 할 수 없는 외래키 값을 가질 수 없다는 제약 조건
2) 개체 무결성
* 한 릴레이션의 기본키를 구성하는 어떠한 속성 값도 널(Null)값이나 중복 값을 가질 수 없다는 제약 조건
3) 도메인 무결성
* 각 속성 값은 반드시 정의된 도메일에 속한 값이어야 한다.
'DataBase' 카테고리의 다른 글
SQL Server와 PostgreSQL에서 문자열 비교 차이점 (0) | 2023.08.03 |
---|---|
기초 : 데이터 (0) | 2016.11.09 |
기초 : 테이블 (0) | 2016.11.09 |
기초 : 데이터베이스 (0) | 2016.11.09 |
기초 : 정규화 Normalization, 이상 Anomaly (0) | 2016.10.30 |