Kim VamPa

데이터베이스 정리 본문

공부/데이터베이스

데이터베이스 정리

Kim VamPa 2020. 3. 25. 09:20
728x90
반응형

"SQL 전문가 가이드"책을 개인 공부 후 자료를 남기기 위한 목적이기에 내용 상에 오류가 있을 수 있습니다.


목표

  • '데이터베이스'란 무엇인지 설명할 수 잇다.
  • '관계형 데이터베이스'에 대해 설명할 수 있다.
  • 관계형 데이터베이스 단위인 테이블 에 대해 이해하고 관련 용어들을 공부한다.

목차

1. 데이터 vs 정보

2. 데이터베이스

3. 관계형 데이터베이스(Relational Database)

4. SQL

1. 데이터 vs 정보

  • 데이터
    - 단순한 관찰이나 측정 등의 수단을 통해 현실 세계로부터 수집된 사실이나 값
    - 유용하진 않음
  • 정보
    - 데이터 중에서도 조직화되고 체계화된 데이터로서 의사 결정권자에게 의미를 제공 하는 것

 

2. 데이터베이스(Database)

여러 사람이 공유하여 사용할 목적으로 체계화해 통합, 관리하는 데이터의 집합
  • 쉽게 말해, 특정 기업이나 조직 또는 개인이 필요에 의해 데이터를 일정한 형태로 저장해 놓은 것입니다.
  • 여기서 말하는 '데이터'는 [1. 데이터vs정보]에서의 정보를 의미한다.
  • 논리적으로 연관된 하나 이상 자료의 모음으로 그 내용을 고도로 구조화 함으로써 검색과 갱신의 효율화를 꾀합니다.
  • 데이터베이스 모델
    - 데이터베이스가 어떻게 구조화되어 쓰이는지를 알려주는 이론이나 상세한 설명을 말합니다.
    - 종류로 다음과 같습니다
       '계층형 모델(Hierarchical model)'
       '네트워크형 모델(Network model)'
       '관계형 모델(Relational model)'
       '객체-관계형 모델(Object-relational model)'
       '객체형 모델(Object model)'

 

 

3. 관계형 데이터베이스(Relational Database)

키(Key)와 값(value)들의 간단한 관계를 테이블화 시킨 매우 간단한 원칙의
전산정보 데이터베이스
  •  1970년 에드거 F.커드 가 제안한 '데이터 관계형 모델'을 기초로 하는 디지털 데이터베이스입니다.
  • 쉽게 말해 데이터를 테이블(표)형태로 저장시킨 데이터베이스입니다.
  • 현시점 기업에서 대부분의 중요 데이터를 '관계형 데이터베이스'를 통해 관리하고 있습니다.
  • 관계형 데이터베이스를 유일하게 조작 할 수 잇는 언어는 'SQL 언어'입니다.

그림 3-1

테이블(tabale)

  • 특정한 주제와 목적으로 만들어지는 일종의 집합입니다.
  • 데이터를 저장하는 객체(Object)로서 관계형 데이터베이스의 기본 단위 입니다.
  • '관계형 데이터베이스'에서 데이터는 테이블 형태(키&값)로 저장됩니다.
  • 테이블이 만들어 진 후 데이터가 없더라도 속성은 그대로 유지됩니다.
  • 데이터를 저장할 때 모든 데이터를 하나의 테이블로 저장하지 않고 분할하여 저장할 수도 있다. 분할 한 데이터가 관계가 있는 경우 분할된 테이블은 그 칼럼의 값에 의해 연결됩니다.

 

테이블 용어 정리

  • 테이블(table)
    : 행과 칼럼의 2차원 구조를 가진 데이터의 저장 장소이며, 데이터베이스의 가장 기본적인 개념입니다.
  • 칼럼/열(Column)
    : 2차원 구조를 가진 테이블에서 세로 방향으로 이루어진 하나하나의 특정 속성입니다.(더이상 나눌 수 없는 특성)
  • 행(Row)
    : 2차원 구조를 가진 테이블에서 가로 방향으로 이루어진 연결된 데이터 
  • 필드(Field)
    : 칼럼과 행이 겹치는 하나의 공간

그림 3-1

테이블 관련 용어정리

  • 정규화(Normalization)
    : 테이블을 분할하여 데이터의 정합성을 확보하고, 불필요한 중복을 줄이는 프로세스
  • 기본키(Primary Key)
    : 테이블에 존재하는 각 행을 한 가지 의미로 특정할 수 있는 한 개 이상의 칼럼
  • 외부키(Foreign Key)
    : 다른 테이블의 기본키로 사용되고 있는 관계를 연결하는 칼럼

그림 3-3

 

4. SQL(Structured Query Language)

  • 관계형 데이터베이스에서 데이터 정의, 데이터 조작, 데이터 제어를 하기 위해 사용하는 언어이다.
  • SQL이 시스템에 미치는 영향이 크므로 고급 SQL이나 SQL튜닝의 중요성은 계속 커지고 있다.
  • SQL교육 목적, SQL 튜닝의목적
    - SQL교육은 정확한 데이터 출력을 목표로합니다.
    - SQL튜닝은 시스템에 큰 영향을 주는 SQL을 가장 효과적(응답시간, 자원 활용 최소화)으로 작성하는것이 목표입니다.
  • SQL 문장은 단순 스크립트가 아니라 이름에도 포함되어 있듯이, 일반적인 개발 언어처럼 독립된 하나의 개발 언어이다.
  • SQL 문장들의 종류는 다음과 같다
    - 데이터 조작어(DML : Data Manipulation Language)
           : SELECT, INSERT, UPDATE, DELETE
    - 데이터 정의어(DDL : Data Definition Language)
           : CREATE, ALTER, DROP, RENAME
    - 데이터 제어어(DCL : Data Control Language)
           : GRANT, REVOKE

    - 트랜잭션 제어어(TCL : Transaction Control Language)
          : COMMIT, ROLLBACK

 

 

 

Reference

 

 

 

Date

  • 2020.03.25 작성

 

 

 

 

728x90
반응형
Comments