"데이터베이스"의 두 판 사이의 차이
30번째 줄: | 30번째 줄: | ||
#저장된 데이터(Stored Data): 컴퓨터가 접근할 수 있는 저장 매체에 저장된 자료이다. | #저장된 데이터(Stored Data): 컴퓨터가 접근할 수 있는 저장 매체에 저장된 자료이다. | ||
===데이터 베이스의 특징=== | ===데이터 베이스의 특징=== | ||
− | *실시간 | + | *실시간 접근성(Real-Time Accessibility) : 수시적이고 비정형적인 요구 대하여 실시간 처리에 의한 응답이 가능해야 한다.과수정의 용의성을 가지고 '동시성 제어'라고하는 다수 사용자에게 동시 접근을 허용한다. |
+ | *동시공용(Concurrent Sharing): 데이터베이스는 서로 다른 목적을 가진 여러 응용자들을 위한 것이므로 다수의 사용자가 동시다발적인 상황에서도 같은 내용의 데이터를 이용할 수 있어야 한다. | ||
*자기기술성을 가지므로 프로그램에 영향을 받지 않고 이에따라 프로그램을 수정하지 않고 사용할수있다. | *자기기술성을 가지므로 프로그램에 영향을 받지 않고 이에따라 프로그램을 수정하지 않고 사용할수있다. | ||
*일종의 추상화(캡슐화) 기능을 통해 전체구조를 감추고, 각 사용자에게 필요한 정보를 제공한다. | *일종의 추상화(캡슐화) 기능을 통해 전체구조를 감추고, 각 사용자에게 필요한 정보를 제공한다. | ||
− | *데이터의 특성,실체 상호간의 의미 관계를 고려하여 구조에따라 조직화 하여 | + | *데이터의 특성,실체 상호간의 의미 관계를 고려하여 구조에따라 조직화 하여 내용에 의한 참조(Content Reference)방식으로 데이터베이스에 있는 데이터를 참조할 때 데이터 레코드의 주소나 위치에 의해서가 아니라, 사용자가 요구하는 데이터 내용으로 데이터를 찾는다. |
+ | ===스키마란?=== | ||
+ | 스키마는 데이터베이스의 구조와 제약조건등 전반적인 명세와 숲을 볼수 있는 메타데이터의 집합으로 데이터베이스를 구성하는 데이터 개체(Entity), 속성(Attribute), 관계(Relationship) 및 데이터 조작 시 데이터 값들이 갖는 제약 조건 등에 관해 전반적으로 정의한다. 다음 사진 참조의 설명처럼 스키마는 사용자의 관점에 따라 외부 스키마, 개념 스키마, 내부 스키마로 나눠진다. | ||
+ | [[파일:스키마 3층구조이해.JPEG|썸네일|400픽셀|'''스키마 3층구조이해''']] | ||
+ | |||
+ | ====스키마의 특징==== | ||
+ | *스키마는 데이터 사전(Data Dictionary)에 저장되며, 다른 이름으로 [[메타데이터]]라고도 한다. | ||
+ | *스키마는 시간에 따라 불변인 특성을 갖는다. | ||
+ | *스키마는 데이터의 구조적 특성을 의미하며, 구조적으로 인스턴스에 의해 규정된다. | ||
+ | ====스키마의 구조==== | ||
+ | #외부 스키마(External Schema)는 사용자나 응용프로그래머가 각 대인의 입장에서 필요로 하는 데이터베이스의 논리적 구조를 정의 한것으로 하나의 데이터베이스 시스템에는 여러개의 외부 스키마가 존재할 수 있으며 하나의 외부 스키마를 여러개의 응용 프로그램이나 사용자가 공용할수 있는형식으로 일반 사용자는 질의어(SQL)을 이용하여 DB를 쉽게 사용할 수 있고,응용 프로그래머는 C, JAVA등의 언어를 사용하여 DB에 접근한다. | ||
+ | #개념 스키마(Conceptual Schema) 는 데이터베이스의 전체적인 논리적 구조로서, 모든 응용 프로그램이나 사용자들이 필요로 하는 데이터를 종합한 조직 전체의 데이터베이스로 하나만 존재하며,개체간의 관계와 제약 조건을 나타내고 데이터베이스의 접근 권한, 보안 및 무결성 규칙에 관한 명세를 정의하는등 전체적인 뷰(View)를 나타내고 데이터베이스 관리자(DBA)에 의해서 구성된다. | ||
+ | #내부 스키마(Internal Schema) 는 물리적 저장장치의 입장에서 본 데이터베이스 구조로, 물리적인 저장장치와 밀접한 계층인데, 내부스키마는 실제로 데이터베이스에 저장될 레코드의 물리적인 구조를 정의하고, 저장 데이터 항목의 표현방법, 내부 레코드의 물리적 순서 등을 나타내며 시스템 프로그래머나 시스템 설계자가 보는 관점의 스키마이다. | ||
+ | <ref><<네이버 블로그>>,<[https://coding-factory.tistory.com/214]>,2018-08-08</ref> | ||
+ | |||
+ | ===DBMS란?=== | ||
+ | |||
==현재평가와활용== | ==현재평가와활용== |
2019년 6월 24일 (월) 17:43 판
데이터베이스(database)란 데이터의 집합을 말한다. 간략히 DB(디비)라고 한다. '데이터 베이스'라고 띄어서 쓰지 않고, '데이터베이스'라고 붙여서 쓴다. 데이터베이스를 체계적으로 관리하는 시스템을 DBMS라고 한다.
- 데이터(data) : 어떤 값을 포함하고 있는 가공되지 않은 1차 자료를 말한다.
- 데이터베이스(database) : 데이터를 모아둔 집합이다. DB라고 한다.
- 데이터베이스 관리 시스템(DBMS, database management system) : 데이터베이스를 체계적으로 관리하기 위한 시스템이다.
- 정보(情報, information) : 특정한 목적에 맞게 데이터를 정리하여 의미 있는 내용을 이끌어 낸 것을 말한다.
목차
개요
불특정 다수의 사람들에 의해 공유되며 조직적으로 통합하여 관리되는 데이터의 집합이고 줄여서 DB라고도 하며, 특정 이용자들에게 필요한 정보를 체계적으로 축적하여 이용자에게 필요한 정보를 제공하는 정보 서비스 의 기능으로 데이터베이스만으로는 기능이 불가하고 그걸 관리하는 시스템과 통합괘 제공되며 이런 데이터베이스 관리 시스템(DBSM)이 함께 사용된다.간단히 비유하자면 데이터베이스 자체는 음식(데이터)을 저장할 수 있는 냉장고이고, 음식을 조리하거나 처리할 능력은 없어, DBMS라는 관리자들을 고용하여 여러가지 업무를 수행하도록 관히 하는 것이다. 최근 SQL과 같이 데이터베이스의 정렬과 탐색을 활용하여 데이터를 전문적으로 처리하는 데이터 사이언티스트 직업이 주목받고 있다. 또한 무겁게 DB를 돌리기 보다 개별적인 파일로 하나하나 저장하면 더욱 편리하다고 생각하는 사람도 있다. 하지만 파일 같은 간단한 경우에만 해당되며 게시판을 만드는 등의 작업을 할경우 DB가 훨씬 효율적이며 빠르고, 파일에서 몇 줄로 처리해야 할 일 들은 DB에선 더욱 손쉽게 처리하기때문에 프로그램 전체의 효율을 봤을 때 DB의 사용을 권한다.
등장배경
요약컨데 파일 시스템의 문제로인해 고안되었다. 데이터베이스가 사용되기 이전에는 파일시스템을 통해 데이터가 유지되고 있었다. 그러나 이런 파일 기반의 데이터 관리방식은 데이터의 무결성 문제가 발생할수있고 이는 중복 데이터가발생하고 이들사이에 불일치가 발생하는 등의 문제를 이야기한다. 이는 시스템이나 파일 구조에 영향을 받는 형태로 유지보수가 복잡하고 어려운 문제점있었다. 이러한 문제점을 극복하기위해서 데이터베이스가 고안이 되었다. 간단히 설명하자면 데이터베이스는 파일 형태로 흩어져 있던 데이터를 하나로 모아 관리하고 다수의 사용자들이 정보에 접근할 수 있어야 한다는 관점하에 설계됬다.
- 1950년대에 데이터베이스라는 용어가 미국에서 처음 사용되었으며, 이는 본래 군비의 집중적,효율적 관리를 위해 컴퓨터 도서관 개념을 개발하면서 이를 '데이터의 기지' 라는 뜻의 데이터 베이스를 일컬었다.
- 1970년대에 에드거 F.커드가 처음 제안한 관계형 모델은 응용 프르그램들이 뒷따르는 링크가 아닌 내용을 기준으로한 데이터 검색을 하고자하여 이러한 전통에서 출발했다.
- 2000년대 말에는 관계형 이후의 차세대 데이터베이스는 NoSQL 데이터베이스로 알려지게 되었으며, 고속의 키-값 스토어, 도큐먼트 지향 데이터베이스를 도입하였다. NewSQL 데이터베이스라는 경쟁력 있는 차세대 데이터베이스는 상용 관계형 DBMS 대비 NoSQL의 높은 성능에 부합하면서 관계형/SQL 모델을 보유하는 새로운 구현을 시도하기도한다.
정리하자면 , 초창기에는 계층형, 네트워크형 데아터 베이스가 사용되었으나 현재는 관계형(Relational)데이터베이스가 주를 이루고 있으며 NoSQL 계열의 데이터베이스 사용도 점차 늘어가고있다.
데이터배이스의 특징
데이터베이스의 개념
여러 사람이 공유하고 사용할 목적으로 통합 관리되는 정보의 집합이다. 논리적으로 연관된 하나 이상의 자료의 모음에 그내용을 구조화하여 검색과 갱신의효율를 극대화하여 자료 파일을 조직적으로 통합하여 자료 항목의 중복을 없애고 자료를 구조화 하여 기억시켜 놓은 자료의 집합이다.
- 통합된 데이터(Integrated Data): 자료의 중복을 배제한 데이터의 자료의모임이다.
- 저장된 데이터(Stored Data): 컴퓨터가 접근할 수 있는 저장 매체에 저장된 자료이며 주로 보조기억장치에 저장된다.
- 운영 데이터(Operational Data): 조직의 고유한 업무를 수행하는 데 존재 가치가 확실하고 없어서는 안 될 꼭 필요한 데이터 자료이다.
- 공용 데이터(Shared Data): 여러 응용 시스템들이 공동으로 소유하고 유지하는 자료이다.
- 저장된 데이터(Stored Data): 컴퓨터가 접근할 수 있는 저장 매체에 저장된 자료이다.
데이터 베이스의 특징
- 실시간 접근성(Real-Time Accessibility) : 수시적이고 비정형적인 요구 대하여 실시간 처리에 의한 응답이 가능해야 한다.과수정의 용의성을 가지고 '동시성 제어'라고하는 다수 사용자에게 동시 접근을 허용한다.
- 동시공용(Concurrent Sharing): 데이터베이스는 서로 다른 목적을 가진 여러 응용자들을 위한 것이므로 다수의 사용자가 동시다발적인 상황에서도 같은 내용의 데이터를 이용할 수 있어야 한다.
- 자기기술성을 가지므로 프로그램에 영향을 받지 않고 이에따라 프로그램을 수정하지 않고 사용할수있다.
- 일종의 추상화(캡슐화) 기능을 통해 전체구조를 감추고, 각 사용자에게 필요한 정보를 제공한다.
- 데이터의 특성,실체 상호간의 의미 관계를 고려하여 구조에따라 조직화 하여 내용에 의한 참조(Content Reference)방식으로 데이터베이스에 있는 데이터를 참조할 때 데이터 레코드의 주소나 위치에 의해서가 아니라, 사용자가 요구하는 데이터 내용으로 데이터를 찾는다.
스키마란?
스키마는 데이터베이스의 구조와 제약조건등 전반적인 명세와 숲을 볼수 있는 메타데이터의 집합으로 데이터베이스를 구성하는 데이터 개체(Entity), 속성(Attribute), 관계(Relationship) 및 데이터 조작 시 데이터 값들이 갖는 제약 조건 등에 관해 전반적으로 정의한다. 다음 사진 참조의 설명처럼 스키마는 사용자의 관점에 따라 외부 스키마, 개념 스키마, 내부 스키마로 나눠진다.
스키마의 특징
- 스키마는 데이터 사전(Data Dictionary)에 저장되며, 다른 이름으로 메타데이터라고도 한다.
- 스키마는 시간에 따라 불변인 특성을 갖는다.
- 스키마는 데이터의 구조적 특성을 의미하며, 구조적으로 인스턴스에 의해 규정된다.
스키마의 구조
- 외부 스키마(External Schema)는 사용자나 응용프로그래머가 각 대인의 입장에서 필요로 하는 데이터베이스의 논리적 구조를 정의 한것으로 하나의 데이터베이스 시스템에는 여러개의 외부 스키마가 존재할 수 있으며 하나의 외부 스키마를 여러개의 응용 프로그램이나 사용자가 공용할수 있는형식으로 일반 사용자는 질의어(SQL)을 이용하여 DB를 쉽게 사용할 수 있고,응용 프로그래머는 C, JAVA등의 언어를 사용하여 DB에 접근한다.
- 개념 스키마(Conceptual Schema) 는 데이터베이스의 전체적인 논리적 구조로서, 모든 응용 프로그램이나 사용자들이 필요로 하는 데이터를 종합한 조직 전체의 데이터베이스로 하나만 존재하며,개체간의 관계와 제약 조건을 나타내고 데이터베이스의 접근 권한, 보안 및 무결성 규칙에 관한 명세를 정의하는등 전체적인 뷰(View)를 나타내고 데이터베이스 관리자(DBA)에 의해서 구성된다.
- 내부 스키마(Internal Schema) 는 물리적 저장장치의 입장에서 본 데이터베이스 구조로, 물리적인 저장장치와 밀접한 계층인데, 내부스키마는 실제로 데이터베이스에 저장될 레코드의 물리적인 구조를 정의하고, 저장 데이터 항목의 표현방법, 내부 레코드의 물리적 순서 등을 나타내며 시스템 프로그래머나 시스템 설계자가 보는 관점의 스키마이다.
DBMS란?
현재평가와활용
각주
참고자료
- Elmasri, Navathe:Fundamentals of database systems, Addision Wesley.