DB (Database) 란?

오구오구·2022년 11월 16일
0

스파르타코딩

목록 보기
8/8

데이터베이스

  • 데이터베이스는 일반적으로 컴퓨터 시스템에 전자적으로 저장되는 구조화된 정보
    또는 데이터의 조직화된 모음이다.
  • 데이터베이스는 데이터베이스 관리 시스템(DBMS)에 의해 제어된다.
    데이터베이스는 다음의 4가지 특징을 갖는다.
    1.실시간 접근 (real-time accessibility)
    2.계속 변화 (continuous evolution)
    3.동시 공유 (concurrent sharing)
    4.내용으로 참조 (content reference)
  • 주로 사용되는 데이터베이스의 종류로 크게 2가지가 있다.
    관계형 데이터베이스
    - 행과 열로 구성된 테이블간의 관계를 나타내며, SQL을 통해 관리한다.
    MySQL, Maria DB, MS-SQL 등이 있다.
    - NoSQL
    관계형 데이터 베이스의 한계를 극복하기 위한 데이터 저장소의 새로운 형태로, 수평적 확장성을 갖고 있다.
    Mongo DB, Cassandra 등이 있다.

데이터

데이터베이스의 가장 중요한 목적은 데이터를 모아두는 것이다.
데이터는 형태에 따라 3가지로 분류할 수 있다.

  • 정형 데이터
    구조화된 데이터, 즉 미리 정해진 구조에 따라 저장된 데이터다.
    엑셀의 스프레드시트, 관계형 데이터베이스의 테이블

  • 반정형 데이터
    구조에 따라 저장된 데이터지만, 정형 데이터와 달리 데이터 내용 안에 구조에 대한 설명이 함께 존재
    HTML, XML, JSON 등이 반정형 데이터에 속한다.

  • 비정형 데이터
    정해진 구조 없이 저장된 데이터다.
    소셜 데이터의 텍스트, 영상, 이미지, PDF와 같은 멀티미디어 데이터가 비정형 데이터에 속한다.

데이터베이스 관리 시스템(DBMS)

데이터베이스 관리 시스템 등장 이전에 사용되던 파일 시스템의 데이터 중복과 데이터 종속 문제를 해결하기 위해 제시된 소프트웨어이다.
응용 프로그램을 대신하여 데이터베이스에 들어 있는 데이터를 삽입, 삭제, 수정, 검색하고, 모든 응용 프로그램이 데이터베이스를 공유할 수 있게 한다.

SQL (Structured Query Language)

SQL은 데이터를 조작 및 제어하기 위해 거의 모든 관계형 데이터베이스에서 사용되는 프로그래밍 언어이다.

스키마 (Schema)

스키마는 데이터베이스에 저장되는 데이터의 구조와 제약조건에 관해 전반적인 명세를 기술한 것이다.
즉, DB내에 어떠한 구조로 데이터가 저장되는지를 나타내는 데이터베이스의 구조이다.
데이터베이스의 복잡한 내부 구조를 감추고 일반 사용자가 데이터베이스를 쉽게 이해하고 이용할 수 있도록 하기 위해, 사용자의 관점에 따라 세 가지로 분류한다.

  • 외부 스키마
    프로그래머나 사용자 입장에서 데이터베이스의 모습으로 조직의 일부분을 정의한 것
    전체 데이터베이스의 한 논리적인 부분이므로 서브 스키마 라고도 한다.
    하나의 데이터베이스 시스템에는 여러개의 외부 스키마가 존재할 수 있고, 하나의 외부 스키마를 여러개의 응용 프로그램이나 사용자가 공용할 수도 있다.
    일반 사용자는 질의어(SQL)을 통해, 응용 프로그래머는 C, JAVA등의 언어를 통해 접근한다.
  • 개념 스키마
    모든 응용 시스템과 사용자들이 필요로하는 데이터를 통합한 조직 전체의 데이터베이스 구조를 논리적으로 정의한 것
    개념스키마는 개체간의 관계와 제약 조건을 나타내고 데이터베이스의 접근 권한, 보안 및 무결성 규칙에 관한 명세를 정의한다.
    데이터베이스 파일에 저장되는 데이터의 형태를 나타내는 것으로, 단순히 스키마(Schema)라고 하면 개념 스키마를 의미한다.
  • 내부 스키마
    전체 데이터베이스의 물리적 저장 형태를 기술하는 것으로, 물리적 저장장치의 관점에서 본 데이터베이스 구조이다.
    내부스키마는 실제로 데이터베이스에 저장될 레코드의 물리적인 구조를 정의하고, 저장 데이터 항목의 표현방법, 내부 레코드의 물리적 순서 등을 나타낸다.
    시스템 프로그래머나 시스템 설계자가 보는 관점의 스키마이다.

릴레이션 (Relation)

관계형 데이터 모델에서는 하나의 개체에 관한 데이터를 하나의 릴레이션에 담아 데이터베이스에 저장한다.
즉, DB에서 릴레이션은 DB 테이블을 뜻한다.
릴레이션과 관련된 용어들은 다음과 같다.

  • 속성 (attribute)
    릴레이션의 열을 속성이라고 부른다.
    각 속성은 서로 다른 이름을 이용해 구별한다.
    릴레이션은 파일 관리 시스템에서의 파일, 속성은 필드에 대응하는 개념이다.
  • 튜플 (tuple)
    릴레이션의 행을 튜플이라고 부른다.
    튜플은 파일 관리 시스템에서 해당 파일의 레코드에 대응하는 개념이다.
  • 도메인 (domain)
    릴레이션에 포함된 각각의 속성들이 가질 수 있는 원자값들의 집합이다.
    예를 들어 속성의 값으로 Red, Green, Blue, White 중 하나만 허용될 때, 이 4가지 값을 모아놓은 것이 속성의 도메인이 된다.
  • 차수 (degree)
    하나의 릴레이션에서 속성의 전체 개수를 릴레이션의 차수라고 한다.
    모든 릴레이션은 최소 1 이상의 차수를 유지해야 한다.
    릴레이션의 차수는 일반적으로 자주 변하지 않는다는 정적인 특징이 있다.
  • 카디널리티 (cardinality)
    하나의 릴레이션에서 튜플의 전체 개수를 릴레이션의 카디널리티 라고 한다.
    튜플이 없는 릴레이션이 존재할 수도 있다.
    릴레이션의 카디널리티는 일반적으로 자주 변한다는 동적인 특징이 있다.

[참고]https://hongcoding.tistory.com/143

profile
공부중,,엄청 열심히 하고 있습니다 (브이)

0개의 댓글