DataBase Basic


- 데이터베이스 테이블 & 릴레이션

 

  ○ 테이블

      - 테이블의 구조는 행(Row)과 열(Column)로 이루어진 2차원의 구조이다.

   ○ 릴레이션

     - 릴레이션은 수학에서의 집합이론에서 파생된 개념이다. 이 릴레이션의 개념에서 관계형 데이터베이스의

       테이블과 매핑(Mapping) 시킨다면, 관계형 데이터베이스를 이해하는 기초가 된다.

     - 릴레이션(Relation)은 단어 그자체로 관계라는 뜻으로써, 데이터과의 연관성을 나타낸다.

 

   ○ 테이블 & 릴레이션

      - 테이블과 릴레이션의 차이

       1. 모든 테이블은 릴레이션은 아니다.

       2. 모든 릴레이션은 모든 테이블이다.

    

     - 1.과 2.의 표현이 말장난 같지만, [E. F. Codd - A Relational Model of Data for Large Shared Data Banks]의

        논문에 따르면 릴레이션은 아래와 같은 조건을 만족해야 한다.

[A] Paper - 1.3 A Relational View of Data
1. Each row represents an n-tuple of R.
2. The ordering of rows is immaterial.
3. All rows are distinct.
4. The ordering of columns is significant—it corresponds to the ordering S1, S2,...,Sn of the domains on which R is defined (see, however, remarks below on domainordered and domain-unordered relations).
5. The significance of each column is partially conveyed by labeling it with the name of the corresponding domain.

 

[B] Paper - 1.3 A Relational View of Data - 풀이
- 행(Row)은 개체에 대한 데이터를 포함한다.
- 열(Column)은 개체의 속성에 대한 데이터를 포함한다.
- 한 열(Column)의 모든 항목은 동일한 종류이다.
- 각 열(Column)은 유일한 이름을 가진다.
- 테이블의 셀은 단일 값을 포함한다.
- 열(Column)의 순서는 중요하지 않다.
- 행(Row)의 순서는 중요하지 않다.
- 어떤 두개의 행(Row)도 동일하지 않다.

     - 위, [A]의 조건을 만족해야지만, 릴레이션이 성립되는 것이다.

     - 릴레이션의 조건이 성립될때, 데이터베이스가 정의되고 그에 따른 장점이 구현되는 것 이다.

     - 데이터베이스의 정의 : 공유데이터, 통합데이터, 저장데이터, 운영데이터

     - 데이터베이스의 장점 : 데이터의 중복 통제, 데이터 독립성 확보, 데이터 보안, 데이터 무결성, 데이터 표준화, 장애

       발생시 회복가능, 다수의 응용 소프트웨어에 대한 개발비용 감소

 

    - 결론적으로, 테이블이 조금더 큰 개념이고, 릴레이션은 데이터베이스에서 사용되기 위한 조건이다.

 

    - 릴레이션 조건 위반사항

 

    - "릴레이션의 특징중, 어떤 두개의 행( Row)도 동일하지 않다"를 위반하였기 때문에 테이블은 될수있지만,

      릴레이션은 될수 없다.

 

    - "테이블의 셀은 단일 값을 포함한다"를 위반하였기 때문에 테이블은 될수있지만,

      릴레이션은 될수 없다.


   - 데이터베이스를 조작하는 언어 SQL

     SQL(Structured Query Language)데이터베이스를 조작하여 입력, 수정, 삭제, 생성등의 기능을 할수 있는 언어

     SQL(Structured Query Language)는 구조적인 질의 언어로써, 영어 문법과 비슷한 구조를 보임

명령어의 종류 명령어 설명

데이터 조작어

DML

DATA 

MANIPULATION

LANGUAGE

 

SELECT 데이터베이스에 들어 있는 데이터를 조회하거나 검색한기 위한 명령어를 말하는 것, RETRIEVE 라고도 한다.
INSERT

