728x90
반응형

소프트웨어 공부/데이터베이스 13

[데이터베이스] 테이블 관계는 왜 중요한가

관계는 관계형 데이터베이스의 중요한 구성 요소다. 이것은 논리적으로 서로 연관된 한 쌍의 테이블들 사이의 연결을 설정한다. 이것은 테이블 구조를 더 개선하고 이중 데이터를 최소화하도록 도와준다. 이것은 여러 테이블들로부터 동시에 데이터를 추출할 수 있도록 해 주는 메커니즘이다. 적절히 정의된 관계는 관계 수준의 무결성을 제공하는데, 이것은 관계 자체가 신뢰성 있고 정상적이라는 것을 보장한다. 적절한 관계 설정에 실패해버리면 여러 테이블로부터 온 데이터를 갖고 작업하기가 힘들어지고, 연관된 테이블들에 레코드를 삽입, 갱신 또는 삭제하려고 할 때 문제에 맞닥뜨리게 된다. 관계의 종류 데이터베이스 내의 테이블들 사이의 관계 설정을 시작하기 전에 주어진 한 상의 테이블들 사이에 존재할 수 있는 관계의 종류에 대..

[데이터베이스] 필드 명세

필드들은 데이터베이스 기반이다. 이것들은 조직에 중요한 주제(subject)의 특성들을 나타낸다. 데이터 무결성에 대해서는 많은 말을 하고 있지만, 필드에 대해서는 대체로 그렇지 않다. 필드 명세(field specifications)를 정의함으로써 데이터 무결성을 설정하는 법을 알아보자. 필드 명세는 왜 중요한가 필드 명세가 결정적으로 중요한지 그 이유를 알아보자. 필드 명세는 필드 수준의 무결성을 설정하고 강화하는데 도움이 된다. 각 필드를 위한 필드 명세를 정의하는 것은 전반적인 데이터 무결성을 개선한다. 필드 명세를 정의하는 것은 데이터베이스 내의 데이터의 본질과 목적을 완전히 이해하도록 해 준다. 필드 명세는 데이터베이스의 '데이터 사전(data dictionary)'을 구성한다. 데이터베이스 ..

[데이터베이스] 키

키는 왜 중요한가 다음과 같은 이유 때문에 키들이 테이블 구조에 있어 결정적으로 중요하다. 테이블 내의 각 레코드가 정확하게 식별되도록 보장한다. 다양한 종류의 무결성을 설정하고 강화하는 것을 도와준다. 테이블 관계를 설정하도록 해준다. 항상 각 테이블을 위해 적절한 키들을 정의하도록 한다. 그렇게 하면 테이블 구조가 정상적이고, 각 테이블 내의 중복 데이터가 최소화되고, 테이블들 사이의 관계가 튼튼해지도록 보장하는데 도움이 된다. 각 테이블에 키 설정하기 키는 후보(candidate) 키, 주(primary) 키, 외래(foreign) 키, 그리고 비 키(non-keys)라는 네 개의 주요 키 종류가 있다. 키의 종류는 테이블 내에서의 기능을 결정한다. 후보 키 후보 키는 테이블 주제의 단일 인스턴스를..

[데이터베이스] 필드 정하기

필드 이름 개선하기 필드는 그것이 속해 있는 테이블의 주제의 특성을 나타낸다. 필드가 적절한 이름을 가지고 있을 때 필드가 나타내는 특성을 쉽게 식별할 수 있다. 모호하거나 애매하거나 불명확한 필드 이름은 문제가 있다는 확실한 시혼이고, 필드의 목적을 완전히 식별하지 않았다는 것을 말한다. 필드 이름을 부여하는 방법 유일하고, 전체 조직에 의미가 있는 설명적인 이름을 부여한다. 필드가 나타내는 특성을 정확하게, 명확하게, 그리고 모호하지 않게 식별하는 이름을 부여한다. 필드가 나타내는 특성의 의미를 전달하기 위해 필요한 최소 개수의 단어들을 사용한다. 두문자어(acronyms)를 사용하지 말고, 약어(abbreviations)는 사려 깊게 사용한다. 필드 이름의 의미를 혼동시킬 수 있는 단어들을 사용하지..

[데이터베이스] 테이블 정하기

