본문 바로가기
휴지통/학부

DB론 (1)

by 신재권 2021. 9. 8.

Database란 ?

한 조직의 여러 응용 시스템들이 공유하기 위해 통합하여 저장한 운영 데이타의 집합


논리적 구성 요소(logical components)

사용자 관점

데이터베이스 = {개체(entities), 관계(relationships)}


물리적 구성 요소(physical components)

저장 장치의 관점

BIT, byte, block, cylinder 등


개체(entity)

DB에 표현하고자 하는 정보 객체(object) 속성(attribute)들로 구성

속성 : 데이타의 가장 작은 논리적 단위(logical unit)

데이터 필드(field) 라고도 함

개체 집합(entity set)

개체 타입(entity type) + 개체 인스턴스(entity instance)

일반적으로 "레코드"라 하기도 함

레코드 타입(record type) + 레코드 어커런스(record occurrence)

형태정의 → 개체 타입

각각의 값들을 수집하면 → 개체 인스턴스

개체 인스턴스를 모으면 집합이 된다.


관계

개체 관계(entity relationship)

개체 내부(intra-entity) & 개체 간(inter-entity) 관계

학번 → 식별자 속성

인스턴스를 구분할 때 필요한 것이 식별자 속성이다.

식별자와 비 식별자 간에 존재하는 종속관계 → 개체 내부관계

학번을 알면 이름과 학과를 알 수 있다.

학생객체와 교수 객체 사이에는 지도라는 관계가 있다. → 개체 간 관계

각 개체간의 식별자 속성을 매칭시켜 지도라는 관계를 표현한다.

즉 객체간의 관계도 식별자를 통해 구별한다.

식별자 속성 → Key라고 표현


개체-관계 모델(E-R Model) 표현

관계형 모델 표현


DBMS(Database management system)란? 응용 프로그램과 데이터간의 중재자로서 모든 응용 프로그램(사용자)들이 데이터베이스를 공용할 수 있게 관리해주는 소프트웨어 시스템

파일 시스템의 데이터 종속성과 중복성 문제 해결을 위해 고안

DB의 3단계 (3-level) 표현 (종속성 제거)

ANSI/SPARC에서 제안한 표준 구조

3단계 DB 구조에 기반

외부 스키마(external schema) → 개념→app,특성변형, 발췌 →외부스키마

개념 스키마(conceptual schema) → 논리적

내부 스키마(internal schema)→ 저장될때 (변형, 특성반영)

스키마(schema) →구조, 형식, 틀

DB의 논리적 정의(명세)

DB의 구조(개체, 관계)와 제약조건(constraints)을 명세

외부 → 개념

발췌,변형, 논리적

개념 → 내부

저장장치의 특성반영, 변형

변환구간에 매핑을 위한 인터페이스가 존재한다.

데이터베이스를 교체했을 때 내부 스키마만 변경되고, 인터페이스 매핑 내용만 변경만 하면 된다. (물리적 데이터 종속성)


데이터 독립성

  1. 논리적 데이타 독립성 (종속성의 반대)

응용 프로그램에 영향을 주지 않고 논리적 데이타 구조의 변경이 가능

응용프로그램의 효율적 개발이 가능 (생산성, 효율성이 상승)

  1. 물리적 데이타 독립성

응용 프로그램과 논리적 데이타 구조에 영향을 주지 않고 물리적 데이타 구조의 변경이 가능

저장 장치의 호환성 증대


데이터 언어

기본 기능

데이터베이스의 정의(definition), 조작(manipulation), 제어(control)

데이터 정의어(DDL : Data Definition Language)

데이터베이스 구조 정의(definitions) 및 변경(alteration)

논리적 데이타 구조/물리적 데이타 구조/ 사상(mapping) 명세

데이터 조작어(DML: Data Manipulation Language)

데이터 처리 연산(oepration)의 집합

데이타의 검색,삽익, 삭제, 변경 연산 (CRUD)


데이터 조작어

절차적 DML

저급 데이타 언어(low-level data language)

what과 how를 명세

사용 시, 전문적인 지식이 필요함

비절차적(non-procedural) DML

고급 데이타 언어(high-level-data language)

what만 명세(declarative 함) → how는 시스템에게 위임

질의어 (Query Language)라고도 함

대화식 : command 타입


데이타 부속어(DSL, Data Sublanguage) host program속에 삽입되어 사용되는 DML을 통칭

응용 프로그램 속에 내장(embedded)되어 사용

DML 예비 컴파일러(pre-compiler) 필요

최근에 Data 접근용 C, C++, JAVA API 등을 많이 사용함

과거에는 컴파일러가 두 개 필요했다.

현재는 아님


데이터 제어어(DCL : Data Control Language)

DB 관리를 위한 각종 제어 및 통제(data control) 정의

주 사용자는 DBA


주요 제어 내용

데이터 보안(security) 데이터 무결성(integrity) 데이타 회복(recovery) 병행 수행(concurrency)


현실 → E-R 모델 → 관계형 모델

관계형 데이타베이스

릴레이션의 예 (테이블)

애트리뷰트 ( 학번, 이름, 학년, 학과)

→ Data Type을 정의한 것 → 도메인 → 테이블의 틀과 형식을 정의하였다. 즉 릴레이션의 스키마를 정의하였다.

각각 삽입된 데이터를 투플(인스턴스)라고 말한다.

채운 데이터들이 모여있다 즉 릴레이션이 완성된다.

즉 이것이 관계형 데이터이다.


릴레이션의 특성

튜플의 유일성(uniqueness of tuples) 릴레이션 = 투플들의 집합(set)

애트리뷰트의 원자성(atomicity)

애트퓨리뷰트 값은 원자 값(atomic value)

정수, 실수, 문자, 문자열 등의 기본 자료형 + 단일값 특성

널 값도 원자 값임

unknown, inapplicable

반복 그룹(repeat group)값은 불가

집합 값 : 취미 = {운동, 독서, 음악감상}

범위 값 (range variable) 불가

몸무게 ={54~78kg}


키(key)

릴레이션의 각 투플을 유일하게 식별하는 속성 집합(set of attributes) 슈퍼 키(super key) (key)

유일성(uniqueness)만을 만족하는 애트리뷰트 집합

최소성(minimality)은 만족하지 않음

후보 키(candidate key)

유일성

각 튜플에 대해 값은 유일

최소성

K는 각 튜플을 유일하게 식별하는데 필요한 애트리뷰트만 포함


기본 키(primary key)

후보 키(candidate key)중에서 DBA가 지정한 식별자 키

각 투플에 대한 기본 키 값은 항상 유효한 값이어야 함

null값을 허용하지 않는다 → 개체 무결성 제약 조건

대체 키 (alternate key)

후보키가 여러개일 경우, 이들 중에서 기본 키로 지정된 것을 제외한 나머지 후보 키를 말함

관계는 외래키로 표현한다

'휴지통 > 학부' 카테고리의 다른 글

화일의 기본개념(1)  (0) 2021.09.09
컴퓨터 그래픽스의 응용  (0) 2021.09.08
네트워크의 기초 용어와 기능  (0) 2021.09.08
데이터 통신 기본 개념  (0) 2021.09.08
네트워크 (1)  (0) 2021.09.07