데이터베이스의 테이블에 들어 있는 데이터에 변형을 가하는 종류의 명령어들을 말한다. 예를 들어, 데이터를 테이블에 새로운 행을 집어넣거나, 원하지 않는 데이터를 삭제하거나 수정하는 것들의 명령어들을 DML이라고 부른다.

UPDATE
DELETE

데이터 정의어

DDL

DATA

DEFINITION

LANGUAGE

 

CREATE 테이블과 같은 데이터 구조를 저으이하는데 사용되는 명령어들로 그러한 구조를 생성하거나 변경하거나 삭제하거나 이름을 바꾸는 데이터 구조와 관련된 명령어들을 DDL이라고 부른다.
ALTER
DROP
RENAME

데이터 제어어

DCL

DATA

CONTROL

LANGUAGE

 

GRANT 데이터베이스에 접근하고 객체들을 사용하도록 권한을 주고 회수하는 명령어를 DCL이라고 부른다.
REVOKE

트랜잭션제어어

TCL

TRANSACTION

CONTROL

LANGUAGE

 

COMMIT 논리적인 작업의 단위를 묶어서 DML에 의해 조작된 결과를 작업단위(트랜잭션) 별로 제어하는 명령어를 말한다.
ROLLBACK

핵심요약 

테이블 & 릴레이션

- 테이블은 행과 열로 구성되어 있는 2차원 구조

- 릴레이션 릴레이션은 "[B] Paper - 1.3 A Relational View of Data - 풀이"를 만족하는 테이블

- SQL 데이터베이스를 조작하는 언어


- 참고 사이트

http://www.dbguide.net/db.db?cmd=view&boardUid=148189&boardConfigUid=9&categoryUid=216&boardIdx=134&boardStep=1

 

데이터 전문가 지식포털 DBGuide.net

관계형 데이터베이스 개요 DDL DML TCL WHERE 절 함수(FUNCTION) GROUP BY, HAVING 절 ORDER BY 절 조인(JOIN) 1. 데이터베이스 흔히 현대사회를 가리켜 정보화 사회라고 한다. 그만큼 일상생활 속에서 수 없이 쏟아져 나오는 다양한 정보들이 우리의 생활과 밀접한 관계를 맺고 있는 것이다. 따라서 이런 다양한 정보들을 수집, 처리하고, 분석, 응용하는 것은 이제 사회 어느 곳에서나 꼭 필요한 요소가 되었다. 넓은 의미

www.dbguide.net

http://www.gurubee.net/lecture/2367

 

관계형 데이터베이스 개요

1. 데이터베이스데이터베이스는 일상적인 정보들을 모아 놓은 것 자체를 의미한다.효율적인 데이터의 관리 뿐만 아니라 예기치 못한 사건으로 인한 데..

www.gurubee.net

https://5dol.tistory.com/17

DataBase Basic


- 관계형 데이터베이스의 시작

E.F.Codd 

 1970년 E.F.Codd 박사의 논문에 처음으로 관계형 데이터베이스가 소개된후,

IBM의 SQL 개발단계를 거쳐, Oracle을 선발로 여러 회사에서 상용화된 제품 출시.

Paper : Codd_1970_A_relational_model(A Relational Model of Data for Large Shared Data Banks)

Paper : A Relational Model of Data for Large Shared Data Banks

 

https://web.archive.org/web/20070628235443/http://www.acm.org/classics/nov95/

This is the first installment. Section 2 will be available next week. Reprinted from Communications of the ACM, Vol. 13, No. 6, June 1970, pp. 377-387. Copyright © 1970, Association for Computing Machinery, Inc. This is a digitized copy derived from an ACM

web.archive.org


- 관계형 데이터베이스 vs 파일시스템

 