테이블 종류(type)는 데이터베이스 내에서 수행하는 역할에 의해 테이블을 분류하도록 해 주며, 비슷한 방식으로 작동하는 테이블들을 식별하기 위한 수단을 제공한다. 테이블의 역할은 그 종류를 결정하느데, 주어진 테이블과 결부시킬 수 있는 네 개의 테이블 종류가 있다. 데이터 테이블 : 조직에 중요한 주제를 나타내고 데이터베이스가 제공하는 정보의 첫 번째 기초를 이룬다. 연결(linking) 테이블 : 다대다 관계의 두 테이블 사이의 연결을 설정한다. 부분 집합(subset) 테이블 : 특정 데이터 테이블과 연관되어 있는 필드들을 포함하고, 이 데이터 테이블의 주제를 매우 구체적인 방법으로 더 설명한다. 검증(validation) 테이블 : 비교적 정적인 데이터를 포함하고, 데이터 무결성의 중요한 구성 요..

[데이터베이스] 임무 목표 정의하기

임무 목표는 데이터베이스에서 관리되는 데이터에 의해 지원되는 일반적인 작업들을 나타내는 문장들이다. 각각의 임무 목표는 단일 작업을 나타낸다. 이 업무 목표들은 데이터베이스 설계 작업 전체에 걸쳐 사용할 정보를 제공한다. 예를 들어, 임무 목표는 데이블 구조, 필드 명세, 관계 특성, 뷰 등을 정의하도록 도와준다. 잘 작성된 임무 목표 잘 작성된 임무 목표는 일반적인 작업을 명확하게 정의한 선언적 문장이고, 불필요한 세부 사항이 없다. 그것은 일반적인 용어로 표현되고, 간결하고 요령이 있으며, 모호하지 않다. 전형적인 임무 목표의 예 우리는 완전한 환자 주소 정보를 관리할 필요가 있다. 우리는 모든 고객 판매를 추적할 필요가 있다. 우리는 고객 대표가 특정하게 주어진 시간에 20명을 넘지 않는 고객들을 ..

[데이터베이스] 임무 명세 정의하기

임무 명세는 데이터베이스의 특별한 목적을 일반적인 용어로 작성하는 것이고, 데이터베이스 설계 작업의 시작 단계에서 그것을 정의한다. 그것은 설계 노력을 위한 초점을 제공하고, 주의가 흐트러지고 데이터베이스 구조가 불필요하게 커지거나 복잡해지는 것을 방지해 준다. 잘 작성된 임무 명세 좋은 임무 명세는 간결하고 요령이 있다. 잘 작성된 임무 명세에는 특정 작업을 구체적으로 설명하는 구나 문장이 없다. 만약에 임무 명세에 이런 종류의 구나 문장이 포함되어 있다면, 그것을 삭제하고 재작성한다. 뉴 스타즈 탤런트 대행사(New Starz Talent Agency) 데이터베이스의 목적은 우리가 생성하는 데이터를 관리하고, 고객들에게 제공하는 약속 서비스와 연예인들에게 제공하는 관리 서비스를 지원하는 정보를 제공하..

[데이터베이스] 설계작업

완전한 데이터베이스 설계 절차를 수행하지 않고 데이터베이스의 설계를 시도하는 것은 나쁜 생각이라는 것은 잘 알려지고 증명된 사실이다. 많은 데이터베이스 문제는 잘못된 데이터베이스 설계에 기인하며, 설계 절차를 부분적으로 따르는 것은 그것을 전혀 따르지 않는 것만큼이나 나쁘다. 불완전한 설계는 잘못된 설계다. 완전하고 생략되지 않은 설계 절차를 따르는 것만이 정상적인 구조와 데이터 무결성을 보장한다. 설계 절차에 소비한 시간이 적을수록 데이터베이스에 문제를 만날 위험은 커진다. 데이터베이스 설계 절차를 따르는 것이 비록 데이터베이스를 설계할 때 만날 수 있는 문제를 완전히 제거해 주지는 못하겠지만, 그것을 최소화하는 데는 큰 도움을 줄 것이다. 업무 명세와 임무 목표 정의하기 데이터베이스 설계 작업의 첫 ..

[데이터베이스] 용어

