Notice
Recent Posts
Recent Comments
Link
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
Tags
more
Archives
Today
Total
관리 메뉴

josolha

Database 본문

DB

Database

josolha 2023. 7. 17. 20:37
데이터, 정보, 지식이란 무엇일까?
  • Data : 데이터란 실제 값들을 말하며,
  • Information : 그 값들에 의미를 부여하면 정보가 되며,
  • Knowledge : 이러한 값들을 이해단계로 넘어갈 수 있도록 하는게 지식이라고 부른다.

데이터, 정보,지식 차이


데이터베이스 :  정보의 조직화 된 집합체이다.
  • 모든 조직은 어떤 정보를 필요로 하고, 이를 얻기 위해 논리적으로 연관된 데이터를 모아 구조적으로 통합해 놓는다.
  • 예를들어, 기업은 그기업의 사원,부서, 급여등에 관한 정보를 저장할 필요가 있다.
    이러한 정보의 조각들을 데이터(data)라고부른다. 데이터는 다양한 형식으로 다양한 형태의 매체에 저장 될 수있다.
데이터베이스의 개념과 특징
  • 데이터베이스의 개념
    • 통합된데이터(integrated data) : 여러곳에서 사용하던 데이터를 통합해서 하나로 저장한 데이터, 중복의 원칙적배제(minimal redundancy) 즉, 데이터의 중복을 최소화함 으로써 중복 저장으로 인한 데이터 불일치 현상을없앰.
    • 저장된데이터(stored data) : 디스크, 테이프같은컴퓨터를중심으로저장, 보조기억장치에저장
    • 운영데이터(operational data) : 조직 운영에 필요한 데이터가 구조적으로 통합되어 있음. 즉 업무를 위한 검색을 목적으로저장됨.
    • 공용데이터(shared data) : 다수 사용자와 응용 프로그램이 공유
  • 데이터베이스의 특징
    • 실시간접근성(real time accessibility): 사용자나 응용 프로그램의 요구를 즉시 처리, 응답
    • 계속적인변화(continuous change): 데이터베이스에 저장된 내용은 어느한 순간의 상태를 나타내지만, 데이터값은 삭제, 갱신등으로 값이 지속적으로 변화
    • 동시공유(concurrent sharing): 서로 다른 업무 또는 다수의 사용자나 응용프로그램 이동시에 접근
    • 내용에의한참조(reference by content): 데이터의 물리적위치를 몰라도 원하는 데이터를 검색하여 제공

Database System :
데이터 베이스 시스템은 각 조직에서 사용하던 데이터를 모아서 통합하고 서로 공유하여 생기는 장점을 이용하는 시스템이다.
  • 다음과같이구성되어진다.
    • 데이터베이스관리시스템(Database Management System, DBMS) : 사용자와 데이터 베이스를 연결 시켜주는 소프트웨어
    • 데이터베이스(Database) : 물리적으로 컴퓨터 내부의 하드디스크에 저장
    • 데이터모델(Data Model) : 데이터가 저장되는 기법(설계 구조)

파일 시스템 vs 데이터 베이스 
  • 파일 처리 시스템(File Processing System)
    • 파일 처리 시스템은 데이터를 파일 단위로 저장하고, 데이터에 관한 조작을 모두 응용프로그램에서 처리한다.
      따라서 데이터 베이스를 구성하는 요소가 모두 응용프로그램에 종속 되어 있다.
    • 각 응용프로그램이 독립적으로 파일을 다루기 때문에 데이터가 중복 저장될 가능성 있음.
    • 동시에 파일을 다루기 때문에 데이터의 일관성이 훼손될수있음

파일 처리 시스템 과정

  • 데이터베이스처리시스템(Database Processing System)
    • 데이터 베이스 처리 시스템은Database Management System(DBMS)이 데이터의 관리 작업을 독립적으로 담당하여주기 때문에 데이터의 응용프로그램에 대한 종속성과 응용프로그램 자체의 부하를 줄 일수 있다.
    • 데이터의 일관성 유지, 복구, 동시 접근 제어등의 기능을 수행
    • 데이터의 중복을 줄이고 데이터를 표준화 하며 무결성을 유지함

데이터 베이스 처리 시스템
차이 이미지(1)
차이 이미지(2)
차이 표

 


