데이터베이스(Database)

서이·2022년 2월 16일
0

개념정리

목록 보기
7/9

데이터베이스(Database)

: 특정 조직이 업무 수행하는데 필요한 관련성 있는 자료들의 집합체
1. 도입배경 : 파일 시스템의 문제점을 해결
↳ 독립된 파일 단위로 업무와 관련한 데이터를 저장하므로 데이터 중복성과 데이터 종속성 발생 -> 데이터 무결성 위배 가능성 높음


데이터베이스 시스템
-> 데이터 베이스와 데이터베이스 관리 시스템을 이용해 조직에 필용한 정보를 제공해주는 전체 시스템


데이터베이스 정의
1) 통합된 데이터(Integrated Data) : 데이터의 중복을 배제 또는 최소화 한 데이터의 집합
2) 저장된 데이터(Stored Data) : 컴퓨터가 접근 가능한 저장매체에 저장된 데이터의 집합
3) 운영 데이터(Operational Data) : 조직의 업무를 수행하는데 있어서 존재 가치가 확실하고 필수적인 데이터의 집합
4) 공용 데이터(Shared Data) : 여러 응용 프로그램들이 공동으로 이용할 수 있는 데이터의 집합

데이터베이스 특징
1) 실시간접근(Real Time Accessibility) : 내가 원할 때마다 언제든지 바로 접근해서 자료를 처리 할 수 있다.
2) 계속적인 변화(Continuous Evolution) : 데이터의 삽입, 삭제, 갱신 작업으로 항상 최신의 데이터를 유지해야 한다.
3) 동시 공용, 공유성(Concurrent Sharing) : 여러 사용자가 같이 쓸 수 있어야한다.
4) 내용에 의한 참조(Content Reference) : 위치나 주소가 아닌 데이터의 내용, 즉 값에 따라 참조할 수 있다.

데이터 언어
1) 데이터 정의어(DDL : Date Definition Language)
 : 데이터의 형태, 구조, 데이터 베이스의 저장에 관한 내용 정의 및 변경

2) 데이터 조작어(DML : Data Manipuliation Language)
 : 사용자의 요구에 따라 검색, 갱신, 삽입, 삭제 등을 지원하는 기능

3) 데이터 제어어(DCL : Data Control Language)
 : 정확성과 안정성을 유지하는 기능(무결성 유지, 보안, 권한, 병행 수행 제어, 회복)


스키마와 인스턴스

1.스키마(Schema)
 : 데이터베이스의 구조와 제약조건에 대한 명세를 기술한 것(설계도)
 ↳ 데이터베이스를 구성하는 데이터 개체(Entity), 이들의 속성(Attribute), 이들 간에 존재하는 관계(Relationship), 그리고 데이터의 조작 또는 이들 데이터 값들이 갖는 제약조건에 관한 정의를 총칭하는 용어

[학생] 학번 | 이름 | 주소 | 성별

[운전면허증] ID | 이름 | 주민등록번호 | 주소 | 발급일

학생(개체 Entitiy) : 데이터베이스에 표현하려고 하는 현실 세계의 대상체 ex) 학생,교수,학과,과목 / 학번,이름,주소,성별(속성 Attribute) : 개체(Entity)의 성질,분류,식별,수량,상태 등을 나타냄 ex) 학생-학번, 이름, 전화번호 / 학생이 운전면허증을 가지고 있다(관계 Relationship) : 두 개체 간의 의미 있는 연결


2.인스턴스(Instance)
  : 정의된 스키마에 따라 데이터베이스에 실제로 저장된 값
  ↳ 시간에 따라 동적으로 변화한다.


객체(Object)와 개체(Entity)의 차이점

  1. 객체(object) : DB를 구성하는 모든 것을 뜻한다. 예를 들어 테이블(table), 인덱스(index), 뷰(view), stored procedure, trigger 등

  2. 개체(entitiy) : 현실 세계에서 조직을 운영하는데 꼭 필요한 사람이나 사물과 같이 구별되는 모든 것 ex) 학생, 운전면허증 등


    스키마 특징

    1) 데이터 사전(=시스템 카탈로그(시스템 데이터베이스))에 저장
     ↳ 시스템 자신이 필요로하는 여러 가지 객체에 관한 정보를 포함하고 있는 시스템베이스(시스템 카탈로그), 사용자도 SQL을 이용하여 검색할수 있다.(DBMS만 스스로 갱신 유지할 수 있고, 사용자 갱신 안됨), 객체들로서는 기본테이블/뷰/인덱스/데이터베이스/접근권한 등이 있다

      학생에 대한 정보를 검색하면 시스템 데이터베이스에 접근하게 되고 학생정보가 데이터베이스에 있는지 확인할 수 있음, 존재한다면 사용자 데이터베이스에 접근해서 학생정보를 가지고 오게됨

      데이터 사전(=시스템 카탈로그)가 시스템데이터베이스가 되고 그 내에 스키마가 저장된다는 것을 구분해야한다.

    2) 데이터베이스의 구조(개체, 속성, 관계)에 대한 정의

    3) 다른 이름으로 메타데이터(데이터의 데이터)라고 함
     ↳ 데이터 사전에 저장된 데이터를 메타 데이터(Meta Date)라고 한다.

    4) 스키마는 시간에 따라 불변인(정적) 특성을 갖는다.




