PROGRAMMING/DataBase

database_기초_02

seulda 2021. 4. 8. 01:17
728x90

스키마, Schema

: 데이터베이스의 구조와 제약 조건에 관한 전반적인 명세(specification)

구성

ㄴ개체, Entity : 현실 세계의 객체(Object), 서로 구별될 수 있는 것
ㄴ속성, Attribute : 개체의 특성이나 상태를 기술하는 것
ㄴ관계, Relationship : 2개 이상의 개체 사이에 연관성을 기술한 것

특징

ㄴ데이터의 구조적 특성을 의미
ㄴ데이터 사전에 저장됨
ㄴ현실 세계의 특정한 한 부분의 표현
ㄴ시간에 따라 불변
ㄴ데이터의 논리적 단위에 명칭을 부여 및 의미를 기술

#데이터 사전 = 시스템 카탈로그 = 메타데이터
: 데이터베이스에 저장되어있는 모든 데이터 개체들에 대한 정보를 유지하고 관리하는 시스템. 데이터에 관한 데이터

관점에 따른 계층 분석

-외부 스키마, External Schema (=서브 스키마, Sub Schema)
: 사용자나 응용프로그래머가 각 개인의 입장에서 필요로 하는 데이터베이스의 논리적 구조를 정의한 것
-개념 스키마, Conceptual Schema
: 개체 간의 관계와 제약조건을 나타내고 데이터베이스의 접근권한, 보안정책 및 무결성 규정에 관한 명세를 정의한 것
-내부 스키마, Internal Schema
: 데이터베이스의 물리적 구조 즉, 개념 스키마의 물리적 저장구조에 대한 정의를 기술한 것


데이터베이스 설계 5단계

: 데이터베이스의 구조 즉, 데이터베이스 스키마를 개발하는 과정. 설계시에는 데이터베이스 구조에 치중하는 데이터중심설계와 데이터 처리 및 응용에 치중하는 처리중심설계를 병행

 

1. 요구조건 분석
-데이터베이스를 사용할 사람이 필요로 하는 용도를 파악하는 작업
-정적 정보구조와 동적 데이터베이스 처리요구 조건, 범기관적 제약조건에 대한 요구조건 파악
-이 요구조건명세를 시스템명세로 확정
2. 개념적 설계
-정보의 구조를 얻기 위하여 현실세계의 무한성과 계속성을 이해하고, 다른 사람과 통신하기위하여 현실세계에 대한 인식을 추상적 개념으로 표현하는 과정
-개념스키마 모델링(추상화=집단화,일반화)과 트랜잭션 모델링(트랜잭션 입력, 출력과 기능적 형태의 정의, 명세)을 병행 수행
(트랜잭션 : 데이터베이스에서 하나의 논리적 기능을 수행하기 위한 일련의 연산 집합 또는 작업의 단위)
3. 논리적 설계
-현실 세계에서 발생하는 데이터 형태를 컴퓨터가 이해하고 처리할 수 있는 특정 데이터베이스 관리 시스템이 지원하는 논리적 데이터구조로 변환시키는 과정
-논리스키마를 설계하고 정규화를 수행
-트랜잭션의 전체적인 골격 개발과 인터페이스를 정의
4. 물리적 설계
-주어진 응용프로그램에 대한 성능향상을 위해 데이터베이스 파일에 대한 특정한 저장구조와 접근 경로를 결정하는 과정
-저장 구조를 위한 레코드의 양식, 순서, 저장 공간 등과 접근 경로를 위한 인덱싱, 클러스터링, 해싱 등의 설계도 포함됨
5. 데이터베이스 구현
-데이터베이스를 실제로 구축하는 과정
-DDL로 기술된 명령문을 실행시켜 데이터베이스 스키마와 데이터베이스 파일 생성
-상세 트랜잭션을 실행트랜잭션으로 구현


개체, 관계, 속성

개체 : 현실세계의 객체. 유형 또는 무형의 정보 대상으로 존재
개체 타입 : 집합에 대한 공통의 특성들을 갖는 개체 클래스


관계 : 2개 이상의 개체 사이에 존재하는 연관성
관계 타입 : 같은 관계들의 집합 또는 틀
(차수 Degree - 개체 타입의 개수)
(대응카디널리티 Mapping Cardinality - 개체 어커런스(인스턴스)의 개수)
ISA관계 : 특정 개체가 서로 구별되는 여러 하위 개체로 나누어질 수 있는 상·하위 개체
(total-상위 개체가 하위 개체에 속할 때)
(partial-상위 개체가 하위 개체에 속하지 않을 때)


속성 : 개체의 특성이나 상태를 기술한 것. 속성이 나누어지면 복합속성, 나누어지지않으면 단순속성
(도메인 Domain - 속성이 가질 수 있는 모든 값들의 집합)

 

관계형 데이터모델

: 데이터를 테이블 또는 릴레이션의 구조로 표현하는 논리적 데이터 모델

 

테이블 = 릴레이션
: 릴레이션 스키마와 릴레이션 인스턴스로 구성된 이차원 데이터
-릴레이션 스키마, Relation Schema : 구조를 나타냄
-릴레이션 인스턴스, Relation Instance : 실제의 값들
-열, Column = 속성, Attribute -> 차수, Degree (개수)
-행, Row = 튜플, Tuple -> 카디널리티, Cardinality (개수)
-도메인, Domain : 하나의 속성이 취할 수 있는 같은 타입의 원자(Atomic)값들의 집합. 값의 합법 여부를 시스템이 검사하는 데에도 이용 <- 도메인 무결성!


매핑 룰, Mapping Rule
: 개념적 데이터 모델(ER모델)을 논리적 데이터 모델(릴레이션스키마)로 변환
-(과정) 개체 A, B는 각각 독립적인 릴레이션 A, B로 표현 -> 기본키를 외래키로 추가하여 표현
-N:M 관계일 경우 각 릴레이션의 기본키를 포함한 별도의 릴레이션으로 표현. 이 때 생성된 별도의 릴레이션을 교차릴레이션(Intersection Relation) 또는 교차엔티티 라고 함


식별관계, Identifying
: A 개체의 기본키가 B 개체의 외래키이면서 기본키가 되는 경우 = 의존적인 경우
-그 반대인 단지 외래키이기만 한 경우 = 비식별관계, Non-identifying


테이블 정의서
: 테이블에 대한 자세한 설명과 컬럼에 대하여 정의한 문서

 

728x90

'PROGRAMMING > DataBase' 카테고리의 다른 글

DATABASE_02_관계 데이터 모델  (0) 2021.04.08
DATABASE_01_데이터베이스 시스템  (0) 2021.04.08
database_기초_04  (0) 2021.04.08
database_기초_03  (0) 2021.04.08
database_기초_01  (0) 2021.04.07