데이터베이스

by 김현석

데이터 베이스의 특징

: 특정 조직의 기능을 수행하는데 필요한 상호 관련된 데이터들의 모임

실시간 접근성: 실시간으로 질의(쿼리)를 처리하고 응답한다.

계속적인 변화: 항상 최신의 데이터를 유지한다.

동시 공유: 여러 사용자가 동시에 원하는 데이터에 접근하여 이용할 수 있다,.

내용에 의한 참조: 데이터베이스의 데이터는 주소에 의해서가 아니라 데이터의 내용에 의해서 접근한다.


장점

데이터의 일관성 유지, 데이터 무결성 유지, 최신의 데이터 유지, 데이터 중복 최소화, 데이터 공유, 데이터의 보안 보장

단점

데이터베이스 전문가 부족, 전산화 비용 증가


데이터 베이스 관리 시스템

사용자와 데이터베이스 사이에 위치하여, 사용자의 요규에 따라 정보를 생성하고 데이터 베이스를 관리하는 소프트웨어

DBMS의 종류: Oracle, MySQL등이 있다.


데이터베이스 언어

1. 데이터 정의어(DDL)

- 데이터베이스를 생성하거나 수정하는데 사용되는 언어이다.

- 데이터베이스 관리자나 설계자가 사용한다.

2. 데이터 조작어(DML)

- 사용자가 DBMS를 통해 데이터베이스에 저장된 데이터의 검색, 삽인, 삭제 등을 처리하는데 사용되는 언어이다.

3. 데이터제어어(DCL)

- 데이터 보안, 무결성, 병행수행 제어 등을 정의하는데 사용하는 언어이다

- 데이터베이스 관리자가 데이터 관리를 목적으로 사용한다.

4. 데이터베이스 관리자의 역할

데이터베이스의 스키마(데이터베이스의 구조)를 정의한다.

데이터베이스의 구성요소를 결정한다.

시스템의 성능 분석 및 감시를 한다.

5. 관계형 데이터베이스

- 단순한 표를 이용해 데이터의 상호 관계를 정의하는 데이터베이스 구조

--> 릴레이션: 데이터를 행과 열로 이루어진 하나의 표 형태로 표현한 것


릴레이션의 구조

튜플: 테이블의 행을 의미(레코드라고도 불린다)

애트리뷰트: 테이블의 열을 의미, 데이터베이스를 추겅하는 가장 작은 논리적인 단위

도메인: 하나의 애트리뷰트가 취할 수 있는 모든 값의 집합

디그리: 애트리뷰트의 개수

카디널리티: 튜블의 개수


릴레이션의 특징

- 릴레이션을 구성하는 튜플은 중복되지 않고, 튜플 사이에는 순서가 없다.

- 릴레이션을 구성하는 속성(애트리뷰트)의 이름은 유일해야하고, 속성들의 순서는 중요하지 않다.

- 릴레이션을 구성하는 튜플을 유일하게 식별하기 위해 속성들의 부분집합을 키로 설정한다.

- 애트리뷰트는 널(Null)값을 가질 수 있다.


정규화

- 이상(Anomaly): 정규화를 거치지 않으면 데이터베이스 내에 데이터들이 불필요하게 중복되어 릴레이션 조작 시 발생하는 여러 문제점을 뜻한다.


- 정규화는 속성들 사이의 종속성을 제거해가는 과정이다. (이상문제를 제거해가는 과정)

- 정규화를 수행하면 데이터의 중복이 최소화되지만, 데이터의 중복을 완전히 제거할 수 있는 것은 아니다)

- 정규화 단계가 높아질수록 만족시켜야 할 제약조건은 늘어나고 이상문제는 줄어든다.

- 대체로 더 작은 필드를 갖는 테이블로 분해하는 과정

- 정규화를 실행하면 테이블이 나누어져 최종적으로는 일관성을 유지하게 된다.


개체 관계도

- 데이터들을 개체와 개체간의 관계로 표현하는 것

- 개체 관계도를 시각적으로 표현한 것이 E-R 다이어그램

* 사각형: 개체 타입

* 다이아몬드: 관계 타입

* 타원: 속성 타입

* 밑줄 타원: 기본 키 속성 타입

ex. 학생(학번, 이름, 나이)과 봉사내역(학번, 봉사장소, 봉사시수)의 두 개체가 1:N관계를 이루고 있다.


작가의 이전글매크로&VBA