ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 데이터베이스
    프로그래밍/DB 2022. 7. 26. 11:56
    728x90

    데이터베이스의 정의

    • 데이터베이스는 정보시스템의 핵심요소
    • 상호 관련된 데이터의 성격에 맞게 설계하고 관리, 운영하는 대용량의 데이터 저장소

    데이터베이스의 특징

    • 데이터의 구조화
    • 데이터 중복의 최소화
    • 데이터의 무결성 및 일관성
    • 데이터 보안 -접근이 허가된 사용자 관리

    DBMS

    • 사용자의 요구에 따라 정보를 생성해 주고 데이터베이스를 관리해 주는 소프트웨어
    • 기존 파일 시스템이 갖는 데이터의 종속성과 중복성의 문제를 해결하기 위 해 제안된 시스템으로 모든 응용 프로그램들이 데이터베이스를 공용할 수 있도록 관리해 줌
    • DBMS는 데이터베이스의 구성, 접근방법, 유지관리에 대한 모든 책임을 짐

    데이터베이스의 종류와 발전

    • 1세대: 네트위크 계층 DBMS 네트워크 DBMS
      • 로드와 간선을 이용한 그래프 형태로 구성하는 네트워크 데이터 모델
      • 데이터베이스의 구도가 복잡하고 변경이 어려움
    • 2세대: 관계형 DBMS
      • 데이터베이스를 테이ㅡㄹ 형태로 구성하는 관계 데이터 모델을 사용
      • 키(key)와 값(value)의 관계를 2차원표(테이블) 형식으로 나타낸 데이터베이스로 하나의 데이터베이스 안에는 여러 개의 테이블이 존재
    • 3세대: 객체지향 DBMS
      • 객체라는 개념을 이용해 데이터베이스를 구성하는 객체지향 데이터 모델을 사용
    • 4세대: NoSQL, New SQL
      • NoSQL은 데이터 구조를 미리 정해두지 않았기 때문에 비정형 데이터를 저장하고 처리하는데 적합
      • 확장성이 뛰어나 여러 서버에 데이터를 분산,저장하고 처리할 수 있도록 설계되어 있음

     

    SQL: Structured Query Language은 관계형 데터베이스에서 사용

    데이터베이스 언어의 종류

    • DDL, DML, DCL, DQL, TCL로 구분

    SQL Command Type

    • 데이터 정의어 ( DDL: Date Definition Language)
      - 데이터베이스 객체(테이블, 뷰, 인덱스 등)의 구조를 정의, 수정, 삭제
     DDL CREATE 데이터베이스 객체 생성 1.자료형 정의
    2.구조와 테이블 복사(전체복사)
    3.구조와 일부 데이터만 복사
    4.구조만 복사(데이터X)
    ALTER 데이터베이스 객체 변경
    (테이블 구조)
    ADD 열 추가
    RENAME 열 이름변경
    MODIFY 열의 자료형 변경
    DROP 특정 열 삭제
    RENAME 테이블 이름 변경
    TRUNCATE 테이블에서 데이터 완전 삭제
    DROP 데이터베이스 객체 삭제

     

    • 데이터 조작어 ( DML: Data Manipulation Language)
      - 데이터의 입력, 수정, 삭제와 테이블을 잠시 잠그거나 병합을 할 때 사용
    DML INSERT 데이터베이스 객체에 데이터 입력
    UPDATE 데이터베이스 객체 안의 데이터 수정
    DELETE 데이터베이스 객체의 데이터 삭제
    LOCK 테이블에 대한 읽기 또는 쓰기 권한을 감그는데 사용
    MERGE 데이터베이스 테이블의 레코드 병합

     

    • 데이터 질의어 ( DQL: Data Query Language)
      - 데이터베이스의 데이터를 검색
    DQL SELECT 데이터베이스 객체 안의 데이터 검색

     

    • 데이터 제어어 ( DCL: Data Control Language)
      - 데이터베이스 사용자의 권한을 제어
    DCL GRANT 데이터베이스 객체에 권한 부여
    REVOKE 이미 부여된 데이터베이스 객체 권한 취소

     

    • 트랜잭션 제어어(TCL: Transaction Control Language)
      - 트랜잭션 제어와 관련된 기능을 수행하는 언어
    TCL CMMIT 한 트랙잭션에서 데이터 조작이 정상적으로 완료되었으면 그 결과를 데이터베이스에 반영하는 명령어
    ROLLBACK 트랜잭션 내에서 데이터를 수정하는 도중 이상이 생겼을 때, 변경하기 이전으로 돌아가는 명령어
    SAVEPOINT 트랜잭션의 특정 지점에 이름을 지정하고, 그 지점 이전에 수행한 작업에 영향을 주지 않고 그 지점 이후에 수행한 작업을 롤백(ROLLBACK)할 수 있음
    SET TRANSATION 트랜잭션 정의

     

    데이터베이스 용어

    • 스키마 (Schema) 
      • 데이터베이스에서 자료의 구조와 표현 방법, 자료들 간의 관계를 정의한 것
    • 데이터베이스
      • 상호 관련된 데이터의 성격에 맞게 설계하고 관리, 운영하는 대용량의 데이터 저장소로, 하나의 데이터베이스안에는 여러 개의 테이블이 존재
    • 테이블 
      • 튜플과 어트리뷰트 구조로 되어 있는 데이터의 집합
        • 튜플(Tuple)
          • 테이블에서 행을 의미
          • row 또는 record(레코드)라고도 함
        • 어트리뷰트(Attribute)
          • 테이블에서 열을 의미
          • 컬럼(Column)이라고도 함
        • 인스턴스(Instance)
          •  데이터의 값

    '프로그래밍 > DB' 카테고리의 다른 글

    Oracel Developer 다운  (0) 2022.08.02
    DB 5/12일차 수업 테이블 생성  (0) 2022.05.13
Designed by Tistory.