![속성 개념](http://i1.daumcdn.net/thumb/C120x120/?fname=https://blog.kakaocdn.net/dn/GHJxy/btqDibi42vW/ukbKSOQ5yXV9hie8itvcg0/img.gif)
속성 개념
속성 정의 속성은 엔터티에서 관리되는 구체적인 정보 항목으로 더 이상 분리될 수 없는 최소의 데이터 보관 단위이다. 예를 들어, 엔터티 사원에 속하는 모든 엔터티는 이름을 갖고 있다. 또한 모든 사원에는 입사일자, 사원번호, 생년월일 등의 특성을 가지고 있다. 엔터티 사원에 속하는 모든 인스턴스들이 공통으로 가지는 이러한 특성을 속성(Attribute)이라고 한다. 각 엔터티들은 일련의 속성들에 의해 상세화될 수 있다. 속성 특징 1) 속성의 어원적 의미 속성이라는 의미에는 가공되지 않은 것이라는 의미도 포함되어 있다. 이 말은 곧 원천적인 것을 의미한다. 또한 고유한 성질이란 의미도 가지고 있는데 이 말은 남의 도움을 받지 않더라도 자기만이 가지고 있는 독자적인 성질이 반드시 있어야 함을 뜻한다. 혼자..
- 데이터 아키텍처 & 처리기술 & DBMS/Data Architecture
- · 2020. 4. 8.
![6. 속성의 명명(Naming)](http://i1.daumcdn.net/thumb/C120x120/?fname=https://blog.kakaocdn.net/dn/bpS96l/btqDeUbVR4t/kPAp4od8bHnk3PsXUBhg4K/img.jpg)
6. 속성의 명명(Naming)
C/S(Client/Server) 환경이든 Web 환경이든 속성명이 곧 사용자 인터페이스(User Interface)에 나타나기 때문에 업무와 직결되는 항목이다. 그래서 속성 이름을 정확하게 부여하고 용어의 혼란을 없애기 위해 용어사전이라는 업무사전을 프로젝트에 사용하게 된다. 또한 각 속성이 가지는 값의 종류와 범위를 명확하게 하기 위해 도메인정의를 미리 하여 정의하여 용어사전과 같이 사용한다. 용어사전과 도메인정의를 같이 사용하여 프로젝트를 진행할 경우 용어적 표준과 데이터타입의 일관성을 확보할 수 있게 된다. 속성명을 부여하는 원칙은 [그림 Ⅰ-1-29]와 같다. 속성의 이름을 부여할 때는 현업에서 사용하는 이름을 부여하는 것이 가장 중요하다. 아무리 일반적인 용어라 할지라도 그 업무에서 사용되지 ..
- 데이터 아키텍처 & 처리기술 & DBMS/Data Architecture
- · 2020. 4. 8.
5. 도메인(Domain)
각 속성은 가질 수 있는 값의 범위가 있는데 이를 그 속성의 도메인(Domain)이라 한다. 예를 들면 학생이라는 엔터티가 있을 때 학점이라는 속성의 도메인은 0.0에서 4.0 사이의 실수 값이며 주소라는 속성은 길이가 20자리 이내인 문자열로 정의할 수 있다. 여기서 물론 각 속성은 도메인 이외의 값을 갖지 못한다. 따라서 도메인을 좀더 이해하기 쉽게 정리하면, 엔터티 내에서 속성에 대한 데이터타입과 크기 그리고 제약사항을 지정하는 것이라 할 수 있다.
- 데이터 아키텍처 & 처리기술 & DBMS/Data Architecture
- · 2020. 4. 8.
![4. 속성의 분류](http://i1.daumcdn.net/thumb/C120x120/?fname=https://blog.kakaocdn.net/dn/br9oiP/btqDg5p2FW3/H48Yckb0ZeUmL7aKpuCiZk/img.jpg)
4. 속성의 분류
가. 속성의 특성에 따른 분류 속성은 업무분석을 통해 바로 정의한 속성을 기본속성(Basic Attribute), 원래 업무상 존재하지는 않지만 설계를 하면서 도출해내는 속성을 설계속성(Designed Attribute), 다른 속성으로부터 계산이나 변형이 되어 생성되는 속성을 파생속성(Derived Attribute)이라고 한다. 1) 기본속성 기본 속성은 업무로부터 추출한 모든 속성이 여기에 해당하며 엔터티에 가장 일반적이고 많은 속성을 차지한다. 코드성 데이터, 엔터티를 식별하기 위해 부여된 일련번호, 그리고 다른 속성을 계산하거나 영향을 받아 생성된 속성을 제외한 모든 속성은 기본속성이다. 주의해야 할 것은 업무로부터 분석한 속성이라도 이미 업무상 코드로 정의한 속성이 많다는 것이다. 이러한 경우..
- 데이터 아키텍처 & 처리기술 & DBMS/Data Architecture
- · 2020. 4. 8.
![2. 엔터티, 인스턴스와 속성, 속성값에 대한 내용과 표기법](http://i1.daumcdn.net/thumb/C120x120/?fname=https://blog.kakaocdn.net/dn/CPXjD/btqDib4kNSt/GxO8SDeGR5eFWE7mtKeNKk/img.jpg)
2. 엔터티, 인스턴스와 속성, 속성값에 대한 내용과 표기법
가. 엔터티, 인스턴스, 속성, 속성값의 관계 엔터티에는 두 개 이상의 인스턴스가 존재하고 각각의 엔터티에는 고유의 성격을 표현하는 속성정보를 두 개 이상 갖는다. 업무에서는 엔터티를 구성하는 특징이 무엇인지 또한 각각의 인스턴스들은 어떤 성격의 데이터로 구성되는지를 파악하는 작업이 필요하다. 분석단계에서 엔터티 내에 존재하는 여러 개의 인스턴스가 가지는 동일한 성격은 무엇인지를 파악하고 이에 이름을 부여하여 엔터티의 속성으로 기술하는 작업이 필요하다. 예를 들면 사원은 이름, 주소, 전화번호, 직책 등을 가질 수 있다. 사원이라는 엔터티에 속한 인스턴스들의 성격을 구체적으로 나타내는 항목이 바로 속성이다. 각각의 인스턴스는 속성의 집합으로 설명될 수 있다. 하나의 속성은 하나의 인스턴스에만 존재할 수 ..
- 데이터 아키텍처 & 처리기술 & DBMS/Data Architecture
- · 2020. 4. 8.
![1. 속성 (Attribute)의 개념](http://i1.daumcdn.net/thumb/C120x120/?fname=https://blog.kakaocdn.net/dn/Q0YJ4/btqDfCCcjFa/i0s4bQtIr1WTxczCNwUdp0/img.jpg)
1. 속성 (Attribute)의 개념
속성이란 사전적인 의미로는 사물(事物)의 성질, 특징 또는 본질적인 성질, 그것이 없다면 실체를 생각할 수 없는 것으로 정의할 수 있다. 본질적 속성이란 어떤 사물 또는 개념에 없어서는 안 될 징표(徵表)의 전부이다. 이 징표는 사물이나 개념이 어떤 것인지를 나타내고 그것을 다른 것과 구별하는 성질이라고 할 수 있다. 이런 사전적인 정의 이외에 데이터 모델링 관점에서 속성을 정의하자면, “업무에서 필요로 하는 인스턴스로 관리하고자 하는 의미상 더 이상 분리되지 않는 최소의 데이터 단위”로 정의할 수 있다. 업무상 관리하기 위한 최소의 의미 단위로 생각할 수 있고, 이것은 엔터티에서 한 분야를 담당하고 있다. 속성의 정의를 정리해 보면 다음과 같다. 업무에서 필요로 한다. 의미상 더 이상 분리되지 않는다...
- 데이터 아키텍처 & 처리기술 & DBMS/Data Architecture
- · 2020. 4. 8.
![4. 엔터티의 분류](http://i1.daumcdn.net/thumb/C120x120/?fname=https://blog.kakaocdn.net/dn/bvqmfV/btqDg45qW9h/HYwYdK5SMpdpYOn6NFS6gK/img.jpg)
4. 엔터티의 분류
엔터티는 엔터티 자신의 성격에 의해 실체유형에 따라 구분하거나 업무를 구성하는 모습에 따라 구분이 되는 발생시점에 의해 분류해 볼 수 있다. 가. 유무(有無)형에 따른 분류 일반적으로 엔터티는 유무형에 따라 유형엔터티, 개념엔터티, 사건엔터티로 구분된다. 유형엔터티(Tangible Entity)는 물리적인 형태가 있고 안정적이며 지속적으로 활용되는 엔터티로 업무로부터 엔터티를 구분하기가 가장 용이하다. 예를 들면, 사원, 물품, 강사 등이 이에 해당된다. 개념엔터티(Conceptual Entity)는 물리적인 형태는 존재하지 않고 관리해야 할 개념적 정보로 구분이 되는 엔터티로 조직, 보험상품 등이 이에 해당된다. 사건 엔터티(Event Entity)는 업무를 수행함에 따라 발생되는 엔터티로서 비교적 발..
- 데이터 아키텍처 & 처리기술 & DBMS/Data Architecture
- · 2020. 4. 8.
![3. 엔터티의 특징](http://i1.daumcdn.net/thumb/C120x120/?fname=https://blog.kakaocdn.net/dn/xHL7U/btqDeIJem9s/fBQN6EkQd36b2BKUKSk4gK/img.jpg)
3. 엔터티의 특징
엔터티는 다음과 같은 특징을 가지고 있으며 만약 도출된 엔터티가 다음의 성질을 만족하지 못하면 적절하지 않은 엔터티일 확률이 높다. 반드시 해당 업무에서 필요하고 관리하고자 하는 정보이어야 한다.(예. 환자, 토익의 응시횟수, …) 유일한 식별자에 의해 식별이 가능해야 한다. 영속적으로 존재하는 인스턴스의 집합이어야 한다.(‘한 개’가 아니라 ‘두 개 이상’) 엔터티는 업무 프로세스에 의해 이용되어야 한다. 엔터티는 반드시 속성이 있어야 한다. 엔터티는 다른 엔터티와 최소 한 개 이상의 관계가 있어야 한다. 가. 업무에서 필요로 하는 정보 엔터티 특징의 첫 번째는 반드시 시스템을 구축하고자 하는 업무에서 필요로 하고 관리하고자 하는 정보여야 한다는 점이다. 예를 들어 환자라는 엔터티는 의료시스템을 개발하..
- 데이터 아키텍처 & 처리기술 & DBMS/Data Architecture
- · 2020. 4. 8.
![2. 엔터티와 인스턴스에 대한 내용과 표기법](http://i1.daumcdn.net/thumb/C120x120/?fname=https://blog.kakaocdn.net/dn/KlDtV/btqDf1OPgdv/GfX8NvI1Pi5SwvsAoyu5Mk/img.jpg)
2. 엔터티와 인스턴스에 대한 내용과 표기법
엔터티를 표현하는 방법은 각각의 표기법에 따라 조금씩 차이는 있지만 대부분 사각형으로 표현된다. 다만 이 안에 표현되는 속성의 표현방법이 조금씩 다를 뿐이다. 엔터티와 엔터티간의 ERD를 그리면 [그림 Ⅰ-1-15]와 같이 표현할 수 있다. [그림 Ⅰ-1-15]에서 과목, 강사, 사건은 엔터티에 해당하고 수학, 영어는 과목이라는 엔터티의 인스턴스이고 이춘식, 조시형은 강사라는 엔터티의 인스턴스이며 사건번호인 2010-001, 2010-002는 사건 엔터티에 대한 인스턴스에 해당한다. ※ 참고 : 오브젝트 모델링에는 클래스(Class)와 오브젝트(Object)라는 개념이 있다. 클래스는 여러 개의 오브젝트를 포함하는 오브젝트 깡통이다. 이러한 개념은 정보공학의 엔터티가 인스턴스를 포함하는 개념과 비슷하다...
- 데이터 아키텍처 & 처리기술 & DBMS/Data Architecture
- · 2020. 4. 8.
![1. 엔터티의 개념](http://i1.daumcdn.net/thumb/C120x120/?fname=https://blog.kakaocdn.net/dn/cwBQfd/btqDf1Bk8Bv/iyIMOPkep5S049rliuU1nk/img.jpg)
1. 엔터티의 개념
데이터 모델을 이해할 때 가장 명확하게 이해해야 하는 개념 중에 하나가 바로 엔터티(Entity)이다. 이것은 우리말로 실체, 객체라고 번역하기도 하는데 실무적으로 엔터티라는 외래어를 많이 사용하기 때문에 본 가이드에서는 엔터티라는 용어를 그대로 사용하기로 한다. 엔터티에 대해서 데이터 모델과 데이터베이스에 권위자가 정의한 사항은 다음과 같다. 변별할 수 있는 사물 - Peter Chen (1976) - 데이터베이스 내에서 변별 가능한 객체 - C.J Date (1986) - 정보를 저장할 수 있는 어떤 것 - James Martin (1989) - 정보가 저장될 수 있는 사람, 장소, 물건, 사건 그리고 개념 등 - Thomas Bruce (1992) - 위 정의들의 공통점은 다음과 같다. 엔터티는 사..
- 데이터 아키텍처 & 처리기술 & DBMS/Data Architecture
- · 2020. 4. 8.
일반집합연산자
일반 집합 연산자 일반집합 연산자는 수학적 집합 이론에서 사용하는 연산자로서 릴레이션 연산에도 그대로 적용할 수 있다. 일반 집합 연산자 중 합집합 교집합 차집합은 합병 조건이 가능해야 한다. 일반 집합 연산자 일반 집합 연산자 : 합집합, 교집합, 차집합, 교차곱
- 데이터 아키텍처 & 처리기술 & DBMS/Data Architecture
- · 2020. 4. 8.
순수관계연산자
순수 관계 연산자 ※ 순수관계 연산자란 관계 데이터베이스에 적용할 수 있도록 특별히 개발한 관계 연산자를 말한다. 순수 관계 연산자 : Select, Project Join, Devision Select Select는 릴레이션에 존재하는 튜플 중에서 선택 조건을 만족하는 튜플의 부분집합을 구하여 새로운 릴레이션을 만든다. 릴레이션의 행에 해당하는 튜플을 구하는 것이므로 수평연산이라고도 한다. Project Project는 주어진 릴레이션에서 속성 List에 제시된 Attribute만을 추출하는 연산이다. 릴레이션의 열(세로)에 해당하는 Attribute를 추출하는 것이므로 수직 연산자라고도 한다. Join Join은 공통 속성을 중심으로 두 개의 릴레이션을 하나로 합쳐서 새로운 릴레이션을 만드는 연산이다..
- 데이터 아키텍처 & 처리기술 & DBMS/Data Architecture
- · 2020. 4. 8.
![9. 데이터 모델의 표기법인 ERD의 이해](http://i1.daumcdn.net/thumb/C120x120/?fname=https://blog.kakaocdn.net/dn/bO7m1K/btqDf2T4XYQ/yW7vTlgPTi2AgAPaEjxxa1/img.jpg)
9. 데이터 모델의 표기법인 ERD의 이해
가. 데이터 모델 표기법 데이터 모델에 대한 표기법으로 1976년 피터첸(Peter Chen)이 Entity-relationship model(E-R Model)이라는 표기법을 만들었다. 엔터티를 사각형으로 표현하고 관계를 마름모 속성을 타원형으로 표현하는 이 표기법은 데이터 모델링에 대한 이론을 배울 때 많이 활용되고 있다. 데이터베이스 설계에 대해 우리나라 대학에서는 주로 이 Chen의 모델 표기법을 통해 배우고 있다. [표 Ⅰ-1-6]은 엔터티와 속성 그리고 관계에 대한 다양한 표기법을 설명한 것이다 데이터아키텍처 전문가(DAP) 관련 자격에서는 바커(Barker) 표기법을 적용하여 설명했다면, 본 가이드에서는 범용적인 Information Engineering(이하 IE) 표기법과 바커 표기법을 ..
- 데이터 아키텍처 & 처리기술 & DBMS/Data Architecture
- · 2020. 4. 7.
![8. 데이터 모델링의 이해관계자](http://i1.daumcdn.net/thumb/C120x120/?fname=https://blog.kakaocdn.net/dn/bt1E3b/btqDf2T4PkW/dLbmtTmKG4Yk362q3JWMOK/img.jpg)
8. 데이터 모델링의 이해관계자
가. 이해관계자의 데이터 모델링 중요성 인식 실제 업무시스템을 구축하는 실전 프로젝트에서는 데이터베이스를 전문적으로 하는 이른바 DBA(DataBase Administrator)가 데이터 모델링을 전적으로 하는 예는 거의 없다. 오히려 업무시스템을 개발하는 응용시스템 개발자가 데이터 모델링도 같이 하게 된다. 그 이유는 데이터 모델링이라는 과정이 단지 데이터베이스를 설계한다는 측면보다 업무를 이해하고 분석하여 표현하는 것이 중요하고, 표현된 내용을 바탕으로 프로젝트 관련자와 의사소통하고 프로그램이나 다른 표기법과 비교 검증하는 일을 수행하는 등 많은 시간을 업무를 분석하고 설계하는데 할애하기 때문에 업무영역별 개발팀에서 보통 데이터 모델링을 진행하게 되는 것이다. 물론 시스템이 대형화되면 모델링만을 전문..
- 데이터 아키텍처 & 처리기술 & DBMS/Data Architecture
- · 2020. 4. 7.
![7. 데이터 모델링의 중요한 세 가지 개념](http://i1.daumcdn.net/thumb/C120x120/?fname=https://blog.kakaocdn.net/dn/cVV36G/btqDfBPXmTk/kiw1ffp8Xz8LK8bYIXpXz1/img.jpg)
7. 데이터 모델링의 중요한 세 가지 개념
가. 데이터 모델링의 세 가지 요소 데이터 모델링을 구성하는 중요한 개념 세 가지가 있는데 이것은 데이터 모델에 대한 이해의 근간이 되므로 반드시 기억할 필요가 있다. 업무가 관여하는 어떤 것(Things) 어떤 것이 가지는 성격(Attributes) 업무가 관여하는 어떤 것 간의 관계(Relationships) 이 세 가지는 데이터 모델링을 완성해 가는 핵심 개념으로서 결국 엔터티, 속성, 관계로 인식되는 것이다. 사물이나 사건 등을 바라 볼 때 전체를 지칭하는 용어를 어떤 것(Things)이라 하고, 그 어떤 것이 가지는 세부적인 사항을 성격(Attributes)이라고 할 수 있다. 또한 각각의 어떤 것은 다른 어떤 것과 연관성을 가질 수 있는데 이것을 관계(Relationship)라고 표현한다. 예..
- 데이터 아키텍처 & 처리기술 & DBMS/Data Architecture
- · 2020. 4. 7.
![6. 데이터 모델링에서 데이터독립성의 이해](http://i1.daumcdn.net/thumb/C120x120/?fname=https://blog.kakaocdn.net/dn/bWuJii/btqDhuCmNMK/skPDL1xEpXp9mpzekg9hXK/img.jpg)
6. 데이터 모델링에서 데이터독립성의 이해
가. 데이터독립성의 필요성 일체적 구성에서 기능화된 구성의 가장 큰 목적은 상호간 영향에서 벗어나 개별 형식이 가지는 고유의 기능을 유지시키며 그 기능을 극대화하는 것이다. 컴포넌트 기반의 모듈 구성도 각각이 고유한 기능을 가지면서 다른 기능을 가지고 있는 컴포넌트와 인터페이스를 가지게 하는 모습으로 정의할 수 있다. SOA의 ‘서비스’라고 하는 단위도 독립적인 비즈니스로 처리 가능한 단위를 서비스로 정의하고 그것이 다른 서비스에 비해 독립성을 구성하여 개별로도 의미가 있고 다른 서비스와 결합하여 프로세스로 제공해도 의미가 있는 단위(예, BPM)로 제공하게 된다. 이와 같이 어떤 단위에 대해 독립적인 의미를 부여하고 그것을 효과적으로 구현하게 되면 자신이 가지는 고유한 특징을 명확하게 할 뿐만 아니라 ..
- 데이터 아키텍처 & 처리기술 & DBMS/Data Architecture
- · 2020. 4. 7.