관계형 데이터베이스 설계는 다른 직업, 무역 또는 훈련에서처럼 자체적으로 고유한 용어 집합을 가지고 있다. 값 관련 용어들 데이터 데이터베이스에 저장하는 값이 데이터다. 데이터는 어떤 수동적이거나 자동적인 처리에 의해 바뀌기 전까지는 같은 상태를 유지한다는 측면에서 정적이다. 데이터의 의미는 그것들이 처리되기 전까지는 알 수가 없다. 정보 정보는 작업을 하거나 찾아볼 때 의미 있고 유용하도록 처리한 데이터이다. 이것은 데이터베이스에 저장된 데이터와 비교할 때, 끊임없이 변한다는 점에서, 그리고 무한대의 방법으로 처리되고 표현될 수 있다는 점에서 동적이다. 데이터와 정보의 차이점을 이해하는 것은 매우 중요하다. 정보는 데이터베이스 내에 적절한 데이터가 있고, 데이터베이스가 그 정보를 지원할 수 있는 방법으..

[데이터베이스] 왜 데이터베이스 설계에 관심을 가져야 하는가

데이터베이스 설계에 관심을 가져야 하는 주된 이유는 그것이 데이터베이스 내의 데이터의 일관성, 무결성, 그리고 정확성에 결정적으로 중요하기 때문이다. 데이터베이스를 부적절하게 설계하면 어떤 정보는 추출하기 힘들고, 검색에서 부정확한 정보를 얻는 위험을 감수해야 한다. 이론의 중요성 이론의 주된 장점은 결과를 예측할 수 있도록 도와준다는 것이다. 이것은 하나의 처리 또는 일련의 처리를 수행할 때 어떤 일이 일어날지 예측할 수 있도록 해 준다. 관계형 데이터베이스는 집합 이론과 1차 술어 논리라는 수학의 두 분야에 기초를 두고 있다. 바로 이 사실이 관계형 데이터베이스가 정확한 정보를 보장하도록 해 주는 것이다. 또 이 수학의 분야들은 좋은 설계 방법론을 형식화하기 위한 기초와 좋은 관계형 데이터베이스 구조..

[데이터베이스] 데이터베이스의 종류

데이터베이스는 어떤 종류의 조직 또는 조직의 프로세스를 모델링하기 위한 목적으로 사용되는, 조직적으로 모아놓은 데이터를 말한다. 데이터베이스에는 운영(operational) 데이터베이스와 분석(analytical) 데이터베이스라는 두 종류가 있다. 데이터 베이스는 일상적으로 데이터를 수집하고 수정하고 관리할 필요가 있는 상황인 온라인 트랜젝션 처리(OLTP : On-Line Transaction Processing) 시나리오에 주로 사용된다. 반면에, 분석 데이터베이스는 역사적이고 시간에 의존적인 데이터를 저장하고 추적할 필요가 있는 상황인 온라인 분석 처리(OLAP : On-Line Analytical Processing) 시나리오에서 주로 사용된다. 분석 데이터베이스는 동향 파악, 장기간에 걸친 통계..

[데이터베이스] Attribute (속성)

1. Attribute Entity에서 관리하고자 하는 더 이상 분리되지 않는 최소의 데이터 단위이다. Entity의 고유 성격을 표현하며 Entity는 한 개 또는 그 이상을 가진다. 예) 사원(Entity) - 속성 : 이름, 주소, 전화번호, 직책 하나의 Attribute(속성)은 하나의 속성 값만 가진다. 2. Attribute 분류 2.1 특성에 따른 분류 기본 속성 (Basic Attribute) : 업무로부터 추출한 모든 속성, 가장 일반적이고 많음. 예) 제품이름, 제조년월, 원가 설계 속성 (Designed Attribute) : 데이터 모델링 과정에서 발생하는 속성 예) 코드, 일련번호 파생 속성 (Derived Attribute) : 다른 속성에 영향을 받아 발생. 데이터 정합성 유지..

[데이터베이스] Entity (엔티티)

1. Entity 실체, 객체 라는 의미를 가지고 있으며 업무에 필요하고 유용한 정보를 저장하고 관리하기 위한 것이다. Entity는 명사로 표현할 수 있다. Entity는 업무상 관리가 필요한 관심사이다. Entity는 저장되어야 하는 어떤 것(thing)이다. 예) 학생의 Entity는 이름, 학번, 학점, 전공 등의 속성으로 특징 지어질 수 있다. 2. Entity Type Entity Type은 EDM(Entity Data Model)을 사용하여 데이터 구조를 설명하는 기본 구성 요소이다. 개념적 모델에서 Entity Type은 고객이나 주문과 같은 최상위 개념의 구조를 나타낸다. Entity Type은 Entity Type Instance의 Template이다. - https://docs.mic..

728x90
반응형