관계형 데이터베이스 VS 파일시스템

  ○ 관계형 데이터베이스

     - 관계형 데이터베이스는 키(key)와 값(Value)을 바탕으로 2차원 테이블에 관계를 정의한 전산정보 데이터시스템.

     - 관계형 데이터베이스의 특징으로는 테이블의 정규화를 바탕으로한 합리적인 테이블 모델링을 통해 이상현상   

       (Anomaly, 삽입, 삭제, 갱신)을 제거하고 데이터의 중복을 피할 수 있으며, 동시성 관리, 병행 제어를 통해

       다수의 사용자들이 동시에 데이터를 공유 및 조작 할 수 있는 기능을 제공.

     - 관계형 데이터베이스는 메타 데이터를 총괄 관리 할수있기 때문에 데이터의 성격, 속성 또는 표현방법을 체계화

       할 수 있으며, 데이터 표준화를 통해 품질을 확보 할 수 있음.

 

    - 관계형 데이터베이스의 장점

       1. 데이터 중복을 통제할수 있음

       2. 데이터 독립성이 확보

       3. 데이터를 동시 공유 할수 있음

       4. 데이터 보안이 향상

       5. 데이터 무결성 유지 가능

       6. 데이터 표준화 가능

       7. 장애 발생시 회복이 가능

       8. 다수의 응용 소프트웨어에 대한 개발비용 감소

 

     - 관계형 데이터베이스의 단점

       1. 데이터베이스 시스템 구축 비용

       2. 백업과 회복 방법의 복잡

       3. 중앙 집중 관리로 인한 취약점 존재 


  ○ 파일시스템

    - 파일시스템의 경우 전산정보 시스템에서 파일이나 자료를 접근할수 있도록 체계화 시킨 구조 및 조직 체계.

    - 파일시스템의 경우 단일 사용자 단일 응용 소프트웨어에서 빠른 속도를 보장하며, 구현 방식이 하나의

      운영체제에 종속적이다. 그렇기에 운영체제에 대한 속성을 바탕으로 구현하면 되기 때문에

      데이터베이스와 같은 서버시스템보다 구현하기 용이.

    - 하지만, 하나의 파일에 다수의 사용자가 동시 검색이 가능하지만, 동시에 입력, 수정, 삭제는

      할수 없으므로 정보관리가 어려움

    - 여러 개의 데이터 파일이 존재하는 경우에 동일한 데이터가 여러 곳에 저장되는 문제 발생

    - 하나의 원본 데이터의 변경이 발생하였을 때, 복사본 파일에 대한 변경 작업이 동시에 병행 처리되지 않으면

      데이터의 불일치성 발생

    - 파일시스템은 분산된 데이터 간의 정합성을 유지하는데 과도한 노력이 필요하며 정합성을 보장하기 힘듦

 

    - 파일시스템의 장점

      1. 단일 사용자, 단일 응용 소프트웨어에 빠른 속도를 보장

      2. 구축 비용이 적음 (운영체제에 종속적이기 때문)

 

   - 파일시스템의 단점

      1. 동일한 내용의 데이터가 여러 파일에 중복 저장됨

      2. 응용 소프트웨어에 데이터 파일이 종속적

      3. 데이터 파일에 대한 동시 공유, 보안, 회복, 기능 부족

      4. 응용 소프트웨어 개발의 어려움

 

  ○ 관계형 데이터베이스 vs 파일시스템

   

파일시스템 / 관계형 데이터베이스 시스템

  - 요약

  - 파일시스템의 경우 데이터 관리의 어려움이 존재 

  - 운영체제, 응용 소프트웨어에 종속적

  - 데이터의 중복발생 및 동시 공유, 보안, 회복, 기능의 부족


  - 파일시스템의 문제를 극복하고자 하는것이 관계형 데이터베이스

  - 관계형 데이터베이스의 경우 DBMS라는 데이터베이스 관리 시스템에 의해 관리

  - 관계형 데티어베이스는 데이터의 중복을 통제

  - 데이터의 독립성 확보, 동시 공유, 보안성 향상, 무결성 유지, 표준화 가능

  - 장애 발생시 회복 및 복구 가능


- DBMS(DataBase Management System)

DB Vender Company / DBMS 개요