관계형 데이터 베이스 
  • 장점
    • 데이터 모델 구조가 탄력적 이어서 필요할 때 테이블 사이의 연결을 통해 데이터를 생성 및 처리 할 수 있다.
    • 데이터 정의 언어와 데이터 조작언어가 간단하여 비 전산 요원도 쉽게 사용 할 수 있다.
    • 데이터들 간의 복잡한 관계를 개념적으로 분명하고 간단하게 표현하며, 강력한 데이터 조작 능력을 제공한다.
    • 데이터의 첨가, 삭제, 수정이쉽고, 미래의 정보 요구에 신축성 있게 대응 할 수 있다.
  • 단점
    • 기억 용량이 많이 필요하다.
    • 정보 추출에 시간이 많이 소요된다.
    • 각표마다 인덱스가 수반 되므로 번거로울 수 있다.

관계형 데이터 모델
  • 행(Row) 과열(Column)로 구성된 2차원 테이블에 데이터를 저장
  • 테이블은 데이터베이스에서 표현하는 하나의 엔티티에 관한 정보를 저장
  • DB2, Oracle, MySQL, MS SQL Server, Access 등

관계형 데이터 모델


DBMS(데이터 베이스 관리 시스템)

 

DBMS(데이터 베이스 관리 시스템)의 기능
  • 1.정의 기능(Definition)
    • 데이터의 형태, 구조, 데이터 베이스의 저장에 관한 내용을 정의하며, 다양한 응용프로그램과 데이터베이스가 서로인터페이스 할 수 있는 방법 제공.
    • 구현된 하나의 물리적구조의 데이터베이스로 여러 사용자가 다양한 형태의 데이터를 요구해도 이를 지원할 수 있도록가장 적절한 데이터베이스 구조를 정의 할 수 있는기능.

    • 특징
      • 모든 응용 프로그램이 요구하는 데이터 구조를 지원할 수 있게 끔 데이터베이스의 논리적 구조와 그특성을 목표 DBMS가 지원하는 데이터 모델에 맞게 기술.
      • 데이터베이스를 물리적 저장 장치에 저장하는데 필요한 명세 포함.
      • 데이터의 논리적 구조와 물리적 구조 사이에 변환이 가능하도록 명세.
  • 2.조작기능(Manipulation)
    • 사용자의요구에따라검색, 갱신, 삽입, 삭제등을지원하는기능

    • 사용자와 데이터베이스 사이의 인터페이스를 위한 수단 제공.

    • 특징
      • 사용하기 쉽고 자연스러워야 한다.
      • 명확하고 완전 해야 한다.
      • 효율적 이어야 한다.
  • 3.제어기능(Control)
    • 데이터베이스의 내용에 대해 정확성과 안전성을 유지 하는 기능(무결성 유지, 보안, 병행 수행 제어)

    • 특징
      • 데이터베이스를 접근 하는 갱신, 삽입, 삭제 작업의 정확하게 수행되게 하여 데이터의 무결성이 파괴되지 않도록 제어할 수 있어야 한다.
      • 정당한 사용자가 허가된 데이터가 접근 할 수 있게 끔 보안을 유지하고 권한을 검사할 수 있어야 한다.
      • 여러 사용자가 데이터 베이스를 동시에 접근하여 데이터를 처리할때 데이터베이스와 처리 결과가 항상정확성을 유지하도록 병행 제어를 할 수 있어야한다.
DBMS 장점
  • 데이터의 중복과 불일치 감소: 데이터를 통합 관리함으로 데이터 중복 제어 가능
  • 데이터의 일관성 유지: 데이터가 중복을 제거하고 데이터의 공유함으로써 데이터간의 불일치가 발생하지 않도록 하여데이터의 일관성 유지.
  • 데이터 무결성 향상: 데이터베이스에 저장된 데이터 값과 실제값이 일치 하도록 함으로써 무결성 유지
  • 보안이 향상됨: 데이터베이스를 중앙 집중식으로 관리하기 하기 때문에 데이터베이스의 관리 및 접근을 효율적으로 관리함으로 모든 데이터에 대해 보안 제공

