CS BASICS - 데이터베이스

YU NA Joe·2021년 12월 26일

데이터베이스(database)란?

  • An organized collection of structured information, or data, typically stored electronically in a computer system

데이터베이스 언어

  1. DDL(Data Definition Language)
  • create, alter, drop
  1. DML(Data Manupulation Language)
  • select, insert, delete, update
  1. DCL(Data Control Language)
  • grant, revoke, commit, rollback

DBMS(DataBase Management System)이란?

  • 데이터베이스를 관리하며 응용 프로그램들이 데이터베이스를 공유하며 사용할 수 있는 환경을 제공하는 소프트웨어

  • 계층형, 네트워크형,관계형, NoSQL 데이터 베이스가 있다.

처리 시스템 종류

일괄처리 시스템

• 일정시간이나 일정양의 데이터를 모아 한꺼번에 처리하는 시스템
• 시스템 중심의 자료 처리 방법
• 테이프와 같은 순차 접근 방법을 사용하는 업무에 적합
예) 급여 계산, 회계 마감업무, 세무 처리

분산처리 시스템

• 분산되어 있는 여러 컴퓨터를 연결하여 논리적으로 하나의 시스템으로
만들어 데이터를 처리하는 시스템
• 분산 처리기, 분산 데이터베이스 필요
• 시스템 구축이 어려운 반면 효용성과 융통성이 높고 시스템 확장이 용이

온라인처리 시스템

  • 자료의 생성자로부터 입력된 내용이 곧바로 텀퓨터에 전송되어 처리되는 시스템
    ex) 항공 예약 업무, 네트워크 게임

관계형 데이터베이스(RDBMS)

  • DBMS의 한 종류로써 행,열로 구성된 Table들로 이루어진 데이터를 말한다.
  • Oracle, MySQL, MS-SQL, MaricDB

스키마(Schema)

  • 데이터베이스가 어떻게 구성되어 있는지를 표현해주는 설계도.
  • 데이터베이스를 구성하는 데이터 개체, 속성, 관계 및 데이터 조작 시 데이터 값들이 가지는 제약조건 등에 관해 정의한 것.

스키마의 3계층

  1. 외부 스키마(External Schema) = 서브 스키마 = 사용자 뷰(View)
  • 사용자나 응용 프로그래머의 입장에서 필요로 하는 데이터베이스의 논리적 구조를 정의한 것(사용자의 관점에 따라 해당하는 스키마는 달라질 수 있다.)

  • 하나의 데이터베이스 시스템에는 여러 개의 외부 스키마가 존재할 수 있으며, 하나의 외부 스키마를 여러 개의 응용 프로그램이나 사용자가 공용할 수 있다.

  • 일반 사용자는 질의어(SQL)를 사용하여 데이터베이스를 사용한다.

  1. 개념 스키마(Conceptual Schema) = 전체적인 뷰(View)
  • 데이터베이스의 전체적인 논리적 구조로서, 모든 이용자가 필요로 하는 데이터를 통합한 조직 전체의 데이터베이스로 하나만 존재

  • 개념 스키마는 개체 간의 관계와 제약조건, 데이터베이스의 접근 권한, 보안 및 무결성 규칙에 관한 명세를 나타낸다.

  1. 내부 스키마(Internal Schema)
  • 물리적 저장장치의 입장에서 본 데이터베이스 구조.(물리적인 저장장치와 밀접한 계층)
  • 실제로 데이터베이스에 저장될 레코드의 물리적인 구조, 저장 데이터 항목의 표현 방법, 내부 레코드의 물리적 순서 등을 나타낸다.
  • 시스템 프로그래머나 시스템 설계자가 보는 관점의 스키마이다.

키(Key)

  • An attribute or a set of attributes that help to uniquely identify a tuple (or row) in a relation (or table)

키(Key)의 특징

유일성(Unique)

  • 하나의 키 값으로 하나의 튜플만을 식별하는 것

최소성(Minimality)

  • 유일성을 만족시키는 최소한의 갯수로 구성되는 것

ex) 학번+이름, 주민번호+학번, 모두 유일성을 만족시킨다. 하지만 학번+이름에서 이름을 제외한 학번만을 가지고도 유일성을 만족시킬 수 있기 때문에(구분할 수 있기 때문에) 최소성에 유배된다고 할 수 있다.

1) 기본키(Primary Key)

  • 유일성 + 최소성을 모두 만족
  • Null값을 가질 수 없고 중복값을 가질 수 없음
  • 한 테이블 내에서 하나의

2) 슈퍼키(Super Key)

  • 유일성은 만족시키지만 최소성은 만족시키지 않는다
    ex) 학번 + 주민번호

3) 후보키(Candidate Key)

  • 유일성과 최소성 모두 만족
  • 기본키가 될 수 있는 후보들

4) 외래키(Foreign Key)

  • 기본키와 대응되어 릴레이션 간에 참조관계 표현

5) 대체키(Candidate Key)

  • 후보키가 둘 이상인 경우 기본키로 선택되지 못한 후보들키의 집합

기본키: 학번
슈퍼키: 학번, 주민번호, 이름+나이, 학번+주민번호+이름, 학번+주민번호+이름+나이..etc
후보키: 학번, 주민번호
대체키: 주민번호

  • 학생 Table에서 "학번"이 "기본키"이자 참조되는 "참조키"
  • 수강 Table이 "학번"이 참조하는 키이자 "외래키"

0개의 댓글