○ DBMS 개요

  - DBMS란, 다수의 사용자들이 데이터베이스에 접근 가능하도록 지원해주는 소프트웨어를 지칭하며, Vender사

    별로 상이 하지만, 핵심기능은 동일함.

  - ANSI SQL의 표준에 따라 DDL, DML, DCL, TCL의 기능을 수행.

  - 데이터베이스 사용자, 관리자, 개발자에 따른 각기 다른 기능을 지원

 

○ DBMS 발전

  - 1세대 : 네트워크 DBMS / 계층 DBMS

  - 2세대 : 관계 DBMS

  - 3세대 : 객체지향 / 객체관계 DBMS

 


핵심요약 

 

○ 관계형 데이터베이스

- Key와 Value를 갖는 2차원의 테이블을 관리하는 전산정보 데이터시스템

- 관계형 데이터베이스 주요 장점

       1. 데이터 중복을 통제할수 있음

       2. 데이터 독립성이 확보

       3. 데이터를 동시 공유 할수 있음

       4. 데이터 보안이 향상

       5. 데이터 무결성 유지 가능

       6. 데이터 표준화 가능

       7. 장애 발생시 회복이 가능

       8. 다수의 응용 소프트웨어에 대한 개발비용 감소

 

○ DBMS

  - DataBase Mangerment System으로써 데이터베이스와 사용자, 개발자, 관리자를 연결시켜주는 소프트웨어

  - 데이터베이스 데이터에 대한 DDL(정의)/DML(조작)/DCL(제어)/TCL(트랜잭션 제어) 의 기능을 수행


 

- 추가

Paper : Codd_1970_A_relational_model(A Relational Model of Data for Large Shared Data Banks)

Codd_1970_A_relational_model(. A Relational Model of Data for Large Shared Data Banks).pdf
0.23MB

DataBase Basic


용어

  1963년 '컴퓨터 중심의 데이터베이스 개발과 관리(Development and Management of a Computer-centered DataBase)' 심포지엄에서 공식적으로 소개.


데이터베이스??

  ○ 데이터의 효율적 관리

      - Data : 현실세계에서 단순히 관찰하거나 측정하여 수집한 사실이나 값 = 자료

      - Infomation : 데이터를 의사 결정에 유용하게 활용할수 있도록 처리하여 체계적으로 조직한 결과물

  ○ 정보 시스템의 핵심요소

      - 정보 시스템  : 의사결정에 도움을 주는 시스템

      - 데이터베이스 : 의사결정에 필요한 데이터를 저장하는 저장소

      - MIS(Management Information System) : 경영 정보 시스템

      - DSS(Decision Support System) : 의사 결정 지원 시스템

 

정보 시스템 개념도


데이터베이스 정의

  공유데이터 : 데이터베이스는 특정 조직의 여러 사용자가 분산된 파일의 통합 관리를 통해

                       함께 소유하고 이용할수 있는 공유데이터.

  통합데이터 : 데이터베이스는 똑같은 데이터가 여러 개 존재하는

                       데이터 중복성(data redundancy)을 허용하지 않는 통합데이터.

  저장데이터 : 데이터베이스는 컴퓨터가 접근할수 있는 매체에 저장되어야 한다.

                       컴퓨터에 저장되는 저장데이터.

  운영데이터 : 데이터베이스는 조직을 운영하고 조직의 주요 기능을 수행하기 위해 꼭 필요하며,

                       장기간 저장, 관리, 운영해야 되는 운영데이터.

                       추척된 데이터를 바탕으로 의사결정하는 의사결정 데이터. 


 데이터베이스의 특성

   ○ 데이터베이스는 실시간 접근(real-time accessibility)이 가능

   ○ 데이터베이스는 계속 변화(continuous evolution)

   ○ 데이터베이스는 동시 공유(concurrent sharing)이 가능

   ○ 데이터베이스는 내용으로 참조(contents reference)가 가능


핵심요약

   ○ 데이터베이스 정의

       - 공유데이터 / 통합데이터 / 저장데이터 / 운영데이터

   ○ 데이터베이스 특성

       - 실시간접근 / 계속 변화 / 동시 공유 / 내용으로 참조

+ Recent posts