데이터 언어
  • 데이터정의어(DDL: Data Definition Language)
    • DB 구조를정의하거나그정의를수정할목적으로사용하는언어
    • 데이터사전, 시스템카탈로그에저장하여놓고필요한경우에시스템에활용
  • 데이터조작어(DML: Data Manipulation Language)
    • DB의정보에접근(access)하기위한목적으로사용하는언어
    • 절차적DML (한번에하나의레코드)와비절차적DML (set 단위의레코드)
    • SQL (Structured Query Language): Most common DML
  • 데이터제어어(DCL: Data Control Language)
    • 보안, 무결성, 회복, 병행제어

관계형 데이터 베이스
  • 릴레이션(테이블)으로구성된데이터항목들의집합
    • 릴레이션은행(row)과열(column)로구성된2차원테이블
  • 스키마의요소
    • 속성(attribute), 도메인(domain), 차수(degree)
  • 인스턴스요소
    • 투플(tuple), 카디날리티(cardinality)

  • 스키마: 각항목을정의하여만든테이블의틀
    • 예) 학생= (이름, 학번, 학과, 출생년도)
  • 전체데이터 베이스에서 각각의 table을 정의하면 하나의 데이터베이스에 대한 틀이 만들어 지는데 이것을 데이터 베이스 스키마라고함
  • 튜플(tuple) : 릴레이션의각행(row)은튜플(tuple) 또는레코드(record)라고한다.

  • 속성(attribute): 릴레이션의 각열(column)을 속성이라고한다. 열에부여된이름
    • 예) 학번, 이름, 학과명, 성별, 성적
  • 도메인(domain): 속성 하나가 가질수 있는 값의 집합
    • 예) 성별속성의도메인은‘남’ 또는‘여’, 속성의데이터타입
  • 차수(degree) : 튜플을구성하는속성의개수.

  • 카디널리티(cardinality) : 튜플의개수

  • 널(null) : 속성값이 정해지지 않았거나 없는 경우의 값
  • 키(key): 릴레이션에서 튜플을 유일하게 식별할 수 있는 하나 이상의 속성 모임.
    • 후보키(candidate key): 각 튜플을 구분 할 수 있는 최소한의 속성만으로 구성된 키. (학번), (성명, 학과명)
    • 기본키(primary key):
    • 후보키가 두 개 이상일때 대표로 삼을키.
      • NULL값을 허용하지 않음. 최대한 적은수의 속성을 소유.
    • 대체키(alternate key): 기본키가 아닌 후보키
    • 대리키(surrogate key) 또는 인조키(artificial key): 기본키가 보안을 요하거나, 여러개의 속성으로 구성 되어 복잡나, 마땅한 기본키가 없을때는 일련 번호 같은 가상의 속성을 만들어 기본키로 삼는 경우.
    • 외래키(foreign key): 다른 릴레이션의 기본키를 참조하며 릴레이션간 관계(relationship)를 나타내는 키
      • 참조하고 참조되는 양쪽 릴레이션의 도메인은 서로 같아야함.
      • NULL 값과 중복값 등이 허용됨.
      • 자기 자신의 기본키를 참조하는 외래키도 가능함


무결성 제약 조건 (도메인, 개체무결성, 참조무결성) :
권한을 가진 사용자들로 부터 DB에 저장된 데이터의 정확성과 일관성을 지키는것 이며
DB상태가 만족해야 하는 조건으로 DB갱신시 마다 DBMS가 자동 검사 한다.
  • 도메인 무결성 제약 조건
    • 각 속성의 값은 반드시 도메인에 지정된 값만을 가져야함
    • 속성의 기본값, 데이터형식, 널값의허용여부, 체크등을 지정
  • 개체 무결성 제약 조건
    • 기본키를 구성하는 어떤 속성도 널값을 가질수 없으며, 오직 하나의 값만 존재 해야 한다는 조건
  • 참조 무결성 제약조건
    • 자식 릴레이션의 외래키의 값은 참조된 부모릴레이션의 기본키 값과 같아야 하며 자식 릴레이션의 값이 변경 될때 부모 릴레리션의 제약을 받는다.

데이터 모델링
  • 모델은 현실세계의 구조에 대한 인식을 표현 한다.
  • 데이터 모델링 과정은이 인식에 대한 오류를 수정하는 과정
  • 데이터 모델링 과정에서 관점을 선정하고, 추상화 하는 일을 함.

모델링

 

모델링 단계

 

'DB' 카테고리의 다른 글

다대다(M:N)  (0) 2023.12.18
데이터 모델링  (0) 2023.07.25
SQL  (0) 2023.07.24