DBMS 구성

데이터베이스 설계

현실 세계의 업무적인 프로세스를 컴퓨터 세계로 데이터베이스화 하기 위한 과정

요구조건 분석 -> 개념적 설계 -> 논리적 설계 -> 물리적 설계 -> 구현 -> 운영 -> 감시 및 개선


·요구조건 분석 : 업무 프로세스 분석 -> 요구조건 명세서 작성


·개념적 설계 : 개체 타입과 이들 간의 관계타입을 이용해 현실 세계를 개념적으로 표현(산출물 : 개체관계도 = ER다이어그램)

-DBMS에 독립적인 개념 스키마 모델링

-트랜잭션 모델링 : 데이터베이스의 상테를 변화시키는 논리적인 연산의 집합


·논리적 설계 : 목표 DBMS에 맞추어 논리적 모델로 설계(관계형, 계층형, 망형 모델)
-트랜잭션 인터페이스 설계
-스키마의 평가 및 정제 -> 목표 DBMS에 맞는 스키마 설계
-정규화 과정 수행
-관계설정을 위해서는 상위 개체에 있는 기본키를 하위 객체에 외래키로 만들어 줘야한다
(학생 (학번|이름|전화번호)) - (과목 (학번|과목코드|과목명|과목내용)

·물리적 설계 : 저장 레코드 양식의 설계 및 물리적 구조 데이터 표현

(레코드 : 관련된 자료의 집합 ex) 이름과 학과는 한 학생의 레코드(행)를 구성하고 여러 학생의 레코드가 모여 파일을 구성한다.

 이름   |  학과
이순신 |  정보 <- 레코드 1
홍길동 |  사무 <- 레코드 2




데이터 모델 종류

1) 개념적 데이터 모델 : 현실 세계를 추상적으로 표현(ER 모델)

2) 논리적 데이터 모델 : 개념적 데이터 모델을 컴퓨터가 이해할 수 있도록 표현(관계형 데이터 모델) -> (ER모델을 테이블형태로 표현하는 것)

3) 물리적 데이터 모델 : 저장 레코드 양식의 설계 및 물리적 구조 데이터 표현

  • 설계 시 고려사항 : 응답시간, 저장공간의 효율성, 트랜잭션의 처리량
  • 어떤 인덱스를 만들 것인지에 대한 고려
  • 성능 향상을 위한 개념 스키마의 변경 여부 검토
  • 빈번한 질의와 트랜잭션들의 수행 속도를 높이기 위한 고려
  • 접근 경로 설계
  • 레코드 집중의 분석 및 설계
  • 트랜잭션 세부사항 설계
  • 구현
    : 목표 DBMS DDL로 스키마를 작성(정의), 응용 프로그램을 위한 트랜잭션을 작성하는 단계

데이터베이스 모델링 : 데이터베이스를 구축하기 위한 분석/설계의 과정

  • 데이터 모델 : 현실 세계의 데이터 구조를 컴퓨터 세계의 데이터 구조로 기술하는 개념적인 도구이다.

데이터 모델에 표시할 요소

  • 구조(Data Structure) : 개체들 간의 관계
  • 연산(Operation) : 데이터 처리하는 방법
  • 제약 조건(Constraint) : 실제 데이터의 논리적인 제약 조건

ER모델(Entity-Relationship Model, ER Diagram, 개체관계도)
: 개체와 개체간의 관계를 도식화한다.


  1. 개체(Entity) : 데이터베이스에 표현하려고 하는 현실 세계의 대상체 -> 파일 시스템의 레코드(Record)

  1. 속성(Attribute)
    : 개체(Entity)의 성질, 분류, 식별, 수량, 상태 등을 나타냄
  • 파일 구조상 데이터 항목 또는 데이터 필드
  • 데이터베이스를 구성하는 가장 작은 논리적 단위

기본키 속성 : 개체를 식별할 수 있는 속성
외래키 속성 : 다른 개체와의 관계에서 포함된 속성
일반 속성 : 개체에 포함되어 있고 기본키, 외래키에 포함되지 않은 속성


3. 관계(Realtionship) : 두 개체 간에 의미 있는 연결

1) 1 : 1 관계

2) 1 : N 관계

3) N : M 관계








IE 표기법 의미 : 양쪽에 반드시 1개 씩 존재






(기본키 그룹으로 보면 중복되는게 없다.)




































profile
작성자 개인이 잊을 때마다 보라고 정리한 글

0개의 댓글