ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 데이터베이스란?
    학교 수업/데이터베이스 2020. 4. 21. 17:11

    데이터베이스(Database, DB)


    - 개념: 여러 사람이 공유하여 사용할 목적으로 체계화해 통합, 관리하는 데이터의 집합

        통합, 저장, 공용 데이터

    - 특징

    ① 실시간 접근성 : 질의 또는 조회에 대해 즉각적 응답

    ② 계속적 변화 : 새로운 데이터의 삽입, 삭제, 갱신으로 항상 최신의 데이터를 유지하면서 변화

    ③ 동시 공유 : 여러 사용자가 동시에 같은 데이터에 접근 가능

    ④ 내용 참조 : 데이터를 참조할 때 주소나 위치가 아닌 내용으로 접근


    - 장점

    ① 데이터 중복 최소화

    ② 데이터 공유

    ③ 최신의 데이터 유지

    ④ 용이한 데이터 접근

    ⑤ 데이터의 표준화 가능

    ⑥ 데이터의 논리적, 물리적 독립성

    ⑦ 데이터 저장 공간 절약

    ⑧ 일관성, 무결성(데이터의 정확성과 일관성 유지 보증하는 것을 뜻함), 보안성 유지


    - 단점

    ① 데이터베이스 전문가 필요

    ② 많은 비용 부담

    ③ 데이터 백업과 복구가 어려움

    ④ 시스템의 복잡함

    ⑤ 대용량 디스트로 엑세스가 집중되면 과부하 발생


    - 구성요소

    ① 속성(attribute) : 데이터베이스의 가장 작은 논리적 단위

     개체의 구성 원소로서 그 개체의 특성이나 상태를 나타냄

    ② 개체(entity) : 데이터베이스가 표현하려고 하는 유형, 무형의 정보 객체

        서로 연관된 몇 개의 속성들로 구성

    ③ 관계(relationship) : 개체 간의 어떤 의미를 표현함

    관계 유형

    ⒜ 일대일(1:1)

    ⒝ 일대다(1:N)

    ⒞ 다대다(N:N)



    데이터베이스 관리 시스템(DataBase Management System, DBMS)


    - 개념: 모든 응용프로그램들이 데이터베이스를 공용으로 사용할 수 있게끔 관리해 주는 시스템 소프트웨어


    - 종류 : Oracle, MySQL 등


    - 기능

    ① 정의기능 : 데이터베이스에 저장될 데이터형과 구조의 정의, 이용방법, 제약조건을 명세

     응용프로그램과 데이터베이스 간의 상호작용 수단 

    ② 조작기능 : 데이터베이스에 접근하여 데이터 검색, 삽입, 삭제, 갱신 등을 수행

     사용자와 데이터베이스 간의 상호작용 수단

    ③ 제어기능 : 보안 유지, 권한 검사, 여러 사용자가 같은 데이터를 동시에 처리할 때 병행 제어



    데이터베이스 언어(Database Language)


    1. 데이터 정의어 (Data Definition Language, DDL)

    - 데이터베이스 구조, 데이터 형식, 접근방식 등 데이터베이스를 생성하거나 수정할 목적으로 이용하는 언어

    - SQL ex)  CREATE(생성), ALTER(변경), DROP(삭제)


    2. 데이터 조작어(Data Manipulation Langauge, DML)

    - 사용자와 DBMS 간의 인터페이스를 제공하는 언어, 사용자가 원하는 데이터를 처리하는데 이용하는 언어

    - SQL ex) Select(튜플 검색),Insert(튜플 삽입),Update(튜플 갱신),Delete(튜플 삭제)

      

                 DROP != Delete


    3. 데이터 제어어(Data Control Language, DCL)

    - 불법 사용자로부터 데이터를 보호하기 위해 이용하는 언어

    - SQL ex) COMMIT(수행된 결과를 실제 물리적 디스트로 저장), ROLLBACK(비정상적으로 종료되었을때 복구),

      GRANT(권한 부여), REVOKE(권한 취소)



     * SQL (Structured Query Language)



    데이터 베이스 설계 순서


    사용자의 요구 분석 → 개념적 설계 → 논리적 설계 → 물리적 설계 → 데이터베이스 구현


    개념적 설계 : 개체와 개체들 간의 관계에서 ER다이어그램*(아래에서 설명)을 만드는 과정

    논리적 설계 : ER다이어그램을 사용하여 논리적 모델 만드는 과정

    물리적 설계 : 논리적 모델을 실제 컴퓨터의 저장 장치에 저장하기 위해 물리적 구조를 정의하고 구현하는 과정



    데이터 모델


    - 개념: 현실세계의 데이터 구조를 컴퓨터 세계의 데이터 구조로 논리적으로 표현한 것


    - 종류

    개념적 모델 : 인간이 이해하기 쉽게 개념적으로 표현하는 방법

         속성들로 기술된 개체 타입과 개체 타입들 간의 관계를 이용하여 현실 세계를 표현


    E-R 모델 : 개체 타입과 관계 타입을 이용해 현실 세계를 개념적으로 표현한 모델

     개체, 속성, 관계로 묘사

     E-R 다이어그램으로 표현

     

    E-R 다이어그램 : E-R모델을 시각적으로 표현하기 위해 사용되는 도형, 여러 기호로 구성




     예를 들어서 E-R모델을 만들어보자


    교수와 과목은 1:1 일대일 관계이다.




    교수와 학생은 1:N 일대다 관계이다.




    논리적 모델 : 개념적 구조를 컴퓨터가 이해하고 처리할 수 있게 표현하는 방법


    관계 데이터 모델 : 행과 열의 테이블 형태

      상용 DBMS : ORACLE, SQL/DS


    계층 데이터 모델 : 트리 형태

      상용 DBMS : IMS, SYSTEM2000


    네트워크 데이터 모델 : 그래프 형태

      상용 DBMS : DBTG, IDMS, TOTAL



    데이터 모델 중에서 가장 널리 쓰이는 관계 데이터 모델은 다음 포스팅에서 자세히 다루도록 하겠다.

     



    '학교 수업 > 데이터베이스' 카테고리의 다른 글

    sql문 연습사이트  (0) 2020.06.26
    이상현상 & 정규화?  (0) 2020.04.26
    뷰?  (0) 2020.04.24
    트랜잭션?  (0) 2020.04.24
    관계 데이터베이스?  (0) 2020.04.21

    댓글

Designed by Tistory.