도순씨의 코딩일지

DB :: introduction 본문

먼저 데이터베이스의 정의 를 알아보겠습니다. 데이터베이스는 특정 회사에 대한 많은 정보를 담고있습니다. 관련된 데이터의 집합, 데이터에 접근하기 위한 프로그램, 사용하기에 효율적이고 편리한 환경 등이 수반되어야 합니다.

데이터베이스 시스템은 매우 가치 있는 정보, 상대적으로 큰 정보, 공유자원인 정보를 담고 있습니다. 데이터베이스 시스템의 데이터들이 대용량인 이유는 데이터가 크지 않으면 이러한 기술들을 필요로 하지 않기 때문입니다. 작은 규모의 정보는 단순히 파일시스템만으로도 데이터를 관리할 수 있습니다. 공유자원이라는 것은 동시에 데이터를 접근할 수 있고, 그 데이터에 대한 경쟁이 벌어짐을 의미합니다.

현대의 데이터베이스 시스템은 크고 복잡한 데이터들을 처리할 수 있도록 복잡한 소프트웨어 시스템을 채택하고 있습니다. 데이터베이스는 우리의 삶 모든 부분에 관여하고 있죠.

 

그렇다면 데이터베이스 적용의 예시 를 알아봅시다. 먼저 회사의 정보를 관리할 수 있습니다. 판매 관련 정보인 고객, 제품, 구매 현황을 저장하고 회계에 관한 정보, 인사에 관련한 정보를 정리하여 저장할 수 있습니다. 또 제조에 대한 분야, 은행, 대학에서도 데이터베이스를 사용하여 데이터를 관리하고 있습니다. 이러한 분야를 사무 응용(Business Application)이라고 하는데, 주로 관계형 데이터베이스(Relational database)를 사용하고 있습니다.

 

데이터베이스의 목적 에 대해 살펴봅시다. 데이터베이스 시스테이 정착되기 전에는 데이터베이스 어플리케이션이 파일 시스템에 직접 접근하는 체계였습니다. 이는 많은 단점들을 만들어냈습니다. 먼저 데이터의 중복과 불일치 입니다. 두 클라이언트가 동시에 접근했는데 하나는 옛 번호를 가져오라 하고 하나는 새 번호를 가져오라 하면 불일치 현상이 일어납니다. 또한 서로 다른 클라이언트가 같은 정보를 저장하여 데이터가 중복되는 문제도 생길 수 있습니다. 데이터에 접근하는 것도 비교적 힘들다 할 수 있습니다. 현재의 데이터베이스는 SQL 질의어로 손 쉽게 DB에 접근할 수 있죠. Data isolation은 여러 파일의 구조가 달라서 접근하기 힘들어지는 현상입니다. 마지막으로 무결성에 문제가 생길 수 있습니다. 무결성을 보장하기 위한 코드가 반드시 삽입되어야 합니다. 

데이터베이스는 여러개를 병렬처럼 이용하여 업무를 분리하는 것도 가능합니다. 동시에 같은 데이터에 접근하기 수월해지는 것이죠. 하지만 동시에 접근하다보니 오류가 생겨날 수도 있습니다. 대표적인 예시가 은행과 관련된 예시입니다. 두 사람이 같은 계좌에서 돈을 빼가는 경우입니다. 이때문에 concurrency control이 필요합니다. 어떤 과정을 먼저 처리할 것인지 정해주는 과정입니다. 보안성 문제또한 생길 수 있습니다. 이를 해결하기 이한 대책으로는 접근권한 체계의 구현이 있습니다. 

 

데이터 모델 은 데이터, 데이터 간 관계, 데이터의 의미, 데이터의 제약조건을 서술할 수 있는 체제입니다. 데이터 모델로 유명한 것은 Relational model(관계형 모델), Entity-Relationship data model(데이터베이스 디자인에 쓰임, ER 모델), Object-based data models, Semi-structured data model(XML) 등이 사용됩니다.

 

Relational Model(관계형 모델) 은 모든 데이터를 다양한 표에 저장하고 그것을 mapping합니다. 

 

출처 : https://untitledtblog.tistory.com/124



데이터베이스 스키마 는 간단하게 말하면 표 구조라 할 수 있지만, 정확하진 않은 표현입니다. 스키마는 데이터베이스의 구조와 제약 조건에 관한 전반적인 명세를 기술한 메타데이터의 집합입니다. Logical Schema는 데이터베이스의 전체적인 논리적 구조를 나타냅니다. Physical Schema는 전체적인 물리적 구조를 나타내며, 인스턴스는 어느 시점에 나타난 정보의 모임이라고 할 수 있습니다. 교수님께서는 ID, name, 부서와 같은 항목들이라고 설명해주셨는데 다른 설명들을 읽어봐도 확실한 지는 모르겠습니다. 어쨌든 이런 인스턴스들은 변수와 비슷하게 변동 가능하다는 특징을 가지고 있습니다.

 

 

📚 출처

 

https://coding-factory.tistory.com/216

 

[DB기초] 스키마란 무엇인가?

 스키마란? 1. 스키마는 데이터베이스의 구조와 제약 조건에 관한 전반적인 명세를 기술한 메타데이터의 집합이다. 2. 스키마는 데이터베이스를 구성하는 데이터 개체(Entity), 속성(Attribute), 관계

coding-factory.tistory.com

https://www.ktword.co.kr/abbr_view.php?id=1080&m_temp1=2654&nav=2

 

인스턴스 [정보통신기술용어해설]

 

www.ktword.co.kr

 

Comments