데이터베이스 시스템, 언어

Sejin·2025년 3월 20일
0

Data, DB공부

목록 보기
4/26

데이터베이스 시스템의 구성요소

데이터베이스 시스템(DBS, Data Base System)
데이터베이스에 데이터를 저장하고 관리하며 조직에 필요한 정보를 생성하는데
필요한 컴퓨터 중심의 시스템

데이터와 DBMS

DataBase
특정조직의 여러 사용자가 공유하여 사용할 수 있도록 통합해서 저장한 운영 데이터의 집합
특성으로는 아래가 있음

  • 실시간 접근성
  • 내용에 의한 참조(반대는 주소에 의한 참조)
  • 동시 공유
  • 계속적인 변화

DBMS(Database Management System)
사용자와 데이터베이스 사이에서 데이터베이스를 관리하는 소프트웨어


데이터베이스는 데이터 자체이고 DBMS는 데이터를 관리하고 사용하는 데 필요한 도구

스키마(Schema)

데이터베이스의 구조와 제약조건을 정의
(테이블, 뷰, 인덱스 등)
스키마를 만든다 -> 데이터베이스 설계, 모델링, 디자인 -> 설계작업
한번 정해지면 바꾸기가 어려워 신중하게 작업해야 함

예) 회원가입시 아이디나 비밀번호 조건 설계, 제약조건(기본키 등)

스키마와 인스턴스


스키마 유형

-외부 스키마(External Schema)
사용자에게 필요한 데이터베이스를 정의
여러 개의 외부 스키마 존재 가능
서브 스키마라고도 함

-개념 스키마(Conceptual Schema)
조직 전체의 관점에서 이해하고 표현
하나의 데이터베이스에는 하나의 개념 스키마가 존재
데이터베이스의 접근권한, 보안정책, 무결성 규칙에 관한 명세를 정의

-내부 스키마(Internal Schema)
물리적인 저장장치의 관점에서 표현
하나의 데이터베이스에는 하나의 내부 스키마가 존재

3단계 데이터베이스 구조

종속성과 독립성

데이터 종속성

응용 프로그램에 대한 데이터의 종속성, 의존적

데이터 독립성

데이터 구조가 변경되어도 응용 프로그램이 록변경될 필요가 없음
논리적 독립성 + 물리적 독립성으로 실현됨

  • 논리적인 독립성
    개념스키마의 변경이 내부 스키마에 영향이 되지 않음.
    논리적 구조가 변경되어도 응용 프로그램에는 영향이 없음.
    (데이터와 프로그램의 서로의 관계 영향 x)

  • 물리적인 독립성
    내부스키마 변동 시 개념 스키마, 외부 스키마는 영향을 받지 않음
    저장장치의 구조변경은 응용프로그램과 개념스키마에 영향을 주지 않음

데이터 독립성이 유지되지 않으면?

요구사항 대응 난이도가 증가하고, 데이터의 중복성 및 복잡도 증가.
데이터 유지보수 비용이 증가함.

데이터베이스 사용자와 언어

데이터베이스 사용자

일반 사용자

응용 프로그래머가 작성한 프로그램을 이용
은행 창구, 관공서의 민원 접수처 등에서 데이터를 다루는 업무

응용 프로그래머

일반 사용자가 응용 프로그램을 사용할 수 있도록 인터페이스 제공(C, JAVA...)

SQL 사용자

SQL를 사용하여 업무를 처리하는 IT부서의 담당자
데이터 검색, 데이터 구조 변경, 데이터에 관한 통계처리

데이터베이스 관리자(DBA : Data Base Administrator)

데이터 베이스를 총괄, 데이터 전체 파악 및 관리, 데이터 이동 및 복사 등 제반 업무
스키마 정의, 데이터 설계, 구현, 유지보수의 전과정을 담당

데이터베이스 언어

데이터 정의어 (DDL: Data Definition Language)

데이터 베이스 구조, 데이터 형식, 접근 방식 등 데이터베이스를 구축하거나 수정할 목적으로 사용함. 스키마를 기술하기 위해 사용되며, 주로 DB 설계자(DBA)가 사용함

  • CREATE
  • ALTER
  • DROP

데이터 조작어 (DML :Data Manipulation Language)

데이터의 검색, 삽입, 삭제, 갱식에 사용됨.
사용자와 DBMS 간의 인터페이스를 제공함

  • SELECT
  • INSERT
  • DELETE
  • UPDATE

데이터 제어어 (DCL: Data Control Language)

무결성, 보안 및 권한 제어, 회복 등을 하기 위한 언어

  • GRANT(권한부여)
  • REVOKE(권한삭제)
  • COMMIT
  • ROLLBACK

TCL(Transcation Control Language)

독립 실행형/내장형

DBMS or In Programming Language

절차형/비절차형

profile
Sejin's Journey for Developers

0개의 댓글