├── .gitignore ├── chapter1 ├── 비교.png ├── exercise.md ├── exercise_donghyun.md ├── exercise_kunryung.md ├── exercise_taekcheon.md ├── exercise_joonshik.md ├── exercise_hosung.md ├── exercise_jinyoung.md ├── exercise_yun.md ├── exercise_myungwook.md ├── exercise_wooju.md ├── exercise_kyungjun.md └── exercise_minki.md ├── images ├── week5_1.jpg ├── week5_2.jpg ├── week5_all.jpg ├── week6_final.jpg ├── week6_pizza.jpg └── week6_explain.jpg ├── chapter3 ├── integrity.png ├── exercise.md ├── exercise_kunryung.md ├── exercise_myungwook.md ├── exercise_taekcheon.md ├── exercise_joonshik.md ├── exercise_donghyun.md ├── exercise_jinyoung.md ├── exercise_wooju.md ├── exercise_hosung.md ├── exercise_minki.md ├── exercise_yun.md └── exercise_kyungjun.md ├── chapter11 ├── exercise.md ├── exercise_hosung.md ├── exercise_myungwook.md ├── exercise_jinyoung.md ├── exercise_wooju.md ├── exercise_minki.md └── exercise_yun.md ├── chapter9 ├── exercise_hosung.md ├── exercise_jinyoung.md ├── exercise_joonshik.md ├── exercise_myungwook.md ├── exercise_taekcheon.md ├── exercise_wooju.md └── exercise_yun.md ├── chapter8 ├── exercise_hosung.md ├── exercise_jinyoung.md ├── exercise_myungwook.md ├── exercise_joonshik.md ├── exercise_taekcheon.md ├── exercise_wooju.md └── exercise_yun.md ├── chapter2 ├── exercise.md ├── exercise_joonshik.md ├── exercise_myungwook.md ├── exercise_taekcheon.md ├── exercise_donghyun.md ├── exercise_kunryung.md ├── exercise_jinyoung.md ├── exercise_minki.md ├── exercise_yun.md ├── exercise_wooju.md ├── exercise_hosung.md └── exercise_kyungjun.md ├── chapter10 ├── exercise_hosung.md ├── exercise.md ├── exercise_myungwook.md ├── exercise_minki.md ├── exercise_jinyoung.md ├── exercise_wooju.md └── exercise_yun.md ├── chapter12 ├── exercise.md ├── exercise_hosung.md ├── exercise_myungwook.md ├── exercise_jinyoung.md ├── exercise_wooju.md ├── exercise_minki.md └── exercise_yun.md ├── chapter7 ├── exercise_hosung.md ├── exercise_myungwook.md ├── exercise_joonshik.md ├── exercise_taekcheon.md ├── exercise_jinyoung.md ├── exercise_wooju.md └── exercise_yun ├── chapter4 ├── exercise_donghyun.md ├── exercise_kyungjun.md ├── exercise_joonshik.md ├── exercise_taekcheon.md ├── exercise_myungwook.md ├── exercise_wooju.md ├── exercise_hosung.md ├── exercise.md ├── exercise_minki.md └── exercise_yun.md ├── chapter6 ├── exercise_myungwook.md ├── exercise_kyungjun.md ├── exercise_donghyun.md ├── exercise_joonshik.md ├── exercise_taekcheon.md ├── exercise_wooju.md ├── exercise_minki.md ├── exercise.md ├── exercise_hosung.md └── exercise_yun.md ├── chapter5 ├── exercise_donghyun.md ├── exercise_joonshik.md ├── exercise_myungwook.md ├── exercise_taekcheon.md ├── exercise_wooju.md ├── exercise_kyungjun.md ├── exercise_minki.md ├── exercise_hosung.md ├── exercise.md └── exercise_yun.md └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | ### macOS ### 2 | # General 3 | .DS_Store 4 | .idea/ 5 | -------------------------------------------------------------------------------- /chapter1/비교.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/8percent/rdb-study/HEAD/chapter1/비교.png -------------------------------------------------------------------------------- /images/week5_1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/8percent/rdb-study/HEAD/images/week5_1.jpg -------------------------------------------------------------------------------- /images/week5_2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/8percent/rdb-study/HEAD/images/week5_2.jpg -------------------------------------------------------------------------------- /chapter3/integrity.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/8percent/rdb-study/HEAD/chapter3/integrity.png -------------------------------------------------------------------------------- /images/week5_all.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/8percent/rdb-study/HEAD/images/week5_all.jpg -------------------------------------------------------------------------------- /images/week6_final.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/8percent/rdb-study/HEAD/images/week6_final.jpg -------------------------------------------------------------------------------- /images/week6_pizza.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/8percent/rdb-study/HEAD/images/week6_pizza.jpg -------------------------------------------------------------------------------- /images/week6_explain.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/8percent/rdb-study/HEAD/images/week6_explain.jpg -------------------------------------------------------------------------------- /chapter3/exercise.md: -------------------------------------------------------------------------------- 1 | 1. 전문 용어가 중요한 이유는 무엇인가? 2 | 2. 용어의 네 가지 범주의 이름은 무엇인가? 3 | 3. 데이터와 정보의 차이는 무엇인가? 4 | 4. 널은 무엇을 표시하는가? 5 | 5. 널의 가장 큰 단점은 무엇인가? 6 | 6. 데이터베이스에 있는 주요 구조는 무엇인가? 7 | 7. 테이블의 세 가지 종류는 무엇인가? 8 | 8. 뷰는 무엇인가? 9 | 9. 키와 인덱스의 차이점은 무엇인지 서술하라. 10 | 10. 두 개의 테이블 사이에 존재할 수 있는 관계의 세 가지 종류는 무엇인가? 11 | 11. 관계를 특정 지을 수 있는 세 가지 방법은 무엇인가? 12 | 12. 필드 명세는 무엇인가? 13 | 13. 필드 명세를 구성하는 세 가지 요소는 무엇인가? 14 | 14. 데이터 무결성은 무엇인가? 15 | 15. 데이터 무결성의 네 가지 종류는 무엇인가? 16 | -------------------------------------------------------------------------------- /chapter11/exercise.md: -------------------------------------------------------------------------------- 1 | 1. 업무 규칙이란 무엇인가? 2 | 1. 업무 규칙의 두 가지 중요한 종류들의 이름을 기술하라. 3 | 1. 데이터베이스의 논리적 설계 내에서 응용프로그램 지향 업무 규칙을 설정할 수 있는가? 4 | 1. 데이터베이스 지향 업무 규칙의 두 가지 범주는 무엇인가? 5 | 1. 필드 특유의 업무 규칙이란 무엇인가? 6 | 1. 언제 업무 규칙은 테스트되는가? 7 | 1. 업무 규칙을 어떻게 문서화하는가? 8 | 1. 업무 규칙 명세서가 제공하는 두 가지 장점을 적어라. 9 | 1. 업무 규칙 명세서의 처리사항(action taken) 부분의 목적은 무엇인가? 10 | 1. 검증 테이블의 목적은 무엇인가? 11 | 1. 검증 테이블의 전형적인 구조는 무엇인가? 12 | 1. 업무 규칙과 검증 테이블 사이의 연관성은 무엇인가? 13 | 1. 완성된 업무 규칙 명세서를 모두 검토해야 하는 이유는 무엇인가? 14 | -------------------------------------------------------------------------------- /chapter9/exercise_hosung.md: -------------------------------------------------------------------------------- 1 | 1. 왜 필드 명세들이 중요한지 두 가지 이유를 적어라. 2 | 1. 필드 수준의 무결성을 설정함으로써 무엇을 얻을 수 있나? 3 | 1. 필드 명세 내의 요소들의 세 가지 범주는 무엇인가? 4 | 1. 세 종류의 명세들의 이름을 적어라. 5 | 1. 적절한 필드 설명을 작성하는 것이 왜 유익한가? 6 | 1. 데이터형 요소가 가리키는 것은 무엇인가? 7 | 1. 문자 지원 요소가 가리키는 것은 무엇인가? 8 | 1. 디스플레이 형식 요소의 목적은 무엇인가? 9 | 1. 필드 명세에 어떤 종류의 키들이 나타나는가? 10 | 1. 참/거짓 문제: 널은 공백값을 나타낸다. 11 | 1. 값 범위 요소의 중요성은 무엇인가? 12 | 1. 변경 규칙의 목적은 무엇인가? 13 | 1. 비교 허용 요소의 목적은 무엇인가? 14 | 1. 값 연산식이 무엇인가? 15 | 1. 언제 일반 명세를 사용하는가? 16 | -------------------------------------------------------------------------------- /chapter11/exercise_hosung.md: -------------------------------------------------------------------------------- 1 | 1. 업무 규칙이란 무엇인가? 2 | 1. 업무 규칙의 두 가지 중요한 종류들의 이름을 기술하라. 3 | 1. 데이터베이스의 논리적 설계 내에서 응용프로그램 지향 업무 규칙을 설정할 수 있는가? 4 | 1. 데이터베이스 지향 업무 규칙의 두 가지 범주는 무엇인가? 5 | 1. 필드 특유의 업무 규칙이란 무엇인가? 6 | 1. 언제 업무 규칙은 테스트되는가? 7 | 1. 업무 규칙을 어떻게 문서화하는가? 8 | 1. 업무 규칙 명세서가 제공하는 두 가지 장점을 적어라. 9 | 1. 업무 규칙 명세서의 처리사항(action taken) 부분의 목적은 무엇인가? 10 | 1. 검증 테이블의 목적은 무엇인가? 11 | 1. 검증 테이블의 전형적인 구조는 무엇인가? 12 | 1. 업무 규칙과 검증 테이블 사이의 연관성은 무엇인가? 13 | 1. 완성된 업무 규칙 명세서를 모두 검토해야 하는 이유는 무엇인가? 14 | -------------------------------------------------------------------------------- /chapter8/exercise_hosung.md: -------------------------------------------------------------------------------- 1 | 1. 왜 키들이 중요한지 세 가지 이유를 적어라. 2 | 1. 네 개의 중요한 키들의 종류는 무엇인가? 3 | 1. 후보 키의 목적은 무엇인가? 4 | 1. 후보 키의 요소들 중 네 항목을 적어라. 5 | 1. 참/거진 문제: 후보 키는 하나 이상의 필드들로 구성될 수 있다. 6 | 1. 테이블은 하나 이상의 후보 키를 가질 수 있는가? 7 | 1. 인위적인 후보 키란 무엇인가? 8 | 1. 테이블에 할당하는 가장 중요한 키는 무엇인가? 9 | 1. 이 키는 왜 중요한가?(8번과 연계됨) 10 | 1. 어떻게 주 키를 설정하는가? 11 | 1. 주 키의 요소들 중 네 항목을 적어라. 12 | 1. 주 키의 선택을 마무리하기 전에 반드시 무엇을 해야만 하는가? 13 | 1. 대체 키란 무엇인가? 14 | 1. 테이블 수준의 무결성을 설정함으로써 무엇을 보장하는가? 15 | 1. 왜 초기 테이블 구조를 검토해야만 하는가? 16 | -------------------------------------------------------------------------------- /chapter1/exercise.md: -------------------------------------------------------------------------------- 1 | 1. 오늘날 사용되고 있는 두 개의 주요 데이터베이스의 이름은? 2 | 2. 분석 데이터베이스는 어떤 유형의 데이터를 저장하는가? 3 | 3. 참/거짓 문제: 운영 데이터베이스는 주로 OLTP(Online Transaction Processing) 업무에 사용된다. 4 | 4. 관계형 데이터베이스 모델 이전에 일반적으로 사용되었던 두 개의 데이터 모델은 무엇인가? 5 | 5. 부모/자식 관계에 대하여 설명하라. 6 | 6. 집합 구조란 무엇인가? 7 | 7. 관계형 데이터베이스 모델은 수학 이론에 기초를 두고 있는데, 이 중 하나의 이름을 적으시오. 8 | 8. 관계형 데이터베이스 모델은 데이터를 어떻게 저장하는가? 9 | 9. 관계형 데이터베이스에 존재하는 관계의 세 가지 유형을 나열하시오. 10 | 10. 관계형 데이터베이스에서 데이터를 추출하는 방법을 설명하라. 11 | 11. 관계형 데이터베이스의 두 가지 장점에 대하여 서술하라. 12 | 12. 관계형 데이터베이스 관리 시스템은 무엇인가? 13 | 13. 객체-관계형 모델이 성립하기 위해서 어떤 전제조건이 필요한가? 14 | 14. 데이터 웨워하우스의 목적은 무엇인가? -------------------------------------------------------------------------------- /chapter2/exercise.md: -------------------------------------------------------------------------------- 1 | 1. 오늘날 사용되고 있는 두 개의 주요 데이터베이스의 이름은? 2 | 2. 분석 데이터베이스는 어떤 유형의 데이터를 저장하는가? 3 | 3. 참/거짓 문제: 운영 데이터베이스는 주로 OLTP(Online Transaction Processing) 업무에 사용된다. 4 | 4. 관계형 데이터베이스 모델 이전에 일반적으로 사용되었던 두 개의 데이터 모델은 무엇인가? 5 | 5. 부모/자식 관계에 대하여 설명하라. 6 | 6. 집합 구조란 무엇인가? 7 | 7. 관계형 데이터베이스 모델은 수학 이론에 기초를 두고 있는데, 이 중 하나의 이름을 적으시오. 8 | 8. 관계형 데이터베이스 모델은 데이터를 어떻게 저장하는가? 9 | 9. 관계형 데이터베이스에 존재하는 관계의 세 가지 유형을 나열하시오. 10 | 10. 관계형 데이터베이스에서 데이터를 추출하는 방법을 설명하라. 11 | 11. 관계형 데이터베이스의 두 가지 장점에 대하여 서술하라. 12 | 12. 관계형 데이터베이스 관리 시스템은 무엇인가? 13 | 13. 객체-관계형 모델이 성립하기 위해서 어떤 전제조건이 필요한가? 14 | 14. 데이터 웨워하우스의 목적은 무엇인가? -------------------------------------------------------------------------------- /chapter10/exercise_hosung.md: -------------------------------------------------------------------------------- 1 | 1. 관계가 유 중요한지, 대표적인 이유 두 개를 서술하라. 2 | 1. 관계의 세 유형을 적어라. 3 | 1. 어떤 관계가 가장 많은 문제를 일으키는가? 4 | 1. 다대다 관계에서 마주칠 수 있는 두 개의 문제를 서술하라. 5 | 1. 자가 참조 관계는 무엇인가? 6 | 1. 데이터베이스에 있는 테이블 사이에 관계를 식별하는 절차는 어떻게 시작하는가? 7 | 1. 이미 있는 관게를 식별하기 위해서 사용할 수 있는 두 종류의 질문은 무엇인가? 8 | 1. 테이블 행렬에 있는 1대다 관계를 지정할 때 사용하는 단축 기호는 무엇인가? 9 | 1. 행렬에 있는 각 쌍의 테이블 사이에 어떤 종류의 관계가 공식적으로 존재하는지는 어떻게 결정하는가? 10 | 1. 1대다 관계는 어떻게 설정하는가? 11 | 1. 참/거짓 문제: 자가 참조 관계를 가진 테이블에서 정보를 추출하는 것은 지루하고 다소 어려울 수 있다. 12 | 1. 자가 참조 다대다 관계는 어떻게 설정하는가? 13 | 1. 데이터베이스에 있는 외래 키는 어떻게 개선하는가? 14 | 1. 외래 키의 필드 명세 중에서 어떤 두 요소들을 반드시 수정해야 하는가? 15 | 1. 삭제 규칙의 기능은 무엇인가? 16 | -------------------------------------------------------------------------------- /chapter12/exercise.md: -------------------------------------------------------------------------------- 1 | 1. 왜 뷰를 가상 테이블이라고 부를 수 있는가? 2 | 1. 왜 뷰가 가치 있는지 두 가지 이유를 적어라. 3 | 1. 데이터베이스의 논리적 구조를 설계하면서 정의할 수 있는 뷰 종류의 이름을 적어라. 4 | 1. 데이터 뷰(또는 이 문제에 관해서는 임의 종류의 뷰)를 액세스 할 때마다 RDBMS는 무엇을 하는가? 5 | 1. 뷰의 데이터에 적용할 수 있는 수정의 종류를 무엇이 결정하는가? 6 | 1. 다중 테이블 데이터 뷰를 정의하기 위해 충족시켜야 하는 유일한 요구사항은 무엇인가? 7 | 1. 왜 데이터 뷰는 자신의 주 키를 포함하지 않는가? 8 | 1. 집계 뷰의 목적은 무엇인가? 9 | 1. 데이터 집합에 적용할 수 있는 가장 일반적인 집계 함수들은 무엇인가? 10 | 1. 그룹화 필드란 무엇인가? 11 | 1. 참/거짓 문제: 집계 뷰 내의 데이터를 수정할 수 있다. 12 | 1. 검증 테이블과 검증 뷰의 차이점은 무엇인가? 13 | 1. 뷰 요구사항을 식별할 때 고려해야 하는 두 가지 요점의 이름을 적어라. 14 | 1. 언제 계산된 필드를 사용해야만 하는가? 15 | 1. 공상 과학 서적만 표시하는 뷰를 어떻게 정의하는가? 16 | 1. 왜 데이터베이스 내의 모든 뷰를 위해 뷰 명세서를 완성해야만 하는가? 17 | -------------------------------------------------------------------------------- /chapter12/exercise_hosung.md: -------------------------------------------------------------------------------- 1 | 1. 왜 뷰를 가상 테이블이라고 부를 수 있는가? 2 | 1. 왜 뷰가 가치 있는지 두 가지 이유를 적어라. 3 | 1. 데이터베이스의 논리적 구조를 설계하면서 정의할 수 있는 뷰 종류의 이름을 적어라. 4 | 1. 데이터 뷰(또는 이 문제에 관해서는 임의 종류의 뷰)를 액세스 할 때마다 RDBMS는 무엇을 하는가? 5 | 1. 뷰의 데이터에 적용할 수 있는 수정의 종류를 무엇이 결정하는가? 6 | 1. 다중 테이블 데이터 뷰를 정의하기 위해 충족시켜야 하는 유일한 요구사항은 무엇인가? 7 | 1. 왜 데이터 뷰는 자신의 주 키를 포함하지 않는가? 8 | 1. 집계 뷰의 목적은 무엇인가? 9 | 1. 데이터 집합에 적용할 수 있는 가장 일반적인 집계 함수들은 무엇인가? 10 | 1. 그룹화 필드란 무엇인가? 11 | 1. 참/거짓 문제: 집계 뷰 내의 데이터를 수정할 수 있다. 12 | 1. 검증 테이블과 검증 뷰의 차이점은 무엇인가? 13 | 1. 뷰 요구사항을 식별할 때 고려해야 하는 두 가지 요점의 이름을 적어라. 14 | 1. 언제 계산된 필드를 사용해야만 하는가? 15 | 1. 공상 과학 서적만 표시하는 뷰를 어떻게 정의하는가? 16 | 1. 왜 데이터베이스 내의 모든 뷰를 위해 뷰 명세서를 완성해야만 하는가? 17 | -------------------------------------------------------------------------------- /chapter7/exercise_hosung.md: -------------------------------------------------------------------------------- 1 | 1. 새 데이터베이스를 위한 테이블들을 어떻게 식별하고 설정하는가? 2 | 1. 데이터베이스를 위한 테이블들을 정의하는 데 도움을 받기 위해 왜 예비 필드 목록을 사용하는가? 3 | 1. 주제 목록의 한 항목과 예비 테이블 목록에 다르게 이름이 부여된 항목이 둘 다 같은 주제를 나타낼 때 어떤 조치를 취하겠는가? 4 | 1. 최종 테이블 목록은 어떤 정보를 제공하는가? 5 | 1. 테이블 이름을 만들기 위한 세 개의 지침을 적어라. 6 | 1. 테이블 설명을 작성하기 위한 두 개의 지침을 적어라. 7 | 1. 최종 테이블 목록상의 테이블에 어떻게 필드들을 할당하는가? 8 | 1. 필드 이름을 만들기 위한 세 개의 지침을 적어라. 9 | 1. 잘못 설계된 필드들은 어떤 두 가지 문제를 야기하는가? 10 | 1. 필드 비정상을 해소하기 위해 무엇을 사용할 수 있는가? 11 | 1. 이상적인 필드의 요소들 중 세 개를 적어라. 12 | 1. 어떤 조건하에서 이중 필드를 허용할 수 있는가? 13 | 1. 개괄적으로 다중값 필드를 해소하기 위해 어떤 세 가지 절차를 따르는가? 14 | 1. 테이블 내에서 언제 이중 필드를 사용할 필요가 있는가? 15 | 1. 어떻게 테이블 구조를 정제할 수 있는가? 16 | 1. 이상적인 테이블의 요소들 중 세 개를 적어라. 17 | 1. 부분 집합 테이블은 무엇인가? 18 | -------------------------------------------------------------------------------- /chapter10/exercise.md: -------------------------------------------------------------------------------- 1 | 1. 관계가 왜 중요한지, 대표적인 이유 두개를 서술하라 2 | 1. 관계의 세 유형을 적어라 3 | 1. 어떤 관계가 가장 많은 문제를 일으키는가? 4 | 1. 다대다 관계에서 마주칠 수 있는 두 개의 문제를 서술하라. 5 | 1. 자가 참조 관계는 무엇인가? 6 | 1. 데이터베이스에 있는 테이블 사이에 관계를 식별하는 절차는 어떻게 시작하는가? 7 | 1. 이미 있는 관계를 식별하기 위해 사용할 수 있는 두 종류의 질문은 무엇인가? 8 | 1. 테이블 행렬에 있는 1대다 관계를 지정할 때 사용하는 단축 기호는 무엇인가? 9 | 1. 행렬에 있는 각 쌍의 테이블 사이에 어떤 종류의 관계가 공식적으로 존재하는지는 어떻게 결정하는가? 10 | 1. 1대다 관계는 어떻게 설정하는가? 11 | 1. 참/거짓 문제: 자가 참조 관계를 가진 테이블에서 정보를 추출하는 것은 지루하고 다소 어려울 수 있다. 12 | 1. 자가 참조 다대다 관계는 어떻게 설정하는가? 13 | 1. 데이터베이스에 있는 외래 키는 어떻게 개선하는가? 14 | 1. 외래 키의 필드 명세 중에서 어떤 두 요소들을 반드시 수정해야 하는가? 15 | 1. 삭제 규칙의 기능은 무엇인가? 16 | 1. 테이블에 대하여 지정할 수 있는 두 가지 참여 종류는 무엇인가? 17 | 1. 참여의 정도는 무엇을 나타내는가? 18 | 1. 관계는 언제 관계 수준 무결성을 획득해야하는가? 19 | -------------------------------------------------------------------------------- /chapter2/exercise_joonshik.md: -------------------------------------------------------------------------------- 1 | 1. RDBMS 프로그램의 설계 도구를 사용하기에 가장 좋은 순간은? 2 | * 논리적 데이터 베이스 설계법을 이해한 순간 3 | 2. 참/거짓 문제: 설계는 데이터의 일관성, 무결성 정확성에 매우 중요하다. 4 | * O 5 | 3. 잘못된 데이터베이스 설계의 가장 해로운 결과는 무엇인가? 6 | * 부정확한 정보 7 | 4. 관계형 데이터베이스를 구조적으로 튼튼하게 해주고 정확한 정보를 보장할 수 있게 해주는 것은? 8 | * 훌룡한 설계(이론) 9 | 5. 설계 방법론을 학습할 때의 두 가지 장점은 무엇인가? 10 | * 견고한 데이터베이스 구조 11 | * 실수 X 12 | 6. 참/거짓 문제: 데이터베이스 설계를 이해한다면 RDBMS 프로그램을 효율적으로 사용할 수 있을 것이다. 13 | * O 14 | 7. 훌륭한 설계의 두 가지 목적을 나열하라. 15 | * 필요한 데이터 모두 저장 16 | * 무결성 17 | * 미래 성장(확장) 18 | 8. 데이터 구조와 그 값이 항상 정확하고 의미 있는 값이라는 것을 보장하는 데 도움을 주는 것은? 19 | * 데이터 무결성 20 | 9. 훌륭한 설계 기법을 적용할 때의 두 가지 장점을 기술하라. 21 | * 쉬운 수정, 운영 22 | * 쉬운 검색 23 | 10. 참/거짓 문제: 설계 프로세스를 일부 단축하더라도 여전히 훌륭하고 튼튼한 설계를 할 수 있다. 24 | * X -------------------------------------------------------------------------------- /chapter2/exercise_myungwook.md: -------------------------------------------------------------------------------- 1 | 1. RDBMS 프로그램의 설계 도구를 사용하기에 가장 좋은 순간은? 2 | - 설계 이론을 배우고, 논리적인 설계를 마친 이후 3 | 2. 참/거짓 문제: 설계는 데이터의 일관성, 무결성 정확성에 매우 중요하다. 4 | - 참 5 | 3. 잘못된 데이터베이스 설계의 가장 해로운 결과는 무엇인가? 6 | - 부정확한 데이터 7 | 4. 관계형 데이터베이스를 구조적으로 튼튼하게 해주고 정확한 정보를 보장할 수 있게 해주는 것은? 8 | - 훌륭한 설계 9 | 5. 설계 방법론을 학습할 때의 두 가지 장점은 무엇인가? 10 | - 실수와 설계 반복을 최소한으로 줄여준다. 11 | - 단계적으로 수행하면 되므로, 비교적 쉽게 설계할 수 있다. 12 | 6. 참/거짓 문제: 데이터베이스 설계를 이해한다면 RDBMS 프로그램을 효율적으로 사용할 수 있을 것이다. 13 | - 거짓 14 | 7. 훌륭한 설계의 두 가지 목적을 나열하라. 15 | - 테이블을 적절하고 효율적으로 구성한다. 16 | - 미래 확장에 대비한다. 17 | 8. 데이터 구조와 그 값이 항상 정확하고 의미 있는 값이라는 것을 보장하는 데 도움을 주는 것은? 18 | - 집합 이론과 같은 이론적 배경 19 | 9. 훌륭한 설계 기법을 적용할 때의 두 가지 장점을 기술하라. 20 | - 데이터베이스를 쉽게 수정할 수 있다. 21 | - 원하는 정보를 쉽게 검색할 수 있다. 22 | 10. 참/거짓 문제: 설계 프로세스를 일부 단축하더라도 여전히 훌륭하고 튼튼한 설계를 할 수 있다. 23 | - 거짓. 모든 절차를 빠짐없이 따라야 좋은 설계가 된다. 24 | -------------------------------------------------------------------------------- /chapter2/exercise_taekcheon.md: -------------------------------------------------------------------------------- 1 | 1. RDBMS 프로그램의 설계 도구를 사용하기에 가장 좋은 순간은? 2 | - 설계 프로세스를 통해 논리적 데이터베이스가 생성된 이후 3 | 4 | 2. 참/거짓 문제: 설계는 데이터의 일관성, 무결성 정확성에 매우 중요하다. 5 | - O 6 | 7 | 3. 잘못된 데이터베이스 설계의 가장 해로운 결과는 무엇인가? 8 | - 부정확한 정보 9 | 10 | 4. 관계형 데이터베이스를 구조적으로 튼튼하게 해주고 정확한 정보를 보장할 수 있게 해주는 것은? 11 | - 집합 이론과 1차 술어 논리 12 | 13 | 5. 설계 방법론을 학습할 때의 두 가지 장점은 무엇인가? 14 | - RDBMS를 완벽에 가깝도록 사용할 수 있다. 15 | - 잘못 설계한 데이터베이스를 고칠 시간을 줄일 수 있다. 16 | 17 | 6. 참/거짓 문제: 데이터베이스 설계를 이해한다면 RDBMS 프로그램을 효율적으로 사용할 수 있을 것이다. 18 | - O 19 | 20 | 7. 훌륭한 설계의 두 가지 목적을 나열하라. 21 | - 미래에 데이터베이스를 확장하기 쉬운 구조 22 | - 조직의 업무규칙을 적용할 수 있음 23 | 24 | 8. 데이터 구조와 그 값이 항상 정확하고 의미 있는 값이라는 것을 보장하는 데 도움을 주는 것은? 25 | - 무결성 26 | 27 | 9. 훌륭한 설계 기법을 적용할 때의 두 가지 장점을 기술하라. 28 | - 쉽고 간단하게 사용할 수 있다. 29 | - 데이터 수정이 일어날 때 다른 테이블에 영향을 주지 않는다. 30 | 31 | 10. 참/거짓 문제: 설계 프로세스를 일부 단축하더라도 여전히 훌륭하고 튼튼한 설계를 할 수 있다. 32 | - X -------------------------------------------------------------------------------- /chapter4/exercise_donghyun.md: -------------------------------------------------------------------------------- 1 | 1. 설계 프로세스 전체를 완료하는 것이 중요한 이유는 무엇인가? 2 | * 데이터베이스 무결성 수준이 설계 프로세스를 준수한 정도와 비례 3 | * 데이터베이스 운영 관련 이슈가 줄어듬 4 | 2. 참/거짓 문제: 구조적 무결성의 수준이 설계 프로세스 전체를 준수하는 것과 정비례하는가? 5 | * 참 6 | 3. 임무 명세의 목적은 무엇인가? 7 | * 명환한 설계 작업 수행 8 | 4. 임무 목표는 무엇인가? 9 | * 사용자가 데이터베이스 내 데이터로 수행 할 수 있는 일반적인 작업 10 | 5. 조직의 기본적인 데이터 요구사항은 무엇으로 인식되는가? 11 | * 인터뷰를 통해 인식 12 | 6. 테이블이 나타내는 다양한 대상은 어떻게 결정하는가? 13 | * 기존 데이터베이스 분석으로 얻은 데이터 요건으로 결정 14 | 7. 참/거짓 문제: 데이터베이스 설계 프로세스의 두 번째 단계에서 데이터베이스에 있는 각 필드에 대한 필드 명세를 설정한다. 15 | * 거짓 16 | 8. 관계에 있는 테이블 사이에 논리적 연결은 어떻게 설정하는가? 17 | * 기본키와 연결 테이블을 통해 설정 18 | 9. 무엇이 데이터베이스에 설정해야 하는 제약사항과 요건들을 결정하는가? 19 | * 인터뷰한 후 만든 업무 규칙 20 | 10. 특정 업무 규칙을 지원하기 위해 무엇을 설계하고 구현할 수 있는가? 21 | * 검증 테이블 22 | 11. 데이터베이스에 구축할 필요가 있는 뷰의 종류는 어떻게 결정되는가? 23 | * 인터뷰 수행 24 | 12. 언제 RDBMS 프로그램에서 논리적인 구조를 구현할 수 있는가? 25 | * 데이터베이스 설계 프로세스 전체를 완료할 때 -------------------------------------------------------------------------------- /chapter2/exercise_donghyun.md: -------------------------------------------------------------------------------- 1 | 1. RDBMS 프로그램의 설계 도구를 사용하기에 가장 좋은 순간은? 2 | * 논리적 데이터베이스 구조를 설계한 이후. 3 | 2. 참/거짓 문제: 설계는 데이터의 일관성, 무결성 정확성에 매우 중요하다. 4 | * 참 5 | 3. 잘못된 데이터베이스 설계의 가장 해로운 결과는 무엇인가? 6 | * 데이터 검색이 부정확한 정보를 제공할 때. 7 | 4. 관계형 데이터베이스를 구조적으로 튼튼하게 해주고 정확한 정보를 보장할 수 있게 해주는 것은? 8 | * 집합 이론과 1차 술어 논리를 기초로 개발되었다는 점. 9 | 5. 설계 방법론을 학습할 때의 두 가지 장점은 무엇인가? 10 | * 견고한 데이터베이스 구조를 설계하는 데 필요한 기술을 제공한다. 11 | * 설계 프로세스를 쉽게 만들며 데이터베이스의 설계에 소요되는 시간을 줄여준다. 12 | 6. 참/거짓 문제: 데이터베이스 설계를 이해한다면 RDBMS 프로그램을 효율적으로 사용할 수 있을 것이다. 13 | * 참 14 | 7. 훌륭한 설계의 두 가지 목적을 나열하라. 15 | * 테이블은 적절하고 효율적으로 구성되어야 한다. 16 | * 필드, 테이블, 관계 수준에서 데이터 무결성이 부과된다. 17 | 8. 데이터 구조와 그 값이 항상 정확하고 의미 있는 값이라는 것을 보장하는 데 도움을 주는 것은? 18 | * 훌륭한 설계. 19 | 9. 훌륭한 설계 기법을 적용할 때의 두 가지 장점을 기술하라. 20 | * 정보를 쉽게 검색할 수 있다. 21 | * 최종 사용자 응용프로그램을 개발하고 구축하기가 쉽다. 22 | 10. 참/거짓 문제: 설계 프로세스를 일부 단축하더라도 여전히 훌륭하고 튼튼한 설계를 할 수 있다. 23 | * 거짓 24 | -------------------------------------------------------------------------------- /chapter2/exercise_kunryung.md: -------------------------------------------------------------------------------- 1 | 1. RDBMS 프로그램의 설계 도구를 사용하기에 가장 좋은 순간은? 2 | * 논리적 데이터베이스 구조를 설계한 이후. 3 | 2. 참/거짓 문제: 설계는 데이터의 일관성, 무결성 정확성에 매우 중요하다. 4 | * 참 5 | 3. 잘못된 데이터베이스 설계의 가장 해로운 결과는 무엇인가? 6 | * 데이터 검색이 부정확한 정보를 제공할 때. 7 | 4. 관계형 데이터베이스를 구조적으로 튼튼하게 해주고 정확한 정보를 보장할 수 있게 해주는 것은? 8 | * 집합 이론과 1차 술어 논리를 기초로 개발되었다는 점. 9 | 5. 설계 방법론을 학습할 때의 두 가지 장점은 무엇인가? 10 | * 견고한 데이터베이스 구조를 설계하는 데 필요한 기술을 제공한다. 11 | * 설계 프로세스를 쉽게 만들며 데이터베이스의 설계에 소요되는 시간을 줄여준다. 12 | 6. 참/거짓 문제: 데이터베이스 설계를 이해한다면 RDBMS 프로그램을 효율적으로 사용할 수 있을 것이다. 13 | * 참 14 | 7. 훌륭한 설계의 두 가지 목적을 나열하라. 15 | * 테이블은 적절하고 효율적으로 구성되어야 한다. 16 | * 필드, 테이블, 관계 수준에서 데이터 무결성이 부과된다. 17 | 8. 데이터 구조와 그 값이 항상 정확하고 의미 있는 값이라는 것을 보장하는 데 도움을 주는 것은? 18 | * 훌륭한 설계. 19 | 9. 훌륭한 설계 기법을 적용할 때의 두 가지 장점을 기술하라. 20 | * 정보를 쉽게 검색할 수 있다. 21 | * 최종 사용자 응용프로그램을 개발하고 구축하기가 쉽다. 22 | 10. 참/거짓 문제: 설계 프로세스를 일부 단축하더라도 여전히 훌륭하고 튼튼한 설계를 할 수 있다. 23 | * 거짓 24 | -------------------------------------------------------------------------------- /chapter2/exercise_jinyoung.md: -------------------------------------------------------------------------------- 1 | 1. RDBMS 프로그램의 설계 도구를 사용하기에 가장 좋은 순간은? 2 | 3 | 논리적 데이터베이스 구조를 설계한 이후에 4 | 5 | 2. 참/거짓 문제: 설계는 데이터의 일관성, 무결성 정확성에 매우 중요하다. 6 | 참 7 | 8 | 3. 잘못된 데이터베이스 설계의 가장 해로운 결과는 무엇인가? 9 | 부정확한 정보 10 | 11 | 4. 관계형 데이터베이스를 구조적으로 튼튼하게 해주고 정확한 정보를 보장할 수 있게 해주는 것은? 12 | 수학적 이론 13 | 14 | 5. 설계 방법론을 학습할 때의 두 가지 장점은 무엇인가? 15 | 16 | - 실수와 설계 반복을 최소한으로 줄여준다. 17 | 18 | - RDBMS를 보다 완벽하고 효과적으로 이해/사용 할 수 있도록 도와준다. 19 | 20 | 6. 참/거짓 문제: 데이터베이스 설계를 이해한다면 RDBMS 프로그램을 효율적으로 사용할 수 있을 것이다. 21 | 참 22 | 23 | 7. 훌륭한 설계의 두 가지목적을 나열하라. 24 | 25 | - 테이블은 적절하고 효율적으로 구성되어야 한다. 26 | 27 | - 데이터베이스는 필수 및 임의적인 정보 검색을 모두 지원한다. 28 | 29 | 8. 데이터 구조와 그 값이 항상 정확하고 의미 있는 값이라는 것을 보장하는 데 도움을 주는 것은? 30 | 정규형 테스트 31 | 9. 훌륭한 설계 기법을 적용할 때의 두 가지 장점을 기술하라. 32 | - 정보를 쉽게 검색할 수 있다. 33 | - 데이터를 쉽게 수정할 수 있다. 34 | 35 | 10. 참/거짓 문제: 설계 프로세스를 일부 단축하더라도 여전히 훌륭하고 튼튼한 설계를 할 수 있다. 36 | 거짓 -------------------------------------------------------------------------------- /chapter4/exercise_kyungjun.md: -------------------------------------------------------------------------------- 1 | 1. 설계 프로세스 전체를 완료하는 것이 중요한 이유는 무엇인가? 2 | > 정상적인 구조와 데이터 무결성 보장 3 | 4 | 2. 참/거짓 문제: 구조적 무결성의 수준이 설계 프로세스 전체를 준수하는 것과 정비례하는가? 5 | > 참 6 | 7 | 3. 임무 명세의 목적은 무엇인가? 8 | > 데이터베이스의 목적을 설정한다. 9 | 10 | 4. 임무 목표는 무엇인가? 11 | > 데이터베이스에 있는 데이터를 통해 사용자가 수행할 수 있는 작업(일반적인) 12 | 13 | 5. 조직의 기본적인 데이터 요구사항은 무엇으로 인식되는가? 14 | > 기존 데이터베이스를 분석하고 사용자,관리자와 인터뷰를 진행 하는 것 15 | 16 | 6. 테이블이 나타내는 다양한 대상은 어떻게 결정하는가? 17 | > 첫번째 단계에서 작성된 핵심 목표와 두 번째 단계에서 수집된 데이터 요건들을 통하여 결정한다. 18 | 19 | 7. 참/거짓 문제: 데이터베이스 설계 프로세스의 두 번째 단계에서 데이터베이스에 있는 각 필드에 대한 필드 명세를 설정한다. 20 | > 거짓 21 | 22 | 8. 관계에 있는 테이블 사이에 논리적 연결은 어떻게 설정하는가? 23 | > 기본키나 연결 테이블 활용 24 | 25 | 9. 무엇이 데이터베이스에 설정해야 하는 제약사항과 요건들을 결정하는가? 26 | > 업무 규칙 27 | 28 | 10. 특정 업무 규칙을 지원하기 위해 무엇을 설계하고 구현할 수 있는가? 29 | > 뷰 30 | 31 | 11. 데이터베이스에 구축할 필요가 있는 뷰의 종류는 어떻게 결정되는가? 32 | > 사용자와의 인터뷰, 관리자와의 인터뷰의 데이터에 기반해서 33 | 34 | 12. 언제 RDBMS 프로그램에서 논리적인 구조를 구현할 수 있는가? 35 | > 전체 데이터베이스 설계 프로세스를 완료한 후 36 | -------------------------------------------------------------------------------- /chapter4/exercise_joonshik.md: -------------------------------------------------------------------------------- 1 | 1. 설계 프로세스 전체를 완료하는 것이 중요한 이유는 무엇인가? 2 | * 부분적으로 수행하는 것과 사용하지 않는 것이 크게 다르지 않고 프로세스의 수준과 무결성이 비례하기 때문이다. 3 | 2. 참/거짓 문제: 구조적 무결성의 수준이 설계 프로세스 전체를 준수하는 것과 정비례하는가? 4 | * O 5 | 3. 임무 명세의 목적은 무엇인가? 6 | * 데이터베이스의 목적을 설정하고 설계 작업을 수행하기 위해 초점을 맞추는 것이다. 7 | 4. 임무 목표는 무엇인가? 8 | * 임무 명세를 지원하는, 데이터에 대한 작업을 수행할 수 있는 일반적인 작업들을 나타낸다. 9 | 5. 조직의 기본적인 데이터 요구사항은 무엇으로 인식되는가? 10 | * 인터뷰를 통하여 인식한다. 11 | 6. 테이블이 나타내는 다양한 대상은 어떻게 결정하는가? 12 | * 인터뷰를 통하여 임무 목표와 데이터 분석을 하면서 정한다. 13 | 7. 참/거짓 문제: 데이터베이스 설계 프로세스의 두 번째 단계에서 데이터베이스에 있는 각 필드에 대한 필드 명세를 설정한다. 14 | * X 15 | 8. 관계에 있는 테이블 사이에 논리적 연결은 어떻게 설정하는가? 16 | * 사용자 및 관리자와의 인터뷰를 통하여 설정 17 | 9. 무엇이 데이터베이스에 설정해야 하는 제약사항과 요건들을 결정하는가? 18 | * 조직이 데이터를 사용하는 법 19 | 10. 특정 업무 규칙을 지원하기 위해 무엇을 설계하고 구현할 수 있는가? 20 | * 검증 테이블 21 | 11. 데이터베이스에 구축할 필요가 있는 뷰의 종류는 어떻게 결정되는가? 22 | * 인터뷰를 진행하여 필요한 정보 인지 23 | 12. 언제 RDBMS 프로그램에서 논리적인 구조를 구현할 수 있는가? 24 | * 설계 프로세스가 완료되는 경우 -------------------------------------------------------------------------------- /chapter11/exercise_myungwook.md: -------------------------------------------------------------------------------- 1 | 1. 업무 규칙이란 무엇인가? 2 | - 조직이 데이터베이스를 사용하는 방법에 대한 규칙 3 | 1. 업무 규칙의 두 가지 중요한 종류들의 이름을 기술하라. 4 | - 데이터베이스지향, 응용프로그램지향 5 | 1. 데이터베이스의 논리적 설계 내에서 응용프로그램 지향 업무 규칙을 설정할 수 있는가? 6 | - 없다 7 | 1. 데이터베이스 지향 업무 규칙의 두 가지 범주는 무엇인가? 8 | - 필드 특유, 관계 특유 9 | 1. 필드 특유의 업무 규칙이란 무엇인가? 10 | - 특정 필드를 위한 필드 명세의 요소들에 제약조건을 부과한다. 11 | 1. 언제 업무 규칙은 테스트되는가? 12 | - 데이터 삽입, 삭제, 갱신 시 13 | 1. 업무 규칙을 어떻게 문서화하는가? 14 | - 업무규칙 명세서를 채운다 15 | 1. 업무 규칙 명세서가 제공하는 두 가지 장점을 적어라. 16 | - 모든 업무규칙을 기록하기 위한 표준을 제공한다 17 | - 데이터베이스 및 응용프로그램 지향 업무를 문서화하도록 해준다 18 | 1. 업무 규칙 명세서의 처리사항(action taken) 부분의 목적은 무엇인가? 19 | - 업무규칙으로 인해 실제로 변경된 사항을 적는다. 문제가 생겼을때의 확인용도 20 | 1. 검증 테이블의 목적은 무엇인가? 21 | - 특정 필드의 값이 업무규칙에 벗어나는지 확인하기 위한 테이블로, 필드의 값이 검증테이블에 없으면 잘못된 값이다. 22 | 1. 검증 테이블의 전형적인 구조는 무엇인가? 23 | - 주 키, 비 키 쌍의 필드로 구성되어있다. 24 | 1. 업무 규칙과 검증 테이블 사이의 연관성은 무엇인가? 25 | - 업무 규칙에 부합하는 데이터만 검증 테이블에 포함되어있다. 26 | 1. 완성된 업무 규칙 명세서를 모두 검토해야 하는 이유는 무엇인가? 27 | - 데이터베이스의 중요한 구성요소이기 때문에 28 | -------------------------------------------------------------------------------- /chapter3/exercise_kunryung.md: -------------------------------------------------------------------------------- 1 | 1. 전문 용어가 중요한 이유는 무엇인가? 2 | 용어는 관계형 데이터베이스 모델에 대한 개념과 의견들을 정의하고 표현할 때 사용된다. 용어는 데이터베이스 설계 프로세스 자체를 정의하고 표현할 때 사용된다. 용어는 관계형 데이터베이스나 RDBMS에 대하여 이야기 할 때면 언제나 사용된다. 3 | 2. 용어의 네 가지 범주의 이름은 무엇인가? 4 | 값 구조 관계 무결성 5 | 3. 데이터와 정보의 차이는 무엇인가? 6 | 정보 = 데이터를 몇가지 가공해 의미있는 결과로 바뀐 것 7 | 4. 널은 무엇을 표시하는가? 8 | 없거나 알려지지 않은 값 9 | 5. 널의 가장 큰 단점은 무엇인가? 10 | 수학적 연산에 부정적인 영향을 미친다는 것 11 | 6. 데이터베이스에 있는 주요 구조는 무엇인가? 12 | 테이블 13 | 7. 테이블의 세 가지 종류는 무엇인가? 14 | 8. 뷰는 무엇인가? 15 | 데이터베이스의 하나 이상의 테이블에서 여러 필드들을 조합해 만든 가상 테이블 16 | 9. 키와 인덱스의 차이점은 무엇인지 서술하라. 17 | 키는 레코드를 식별할 때 사용하는 논리적인 구조, 인덱스는 처리 속도를 최적화 할 때 사용하는 물리적 구조 18 | 10. 두 개의 테이블 사이에 존재할 수 있는 관계의 세 가지 종류는 무엇인가? 19 | 일대일, 일대다, 다대다 20 | 11. 관계를 특정 지을 수 있는 세 가지 방법은 무엇인가? 21 | 관계의 종류, 참여의 종류, 참여의 정도 22 | 12. 필드 명세는 무엇인가? 23 | 도메인이라 알려진 필드의 모든 요소를 표시하는 것 24 | 13. 필드 명세를 구성하는 세 가지 요소는 무엇인가? 25 | 일반적인 물리적인 논리적인 26 | 14. 데이터 무결성은 무엇인가? 27 | 15. 데이터 무결성의 네 가지 종류는 무엇인가? 28 | 테이블 수준 무결성 필드 수준 무결성 관계 수준 무결성 업무 규칙 29 | 30 | -------------------------------------------------------------------------------- /chapter4/exercise_taekcheon.md: -------------------------------------------------------------------------------- 1 | 1. 설계 프로세스 전체를 완료하는 것이 중요한 이유는 무엇인가? 2 | - 데이터베이스의 무결성 수준이 설계 프로세스 전체를 준수한 정도와 비례하기 때문이다. 3 | - 데이터베이스를 운영할 때 생기는 문제를 덜 마주치게 된다. 4 | 5 | 2. 참/거짓 문제: 구조적 무결성의 수준이 설계 프로세스 전체를 준수하는 것과 정비례하는가? 6 | - O 7 | 8 | 3. 임무 명세의 목적은 무엇인가? 9 | - 명확하게 설계 작업을 수행하기 위함이다. 10 | 11 | 4. 임무 목표는 무엇인가? 12 | - 사용자가 데이터베이스 내의 데이터로 수행할 수 있는 일반적인 작업. 13 | 14 | 5. 조직의 기본적인 데이터 요구사항은 무엇으로 인식되는가? 15 | - 사용자와 관리자 간 인터뷰를 통해서 인식된다. 16 | 17 | 6. 테이블이 나타내는 다양한 대상은 어떻게 결정하는가? 18 | - 핵심 목표와 기존 데이터베이스 분석으로 얻은 데이터 요건으로 결정된다. 19 | 20 | 7. 참/거짓 문제: 데이터베이스 설계 프로세스의 두 번째 단계에서 데이터베이스에 있는 각 필드에 대한 필드 명세를 설정한다. 21 | - X 22 | 23 | 8. 관계에 있는 테이블 사이에 논리적 연결은 어떻게 설정하는가? 24 | - 기본 키와 연결 테이블로 설정한다. 25 | 26 | 9. 무엇이 데이터베이스에 설정해야 하는 제약사항과 요건들을 결정하는가? 27 | - 사용자와 관리자를 인터뷰한 결과로 얻은 업무 규칙. 28 | 29 | 10. 특정 업무 규칙을 지원하기 위해 무엇을 설계하고 구현할 수 있는가? 30 | - 검증 테이블. 31 | 32 | 11. 데이터베이스에 구축할 필요가 있는 뷰의 종류는 어떻게 결정되는가? 33 | - 사용자와 관리자 간 인터뷰를 수행해야 한다. 34 | 35 | 12. 언제 RDBMS 프로그램에서 논리적인 구조를 구현할 수 있는가? 36 | - 데이터베이스 설계 프로세스 전체를 완료해야한다. -------------------------------------------------------------------------------- /chapter4/exercise_myungwook.md: -------------------------------------------------------------------------------- 1 | 1. 설계 프로세스 전체를 완료하는 것이 중요한 이유는 무엇인가? 2 | - 결함이 있는 데이터베이스를 만들게 되고, 부정확한 데이터를 만들게 된다. 각종 데이터베이스의 문제가 설계프로세스를 제대로 따르지 않았기 때문에 발생한다. 3 | 1. 참/거짓 문제: 구조적 무결성의 수준이 설계 프로세스 전체를 준수하는 것과 정비례하는가? 4 | - 참 5 | 1. 임무 명세의 목적은 무엇인가? 6 | - 데이터베이스 혹은 테이블을 만드는 목적을 정의하기 위해서이다. 7 | 1. 임무 목표는 무엇인가? 8 | - 임무 명세를 달성하기 위해 해야 할 일을 정의한 것이다. 9 | 1. 조직의 기본적인 데이터 요구사항은 무엇으로 인식되는가? 10 | - 기존에 사용하고 있는(종이 데이터, 인덱스 카드 등) 데이터베이스로부터 인식된다. 11 | 1. 테이블이 나타내는 다양한 대상은 어떻게 결정하는가? 12 | - 사용자, 관리자 인터뷰를 통해 13 | 1. 참/거짓 문제: 데이터베이스 설계 프로세스의 두 번째 단계에서 데이터베이스에 있는 각 필드에 대한 필드 명세를 설정한다. 14 | - 거짓. 기존 데이터 분석이다. 15 | 1. 관계에 있는 테이블 사이에 논리적 연결은 어떻게 설정하는가? 16 | - 기본 키를 사용해 관계를 설정한다. 17 | 1. 무엇이 데이터베이스에 설정해야 하는 제약사항과 요건들을 결정하는가? 18 | - '고용인은 최대 20명'과 같은 정보를 인터뷰를 통해 알게 된다. 19 | 1. 특정 업무 규칙을 지원하기 위해 무엇을 설계하고 구현할 수 있는가? 20 | - 웹서비스를 통해 데이터베이스를 다루게끔 할 수 있다. 21 | 1. 데이터베이스에 구축할 필요가 있는 뷰의 종류는 어떻게 결정되는가? 22 | - 사용자들의 데이터 사용 목적에 따라 결정된다. 23 | 1. 언제 RDBMS 프로그램에서 논리적인 구조를 구현할 수 있는가? 24 | - 설계프로세스를 모두 마치고 구현할 수 있다. 25 | -------------------------------------------------------------------------------- /chapter4/exercise_wooju.md: -------------------------------------------------------------------------------- 1 | 1. 설계 프로세스 전체를 완료하는 것이 중요한 이유는 무엇인가? 2 | - 설계 프로세스를 완료 하는 것이 좋은 구조의 데이터와 무결성을 확보할 가능성이 높다.정비례 관계이다. 3 | 2. 참/거짓 문제: 구조적 무결성의 수준이 설계 프로세스 전체를 준수하는 것과 정비례하는가? 4 | - 참 5 | 3. 임무 명세의 목적은 무엇인가? 6 | - 적절한 데이터베이스 구조를 개발과 데이터베이스를 만드는 목적의 데이터 확보 7 | 4. 임무 목표는 무엇인가? 8 | - 사용자가 데이터베이스의 데이터를 가지고 할 수 있는 일반적인 작업들 9 | 5. 조직의 기본적인 데이터 요구사항은 무엇으로 인식되는가? 10 | - 설계 프로세스의 두번째 단계를 진행하며 취합한 필드와 계산 목록은 조직의 기초적인 데이터 요구사항으로 구성 11 | 6. 테이블이 나타내는 다양한 대상은 어떻게 결정하는가? 12 | - 임무목표와 데이터요구사항을 바탕으로 결정 13 | 7. 참/거짓 문제: 데이터베이스 설계 프로세스의 두 번째 단계에서 데이터베이스에 있는 각 필드에 대한 필드 명세를 설정한다. 14 | - 거짓: 세번째 단계 15 | 8. 관계에 있는 테이블 사이에 논리적 연결은 어떻게 설정하는가? 16 | - 주키나 연결테이블과 관계에 있는 테이블 사이에 논리적 연결을 설정 17 | 9. 무엇이 데이터베이스에 설정해야 하는 제약사항과 요건들을 결정하는가? 18 | - 조직이 데이터를 바라보고 사용하는 방법 19 | 10. 특정 업무 규칙을 지원하기 위해 무엇을 설계하고 구현할 수 있는가? 20 | - 검정테이블을 정으하고 구현 21 | 11. 데이터베이스에 구축할 필요가 있는 뷰의 종류는 어떻게 결정되는가? 22 | - 사용자와 관리자의 인터뷰, 데이터로 작업을 수행하는 방법을 바탕으로 필요한 뷰를 결정 23 | 12. 언제 RDBMS 프로그램에서 논리적인 구조를 구현할 수 있는가? 24 | - 전체 데이터베이스 설계프로세스를 완료한 이후 -------------------------------------------------------------------------------- /chapter9/exercise_jinyoung.md: -------------------------------------------------------------------------------- 1 | 1. 왜 필드 명세들이 중요한지 두 가지 이유를 적어라. 2 | - 필드 수준의 무결성을 구현 가능 3 | - 디비의 테이터 사정을 구성 4 | 1. 필드 수준의 무결성을 설정함으로써 무엇을 얻을 수 있나? 5 | - 디비 전반에서 필드의 정의가 일관성 있다. 6 | - 필드의 값이 일관되고 유효하다. 7 | 1. 필드 명세 내의 요소들의 세 가지 범주는 무엇인가? 8 | - 일반, 물리, 논리 9 | 1. 세 종류의 명세들의 이름을 적어라. 10 | - 유일, 일반, 복제 11 | 1. 적절한 필드 설명을 작성하는 것이 왜 유익한가? 12 | - 사람마다 이해가 다를 수 있기 때문에 팀 전체에서 같은 생각을 공유하기 위함이다. 13 | 1. 데이터형 요소가 가리키는 것은 무엇인가? 14 | - 필드가 저장하는 데이터의 특성을 가르킨다. 15 | 1. 문자 지원 요소가 가리키는 것은 무엇인가? 16 | - 필드 값이 될 수 있는 문자 종류 17 | 1. 디스플레이 형식 요소의 목적은 무엇인가? 18 | - 화면에 출력되거나 인쇄될 필드의 외형을 정의 19 | 1. 필드 명세에 어떤 종류의 키들이 나타나는가? 20 | - 주, 비, 대체, 외래 키 21 | 1. 참/거짓 문제: 널은 공백값을 나타낸다. 22 | - 거짓 23 | 1. 값 범위 요소의 중요성은 무엇인가? 24 | - 데이터 정합성을 맞추기 용의하고, 변측 값을 방지할 수 있다. 25 | 1. 변경 규칙의 목적은 무엇인가? 26 | - 필드의 쓰임에 대하여 알 수 있다. 27 | 1. 비교 허용 요소의 목적은 무엇인가? 28 | - 비교 허용 요소를 명시함으로서 계산된 필드목록 등을 구성할 때 활용할 수 있다. 29 | 1. 값 연산식이 무엇인가? 30 | - 비교 시 사용할 수 있는 단일 값을 반환하는 상수값, 필드값 단독 혹은 조합으로 이루어진 연산값 31 | 1. 언제 일반 명세를 사용하는가? 32 | - 디비에 다른 필드를 위해 사용되는 필드를 위해 일반 명세를 사용함. 33 | -------------------------------------------------------------------------------- /chapter11/exercise_jinyoung.md: -------------------------------------------------------------------------------- 1 | 1. 업무 규칙이란 무엇인가? 2 | - 비지니스 로직에 따라 디비의 필드, 관계 등에 제약을 가하는 경우를 말한다. 3 | 1. 업무 규칙의 두 가지 중요한 종류들의 이름을 기술하라. 4 | - 디비, 어플리케이션 지향 5 | 1. 데이터베이스의 논리적 설계 내에서 응용프로그램 지향 업무 규칙을 설정할 수 있는가? 6 | - 그렇지 않다. 규칙을 설정할 수 없다. 7 | 1. 데이터베이스 지향 업무 규칙의 두 가지 범주는 무엇인가? 8 | - 필드, 관계 특유 업무 규칙 9 | 1. 필드 특유의 업무 규칙이란 무엇인가? 10 | - 특정 필드에 대한 업무 규칙에 의한 제약사항을 의미한다. 11 | 1. 언제 업무 규칙은 테스트되는가? 12 | - 레코드의 삽입, 삭제, 갱신. 13 | 1. 업무 규칙을 어떻게 문서화하는가? 14 | - 업무 규칙 명세를 작성함으로서 문서화 될 수 있다. 15 | 1. 업무 규칙 명세서가 제공하는 두 가지 장점을 적어라. 16 | - 코드화로 기록되지 않는 디비 지향 업무 규칙을 문서화 할 수 있도록 함. 17 | - 모든 어플리케이션 업무 규칙을 문서화 할 수 있도록 한다. 18 | - 팀 전체 구성원에게 업무 규칙에 관한 표준을 제공할 수 있다. 19 | 1. 업무 규칙 명세서의 처리사항(action taken) 부분의 목적은 무엇인가? (참고) 20 | - 필드 명세의 요소나 관계도에 가한 수정/변경 사항을 기록할 수 있다. 21 | 1. 검증 테이블의 목적은 무엇인가? 22 | - 데이터의 무결성을 지킬 수 있다. 23 | 1. 검증 테이블의 전형적인 구조는 무엇인가? 24 | - pk, 비키… 25 | 1. 업무 규칙과 검증 테이블 사이의 연관성은 무엇인가? 26 | - 특정 필드의 입력 사항을 강제할 때 검증 테이블을 Lookup 할 수 있도록 함으로서 업무 규칙을 구현 할 수 있다. 27 | 1. 완성된 업무 규칙 명세서를 모두 검토해야 하는 이유는 무엇인가? 28 | - 명세에 규칙이 잘 반영되었는지 확인하기 위하여. 29 | -------------------------------------------------------------------------------- /chapter4/exercise_hosung.md: -------------------------------------------------------------------------------- 1 | 1. 설계 프로세스 전체를 완료하는 것이 중요한 이유는 무엇인가? 2 | 3 | 전체 설계 프로세스를 진행하는 경우에만, 좋은 구조와 데이터베이스 무결성을 확보할 수 있다. 4 | 5 | 1. 참/거짓 문제: 구조적 무결성의 수준이 설계 프로세스 전체를 준수하는 것과 정비례하는가? 6 | 7 | 참 8 | 9 | 1. 임무 명세의 목적은 무엇인가? 10 | 11 | 데이터베이스의 목적을 설정한다. 12 | 13 | 1. 임무 목표는 무엇인가? 14 | 15 | 사용자가 데이터베이스에 있는 데이터에 대한 작업을 수행할 수 있는 일반적인 작업들을 정의한다. 16 | 17 | 1. 조직의 기본적인 데이터 요구사항은 무엇으로 인식되는가? 18 | 19 | 기존 데이터베이스를 분석하고 사용자,관리자와 인터뷰를 진행 하는 것 20 | 21 | 1. 테이블이 나타내는 다양한 대상은 어떻게 결정하는가? 22 | 23 | 첫번째 단계에서 작성된 핵심 목표와 두 번째 단계에서 수집된 데이터 요건들을 통하여 결정한다. 24 | 25 | 1. 참/거짓 문제: 데이터베이스 설계 프로세스의 두 번째 단계에서 데이터베이스에 있는 각 필드에 대한 필드 명세를 설정한다. 26 | 27 | 거짓 28 | 29 | 1. 관계에 있는 테이블 사이에 논리적 연결은 어떻게 설정하는가? 30 | 31 | 사용자와 관리자들과의 인터뷰를 한번 더 수행하여 관계를 확인한 후 기본 키나 연결 테이블을 통해 설정한다. 32 | 33 | 1. 무엇이 데이터베이스에 설정해야 하는 제약사항과 요건들을 결정하는가? 34 | 35 | 업무 규칙 36 | 37 | 1. 특정 업무 규칙을 지원하기 위해 무엇을 설계하고 구현할 수 있는가? 38 | 39 | 뷰 40 | 41 | 1. 데이터베이스에 구축할 필요가 있는 뷰의 종류는 어떻게 결정되는가? 42 | 43 | 사용자,관리자와의 인터뷰를 통해 결정한다. 44 | 45 | 1. 언제 RDBMS 프로그램에서 논리적인 구조를 구현할 수 있는가? 46 | 47 | 7단계의 설계 프로세스를 마친 이후에 -------------------------------------------------------------------------------- /chapter9/exercise_joonshik.md: -------------------------------------------------------------------------------- 1 | 1. 왜 필드 명세들이 중요한지 두 가지 이유를 적어라. 2 | * 필드 수준의 무결성을 설정하고 강화한다. 3 | * 전반적인 데이터 무결성을 개선한다. 4 | 2. 필드 수준의 무결성을 설정함으로써 무엇을 얻을 수 있나? 5 | * 필드의 주체성과 목적이 명확하고 테이블이 적절히 식별된다. 6 | * 필드의 값들이 일관성있고 유효해진다. 7 | 3. 필드 명세 내의 요소들의 세 가지 범주는 무엇인가? 8 | * 일반적 요소, 물리적 요소, 논리적 요소 9 | 4. 세 종류의 명세들의 이름을 적어라. 10 | * 유일, 일반, 복제 11 | 5. 적절한 필드 설명을 작성하는 것이 왜 유익한가? 12 | * 필드에 저장될 데이터 특성에 대하여 주의깊게 생각하도록 한다. 13 | 6. 데이터형 요소가 가리키는 것은 무엇인가? 14 | * 필드가 저장하는 데이터의 특성 15 | 7. 문자 지원 요소가 가리키는 것은 무엇인가? 16 | * 필드값으로 입력할 수 있는 문자들의 종류 17 | 8. 디스플레이 형식 요소의 목적은 무엇인가? 18 | * 화면에 표시되는 외형을 통제한다. 19 | 9. 필드 명세에 어떤 종류의 키들이 나타나는가? 20 | * 비키, 기본키, 대체키, 외래키 21 | 10. 참/거짓 문제: 널은 공백값을 나타낸다. 22 | * X 23 | 11. 값 범위 요소의 중요성은 무엇인가? 24 | * 불필요한 혼란과 잠재적 문제를 피할 수 있다. 25 | 12. 변경 규칙의 목적은 무엇인가? 26 | * 사용자가 언제 필드 값을 입력하고 수정할 수 잇는지 여부를 나타낸다. 27 | 13. 비교 허용 요소의 목적은 무엇인가? 28 | * 정보를 추출할 때에 필드에 적용될 수 있는 비교의 종류를 나타낸다. 29 | 14. 값 연산식이 무엇인가? 30 | * 필드값, 상수값 또는 이 두가지 조합을 포함한 연상의 형식이다. 31 | 15. 언제 일반 명세를 사용하는가? 32 | * 데이터베이스 내에서 다른 필드들을 위한 템플릿으로 사용되는 필드를 위해 사용한다. 33 | -------------------------------------------------------------------------------- /chapter9/exercise_myungwook.md: -------------------------------------------------------------------------------- 1 | 1. 왜 필드 명세들이 중요한지 두 가지 이유를 적어라. 2 | - 필드 수준의 무결성 설정 및 강화 3 | - 데이터 이해를 돕는다. 4 | 1. 필드 수준의 무결성을 설정함으로써 무엇을 얻을 수 있나? 5 | - 필드의 주체성과 목적이 명확하고 이것이 나타나는 모든 테이블이 적절히 식별된다. 일관되고, 유효해진다. 6 | 1. 필드 명세 내의 요소들의 세 가지 범주는 무엇인가? 7 | - 일반적, 문리적, 논리적 요소 8 | 1. 세 종류의 명세들의 이름을 적어라. 9 | - 일반: 필드이름, 부모테이블, 레이블, 명세종류, 원본명세, 공유, 별칭, 설명 10 | - 물리: 데이터 종류, 길이, 소수점 위치, 문자 지원, 입력마스크, 디스플레이 형식 11 | - 논리: 키 종류, 키 구조, 유일성, 널지원, 값 입력자, 필요값, 기본값, 범위, 변경 규칙, 연산허용 12 | 1. 적절한 필드 설명을 작성하는 것이 왜 유익한가? 13 | - 필드에 저장될 데이터의 특성에 대해 주의 깊게 생각하도록 함. 14 | 1. 데이터형 요소가 가리키는 것은 무엇인가? 15 | - 데이터의 특성 16 | 1. 문자 지원 요소가 가리키는 것은 무엇인가? 17 | - 주어진 필드값으로 입력할 수 있는 문자들의 종류 18 | 1. 디스플레이 형식 요소의 목적은 무엇인가? 19 | - 디스플레이 될 때의 외형 통제 20 | 1. 필드 명세에 어떤 종류의 키들이 나타나는가? 21 | - 주기, 대체키, 비키, 외래키 22 | 1. 참/거짓 문제: 널은 공백값을 나타낸다. 23 | - 거짓 24 | 1. 값 범위 요소의 중요성은 무엇인가? 25 | - 불필요한 혼란, 잠재적 문제 해결 26 | 1. 변경 규칙의 목적은 무엇인가? 27 | - 언제 사용자가 값을 입력할지, 수정할지 여부를 지정 28 | 1. 비교 허용 요소의 목적은 무엇인가? 29 | - 비교 해도 되는지 유무를 표시 30 | 1. 값 연산식이 무엇인가? 31 | - 단일 값을 돌려주는 필드 혹은 상수값 을 포함한 연산의 형식 32 | 1. 언제 일반 명세를 사용하는가? 33 | - 데이터베이스에 있는 다르 ㄴ필드에 대한 템플릿으로 사용되는 필드를 위해 34 | -------------------------------------------------------------------------------- /chapter2/exercise_minki.md: -------------------------------------------------------------------------------- 1 | 1. RDBMS 프로그램의 설계 도구를 사용하기에 가장 좋은 순간은? 2 | 3 | 논리적 데이터베이스 구조를 설계한 이후. 4 | 5 | RDBMS 설계도구는 물리적 데이터베이스를 구현하는 데 도움이 된다. 6 | 7 | 2. 설계는 데이터의 일관성, 무결성, 정확성에 매우 중요하다. 8 | 9 | O 10 | 11 | 3. 잘못된 데이터베이스 설계의 가장 해로운 결과는 무엇인가? 12 | 13 | 부정확한 정보 14 | 15 | 4. 관계형 데이터베이스를 구조적으로 튼튼하게 해주고 정확한 정보를 보장할 수 있게 해주는 것은? 16 | 17 | 훌륭한 설계 방법론(결과를 예측할 수 있다. 18 | 19 | 5. 설계 방법론을 학습할 때의 두 가지 장점은? 20 | - 데이터 처리 문제(불필요 데이터, 중복 무의미, 필요 데이터 부재) 방지 21 | - 조직화된 단계적 기술(여러 측면에서 결정에 근거를 준다) 22 | - 실수와 설계 반복 최소화. 23 | - 설계 소요시간 절약 24 | - RDBMS응용프로그램 사용에 도움 25 | 6. 데이터베이스 설계를 이해한다면 RDBMS 프로그램을 효율적으로 사용할 수 있다. 26 | 27 | O 28 | 29 | 7. 훌륭한 설계의 두 가지 목적 30 | - 필수 및 임의적인 정보 검색 지원 31 | - 적절하고 효율적인 테이블 구성 32 | - 필드, 테이블, 관계 수준 데이터 무결성(데이터 일관성) 33 | - 비즈니스 로직 지원 34 | - 확장 및 수정 용이 35 | 8. 데이터 구조와 그 값이 항상 정확하고 의미 있는 값이라는 것을 보장하는 데 도움을 주는 것 36 | 37 | 훌륭한 설계 38 | 39 | 9. 훌륭한 설계 기법을 적용할 때의 두 가지 장점 40 | - 테이블이나 필드에 대한 수정이 독립적으로 이루어진다 41 | - 정보 검색 용이 42 | - 확장 및 수정 용이 43 | 10. 설계 프로세스를 일부 단축하더라도 여전히 훌륭하고 튼튼한 설계를 할 수 있다. 44 | 45 | X 46 | -------------------------------------------------------------------------------- /chapter12/exercise_myungwook.md: -------------------------------------------------------------------------------- 1 | 1. 왜 뷰를 가상 테이블이라고 부를 수 있는가? 2 | - 자체적으로 데이터를 저장하지 않고, 기반 테이블로부터 추출하므로 3 | 1. 왜 뷰가 가치 있는지 두 가지 이유를 적어라. 4 | - 여러테이블로부터 온 데이터를 동시에 다룰 수 있다. 5 | - 특정 요구에 부합하는 개인화된 테이블을 만들 수 있다. 6 | 1. 데이터베이스의 논리적 구조를 설계하면서 정의할 수 있는 뷰 종류의 이름을 적어라. 7 | - 데이터, 집계, 검증 8 | 1. 데이터 뷰(또는 이 문제에 관해서는 임의 종류의 뷰)를 액세스 할 때마다 RDBMS는 무엇을 하는가? 9 | - 재구축 및 재이식 10 | 1. 뷰의 데이터에 적용할 수 있는 수정의 종류를 무엇이 결정하는가? 11 | - 필드명세, 업무규칙 12 | 1. 다중 테이블 데이터 뷰를 정의하기 위해 충족시켜야 하는 유일한 요구사항은 무엇인가? 13 | - 서로 관계를 가져야 한다. 14 | 1. 왜 데이터 뷰는 자신의 주 키를 포함하지 않는가? 15 | - 테이블이 아니기 때문에 16 | 1. 집계 뷰의 목적은 무엇인가? 17 | - 통계 정보를 확인한다. 18 | 1. 데이터 집합에 적용할 수 있는 가장 일반적인 집계 함수들은 무엇인가? 19 | - 합계, 평균, 최솟값 등 20 | 1. 그룹화 필드란 무엇인가? 21 | - 합계 등의 값을 나타내는 집계 필드 22 | 1. 참/거짓 문제: 집계 뷰 내의 데이터를 수정할 수 있다. 23 | - 거짓 24 | 1. 검증 테이블과 검증 뷰의 차이점은 무엇인가? 25 | - 말 그대로 뷰는 테이블이 아니다. 따라서 자체적으로 데이터를 저장하지 않는다. 26 | 1. 뷰 요구사항을 식별할 때 고려해야 하는 두 가지 요점의 이름을 적어라. 27 | - 테이블들의 관계를 분석한다. 28 | - 업무 규칙들을 검토한다. 29 | 1. 언제 계산된 필드를 사용해야만 하는가? 30 | - 집계 뷰를 만들 때와 같이 뷰를 사용할 때 31 | 1. 공상 과학 서적만 표시하는 뷰를 어떻게 정의하는가? 32 | - 서적 종류를 표시하는 필드에 공상과학만을 필터링하도록한다. 33 | 1. 왜 데이터베이스 내의 모든 뷰를 위해 뷰 명세서를 완성해야만 하는가? 34 | - 뷰 다이어그램 상 표시할 부분이 없으므로 35 | -------------------------------------------------------------------------------- /chapter6/exercise_myungwook.md: -------------------------------------------------------------------------------- 1 | 1. 현재 데이터베이스를 분석하기 위한 두 개의 목표를 서술하라. 2 | - 어떤 유형의 데이터를 조직에서 사용하는가 3 | - 조직에서 데이터를 어떻게 사용하는가 4 | 1. 참/거짓 문제: 새로운 구조에 대한 기초로 현재 데이터베이스 구조를 선택할 수 있다. 5 | - 거짓 6 | 1. 기존 데이터베이스는 무엇인가? 7 | - 5년 이상 사용된 데이터베이스 8 | 1. 분석 프로세스의 두 단계를 서술하라. 9 | - 데이터가 수집된 방법 검토 10 | - 정보가 표현되는 방법 검토 11 | 1. 분석하는 동안 어떤 종류의 컴퓨터 소프트웨어 프로그램을 검토해야 하는가? 12 | - 데이터를 수집할 때 사용하는 모든 컴퓨터 프로그램 13 | 1. 데이터 수집과 정보를 표현한 견본을 수집한 후에 인터뷰를 진행해야 하는 이유는 무엇인가? 14 | - 이후 인터뷰에서 해당 방법에 대한 구체적인 의견들을 들을 수 있기 때문이다. 15 | 1. 개방형 질문과 폐쇄형 질문은 어떻게 사용하는가? 16 | - 일반적인 질문은 개방형, 특정 질문은 폐쇄형 17 | 1. 대상 식별 기술은 무엇인가? 18 | - 구체적 진술로부터 데이터의 핵심 키워드를 뽑아내는 기술 19 | 1. 특정 대상에 대한 특성들을 어떻게 파악하는가? 20 | - 식별된 대상에 대한 개방형 질문을 한다. 21 | 1. 참/거짓 문제: 여러분은 사용자와 관리자와의 인터뷰를 동시에 진행해야 한다. 22 | - 거짓 23 | 1. 여러분이 파악해야 하는 정보 요건의 세 가지 유형은 무엇인가? 24 | - 현재 정보 요건 25 | - 추가 정보 요건 26 | - 미래 정보 요건 27 | 1. 예비 필드 목록은 무엇인가? 28 | - 조직의 기본적인 데이터 요구사항. 데이터베이스에서 정의할 필드의 핵심 29 | 1. 예비 필드 목록의 각 항목이 고유한 이름을 가져야 하는 이유를 서술하라. 30 | - 최대한 필드의 고유한 특성을 표현하기 위해서 31 | 1. 값 목록은 무엇인가? 32 | - 선택 필드인 경우 선택 가능한 값의 목록을 말한다. 33 | 1. 계산된 필드는 무엇인가? 그것이 있다면, 그에 대하여 여러분이 해야 하는 것은 무엇인가? 34 | - 다른 필드들로부터 값이 도출되는 필드이다. 분리해서 목록을 만들어야 한다. 35 | -------------------------------------------------------------------------------- /chapter8/exercise_jinyoung.md: -------------------------------------------------------------------------------- 1 | 1. 왜 키들이 중요한지 세 가지 이유를 적어라. 2 | - 각 레코드 정확히 구분 가능 3 | - 무결성 설정, 강화에 도움 4 | - 테이블 간의 관계 설정 가능 5 | 1. 네 개의 중요한 키들의 종류는 무엇인가? 6 | - 후보, 주, 외래, 비 키 7 | 1. 후보 키의 목적은 무엇인가? 8 | - 답안참고: 테이블이 가리키는 대상의 단일 인스턴스를 유일하게 식별하기 위함? 9 | 1. 후보 키의 요소들 중 네 항목을 적어라. 10 | - 널 값을 포함할 수 없다. 11 | - 유일한 값을 가져야함. 12 | - 유일성을 위해 최소한의 필드를 가져야함. 13 | 1. 참/거진 문제: 후보 키는 하나 이상의 필드들로 구성될 수 있다. 14 | - 참 15 | 1. 테이블은 하나 이상의 후보 키를 가질 수 있는가? 16 | - 참 17 | 1. 인위적인 후보 키란 무엇인가? 18 | - 후보 키를 만들기 위해 인위적으로 생성한 필드 값을 포함하는 후보 키. 19 | 1. 테이블에 할당하는 가장 중요한 키는 무엇인가? 20 | - PK 21 | 1. 이 키는 왜 중요한가?(8번과 연계됨) 22 | - 테이블의 특정 레코드를 유일하게 식별가능 23 | - 테이블 간에 고유함으로, 테이블 간의 관계설정 가능 24 | 1. 어떻게 주 키를 설정하는가? 25 | - 후보 키들의 테이블 풀 중에서 유용한 하나를 선정 26 | 1. 주 키의 요소들 중 네 항목을 적어라. 27 | - 널값 포함 할 수 없음. 28 | - 해당 테이블 필드에서 유일해야함. 29 | - 값의 수정 가능성이 현저히 낮음 30 | 1. 주 키의 선택을 마무리하기 전에 반드시 무엇을 해야만 하는가? 31 | - 해당 필드가 레코드를 배타적을 식별하는지 확인 32 | 1. 대체 키란 무엇인가? 33 | - 주 키가 아닌 후보 키의 부분 집합 34 | 1. 테이블 수준의 무결성을 설정함으로써 무엇을 보장하는가? 35 | - 이중 데이터가 없다. 36 | - 주 키가 레코드를 유일하게 식별 등 37 | 1. 왜 초기 테이블 구조를 검토해야만 하는가? 38 | - 한번 데이터가 잘 못 쌓이기 시작하면 돌이킬 수 없거나 많은 시간이 소모된다. 39 | - 적절한 필드들이 적절한 테이블에 포함되었는지 확인하기 위해. 40 | -------------------------------------------------------------------------------- /chapter8/exercise_myungwook.md: -------------------------------------------------------------------------------- 1 | 1. 왜 키들이 중요한지 세 가지 이유를 적어라. 2 | - 테이블에 있는 각 레코드는 정확하게 식별하도록 한다. 3 | - 다양한 종류의 무결성을 설정하고 강화하는 데 도움을 준다. 4 | - 테이블 관계를 설정하도록 해준다. 5 | 1. 네 개의 중요한 키들의 종류는 무엇인가? 6 | - candidate, primary, foreign, non, key 7 | 1. 후보 키의 목적은 무엇인가? 8 | - 주 키를 최종적으로 선정하기 위해서 9 | 1. 후보 키의 요소들 중 네 항목을 적어라. 10 | - 다중 부분 필드일 수 없다. 11 | - 유일한 값을 포함해야 한다. 12 | - 널값을 포함할 수 없다. 13 | - 그 값들이 유일하고 배타적으로 식별되어야 한다. 14 | 1. 참/거진 문제: 후보 키는 하나 이상의 필드들로 구성될 수 있다. 15 | - 참 16 | 1. 테이블은 하나 이상의 후보 키를 가질 수 있는가? 17 | - 참 18 | 1. 인위적인 후보 키란 무엇인가? 19 | - 기존 필드가 후보 키 대상이 없을 때 별도로 생성하는 후보 키 20 | 1. 테이블에 할당하는 가장 중요한 키는 무엇인가? 21 | - primary key 22 | 1. 이 키는 왜 중요한가?(8번과 연계됨) 23 | - 데이터베이스 구조 전체에 걸쳐 테이블을 배타적으로 식별하고 다른 테이블들과의 관계를 설정하는 것을 도와준다. 24 | 1. 어떻게 주 키를 설정하는가? 25 | - 후보 키 중 가장 유용한 것을 선택. 26 | 1. 주 키의 요소들 중 네 항목을 적어라. 27 | - 널값 미포함 28 | - 테이블 내의 각 레코드들을 유일하게 배타적으로 식별해야 한다. 29 | - 다중 부분 필드일 수 없다. 30 | - 유일한 값들을 포함해야 한다. 31 | 1. 주 키의 선택을 마무리하기 전에 반드시 무엇을 해야만 하는가? 32 | - 유일하게 배타적인지 다시한번 확인 33 | 1. 대체 키란 무엇인가? 34 | - 주 키 이외에 보조적인 레코드 식별 키 35 | 1. 테이블 수준의 무결성을 설정함으로써 무엇을 보장하는가? 36 | - 이중 레코드 방지, 레코드 배타적 식별 37 | 1. 왜 초기 테이블 구조를 검토해야만 하는가? 38 | - 적절한 주제들이 데이터베이스에 표현되는것을 확인하려고 39 | -------------------------------------------------------------------------------- /chapter2/exercise_yun.md: -------------------------------------------------------------------------------- 1 | 1. RDBMS 프로그램의 설계 도구를 사용하기에 가장 좋은 순간은? 2 | 3 | 논리적 데이터베이스 구조를 설계한 이후 4 | RDBMS 프로그램들은 물리적으로 데이터베이스를 구현하는데 소요되는 시간을 최소화할 수 있도록 기능을 제공한다 5 | 6 | 2. 참/거짓 문제: 설계는 데이터의 일관성, 무결성 정확성에 매우 중요하다. 7 | 8 | 참 9 | 10 | 3. 잘못된 데이터베이스 설계의 가장 해로운 결과는 무엇인가? 11 | 12 | 부정확한 정보가 추가되는 것 13 | 14 | 4. 관계형 데이터베이스를 구조적으로 튼튼하게 해주고 정확한 정보를 보장할 수 있게 해주는 것은? 15 | 16 | 수학적인 이론을 바탕으로한 견고한 설계 17 | - 집합 이론(set theory), 1차 술어 논리(first-order predicate logic) 18 | 19 | 5. 설계 방법론을 학습할 때의 두 가지 장점은 무엇인가? 20 | 21 | 설계 프로세스를 쉽게 만들며 데이터베이스 설계에 소요되는 시간을 줄여줌 22 | RDBMS 응용프로그램을 보다 더 완벽하고 효과적으로 이해하고 사용하는데 도움을 줌 23 | 24 | 6. 참/거짓 문제: 데이터베이스 설계를 이해한다면 RDBMS 프로그램을 효율적으로 사용할 수 있을 것이다. 25 | 26 | 참 27 | 28 | 7. 훌륭한 설계의 두 가지 목적을 나열하라. 29 | 30 | 데이터베이스는 필수 및 임의적인 정보 검색을 모두 지원 31 | 테이블은 적절하고 효율적으로 구성 32 | 테이블, 필드, 관계 수준의 데이터 무결성 보증 33 | 데이터베이스는 조직과 관련된 업무 규칙 지원 34 | 데이터베이스는 자체의 미래 성장에 적합 35 | 36 | 8. 데이터 구조와 그 값이 항상 정확하고 의미 있는 값이라는 것을 보장하는 데 도움을 주는 것은? 37 | 38 | 견고한 데이터베이스 설계 39 | 40 | 9. 훌륭한 설계 기법을 적용할 때의 두 가지 장점을 기술하라. 41 | 42 | 데이터베이스 구조를 쉽게 수정하고 운영 가능 43 | 정보를 쉽게 검색 가능 44 | 45 | 10. 참/거짓 문제: 설계 프로세스를 일부 단축하더라도 여전히 훌륭하고 튼튼한 설계를 할 수 있다. 46 | 47 | 거짓 -------------------------------------------------------------------------------- /chapter6/exercise_kyungjun.md: -------------------------------------------------------------------------------- 1 | 1. 현재 데이터베이스를 분석하기 위한 두 개의 목표를 서술하라. 2 | > 1) 조직내 사용되는 데이터의 종류(What) 3 | > 2) 조직내 데이터 사용법, 조직내 데이터 관리 유지 방법(How) 4 | 5 | 2. 참/거짓 문제: 새로운 구조에 대한 기초로 현재 데이터베이스 구조를 선택할 수 있다. 6 | > 거짓 7 | 8 | 3. 기존 데이터베이스는 무엇인가? 9 | > 5년 이상 사용된 데이터베이스 10 | 11 | 4. 분석 프로세스의 두 단계를 서술하라. 12 | > 데이터가 수집된 방법 검토 13 | > 정보가 표현되는 방법 검토 14 | 15 | 5. 분석하는 동안 어떤 종류의 컴퓨터 소프트웨어 프로그램을 검토해야 하는가? 16 | > 조직내 데이터를 표현하기 위해 사용되는 모든 것(워드프로세서, 스프레드시트, 데이터베이스, 웹페이지) 17 | 18 | 6. 데이터 수집과 정보를 표현한 견본을 수집한 후에 인터뷰를 진행해야 하는 이유는 무엇인가 19 | > 구체적인 의견 수집 20 | 21 | 7. 개방형 질문과 폐쇄형 질문은 어떻게 사용하는가? 22 | > 일반적인 질문은 개방형, 특정 질문은 폐쇄형 23 | 24 | 8. 대상 식별 기술은 무엇인가? 25 | > 구체적 진술로부터 데이터의 핵심 키워드를 뽑아내는 기술 26 | 27 | 9. 특정 대상에 대한 특성들을 어떻게 파악하는가? 28 | > 식별된 대상에 대한 개방형 질문을 한다. 29 | 30 | 10. 참/거짓 문제: 여러분은 사용자와 관리자와의 인터뷰를 동시에 진행해야 한다. 31 | > 거짓 32 | 33 | 11. 여러분이 파악해야 하는 정보 요건의 세 가지 유형은 무엇인가? 34 | > 1) 현재 정보 요건 35 | > 2) 추가 정보 요건 36 | > 3) 미래 정보 요건 37 | 38 | 12. 예비 필드 목록은 무엇인가? 39 | > 데이터베이스에서 정의할 필드의 핵심 40 | 41 | 13. 예비 필드 목록의 각 항목이 고유한 이름을 가져야 하는 이유를 서술하라. 42 | > 최대한 필드의 고유한 특성을 표현하기 위해 43 | 44 | 14. 값 목록은 무엇인가? 45 | > 특별한 특징에 대한 값들의 허용되는 범위 지정, 업무 규칙 강화 46 | 47 | 15. 계산된 필드는 무엇인가? 그것이 있다면, 그에 대하여 여러분이 해야 하는 것은 무엇인가? 48 | > 다른 필드들로부터 값이 도출되는 필드이다. 분리해서 목록을 만들어야 한다. 49 | -------------------------------------------------------------------------------- /chapter8/exercise_joonshik.md: -------------------------------------------------------------------------------- 1 | 1. 왜 키들이 중요한지 세 가지 이유를 적어라. 2 | * 테이블 내의 각 레코드가 정확하게 식별되도록 보장한다. 3 | * 다양한 종류의 무결성을 설정하고 강화하는 것을 도와준다. 4 | * 테이블 관계를 설정하도록 해준다. 5 | 2. 네 개의 중요한 키들의 종류는 무엇인가? 6 | * 후보키, 기본키, 외래키, 비키 7 | 3. 후보 키의 목적은 무엇인가? 8 | * 테이블의 단일 인스턴스를 고유하게 식별 9 | 4. 후보 키의 요소들 중 네 항목을 적어라. 10 | * 다중 부분 필드일 수 없다. 11 | * 유일한 값을 포함해야한다. 12 | * 널 값을 포함할 수 없다. 13 | * 아주 극단적인 경우에만 수정될 수 있다. 14 | 5. 참/거진 문제: 후보 키는 하나 이상의 필드들로 구성될 수 있다. 15 | * O 16 | 6. 테이블은 하나 이상의 후보 키를 가질 수 있는가? 17 | * O 18 | 7. 인위적인 후보 키란 무엇인가? 19 | * 테이블에 후보키가 없는 경우 id값을 생성한다. 20 | 8. 테이블에 할당하는 가장 중요한 키는 무엇인가? 21 | * 기본키 22 | 9. 이 키는 왜 중요한가?(8번과 연계됨) 23 | * 테이블을 배타적으로 식별하고 다른 테이블과의 관계 설정을 돕는다. 24 | 10. 어떻게 주 키를 설정하는가? 25 | * 후보키 중 단순하고 테이블 이름을 포함하는 후보키 하나를 선택한다. 26 | 11. 주 키의 요소들 중 네 항목을 적어라. 27 | * 다중 부분 필드일 수 없다. 28 | * 유일한 값들을 포함해야만한다. 29 | * 널값을 포함할 수 없다. 30 | * 아주 극단적인 경우에만 수정될 수 있다. 31 | 12. 주 키의 선택을 마무리하기 전에 반드시 무엇을 해야만 하는가? 32 | * 기본키가 다른 필드를 배탁적으로 식별하는지 확인한다. 33 | 13. 대체 키란 무엇인가? 34 | * 기본키가 아닌 후보키 35 | 14. 테이블 수준의 무결성을 설정함으로써 무엇을 보장하는가? 36 | * 이중 레코드가 없고 기본키가 테이블 내의 레코드들을 배타적으로 식별하며 기본키가 널값이 아닌 유일한 값이다. 37 | 15. 왜 초기 테이블 구조를 검토해야만 하는가? 38 | * 적절한 주제들이 데이터베이스에 표현되는 것을 확인한다. 39 | -------------------------------------------------------------------------------- /chapter5/exercise_donghyun.md: -------------------------------------------------------------------------------- 1 | 1. 인터뷰가 중요한 이유는? 2 | * 설계에 필요한 정보를 얻어내기 위함 3 | 2. 여러분이 다수의 사람들과 인터뷰를 진행할 때에는 어떤 문제들이 발생할 수 있는가? 4 | * 대상이 적극적으로 참여하지 않음 5 | * 질문을 제대로 준비하지 않게 되어 불충분한 정보를 얻게 됨 6 | 3. 사용자들과 관리자의 인터뷰를 분리해서 진행하는 주된 이유는 무엇인가? 7 | * 데이터를 다루는 방법, 관점이 다르기 때문 8 | 4. 참/거짓 문제: 여러분은 일반적으로 인터뷰를 진행할 때 폐쇄형 질문을 사용할 것이다. 9 | * 거짓 10 | 5. 여러분이 참여자와의 인터뷰를 통해 어떤 종류의 대답을 유도하려 해야 하는가? 11 | * 개방적 질문을 통해 자유로운 대답을 유도 12 | 6. 여러분이 진행하는 모든 인터뷰에 대한 가장 중요한 지침은 무엇인가? 13 | * 인터뷰 주도 14 | 7. 임무 명세는 무엇인가? 15 | * 데이터베이스 목적 16 | 8. 잘 작성된 임무 명세의 두 가지 특징에 대하여 서술하라. 17 | * 건결 명료 18 | * 목표가 뚜렷 19 | 9. 참/거짓 문제: 여러분은 임무 명세를 작성하기 위해 조직에 대하여 학습할 필요가 없다. 20 | * 거짓 21 | 10. 임무 명세는 언제 완료되는가? 22 | * 관련된 사람들이 만족할 때 23 | 11. 임무 목표란 무엇인가? 24 | * 데이터베이스로 수행되는 일반적인 작업 25 | 12. 잘 작성된 임무 목표의 두 가지 특징을 서술하라. 26 | * 임무 목표가 한 가지 작업을 나타냄 27 | * 간단한 내용을 나타냄 28 | 13. 참/거짓 문제: 여러분은 임무 목표들을 정의하기 위해 사용자들과 관리자와의 인터뷰를 수행해야만 한다. 29 | * 참 30 | 14. 임무 목표와 직원들의 일일 작업은 어떻게 관련이 있는가? 31 | * 데이터를 다루는 방법을 임무 목표로 정하기 때문에 직원들의 일일 작업이 임무 목표가 됨 32 | 15. 참/거짓 문제: 임무 목표는 하나 이상의 작업을 설명할 수 있다. 33 | * 거짓 34 | 16. 임무 목표가 인터뷰의 답변에서 도출될 수 있는 방법 두 가지를 서술하라. 35 | * 문장에 명시 36 | * 문장 속에 암시 37 | 17. 임무 목표의 작성은 언제 완료되는가? 38 | * 관련된 사람들이 만족할 때 -------------------------------------------------------------------------------- /chapter5/exercise_joonshik.md: -------------------------------------------------------------------------------- 1 | 1. 인터뷰가 중요한 이유는? 2 | * 대화 창구이자 구조 및 설계에 영향을 주는 정보를 얻을 수 있기 때문이다. 3 | 2. 여러분이 다수의 사람들과 인터뷰를 진행할 때에는 어떤 문제들이 발생할 수 있는가? 4 | * 참여정도가 떨어진다. 5 | * 타인의 시선을 인식한다. 6 | 3. 사용자들과 관리자의 인터뷰를 분리해서 진행하는 주된 이유는 무엇인가? 7 | * 서로의 고유한 관점을 이해하고 충돌을 줄이기 위해서다. 8 | 4. 참/거짓 문제: 여러분은 일반적으로 인터뷰를 진행할 때 폐쇄형 질문을 사용할 것이다. 9 | * X 10 | 5. 여러분이 참여자와의 인터뷰를 통해 어떤 종류의 대답을 유도하려 해야 하는가? 11 | * 자세하고 생산적인 답변 12 | 6. 여러분이 진행하는 모든 인터뷰에 대한 가장 중요한 지침은 무엇인가? 13 | * 인터뷰의 주도권을 가져라 14 | 7. 임무 명세는 무엇인가? 15 | * 데이터베이스의 목적 16 | 8. 잘 작성된 임무 명세의 두 가지 특징에 대하여 서술하라. 17 | * 장황하지 않고 명료하며 불필요한 구체적인 설명이 없다. 18 | 9. 참/거짓 문제: 여러분은 임무 명세를 작성하기 위해 조직에 대하여 학습할 필요가 없다. 19 | * X 20 | 10. 임무 명세는 언제 완료되는가? 21 | * 조직의 모든 사람이 그 문장을 조직의 목표라고 공감할때에 22 | 11. 임무 목표란 무엇인가? 23 | * 데이터베이스를 통한 작업 24 | 12. 잘 작성된 임무 목표의 두 가지 특징을 서술하라. 25 | * 하나의 임무 명세가 하나의 작업만을 명시 26 | * 불필요한 디테일 불필요 27 | 13. 참/거짓 문제: 여러분은 임무 목표들을 정의하기 위해 사용자들과 관리자와의 인터뷰를 수행해야만 한다. 28 | * O 29 | 14. 임무 목표와 직원들의 일일 작업은 어떻게 관련이 있는가? 30 | * 그들의 일일 작업이 곧 임무 목표이다. 31 | 15. 참/거짓 문제: 임무 목표는 하나 이상의 작업을 설명할 수 있다. 32 | * X 33 | 16. 임무 목표가 인터뷰의 답변에서 도출될 수 있는 방법 두 가지를 서술하라. 34 | * 명시되어있거나 암시적으로 들어있어 찾아내야한다. 35 | 17. 임무 목표의 작성은 언제 완료되는가? 36 | * 조직원이 임무 목표를 이해하고 만족하는 순간 -------------------------------------------------------------------------------- /chapter6/exercise_donghyun.md: -------------------------------------------------------------------------------- 1 | 1. 현재 데이터베이스를 분석하기 위한 두 개의 목표를 서술하라. 2 | * 데이터 유지보수 3 | * 데이터 사용 4 | 2. 참/거짓 문제: 새로운 구조에 대한 기초로 현재 데이터베이스 구조를 선택할 수 있다. 5 | * 거짓 6 | 3. 기존 데이터베이스는 무엇인가? 7 | * 5년 이상 사용한 데이터베이스 8 | 4. 분석 프로세스의 두 단계를 서술하라. 9 | * 데이터 수집 방식 검토 10 | * 데이터 사용 방법 검토 11 | 5. 분석하는 동안 어떤 종류의 컴퓨터 소프트웨어 프로그램을 검토해야 하는가? 12 | * 조직에서 사용하는 프로그램 13 | * 데이터베이스 14 | * 웹페이지 15 | * 스프레드시트 16 | * 기타 등등 17 | 6. 데이터 수집과 정보를 표현한 견본을 수집한 후에 인터뷰를 진행해야 하는 이유는 무엇인가? 18 | * 참여자에게 익숙한 자료를 보여줌으로써 더 쉽고 자세한 답변 유도 가능 19 | 7. 개방형 질문과 폐쇄형 질문은 어떻게 사용하는가? 20 | * 개방형 질문: 특정 주제에 초점을 맞추기 위함 21 | * 폐쇄형 질문: 주제에 대한 세부 내용을 듣기 위함 22 | 8. 대상 식별 기술은 무엇인가? 23 | * 개방형 질문으로 얻은 답변에서 명사를 찾아 대상으로 선정하는 기술 24 | 9. 특정 대상에 대한 특성들을 어떻게 파악하는가? 25 | * 폐쇄혀 질문으로 얻은 답변에서 나타나는 단수 형태 단어로 파악 26 | 10. 참/거짓 문제: 여러분은 사용자와 관리자와의 인터뷰를 동시에 진행해야 한다. 27 | * 거짓 28 | 11. 여러분이 파악해야 하는 정보 요건의 세 가지 유형은 무엇인가? 29 | * 현재, 추가, 미래 정보 요건 30 | 12. 예비 필드 목록은 무엇인가? 31 | * ㅇ인터뷰가 끝나고 얻은 특징들을 목록화 한 것 32 | 13. 예비 필드 목록의 각 항목이 고유한 이름을 가져야 하는 이유를 서술하라. 33 | * 무결성 위배 34 | 14. 값 목록은 무엇인가? 35 | * 허용 범위가 정해지거나 업무 규칙이 적용된 특징 36 | 15. 계산된 필드는 무엇인가? 그것이 있다면, 그에 대하여 여러분이 해야 하는 것은 무엇인가? 37 | * 문자열 연결 또는 수학적 연산 결과를 저장하는 필드 38 | * 예비 필드 목록과 별개로 다루기 -------------------------------------------------------------------------------- /chapter6/exercise_joonshik.md: -------------------------------------------------------------------------------- 1 | 1. 현재 데이터베이스를 분석하기 위한 두 개의 목표를 서술하라. 2 | * 유지보수하는 방법 3 | * 데이터 사용 방법 4 | 2. 참/거짓 문제: 새로운 구조에 대한 기초로 현재 데이터베이스 구조를 선택할 수 있다. 5 | * X 6 | 3. 기존 데이터베이스는 무엇인가? 7 | * 5년 이상 사용한 데이터베이스 8 | 4. 분석 프로세스의 두 단계를 서술하라. 9 | * 데이터가 수집된 방법을 검토하는 것 10 | * 정보가 표현되는 방법을 검토하는 것 11 | 5. 분석하는 동안 어떤 종류의 컴퓨터 소프트웨어 프로그램을 검토해야 하는가? 12 | * 정보를 입력하는 프로그램과 출력하는 프로그램 13 | 6. 데이터 수집과 정보를 표현한 견본을 수집한 후에 인터뷰를 진행해야 하는 이유는 무엇인가? 14 | * 견본이 데이터 수집과정과 표현방법을 이해하게 해준다. 15 | 7. 개방형 질문과 폐쇄형 질문은 어떻게 사용하는가? 16 | * 개방형 질문을 통하여 특정 주제에 초점을 맞추기 쉽도록 한다. 17 | * 폐쇄형 질문을 통하여 구체적인 세부사항에 초점을 맞추게 한다. 18 | 8. 대상 식별 기술은 무엇인가? 19 | * 개방형 질문을 통한 답변에서 중요한 명사를 추출한다. 해당 명사들이 대상 목록이다. 20 | 9. 특정 대상에 대한 특성들을 어떻게 파악하는가? 21 | * 대상에 대한 질문을 하고 해당 답변에서 단어를 통하여 특징을 파악한다. 22 | 10. 참/거짓 문제: 여러분은 사용자와 관리자와의 인터뷰를 동시에 진행해야 한다. 23 | * X 24 | 11. 여러분이 파악해야 하는 정보 요건의 세 가지 유형은 무엇인가? 25 | * 현재 정보 요건 26 | * 추가 정보 요건 27 | * 미래 정보 요건 28 | 12. 예비 필드 목록은 무엇인가? 29 | * 기본적인 데이터 요구사항이자 핵심 필드 30 | 13. 예비 필드 목록의 각 항목이 고유한 이름을 가져야 하는 이유를 서술하라. 31 | * 같은 이름을 가진 필드가 다른 대상을 가리키는 경우가 존재하기 때문 32 | 14. 값 목록은 무엇인가? 33 | * 허용범위 지정 및 업무규칙 강요 34 | 15. 계산된 필드는 무엇인가? 그것이 있다면, 그에 대하여 여러분이 해야 하는 것은 무엇인가? 35 | * 예비 필드를 통하여 계싼할 수 있는 필드, 별개로 기록해둔다. -------------------------------------------------------------------------------- /chapter3/exercise_myungwook.md: -------------------------------------------------------------------------------- 1 | 1. 전문 용어가 중요한 이유는 무엇인가? 2 | - 용어 자체를 이해해야 설계 프로세스를 보다 명확히 이해할 수 있다. 3 | - 데이터베이스를 다루는 대부분의 자료는 이러한 용어를 사용하는데, 용어에 대한 이해 없이는 해당 자료를 이해하기 어렵기 때문이다. 4 | 2. 용어의 네 가지 범주의 이름은 무엇인가? 5 | - 값, 구조, 관계, 무결성 6 | 3. 데이터와 정보의 차이는 무엇인가? 7 | - 이 책에서는 데이터를 01로 이루어진 디지털 데이터 그 자체를 의미하는 것으로 보인다. 8 | - 반면 정보는 데이터에 라벨을 붙이고 데이터들을 모아서 특정 목적에 맞게 구성된 것을 말하는 것 같다. 9 | 4. 널은 무엇을 표시하는가? 10 | - 없거나 알려지지 않은 값을 의미한다. 빈 문자열이랑 다르다. 11 | 5. 널의 가장 큰 단점은 무엇인가? 12 | - 수학적 연산에 부정적인 영향을 끼친다. 13 | 6. 데이터베이스에 있는 주요 구조는 무엇인가? 14 | - 테이블 15 | 7. 테이블의 세 가지 종류는 무엇인가? 16 | - 데이터 테이블, 검증테이블, 기반 테이블 17 | 8. 뷰는 무엇인가? 18 | - 다수의 필드를 혼합하여 만든 가상 테이블 19 | 9. 키와 인덱스의 차이점은 무엇인지 서술하라. 20 | - 키는 레코드를 식별하는 논리적 구조이고, 인덱스는 성능향상을 목적으로 하는 물리적 구조이다. 21 | 10. 두 개의 테이블 사이에 존재할 수 있는 관계의 세 가지 종료는 무엇인가? 22 | - 일대일, 일대다, 다대다 23 | 11. 관계를 특정 지을 수 있는 세 가지 방법은 무엇인가? 24 | - 테이블 사이에 존재하는 관계의 종류에 의해 25 | - 각 테이블에 참여하는 방법에 의해 26 | - 각 테이블이 참여하는 정도에 의해 27 | 12. 필드 명세는 무엇인가? 28 | - 필드에 어떠한 데이터가 들어가야 하는지, 어떤 필드인지 등의 정보를 모두 표시한 것 29 | 13. 필드 명세를 구성하는 세 가지 요소는 무엇인가? 30 | - 일반적인, 물리적인, 논리적인 요소 31 | 14. 데이터 무결성은 무엇인가? 32 | - 데이터베이스에 있는 데이터가 유효하고 일관되며 정확할수록 높은 성질 33 | 15. 데이터 무결성의 네 가지 종류는 무엇인가? 34 | - 테이블, 필드, 관계 수준의 무결성 + 업무 규칙이 잘 정의되어 있는 정도 35 | -------------------------------------------------------------------------------- /chapter5/exercise_myungwook.md: -------------------------------------------------------------------------------- 1 | 1. 인터뷰가 중요한 이유는? 2 | - 임무명세나 임무목표와 같은 중요한 사항들을 수립하기 위한 근거를 제공한다. 3 | 1. 여러분이 다수의 사람들과 인터뷰를 진행할 때에는 어떤 문제들이 발생할 수 있는가? 4 | - 설명이 장황해지거나, 주도권을 빼앗기거나, 참여자 사이에 논쟁이 있을 수 있다. 5 | 1. 사용자들과 관리자의 인터뷰를 분리해서 진행하는 주된 이유는 무엇인가? 6 | - 부서별로 생각하는 바가 다를 수 있기 때문이다. 7 | 1. 참/거짓 문제: 여러분은 일반적으로 인터뷰를 진행할 때 폐쇄형 질문을 사용할 것이다. 8 | - 거짓 9 | 1. 여러분이 참여자와의 인터뷰를 통해 어떤 종류의 대답을 유도하려 해야 하는가? 10 | - 개방형 질문을 통해 구체적인 의견을 물어봐야 한다. 11 | 1. 여러분이 진행하는 모든 인터뷰에 대한 가장 중요한 지침은 무엇인가? 12 | - 인터뷰의 주도권을 가져야 한다. 13 | 1. 임무 명세는 무엇인가? 14 | - 임무 목표가 구체적 실행 목표라면 임무 명세는 그것을 아우르는 하나의 큰 과제이다. 15 | 1. 잘 작성된 임무 명세의 두 가지 특징에 대하여 서술하라. 16 | - 명료한 문장으로 작성된다. 구체적인 목표를 포함하지 않는다. 17 | 1. 참/거짓 문제: 여러분은 임무 명세를 작성하기 위해 조직에 대하여 학습할 필요가 없다. 18 | - 거짓 19 | 1. 임무 명세는 언제 완료되는가? 20 | - 모든 사람이 그 문장을 공감할 때 21 | 1. 임무 목표란 무엇인가? 22 | - 임무 명세를 달성하기 위한 구체적인 실행 목표 23 | 1. 잘 작성된 임무 목표의 두 가지 특징을 서술하라. 24 | - 하나의 간결한 목표만 가진다. 명확하다. 25 | 1. 참/거짓 문제: 여러분은 임무 목표들을 정의하기 위해 사용자들과 관리자와의 인터뷰를 수행해야만 한다. 26 | - 참 27 | 1. 임무 목표와 직원들의 일일 작업은 어떻게 관련이 있는가? 28 | - 일반적인 작업 유형을 파악할 수 있고 결과적으로 임무 목표 정의에 도움이 된다. 29 | 1. 참/거짓 문제: 임무 목표는 하나 이상의 작업을 설명할 수 있다. 30 | - 거짓 31 | 1. 임무 목표가 인터뷰의 답변에서 도출될 수 있는 방법 두 가지를 서술하라. 32 | - 암시적, 명시적 33 | 1. 임무 목표의 작성은 언제 완료되는가? 34 | - 구성원 모두가 공감할 때 35 | -------------------------------------------------------------------------------- /chapter1/exercise_donghyun.md: -------------------------------------------------------------------------------- 1 | 1. 오늘날 사용되고 있는 두 개의 주요 데이터베이스의 이름은? 2 | * 관계형 데이터베이스, 비관계형 데이터베이스 3 | 2. 분석 데이터베이스는 어떤 유형의 데이터를 저장하는가? 4 | * 장시간에 걸쳐 수집된 정적인 데이터를 저장한다. 5 | 3. 참/거짓 문제: 운영 데이터베이스는 주로 OLTP 업무에 사용된다. 6 | * 참 7 | 4. 관계형 데이터베이스 모델 이전에 일반적으로 사용되었던 두 개의 데이터 모델은 무엇인가? 8 | * 계층형 데이터베이스 모델, 네트워크 데이터베이스 모델 9 | 5. 부모/자식 관계에 대하여 설명하라. 10 | * 데이터베이스 관점에서 자식 테이블은 부모 테이블에 종속적이다.(자식 테이블에 있는 데이터는 부모 테이블에 존재하는 레코드에 연결되어야 한다.) 11 | 6. 집합 구조란 무엇인가? 12 | * 집합론을 기초로 하여, 데이터의 중복을 없애고 자료를 구조화하여 집합 구조로 저장한다. 13 | 7. 관계형 데이터베이스 모델은 수학 이론에 기초를 두고 있는데, 이 중 하나의 이름을 적으시오. 14 | * 집합론 15 | 8. 관계형 데이터베이스 모델은 데이터를 어떻게 저장하는가? 16 | * 테이블로 구현된 관계에 데이터를 저장한다. 각 관계들은 튜플, 레코드 그리고 속성이나 필드로 구성된다. 17 | 9. 관계형 데이터베이스에 존재하는 관계의 세 가지 유형을 나열하시오. 18 | * 1:1, 1:N, N:N 19 | 10. 관계형 데이터베이스에서 데이터를 추출하는 방법을 설명하라. 20 | * SQL 문을 통해서 원하는 데이터를 정보로 가공하여 추출한다. 21 | 11. 관계형 데이터베이스의 두 가지 장점에 대하여 서술하라. 22 | * 내장된 다중 무결성: 데이터의 정합성을 보장하기 위해 레코드 중복 방지, 기본키 부재 감지 등을 할 수 있다. 23 | * 쉬운 데이터 검색: SQL 문을 통해 다양한 방법으로 데이터를 정보로 가공할 수 있다. 24 | 12. 관계형 데이터베이스 관리 시스템은 무엇인가? 25 | * 데이텆베이스를 생성, 유지보수, 수정과 조작할 때 사용하는 소프트웨어 응용프로그램이다. 26 | 13. 객체-관계형 모델이 성립하기 위해서 어떤 전제조건이 필요한가? 27 | * 객체지향 요소와 관계형 데이트베이스 모델의 확장 28 | 14. 데이터 웨어하우스의 목적은 무엇인가? 29 | * 이질적인 데이터들을 통합하여 실용적인 정보로 만들어 사용할 수 있게끔 하는 것이 목적이다. -------------------------------------------------------------------------------- /chapter1/exercise_kunryung.md: -------------------------------------------------------------------------------- 1 | 1. 오늘날 사용되고 있는 두 개의 주요 데이터베이스의 이름은? 2 | * 관계형 데이터베이스, 비관계형 데이터베이스 3 | 2. 분석 데이터베이스는 어떤 유형의 데이터를 저장하는가? 4 | * 장시간에 걸쳐 수집된 정적인 데이터를 저장한다. 5 | 3. 참/거짓 문제: 운영 데이터베이스는 주로 OLTP 업무에 사용된다. 6 | * 참 7 | 4. 관계형 데이터베이스 모델 이전에 일반적으로 사용되었던 두 개의 데이터 모델은 무엇인가? 8 | * 계층형 데이터베이스 모델, 네트워크 데이터베이스 모델 9 | 5. 부모/자식 관계에 대하여 설명하라. 10 | * 데이터베이스 관점에서 자식 테이블은 부모 테이블에 종속적이다.(자식 테이블에 있는 데이터는 부모 테이블에 존재하는 레코드에 연결되어야 한다.) 11 | 6. 집합 구조란 무엇인가? 12 | * 집합론을 기초로 하여, 데이터의 중복을 없애고 자료를 구조화하여 집합 구조로 저장한다. 13 | 7. 관계형 데이터베이스 모델은 수학 이론에 기초를 두고 있는데, 이 중 하나의 이름을 적으시오. 14 | * 집합론 15 | 8. 관계형 데이터베이스 모델은 데이터를 어떻게 저장하는가? 16 | * 테이블로 구현된 관계에 데이터를 저장한다. 각 관계들은 튜플, 레코드 그리고 속성이나 필드로 구성된다. 17 | 9. 관계형 데이터베이스에 존재하는 관계의 세 가지 유형을 나열하시오. 18 | * 1:1, 1:N, N:N 19 | 10. 관계형 데이터베이스에서 데이터를 추출하는 방법을 설명하라. 20 | * SQL 문을 통해서 원하는 데이터를 정보로 가공하여 추출한다. 21 | 11. 관계형 데이터베이스의 두 가지 장점에 대하여 서술하라. 22 | * 내장된 다중 무결성: 데이터의 정합성을 보장하기 위해 레코드 중복 방지, 기본키 부재 감지 등을 할 수 있다. 23 | * 쉬운 데이터 검색: SQL 문을 통해 다양한 방법으로 데이터를 정보로 가공할 수 있다. 24 | 12. 관계형 데이터베이스 관리 시스템은 무엇인가? 25 | * 데이텆베이스를 생성, 유지보수, 수정과 조작할 때 사용하는 소프트웨어 응용프로그램이다. 26 | 13. 객체-관계형 모델이 성립하기 위해서 어떤 전제조건이 필요한가? 27 | * 객체지향 요소와 관계형 데이트베이스 모델의 확장 28 | 14. 데이터 웨어하우스의 목적은 무엇인가? 29 | * 이질적인 데이터들을 통합하여 실용적인 정보로 만들어 사용할 수 있게끔 하는 것이 목적이다. -------------------------------------------------------------------------------- /chapter9/exercise_taekcheon.md: -------------------------------------------------------------------------------- 1 | 1. 왜 필드 명세들이 중요한지 두 가지 이유를 적어라. 2 | - 필드 수준의 무결성을 강화하기 위함이다. 3 | - 데이터를 쉽게 이해할 수 있도록 한다. 4 | 5 | 2. 필드 수준의 무결성을 설정함으로써 무엇을 얻을 수 있나? 6 | - 데이터들이 일관성있고 유효하게 한다. 7 | - 필드의 목적과 존재가 분명해진다. 8 | 9 | 3. 필드 명세 내의 요소들의 세 가지 범주는 무엇인가? 10 | - 일반적 요소, 물리적 요소, 논리적 요소. 11 | 12 | 4. 세 종류의 명세들의 이름을 적어라. 13 | - 일반적 요소: 필드 이름, 부모 테이블, 레이블, 명세 종류, 원본 명세, 공유, 별칭, 설명 14 | - 물리적 요소: 데이터 종류, 길이, 소수점 위치, 문자 지원, 입력 마스크, 디스플레이 형식 15 | - 논리적 요소: 키 종류, 기 구조, 유일성, 널 지원, 값 입력자, 필요값, 기본값, 값의 범위, 변경 규칙, 비교 허용, 연산 허용 16 | 17 | 5. 적절한 필드 설명을 작성하는 것이 왜 유익한가? 18 | - 사람들이 설명을 보고 데이터를 쉽게 이해할 수 있기 때문이다. 19 | 20 | 6. 데이터형 요소가 가리키는 것은 무엇인가? 21 | - 문자, 국가별 문자, 2진, 정밀 숫자, 근사 숫자, 불리언, 날짜 또는 시각, 간격 22 | 23 | 7. 문자 지원 요소가 가리키는 것은 무엇인가? 24 | - 영숫자, 숫자, 날짜 또는 시각 25 | 26 | 8. 디스플레이 형식 요소의 목적은 무엇인가? 27 | - 필드의 값이 화면에 표시되거나 문서내에 인쇄될 때 어떤 형태로 나타나는지 결정한다. 28 | 29 | 9. 필드 명세에 어떤 종류의 키들이 나타나는가? 30 | - 주 키, 비 키, 대체 키 31 | 32 | 10. 참/거짓 문제: 널은 공백값을 나타낸다. 33 | - X 34 | 35 | 11. 값 범위 요소의 중요성은 무엇인가? 36 | - 특별한 업무 규칙을 적용할 때 중요하게 사용된다. 37 | 38 | 12. 변경 규칙의 목적은 무엇인가? 39 | - 값이 비어있을 때와 수정되지 말아야할 상황을 적용할 때 사용된다. 40 | 41 | 13. 비교 허용 요소의 목적은 무엇인가? 42 | - 의미없고 불필요한 연산을 허용하지 않는다. 43 | 44 | 14. 값 연산식이 무엇인가? 45 | - 필드값이나 상수값 혹은 둘 다 조합한 연산의 형식이다. 46 | 47 | 15. 언제 일반 명세를 사용하는가? 48 | - 다른 필드에서 템플릿으로 해당 필드를 사용할 때 이용한다. -------------------------------------------------------------------------------- /chapter8/exercise_taekcheon.md: -------------------------------------------------------------------------------- 1 | 1. 왜 키들이 중요한지 세 가지 이유를 적어라. 2 | - 테이블 간 관계 생성에 필요하다. 3 | - 레코드가 정확하게 식별되도록 하는데 도움을 준다. 4 | - 무결성을 설정하고 강화하는데 필요하다. 5 | 6 | 2. 네 개의 중요한 키들의 종류는 무엇인가? 7 | - 기본 키, 후보 키, 외래 키, 비 키 8 | 9 | 3. 후보 키의 목적은 무엇인가? 10 | - 고유한 레코드를 식별하게 해주는 키, 또는 목록이다. 11 | 12 | 4. 후보 키의 요소들 중 네 항목을 적어라. 13 | - 유일한 값을 가진다. 14 | - 널 값을 가질 수 없다. 15 | - 비밀 값이나 보안에 사용되는 값을 가질 수 없다. 16 | - 각 레코드들을 유일하게 식별할 수 있어야 한다. 17 | 18 | 5. 참/거짓 문제: 후보 키는 하나 이상의 필드들로 구성될 수 있다. 19 | - O 20 | 21 | 6. 테이블은 하나 이상의 후보 키를 가질 수 있는가? 22 | - O 23 | 24 | 7. 인위적인 후보 키란 무엇인가? 25 | - 테이블 내 후보 키가 없어 임의로 추가했을 때 인위적인 후보 키라 부른다. 26 | 27 | 8. 테이블에 할당하는 가장 중요한 키는 무엇인가? 28 | - 주 키 29 | 30 | 9. 이 키는 왜 중요한가?(8번과 연계됨) 31 | - 레코드 내 값을 유일하게 식별될 수 있도록 하기 때문이다. 32 | 33 | 10. 어떻게 주 키를 설정하는가? 34 | - 후보 키의 목록에서 단순하거나 테이블의 이름을 포함한 키를 선택한다. 35 | 36 | 11. 주 키의 요소들 중 네 항목을 적어라. 37 | - 유일한 값들을 포함해야한다. 38 | - 널 값을 포함할 수 없다. 39 | - 각 레코드들을 유일하게 식별할 수 있어야 한다. 40 | - 보안에 사용되는 값을 가질 수 없다. 41 | 42 | 12. 주 키의 선택을 마무리하기 전에 반드시 무엇을 해야만 하는가? 43 | - 테이블 내 모든 필드에 대해 주 키로 식별이 되는지 확인한다. 44 | 45 | 13. 대체 키란 무엇인가? 46 | - 주 키가 되지 못한 후보 키들이다. 47 | 48 | 14. 테이블 수준의 무결성을 설정함으로써 무엇을 보장하는가? 49 | - 테이블 내 이중 레코드들이 없다. 50 | - 테이블 내의 각 레코드들으 배타적으로 식별할 수 있다. 51 | 52 | 15. 왜 초기 테이블 구조를 검토해야만 하는가? 53 | - 설정했던 주제들이 테이블에 잘 나타나는지 검증하고, 모호한 테이블을 개선하기 위해 검토한다. -------------------------------------------------------------------------------- /chapter11/exercise_wooju.md: -------------------------------------------------------------------------------- 1 | 1. 업무 규칙이란 무엇인가? 2 | 1. 데이터베이스의 특정 측면에 어떤 형태의 제약을 부과하는 문장이다. 3 | 2. 업무 규칙의 두 가지 중요한 종류들의 이름을 기술하라. 4 | 1. 데이터베이스 지향 5 | 2. 응용프로그램 지향 6 | 3. 데이터베이스의 논리적 설계 내에서 응용프로그램 지향 업무 규칙을 설정할 수 있는가? 7 | 1. 데이터베이스의 논리적 설계 내에서 응용프로그램 지향 업무 규칙을 설정할 수 없다. 8 | 4. 데이터베이스 지향 업무 규칙의 두 가지 범주는 무엇인가? 9 | 1. 필드 특유의 업무규칙 10 | 2. 관계 특유의 업무규칙 11 | 5. 필드 특유의 업무 규칙이란 무엇인가? 12 | 1. 특정 필드를 위한 필드 명세의 요소들에 제약조건을 부과한다. 13 | 6. 언제 업무 규칙은 테스트되는가? 14 | 1. 하나의 레코드 또는 하나의 필드를 삽압, 삭제, 갱신할때 테스트 된다. 15 | 7. 업무 규칙을 어떻게 문서화하는가? 16 | 1. 규칙에 대한 업무 규칙 명세서를 작성하여 업무 규칙을 문서화 한다. 17 | 8. 업무 규칙 명세서가 제공하는 두 가지 장점을 적어라. 18 | 1. 모든 데이터베이스 지향 업무 규칙을 문서화하도록 해준다. 19 | 2. 모든 응용프로그램 지향 업무 규칙을 문서화하도록 해준다. 20 | 3. 모든 업무 규칙을 기록하기 위한 표준적인 방법을 제공한다. 21 | 9. 업무 규칙 명세서의 처리사항(action taken) 부분의 목적은 무엇인가? 22 | 1. 필드 명세의 요소나 관계도에 수정사항을 표시한 곳 23 | 10. 검증 테이블의 목적은 무엇인가? 24 | 1. 데이터의 무결성을 구현 25 | 11. 검증 테이블의 전형적인 구조는 무엇인가? 26 | 1. 두개의 필드로 구성 27 | 2. 첫번째는 주 키의 역할을 하고 데이터의 무결성을 강화하기 위해 사용 28 | 3. 두번째는 데이터베이스의 어떤 다른 필드에 의해 요구되는 값들의 집합을 저장하는 단순한 비 키 필드 29 | 12. 업무 규칙과 검증 테이블 사이의 연관성은 무엇인가? 30 | 1. 특정 필드에 들어갈 수 있는 값의 범위에 업무 규칙이 부여하는 제약사항을 강제할 때 검증테이블을 사용할 수 있다. 31 | 13. 완성된 업무 규칙 명세서를 모두 검토해야 하는 이유는 무엇인가? 32 | 1. 각 업무 규칙명세서가 기록하는 규칙을 적절하게 설정하고 명세서상의 적당한 부분에 명확하게 표시했는지를 확인하기 위해 검토해야 한다. 33 | -------------------------------------------------------------------------------- /chapter2/exercise_wooju.md: -------------------------------------------------------------------------------- 1 | 1. RDBMS 프로그램의 설계 도구를 사용하기에 가장 좋은 순간은? 2 | * 논리적 데이터베이스 구조를 설계한 이후에 사용 3 | * RDBMS 프로그램은 설계에는 도움이 되지 않고 물리적 테이블을 생성하는데 도움이 된다. 4 | 5 | 2. 참/거짓 문제: 설계는 데이터의 일관성, 무결성 정확성에 매우 중요하다. 6 | * 참 7 | 8 | 3. 잘못된 데이터베이스 설계의 가장 해로운 결과는 무엇인가? 9 | * 부정확한 정보 10 | 11 | 4. 관계형 데이터베이스를 구조적으로 튼튼하게 해주고 정확한 정보를 보장할 수 있게 해주는 것은? 12 | * 이론적 기초 (집합이론과 1차술어논리) 13 | 14 | 5. 설계 방법론을 학습할 때의 두 가지 장점은 무엇인가? 15 | * 효율성 증가 16 | * 조직화된 기술 제공 17 | * 설계에 소요되는 시간 감소 18 | * 실수와 설계의 반복 최소화 19 | * 기술적인 지식과 도구사용의 이해도 습득 20 | * 견고한 데이터베이스 구조를 설계하는데 필요한 기술 습득 21 | * RDBMS 응용프로그램을 효과적으로 사용 22 | 23 | 6. 참/거짓 문제: 데이터베이스 설계를 이해한다면 RDBMS 프로그램을 효율적으로 사용할 수 있을 것이다. 24 | * 참 25 | 26 | 7. 훌륭한 설계의 두 가지 목적을 나열하라. 27 | * 필수 및 임의적인 정보 검색을 모두 지원할 수 있어야 함 28 | * 테이블은 적절하고 효율적으로 구성되어야 함 29 | * 펠드, 테이블, 관계 수준에서 데이터의 무결성이 부과되어야 함 30 | * 데이터베이스는 조직과 관련된 업무규칙을 지원해야 함 31 | * 데이터베이스는 자체의 미래성장에 적합해야 함 32 | 33 | 8. 데이터 구조와 그 값이 항상 정확하고 의미 있는 값이라는 것을 보장하는 데 도움을 주는 것은? 34 | * 데이터의 무결성 35 | 36 | 9. 훌륭한 설계 기법을 적용할 때의 두 가지 장점을 기술하라. 37 | * 효과적인 데이터베이스 운영 38 | * 데이터베이스의 구조 및 데이터를 쉽게 수정할 수 있음 39 | * 정보관리의 효율성 40 | * 정보를 쉽게 검색할 수 있고 최종 사용자 응용프로그램을 개발하기에 용이함 41 | 42 | 10. 참/거짓 문제: 설계 프로세스를 일부 단축하더라도 여전히 훌륭하고 튼튼한 설계를 할 수 있다. 43 | * 거짓 -------------------------------------------------------------------------------- /chapter1/exercise_taekcheon.md: -------------------------------------------------------------------------------- 1 | 1. 오늘날 사용되고 있는 두 개의 주요 데이터베이스의 이름은? 2 | - 운영 데이터베이스, 분석 데이터베이스 3 | 4 | 2. 분석 데이터베이스는 어떤 유형의 데이터를 저장하는가? 5 | - 특정 시점에서의 수치를 담은 정적인 데이터 6 | 7 | 3. 참/거짓 문제: 운영 데이터베이스는 주로 OLTP(Online Transaction Processing) 업무에 사용된다. 8 | - O 9 | 10 | 4. 관계형 데이터베이스 모델 이전에 일반적으로 사용되었던 두 개의 데이터 모델은 무엇인가? 11 | - 계층 데이터베이스, 네트워크 데이터베이스 12 | 13 | 5. 부모/자식 관계에 대하여 설명하라. 14 | - 부모는 여러 자식을 가질 수 있지만, 자식은 한 부모만 가진다. 15 | 16 | 6. 집합 구조란 무엇인가? 17 | - 네트워크 데이터베이스 모델에서 사용되는 다대다 관계를 말한다. 소유자는 여러 참여자와 연결되어있고 참여자는 여러 소유자와 연결되어 있다. 18 | 19 | 7. 관계형 데이터베이스 모델은 수학 이론에 기초를 두고 있는데, 이 중 하나의 이름을 적으시오. 20 | - 집합론 21 | 22 | 8. 관계형 데이터베이스 모델은 데이터를 어떻게 저장하는가? 23 | - 테이블로 이루어진 관계를 통해 물리적인 위치와 관계없이 저장한다. 24 | 25 | 9. 관계형 데이터베이스에 존재하는 관계의 세 가지 유형을 나열하시오. 26 | - 1:1, 1:M, M:M 27 | 28 | 10. 관계형 데이터베이스에서 데이터를 추출하는 방법을 설명하라. 29 | - SQL 또는 쿼리생성기 30 | 31 | 11. 관계형 데이터베이스의 두 가지 장점에 대하여 서술하라. 32 | - 수정이 일어날 때마다 데이터베이스 전체에 영향이 가는 이전 데이터베이스 모델에 비해 다루기 쉽다. 33 | - 필드, 테이블 수준, 관계 수준 등에서 무결성을 보장한다. 34 | 35 | 12. 관계형 데이터베이스 관리 시스템은 무엇인가? 36 | - 관계형 데이터베이스를 더 쉽게 관리, 유지보수를 가능하게 하는 도구를 제공하는 소프트웨어. 37 | 38 | 13. 객체-관계형 모델이 성립하기 위해서 어떤 전제조건이 필요한가? 39 | - 객체를 통해서만 데이터베이스를 조작할 수 있다. 40 | - 관계 개념을 상속, 캡슐화 등 객체지향의 요소로 구현해야한다. 41 | 42 | 14. 데이터 웨워하우스의 목적은 무엇인가? 43 | - 데이터베이스들을 통합하여 기업이나 조직에서 분석, 활용할 수 있는 도구를 제공하는 것이 목적이다. 44 | -------------------------------------------------------------------------------- /chapter2/exercise_hosung.md: -------------------------------------------------------------------------------- 1 | 1. RDBMS 프로그램의 설계 도구를 사용하기에 가장 좋은 순간은? 2 | 3 | 논리적 데이터베이스 구조를 설계한 이후. 일단 손 쓰기 전에 생각 부터 하자. 4 | 5 | 2. 참/거짓 문제: 설계는 데이터의 일관성, 무결성 정확성에 매우 중요하다. 6 | 참 7 | 8 | 3. 잘못된 데이터베이스 설계의 가장 해로운 결과는 무엇인가? 9 | 부정확한 정보 10 | 11 | 4. 관계형 데이터베이스를 구조적으로 튼튼하게 해주고 정확한 정보를 보장할 수 있게 해주는 것은? 12 | 수학적 이론. 집합 이론과 1차 술어 논리. 13 | 14 | 5. 설계 방법론을 학습할 때의 두 가지 장점은 무엇인가? 15 | 16 | - 견고한 데이터베이스 구조를 설계하는 데 필요한 기술을 제공한다. 17 | - 단계적으로 설계 프로세스를 알려줄 조직화된 기술 집합을 제공한다. 18 | - 실수와 설계 반복을 최소한을 줄여준다. 19 | - 설계 프로세스를 쉽게 만들며 데이터베이스의 설계에 소요되는 시간을 줄여준다. 20 | - RDBMS 응용프로그램을 보다 더 완벽하고 효과적으로 사용하는 데 도울을 준다. 21 | 22 | 6. 참/거짓 문제: 데이터베이스 설계를 이해한다면 RDBMS 프로그램을 효율적으로 사용할 수 있을 것이다. 23 | 참 24 | 25 | 7. 훌륭한 설계의 두 가지 목적을 나열하라. 26 | 27 | - 데이터베이스는 필수 및 임의적인 정보 검색을 모두 지원한다. 28 | - 데이터베이스의 적절하고 효율적으로 구성되어야 한다. 29 | - 필드, 테이블, 관계 수준에서 데이터 무결성이 부과된다. 30 | - 데이터베이스는 조직과 관련된 업무 규칙을 지원한다. 31 | - 데이터베이스는 자체의 미래성장에 적합하다. (확장가능성, 유연함) 32 | 33 | 8. 데이터 구조와 그 값이 항상 정확하고 의미 있는 값이라는 것을 보장하는 데 도움을 주는 것은? 34 | 수학적 이론(4번 질문) 그리고 견고한 설계 35 | 36 | 9. 훌륭한 설계 기법을 적용할 때의 두 가지 장점을 기술하라. 37 | 38 | - 데이터베이스 구조를 쉽게 수정할 수 있고 운영할 수 있다. 39 | - 데이터를 쉽게 수정할 수 있다. 40 | - 정보를 쉽게 검색할 수 있다. 41 | - 최종 사용자 응용프로그램을 개발하고 구축하기 쉽다. 42 | 43 | 10. 참/거짓 문제: 설계 프로세스를 일부 단축하더라도 여전히 훌륭하고 튼튼한 설계를 할 수 있다. 44 | 거짓 -------------------------------------------------------------------------------- /chapter10/exercise_myungwook.md: -------------------------------------------------------------------------------- 1 | 1. 관계가 왜 중요한지, 대표적인 이유 두개를 서술하라 2 | - 논리적으로 연관이 있는 두 테이블 사이의 연결을 설정한다. 3 | - 테이블 구조를 정제하고 중복 데이터를 최소화 하는것을 돕는다. 4 | 1. 관계의 세 유형을 적어라 5 | - 일대일 6 | - 일대다 7 | - 다대다 8 | 1. 어떤 관계가 가장 많은 문제를 일으키는가? 9 | - 다대다 10 | 1. 다대다 관계에서 마주칠 수 있는 두 개의 문제를 서술하라. 11 | - 대량의 중복데이터 발생 12 | - 데이터 삽입, 갱신, 삭제 불편 13 | 1. 자가 참조 관계는 무엇인가? 14 | - 한 테이블 안에있는 레코드 사이의 관계 15 | 1. 데이터베이스에 있는 테이블 사이에 관계를 식별하는 절차는 어떻게 시작하는가? 16 | - 모든 테이블 목록을 이용해 관계표를 만든다. 17 | 1. 이미 있는 관계를 식별하기 위해 사용할 수 있는 두 종류의 질문은 무엇인가? 18 | - 소유권기반 질문, 활동기간 질문 19 | 1. 테이블 행렬에 있는 1대다 관계를 지정할 때 사용하는 단축 기호는 무엇인가? 20 | - 1:N 21 | 1. 행렬에 있는 각 쌍의 테이블 사이에 어떤 종류의 관계가 공식적으로 존재하는지는 어떻게 결정하는가? 22 | - a->b, b->a 관계를 판단하고, 관계 덧셈을 통해 관계를 식별한다. 23 | 1. 1대다 관계는 어떻게 설정하는가? 24 | - '다' 쪽에 '1' 쪽 관계키 필드를 추가한다. 25 | 1. 참/거짓 문제: 자가 참조 관계를 가진 테이블에서 정보를 추출하는 것은 지루하고 다소 어려울 수 있다. 26 | - 참 27 | 1. 자가 참조 다대다 관계는 어떻게 설정하는가? 28 | - 연결테이블을 설정한다. 29 | 1. 데이터베이스에 있는 외래 키는 어떻게 개선하는가? 30 | - 복사된 기본 키의 이름과 같은 이름을 갖게한다. 31 | 1. 외래 키의 필드 명세 중에서 어떤 두 요소들을 반드시 수정해야 하는가? 32 | - 키 종류, 유일성 33 | 1. 삭제 규칙의 기능은 무엇인가? 34 | - 관계 테이블의 데이터가 삭제될 때 연관된 데이터의 처리방법 결정 35 | 1. 테이블에 대하여 지정할 수 있는 두 가지 참여 종류는 무엇인가? 36 | - 의무적, 선택적 37 | 1. 참여의 정도는 무엇을 나타내는가? 38 | - 맞은편 테이블에 얼마나 많이 연결될 수 있나를 표현한다. 39 | 1. 관계는 언제 관계 수준 무결성을 획득해야하는가? 40 | - 관계와 이에 대한 특징이 적절하게 설정된 이후 41 | -------------------------------------------------------------------------------- /chapter11/exercise_minki.md: -------------------------------------------------------------------------------- 1 | - 업무 규칙이란 무엇인가? 2 | 3 | 필드 명세 내의 요소들이나 주어진 관계의 특성들처럼 데이터베이스의 특정 측면에 어떤 형태의 제약을 부과하는 문장 4 | 5 | - 업무 규칙의 두 가지 중요한 종류들의 이름을 기술하라. 6 | - 데이터베이스 지향 7 | - 응용프로그래밍 지향 8 | - 데이터베이스의 논리적 설계 내에서 응용프로그램 지향 업무 규칙을 설정할 수 있는가? 9 | 10 | 거짓 11 | 12 | - 데이터베이스 지향 업무 규칙의 두 가지 범주는 무엇인가? 13 | - 필드 특유의 업무 규칙 14 | - 관계 특유의 업무 규칙 15 | - 필드 특유의 업무 규칙이란 무엇인가? 16 | 17 | 특정 필드를 위한 필드 명세의 요소들에 제약조건을 부과한다. 18 | 19 | - 언제 업무 규칙은 테스트되는가? 20 | 21 | 필드 및 레코드를 삽압, 삭제, 갱신 수행할 때 22 | 23 | - 업무 규칙을 어떻게 문서화하는가? 24 | 25 | 규칙에 대한 업무 규칙 명세서를 작성한다. 26 | 27 | - 업무 규칙 명세서가 제공하는 두 가지 장점을 적어라. 28 | - 모든 데이터베이스 지향 업무 규칙을 문서화하도록 해준다. 29 | - 모든 응용프로그램 지향 업무 규칙을 문서화하도록 해준다. 30 | - 모든 업무 규칙을 기록하기 위한 표준적인 방법을 제공한다. 31 | - 업무 규칙 명세서의 처리사항(action taken) 부분의 목적은 무엇인가? 32 | 33 | 필드 명세의 요소나 관계도에 수정사항을 표시 34 | 35 | - 검증 테이블의 목적은 무엇인가? 36 | 37 | 데이터 무결성 38 | 39 | - 검증 테이블의 전형적인 구조는 무엇인가? 40 | - 두개의 필드 구성 41 | - 주 키; 데이터의 무결성을 강화 42 | - 비 키; 데이터베이스의 어떤 다른 필드에 의해 요구되는 값들의 집합을 저장 43 | - 업무 규칙과 검증 테이블 사이의 연관성은 무엇인가? 44 | 45 | 특정 필드에 들어갈 수 있는 값의 범위에 업무 규칙이 부여하는 제약사항을 강제할 때 검증테이블을 사용할 수 있다. 46 | 47 | - 완성된 업무 규칙 명세서를 모두 검토해야 하는 이유는 무엇인가? 48 | 49 | 각 업무 규칙명세서가 기록하는 규칙을 적절하게 설정하고 명세서상의 적당한 부분에 명확하게 표시했는지를 확인하기 위해 50 | -------------------------------------------------------------------------------- /chapter4/exercise.md: -------------------------------------------------------------------------------- 1 | 1. 2 | 2. 설계 프로세스 전체를 완료하는 것이 중요한 이유는 무엇인가? 3 | 4 | 디비에서 구조적, 데이터 무결성의 수준이 전체적으로 설계 프로세스를 준수한 수준과 정비례 관계에 있기 때문임. 5 | 6 | 7 | 8 | 2. 참/거짓 문제: 구조적 무결성의 수준이 설계 프로세스 전체를 준수하는 것과 정비례하는가? 9 | 10 | 참 11 | 12 | 13 | 14 | 3. 임무 명세의 목적은 무엇인가? 15 | 16 | 디비의 목적을 설정함으로서 설계 작업을 수행하기 위해 초점을 맞춰야하는 것을 명확히 해줌. 17 | 18 | 19 | 20 | 4. 임무 목표는 무엇인가? 21 | 22 | 사용자가 디비에 대해 수행할 수 있는 일반적인 작업들을 나타냄. 23 | 24 | 25 | 26 | 5. 조직의 기본적인 데이터 요구사항은 무엇으로 인식되는가? 27 | 28 | 디비의 종류나 상태와 상관없이 기존의 것을 분석함으로서 인식할 수 있음. 29 | 30 | 31 | 32 | 6. 테이블이 나타내는 다양한 대상은 어떻게 결정하는가? 33 | 34 | 핵심 목표와 인터뷰를 통해 기존의 디비를 분석해 얻은 데이터 요건을 통해 테이블에 표현할 다양한 주제를 결정함. 35 | 36 | 37 | 38 | 7. 참/거짓 문제: 데이터베이스 설계 프로세스의 두 번째 단계에서 데이터베이스에 있는 각 필드에 대한 필드 명세를 설정한다. 39 | 40 | 거짓 41 | 42 | 43 | 44 | 8. 관계에 있는 테이블 사이에 논리적 연결은 어떻게 설정하는가? 45 | 46 | 사용자와 관리자들과의 인터뷰를 한번 더 수행하여 관계를 확인한 후에 기본 키나 연결 테이블을 통해 각 관계에 있는 테이블 간의 논리적인 연결을 설정함. 47 | 48 | 49 | 50 | 9. 무엇이 데이터베이스에 설정해야 하는 제약사항과 요건들을 결정하는가? 51 | 52 | 조직이 데이터를 보고 사용하는 방법은 디비에서 구현해야하는 요건과 제약사항을 결정함. 53 | 54 | 55 | 56 | 10. 특정 업무 규칙을 지원하기 위해 무엇을 설계하고 구현할 수 있는가? 57 | 58 | 검증 테이블 59 | 60 | 61 | 62 | 11. 데이터베이스에 구축할 필요가 있는 뷰의 종류는 어떻게 결정되는가? 63 | 64 | 사용자와 관리자와의 인터뷰를 수행하고 그들이 각 데이터로 작업을 수행하는 방법을 결정하여 디비에 구현할 필요가 있는 뷰의 유형을 확인. 65 | 66 | 67 | 68 | 12. 언제 RDBMS 프로그램에서 논리적인 구조를 구현할 수 있는가? 69 | 70 | 7단계의 디비 설계 프로세스 전체를 완료했을 때 논리적인 데이터베이스 구조를 구현할 준비가 된 것임. -------------------------------------------------------------------------------- /chapter5/exercise_taekcheon.md: -------------------------------------------------------------------------------- 1 | 1. 인터뷰가 중요한 이유는? 2 | - 설계에 필요한 정보를 사용자와 관리자에게서 얻어내기 위함이다. 3 | 4 | 2. 여러분이 다수의 사람들과 인터뷰를 진행할 때에는 어떤 문제들이 발생할 수 있는가? 5 | - 인터뷰의 대상이 적극적으로 참여하지 않는다. 6 | - 질문을 제대로 준비하지 않아 불충분한 정보를 얻게 되었다. 7 | 8 | 3. 사용자들과 관리자의 인터뷰를 분리해서 진행하는 주된 이유는 무엇인가? 9 | - 데이터를 다루는 방법이나, 관점이 다르기 때문이다. 10 | 11 | 4. 참/거짓 문제: 여러분은 일반적으로 인터뷰를 진행할 때 폐쇄형 질문을 사용할 것이다. 12 | - X 13 | 14 | 5. 여러분이 참여자와의 인터뷰를 통해 어떤 종류의 대답을 유도하려 해야 하는가? 15 | - 개방적 질문을 사용해 참여자가 자유롭게 답을 할 수 있도록 해야한다. 16 | 17 | 6. 여러분이 진행하는 모든 인터뷰에 대한 가장 중요한 지침은 무엇인가? 18 | - 인터뷰를 주도해야한다. 19 | 20 | 7. 임무 명세는 무엇인가? 21 | - 데이터베이스의 목적. 22 | 23 | 8. 잘 작성된 임무 명세의 두 가지 특징에 대하여 서술하라. 24 | - 간결하고 명료하다. 25 | - 목표가 뚜렷하다. 26 | 27 | 9. 참/거짓 문제: 여러분은 임무 명세를 작성하기 위해 조직에 대하여 학습할 필요가 없다. 28 | - X 29 | 30 | 10. 임무 명세는 언제 완료되는가? 31 | - 데이터베이스에 관련된 모든 사람이 만족할 때 완료된다. 32 | 33 | 11. 임무 목표란 무엇인가? 34 | - 데이터베이스로 수행되는 일반적인 작업. 35 | 36 | 12. 잘 작성된 임무 목표의 두 가지 특징을 서술하라. 37 | - 임무 목표가 한 가지의 작업을 나타낸다. 38 | - 간단한 내용을 나타낸다. 39 | 40 | 13. 참/거짓 문제: 여러분은 임무 목표들을 정의하기 위해 사용자들과 관리자와의 인터뷰를 수행해야만 한다. 41 | - O 42 | 43 | 14. 임무 목표와 직원들의 일일 작업은 어떻게 관련이 있는가? 44 | - 조직이 데이터를 다루는 방법을 임무 목표로 정하기 때문에 그들이 매일 하는 작업이 임무 목표가 된다. 45 | 46 | 15. 참/거짓 문제: 임무 목표는 하나 이상의 작업을 설명할 수 있다. 47 | - X 48 | 49 | 16. 임무 목표가 인터뷰의 답변에서 도출될 수 있는 방법 두 가지를 서술하라. 50 | - 문장에 명시되어 있거나, 문장 속에 암시되어 있다. 51 | 52 | 17. 임무 목표의 작성은 언제 완료되는가? 53 | - 데이터베이스에 관련된 모든 사람이 만족할 때 완료된다. -------------------------------------------------------------------------------- /chapter3/exercise_taekcheon.md: -------------------------------------------------------------------------------- 1 | 1. 전문 용어가 중요한 이유는 무엇인가? 2 | - 개발자와 대화할 때 정확한 의사소통을 위해서, 데이터베이스 설계 프로세스에 사용하기 때문에 정확히 알아야 한다. 3 | 4 | 2. 용어의 네 가지 범주의 이름은 무엇인가? 5 | - 값 범주에는 데이터, 정보, 널, 널값이 있다. 6 | - 구조 범주에는 테이블, 필드, 레코드, 뷰, 키가 있다. 7 | - 관계 범주에는 관계, 관계의 종류, 참여의 종류, 참여의 정도가 있다. 8 | - 무결성 범주에는 테이블 수준, 필드 수준, 관계 수준, 업무 규칙이 있다. 9 | 10 | 3. 데이터와 정보의 차이는 무엇인가? 11 | - 데이터는 가공되지 않은 상태, 정보는 가공된 상태 12 | 13 | 4. 널은 무엇을 표시하는가? 14 | - 없거나, 알 수 없는 값 15 | 16 | 5. 널의 가장 큰 단점은 무엇인가? 17 | - 수학적 계산에 활용될 수 없다. 18 | 19 | 6. 데이터베이스에 있는 주요 구조는 무엇인가? 20 | - 테이블, 필드, 레코드 21 | 22 | 7. 테이블의 세 가지 종류는 무엇인가? 23 | - 정보로 활용되는 데이터 테이블, 무결성을 위한 검증 테이블, 다대다 관계에 필요한 연결 테이블이 있다. 24 | 25 | 8. 뷰는 무엇인가? 26 | - 테이블 여러 개를 합쳐 각 테이블 간의 관계를 한 눈에 볼 수 있도록 만든 가상의 테이블이다. 27 | 28 | 9. 키와 인덱스의 차이점은 무엇인지 서술하라. 29 | - 키는 레코드를 식별하기 위한 논리적 고유값, 인덱스는 최적화를 위한 물리적 고유값 30 | 31 | 10. 두 개의 테이블 사이에 존재할 수 있는 관계의 세 가지 종류는 무엇인가? 32 | - 1:1, 1:M, M,M 33 | 34 | 11. 관계를 특정 지을 수 있는 세 가지 방법은 무엇인가? 35 | - 관계의 유형, 참여의 필연성, 참여의 정도 36 | 37 | 12. 필드 명세는 무엇인가? 38 | - 필드의 모든 요소를 명세함으로써 필드 수준에서 무결성을 검증할 수 있다. 39 | 40 | 13. 필드 명세를 구성하는 세 가지 요소는 무엇인가? 41 | - 일반 명세, 논리 명세, 물리 명세 42 | 43 | 14. 데이터 무결성은 무엇인가? 44 | - 데이터가 정확하고 일관적인지를 나타낸다. 45 | 46 | 15. 데이터 무결성의 네 가지 종류는 무엇인가? 47 | - 테이블 수준에서는 중복된 레코드가 없고, 기본 키가 유일해야한다. 48 | - 필드 수준에서는 필드 구조가 잘못되지 않아야 한다. 49 | - 관계 수준에서는 관계의 적절성과 테이블 간 동기화가 보장되어야 한다. 50 | - 업무 규칙이 무결성에 영향을 주는 경우를 따져야한다. 51 | -------------------------------------------------------------------------------- /chapter4/exercise_minki.md: -------------------------------------------------------------------------------- 1 | 1. 설계 프로세스 전체를 완료하는 것이 중요한 이유는 무엇인가? 2 | 3 | 데이터베이스에서 구조적인 무결성과 데이터 무결성의 수준이 전체적으로 설계 프로세스를 준수한 수준과 정비례 관계에 있다. 4 | 5 | 2. 구조적 무결성의 수준이 설계 프로세스 전체를 준수하는 것과 정비례하는가? 6 | 7 | 네 8 | 9 | 3. 업무 명세의 목적은 무엇인가? 10 | 11 | 데이터베이스의 목적을 설정하고 설계 작업을 수행하기 위해 중요한 것들을 명확하게 해준다. 12 | 13 | 4. 임무 목표는 무엇인가? 14 | 15 | 사용자가 데이터베이스에 있는 데이터에 대한 작업을 수행할 수 있는 일반적인 작업들 16 | 17 | 5. 조직의 기본적인 데이터 요구사항은 무엇으로 인식되는가? 18 | 19 | 기존 데이터베이스 분석(사용자, 관리자와의 인터뷰) 20 | 21 | 6. 테이블이 나타내는 다양한 대상은 어떻게 결정하는가? 22 | 핵심 목표(1단계), 수집된 데이터 요건들(2단계) 23 | 24 | 7. 데이터베이스 설계 프로세스의 두 번째 단계에서 데이터베이스에 있는 각 필드에 대한 필드 명세를 설정한다. 25 | 26 | 아니다. 27 | 28 | 1. 임무목표, 임무명세 29 | 2. 기존 데이터 분석. 30 | 3. 데이터 구조생성(필드 명세 설정) 31 | 32 | 8. 관계에 있는 테이블 사이에 논리적 연결은 어떻게 설정하는가? 33 | 34 | 인터뷰를 통해 관계를 확인한 후, 기본 키나 연결 테이블을 통해 연결한다. 35 | 36 | 9. 무엇이 데이터베이스에 설정해야 하는 제약사항과 요건들을 결정하는가? 37 | 38 | 업무 규칙 39 | 40 | 10. 특정 업무 규칙을 지원하기 위해 무엇을 설계하고 구현할 수 있는가? 41 | 42 | 뷰 43 | 44 | 11. 데이터베이스에 구축할 필요가 있는 뷰의 종류는 어떻게 결정되는가? 45 | 46 | 인터뷰(with 사용자, 관리자) 47 | 48 | 12. 언제 RDBMS 프로그램에서 논리적 구조를 구현할 수 있는가? 49 | 50 | 설계 프로세스(7단계) 이후 51 | 52 | 1. 임무 명세, 임무 목표 정의 53 | 2. 기존 데이터베이스 분석 54 | 3. 데이터 구조 생성 55 | 4. 테이블 관계 설정 56 | 5. 업무 규칙 설정 57 | 6. 뷰 설정 58 | 7. 데이터 무결성 검토 59 | -------------------------------------------------------------------------------- /chapter5/exercise_wooju.md: -------------------------------------------------------------------------------- 1 | 1. 인터뷰가 중요한 이유는? 2 | - 데이터베이스 구조의 설계에 중요한 정보를 파악할 수 있기 때문 3 | 2. 여러분이 다수의 사람들과 인터뷰를 진행할 때에는 어떤 문제들이 발생할 수 있는가? 4 | - 다수의 침여자 중 인터뷰에 참여하지 못하는 인원이 발생 5 | 3. 사용자들과 관리자의 인터뷰를 분리해서 진행하는 주된 이유는 무엇인가? 6 | - 사용자와 관리자는 관심사가 다르고 데이터를 사용하는 방법의 차이가 있기 때문 7 | 4. 참/거짓 문제: 여러분은 일반적으로 인터뷰를 진행할 때 폐쇄형 질문을 사용할 것이다. 8 | - 거짓: 개방형질문을 사용한다. 9 | 5. 여러분이 참여자와의 인터뷰를 통해 어떤 종류의 대답을 유도하려 해야 하는가? 10 | - 완벽한 서술식의 응답 11 | 6. 여러분이 진행하는 모든 인터뷰에 대한 가장 중요한 지침은 무엇인가? 12 | - 인터뷰의 통제권을 유지하는 것 13 | 7. 임무 명세는 무엇인가? 14 | - 데이터베이스의 특별한 목적을 정의한 것 15 | 8. 잘 작성된 임무 명세의 두 가지 특징에 대하여 서술하라. 16 | - 명료하다 17 | - 요점을 간결하게 표현한다 18 | - 특정 작업을 명시적으로 묘사하는 절이나 문장이 없다 19 | 9. 참/거짓 문제: 여러분은 임무 명세를 작성하기 위해 조직에 대하여 학습할 필요가 없다. 20 | - 거짓 21 | 10. 임무 명세는 언제 완료되는가? 22 | - 데이터베이스의 특별한 목적을 묘사하고 이와 관련된 모든사람이 이를 이해하고 동의하는 문장이 완성될때 23 | 11. 임무 목표란 무엇인가? 24 | - 데이터베이스에서 관리하는 데이터가 지원하는 일반적인 단일 업무를 표현하는 문장 25 | 12. 잘 작성된 임무 목표의 두 가지 특징을 서술하라. 26 | - 이해하기 쉬워야 함 27 | - 명확하고 간결해야 함 28 | 13. 참/거짓 문제: 여러분은 임무 목표들을 정의하기 위해 사용자들과 관리자와의 인터뷰를 수행해야만 한다. 29 | - 참 30 | 14. 임무 목표와 직원들의 일일 작업은 어떻게 관련이 있는가? 31 | - 직원이 수행하는 대부분의 작업들이 임무 목표가 된다는 점에서 그들이 매일 수해하는 작업은 임무 목표와 연관이 있다. 32 | 15. 참/거짓 문제: 임무 목표는 하나 이상의 작업을 설명할 수 있다. 33 | - 거짓 34 | 16. 임무 목표가 인터뷰의 답변에서 도출될 수 있는 방법 두 가지를 서술하라. 35 | - 응답을 통해 명시적이거나 암시적으로 도출 36 | 17. 임무 목표의 작성은 언제 완료되는가? 37 | - 데이터베이스 설계자 및 사용자가 모두 이해하고 공감할때 -------------------------------------------------------------------------------- /chapter5/exercise_kyungjun.md: -------------------------------------------------------------------------------- 1 | 1. 인터뷰가 중요한 이유는? 2 | > 인터뷰는 개발자와 데이터베이스 설계의 대상과의 가치 있는 의사결정을 연결을 제공하기 때문에 3 | 4 | 2. 여러분이 다수의 사람들과 인터뷰를 진행할 때에는 어떤 문제들이 발생할 수 있는가? 5 | > 일부 참여자의 위협(부담) 수준이 인터뷰에 참여하는 전체 사용자의 수와 정비례함 6 | 7 | 3. 사용자들과 관리자의 인터뷰를 분리해서 진행하는 주된 이유는 무엇인가? 8 | > 조직에 대해 서로 다른 관점을 가지고 있으며, 일상적으로 데이터를 사용하는 방법이 서로 다름. 9 | 10 | 4. 참/거짓 문제: 여러분은 일반적으로 인터뷰를 진행할 때 폐쇄형 질문을 사용할 것이다. 11 | > 거짓 12 | 13 | 5. 여러분이 참여자와의 인터뷰를 통해 어떤 종류의 대답을 유도하려 해야 하는가? 14 | > 서술식의 응답 15 | 16 | 6. 여러분이 진행하는 모든 인터뷰에 대한 가장 중요한 지침은 무엇인가? 17 | > 인터뷰의 주도권을 가져야 한다. 18 | 19 | 7. 임무 명세는 무엇인가? 20 | > 데이터베이스의 특별한 목적을 정의 21 | 22 | 8. 잘 작성된 임무 명세의 두 가지 특징에 대하여 서술하라. 23 | > 1) 명료하다. 24 | > 2) 요점을 간결하게 표현한다. 25 | > 3) 특정 작업을 명시적으로 묘사하지 않는다. 26 | 27 | 28 | 9. 참/거짓 문제: 여러분은 임무 명세를 작성하기 위해 조직에 대하여 학습할 필요가 없다. 29 | > 거짓 30 | 31 | 10. 임무 명세는 언제 완료되는가? 32 | > 데이터베이스의 목적을 나타내고, 이와 관련된 사람이 이해및 동의하는 문장이 만들어졌을 때 33 | 34 | 11. 임무 목표란 무엇인가? 35 | > 데이터베이스에서 관리되는 데이터가 지원하는 일반적인 작업들을 표현하는 문장 36 | 37 | 12. 잘 작성된 임무 목표의 두 가지 특징을 서술하라. 38 | > 1) 업무를 명백하게 정의 39 | > 2) 일반적인 용어 사용 40 | 41 | 13. 참/거짓 문제: 여러분은 임무 목표들을 정의하기 위해 사용자들과 관리자와의 인터뷰를 수행해야만 한다. 42 | > 참 43 | 44 | 14. 임무 목표와 직원들의 일일 작업은 어떻게 관련이 있는가? 45 | > 그들이 매일 수행하는 작업 -> 대부분 작업의 임무 목표가 됨 46 | 47 | 15. 참/거짓 문제: 임무 목표는 하나 이상의 작업을 설명할 수 있다. 48 | > 거짓 49 | 50 | 16. 임무 목표가 인터뷰의 답변에서 도출될 수 있는 방법 두 가지를 서술하라. 51 | > 명시적, 암시적 52 | 53 | 17. 임무 목표의 작성은 언제 완료되는가? 54 | > 조직, 사용자와 임무 목표에 대해 리뷰를 마치고 났을 때 55 | -------------------------------------------------------------------------------- /chapter6/exercise_taekcheon.md: -------------------------------------------------------------------------------- 1 | 1. 현재 데이터베이스를 분석하기 위한 두 개의 목표를 서술하라. 2 | - 데이터를 유지보수하는 방법. 3 | - 데이터를 사용하는 방법. 4 | 5 | 2. 참/거짓 문제: 새로운 구조에 대한 기초로 현재 데이터베이스 구조를 선택할 수 있다. 6 | - X 7 | 8 | 3. 기존 데이터베이스는 무엇인가? 9 | - 5년 이상 사용한 데이터베이스. 10 | 11 | 4. 분석 프로세스의 두 단계를 서술하라. 12 | - 데이터 수집된 방식 검토. 13 | - 데이터를 사용하는 방법 검토. 14 | 15 | 5. 분석하는 동안 어떤 종류의 컴퓨터 소프트웨어 프로그램을 검토해야 하는가? 16 | - 조직에서 사용하고 있는 모든 프로그램. DB, 웹페이지, 스프레드시트 등. 17 | 18 | 6. 데이터 수집과 정보를 표현한 견본을 수집한 후에 인터뷰를 진행해야 하는 이유는 무엇인가? 19 | - 견본은 참여자에게 익숙한 자료이므로 질문에 더 쉽고 자세하게 대답할 수 있다. 20 | 21 | 7. 개방형 질문과 폐쇄형 질문은 어떻게 사용하는가? 22 | - 특정 주제에 초점을 맞추기 위해 개방형 질문을 사용한다. 23 | - 주제에 대한 세부내용을 듣기 위해 폐쇄형 질문을 사용한다. 24 | 25 | 8. 대상 식별 기술은 무엇인가? 26 | - 개방형 질문을 통해 얻은 답에서 사람,장소, 물건 등을 나타내는 명사를 찾아 대상으로 선정하는 것. 27 | 28 | 9. 특정 대상에 대한 특성들을 어떻게 파악하는가? 29 | - 폐쇄형 질문을 통해 얻은 답에서 단수 형태로 나타나는 단어로 찾는다. 30 | 31 | 10. 참/거짓 문제: 여러분은 사용자와 관리자와의 인터뷰를 동시에 진행해야 한다. 32 | - X. 사용자를 먼저 인터뷰한다. 33 | 34 | 11. 여러분이 파악해야 하는 정보 요건의 세 가지 유형은 무엇인가? 35 | - 현재 정보 요건, 추가 정보 요건, 미래 정보 요건. 36 | 37 | 12. 예비 필드 목록은 무엇인가? 38 | - 사용자와 관리자의 인터뷰가 끝나고 얻은 특징들을 목록으로 구성한 것. 39 | - 중복되는 항목을 지우고 견본과 비교하여 새로운 특징을 예비 필드 목록에 추가한다. 40 | 41 | 13. 예비 필드 목록의 각 항목이 고유한 이름을 가져야 하는 이유를 서술하라. 42 | - 같은 필드가 여러 테이블에 존재할 경우 무결성에 위배되기 때문이다. 43 | 44 | 14. 값 목록은 무엇인가? 45 | - 허용 범위가 정해져있거나 업무 규칙이 적용된 특징이다. 46 | 47 | 15. 계산된 필드는 무엇인가? 그것이 있다면, 그에 대하여 여러분이 해야 하는 것은 무엇인가? 48 | - 문자열의 연결이나 수학적 연산 결과를 값으로 저장하는 필드. 49 | - 예비 필드 목록과 별개로 다루어야 한다. -------------------------------------------------------------------------------- /chapter1/exercise_joonshik.md: -------------------------------------------------------------------------------- 1 | 1. 오늘날 사용되고 있는 두 개의 주요 데이터베이스의 이름은? 2 | * 운영 데이터베이스: 지속적으로 변경되는 데이터베이스(웹 벡엔드 디비) 3 | * 분석 데이터베이스: 장기간 데이터 수집, 데이터 분석 4 | 2. 분석 데이터베이스는 어떤 유형의 데이터를 저장하는가? 5 | * 정적 데이터 6 | 3. 참/거짓 문제: 운영 데이터베이스는 주로 OLTP(Online Transaction Processing) 업무에 사용된다. 7 | * O 8 | 4. 관계형 데이터베이스 모델 이전에 일반적으로 사용되었던 두 개의 데이터 모델은 무엇인가? 9 | * 계층형 데이터베이스 10 | * 네트워크 데이터베이스 11 | 5. 부모/자식 관계에 대하여 설명하라. 12 | * 부모:자식=1:M, 노드, 레코드 포함 13 | * 하나의 자식은 하나의 종류의 부모에만 연결 가능 14 | * 하나의 부모는 여러 종류의 자식에 연결 가능 15 | 6. 집합 구조란 무엇인가? 16 | * 소유자:참여자=N:M, 소유자 레코드:참여자 레코드=1:N 17 | * 하나의 참여자 노드는 여러 소유자 노드 연결 가능, 단 소유자 노드 당 1개의 레코드랑 연결 18 | * 하나의 소유자 노드는 여러 참여자 노드 연결 가능, 한 참여자 노드의 여러 레코드에도 연결 가능 19 | 7. 관계형 데이터베이스 모델은 수학 이론에 기초를 두고 있는데, 이 중 하나의 이름을 적으시오. 20 | * 집합론, 1차 술어 논리 21 | 8. 관계형 데이터베이스 모델은 데이터를 어떻게 저장하는가? 22 | * 테이블간의 관계 23 | * 튜플(레코드), 속성(필드)로 저장 24 | 9. 관계형 데이터베이스에 존재하는 관계의 세 가지 유형을 나열하시오. 25 | * 1:1, 1:N, N:M 26 | 10. 관계형 데이터베이스에서 데이터를 추출하는 방법을 설명하라. 27 | * SQL 쿼리 28 | 11. 관계형 데이터베이스의 두 가지 장점에 대하여 서술하라. 29 | * 무결성(데이터 정합성, 레코드 중복 방지, 기본키, 테이블 관계) 30 | * 응용프로그램과 데이터 독립 31 | * 무결성을 위한 일관성과 정확성 32 | * 쉬운 데이터 검색 33 | 12. 관계형 데이터베이스 관리 시스템은 무엇인가? 34 | * RDB를 위한 응용 프로그램 35 | * 데이터 저장, 관리 36 | * 클라이언트/서버 DB 접근 관리 37 | 13. 객체-관계형 모델이 성립하기 위해서 어떤 전제조건이 필요한가? 38 | * 객체의 특징인 클래스, 캡슐화, 상속의 개념을 지원해야함 39 | 14. 데이터 웨워하우스의 목적은 무엇인가? 40 | * 관계형, 비관계형 데이터베이스에 조직이 접근하여 분석 -------------------------------------------------------------------------------- /chapter4/exercise_yun.md: -------------------------------------------------------------------------------- 1 | 1. 설계 프로세스 전체를 완료하는 것이 중요한 이유는 무엇인가? 2 | 3 | 전체 설계 프로세스를 진행하는 경우에만, 좋은 구조와 데이터 무결성을 확보할 수 있다. 4 | 5 | 2. 참/거짓 문제: 구조적 무결성의 수준이 설계 프로세스 전체를 준수하는 것과 정비례하는가? 6 | 7 | 참 8 | 9 | 3. 임무 명세의 목적은 무엇인가? 10 | 11 | 데이터베이스의 목적(ex. 특정 업무의 문제를 해결, 정보 시스템의 한 부분 등)을 설정하고 설계 작업을 수행하기 위해 초점을 맞춰야 하는 것을 명확하게 해준다. 12 | 13 | 4. 임무 목표는 무엇인가? 14 | 15 | 사용자가 데이터베이스에 있는 데이터에 대한 작업을 수행할 수 있는 일반적인 작업들 16 | 17 | 5. 조직의 기본적인 데이터 요구사항은 무엇으로 인식되는가? 18 | 19 | 데이터 요구사항들로부터 필드의 목록들을 결정짓고 이 목록들은 조직의 기초적인 데이터 요건이 되며 새로운 데이터베이스 설계의 시작점이 된다. 20 | 21 | 6. 테이블이 나타내는 다양한 대상은 어떻게 결정하는가? 22 | 23 | 데이터베이스 설계 프로세스의 첫번째 단계에서 작성된 핵심 목표와 두번째 단계에서 수집된 데이터 요건들을 통하여 결정 24 | 25 | 7. 참/거짓 문제: 데이터베이스 설계 프로세스의 두 번째 단계에서 데이터베이스에 있는 각 필드에 대한 필드 명세를 설정한다. 26 | 27 | 거짓 - 데이터 구조 생성, 세번째 단계에서 필드 명세 정의 28 | 29 | 8. 관계에 있는 테이블 사이에 논리적 연결은 어떻게 설정하는가? 30 | 31 | 데이터 사이의 관계를 확인한 후에 기본키나 연결테이블을 통해 각 관계에 있는 테이블 간의 논리적인 연결을 설정한다. 32 | 33 | 9. 무엇이 데이터베이스에 설정해야 하는 제약사항과 요건들을 결정하는가? 34 | 35 | 조직이 데이터를 보고 사용하는 방법은 데이터베이스에서 구현해야 하는 요건과 제약사항을 결정한다. 36 | 37 | 10. 특정 업무 규칙을 지원하기 위해 무엇을 설계하고 구현할 수 있는가? 38 | 39 | 특정 업무 규칙들을 지원할 때 필요한 검증 테이블을 정의하고 구현한다. 40 | 41 | 11. 데이터베이스에 구축할 필요가 있는 뷰의 종류는 어떻게 결정되는가? 42 | 43 | 사용자와 관리자와의 인터뷰를 수행하고 그들이 각 데이터로 작업을 수행하는 방법을 결정하여 데이터베이스에 구현할 필요가 있는 뷰의 유형을 확인한다. 44 | 45 | 12. 언제 RDBMS 프로그램에서 논리적인 구조를 구현할 수 있는가? 46 | 47 | 데이터베이스 설계 프로세스 전체를 완료했다면 논리적인 데이터베이스 구조를 구현할 준비가 되었다. 그러나 데이터베이스 구조는 조직이 발전함에 따라 항상 개선이 필요하기 때문에 진정한 의미로 완료되었다고 말할 수는 없다. -------------------------------------------------------------------------------- /chapter1/exercise_hosung.md: -------------------------------------------------------------------------------- 1 | 1. 오늘날 사용되고 있는 두 개의 주요 데이터베이스의 이름은? 2 | 3 | 운영 데이터베이스, 분석 데이터베이스 4 | 5 | 2. 분석 데이터베이스는 어떤 유형의 데이터를 저장하는가? 6 | 7 | 거의 변화가 없는 정적인 데이터 8 | 9 | 3. 참/거짓 문제: 운영 데이터베이스는 주로 OLTP(Online Transaction Processing) 업무에 사용된다. 10 | 11 | 참 12 | 13 | 4. 관계형 데이터베이스 모델 이전에 일반적으로 사용되었던 두 개의 데이터 모델은 무엇인가? 14 | 15 | 계층형 데이터베이스 모델, 네트워크 데이터베이스 모델 16 | 17 | 5. 부모/자식 관계에 대하여 설명하라. 18 | 19 | 일반적으로는 자식의 부모의 ID에 대한 정보를 가지고 있는 경우를 말한다. 특히, 계층형 데이터베이스 모델에서는 부모가 없는 자식이 존재 할 수 없다. 이러한 제약이 데이터베이스 설계의 유연함을 저하시킨다. 20 | 21 | 6. 집합 구조란 무엇인가? 22 | 23 | 네트워크 데이터베이스(노드) 간 관계를 표현한다. 엣지를 통해 표현된다. 24 | 25 | 7. 관계형 데이터베이스 모델은 수학 이론에 기초를 두고 있는데, 이 중 하나의 이름을 적으시오. 26 | 27 | 집합론 28 | 29 | 8. 관계형 데이터베이스 모델은 데이터를 어떻게 저장하는가? 30 | 31 | 테이블로 구현된 관계에 데이터를 저장한다. 관계에 데이터를 저장한다라... 32 | 33 | 9. 관계형 데이터베이스에 존재하는 관계의 세 가지 유형을 나열하시오. 34 | 35 | 1:1, 1:M, M:M 36 | 37 | 10. 관계형 데이터베이스에서 데이터를 추출하는 방법을 설명하라. 38 | 39 | SQL을 사용해서 추출한다. 40 | 41 | 11. 관계형 데이터베이스의 두 가지 장점에 대하여 서술하라. 42 | 43 | 내장된 다중 무결성, 데이터베이스 응용프로그램으로 부터 데이터 독립성, 데이터의 일관성과 정확성을 보장, 쉬운 데이터 검색 44 | 45 | 12. 관계형 데이터베이스 관리 시스템은 무엇인가? 46 | 47 | 관계형 데이터베이스를 생성하고, 유지보수하고, 수정하고, 조작할 때 사용하는 소프트웨어 응용프로그램 48 | 49 | 13. 객체-관계형 모델이 성립하기 위해서 어떤 전제조건이 필요한가? 50 | 51 | 클래스, 캡술화, 상속 등과 같은 다양한 객체 지향 요소와 특징들을 포함해야 한다. 우리가 응용프로그램에서 사용하는 ORM이 이와 같은 객체의 개념을 보완해 주고 있는 것 같다. 52 | 53 | 14. 데이터 웨어하우스의 목적은 무엇인가? 54 | 55 | 비관계형 데이터베이스들에 저장된 데이터를 조직이 접근하여 기업의 의사결정을 돕도록 한다. 56 | -------------------------------------------------------------------------------- /chapter2/exercise_kyungjun.md: -------------------------------------------------------------------------------- 1 | 1. RDBMS 프로그램의 설계 도구를 사용하기에 가장 좋은 순간은? 2 | > 논리적 데이터베이스 구조를 설계를 한 이후 RDBMS 프로그램을 통해 물리적으로 구현할 때 3 | > 논리적 데이터 베이스 설계는 크기, 모양, 데이터베이스에 필요한 시스템을 기술하며 이는 현업의 운영 요구사항과 정보를 표현해야 한다. 4 | 5 | 2. 참/거짓 문제: 설계는 데이터의 일관성, 무결성 정확성에 매우 중요하다. 6 | > 참 7 | > - Consistency(일관성)-(transaction ACID 원칙에서 파생), Integrity(무결성) 8 | 9 | 10 | 3. 잘못된 데이터베이스 설계의 가장 해로운 결과는 무엇인가? 11 | > 부정확한 정보 12 | 13 | 4. 관계형 데이터베이스를 구조적으로 튼튼하게 해주고 정확한 정보를 보장할 수 있게 해주는 것은? 14 | > 수학적 이론. 집합 이론과 1차 술어 논리. 15 | 16 | 5. 설계 방법론을 학습할 때의 두 가지 장점은 무엇인가? 17 | > 1) 견고한 데이터베이스 구조를 설계하는 데 필요한 기술을 제공한다. 18 | > 2) 단계적으로 설계 프로세스를 알려줄 조직화된 기술 집합을 제공한다. 19 | > 3) 실수와 설계 반복을 최소한을 줄여준다. 20 | > 4) 설계 프로세스를 쉽게 만들며 데이터베이스의 설계에 소요되는 시간을 줄여준다. 21 | > 5) RDBMS 응용프로그램을 보다 더 완벽하고 효과적으로 사용하는 데 도울을 준다. 22 | 23 | 6. 참/거짓 문제: 데이터베이스 설계를 이해한다면 RDBMS 프로그램을 효율적으로 사용할 수 있을 것이다. 24 | > 참 25 | 26 | 7. 훌륭한 설계의 두 가지 목적을 나열하라. 27 | > 1) 데이터베이스는 필수 및 임의적인 정보 검색을 모두 지원한다. 28 | > 2) 데이터베이스의 적절하고 효율적으로 구성되어야 한다. 29 | > 3) 필드, 테이블, 관계 수준에서 데이터 무결성이 부과된다. 30 | > 4) 데이터베이스는 조직과 관련된 업무 규칙을 지원한다. 31 | > 5) 데이터베이스는 자체의 미래성장에 적합하다. 32 | 33 | 8. 데이터 구조와 그 값이 항상 정확하고 의미 있는 값이라는 것을 보장하는 데 도움을 주는 것은? 34 | > 수학적 이론(4번 질문과 연계), 견고한 설계 35 | 36 | 9. 훌륭한 설계 기법을 적용할 때의 두 가지 장점을 기술하라. 37 | 38 | > 1) 데이터베이스 구조를 쉽게 수정할 수 있고 운영할 수 있다. 39 | > 2) 데이터를 쉽게 수정할 수 있다. 40 | > 3) 정보를 쉽게 검색할 수 있다. 41 | > 4) 최종 사용자 응용프로그램을 개발하고 구축하기 쉽다. 42 | 43 | 10. 참/거짓 문제: 설계 프로세스를 일부 단축하더라도 여전히 훌륭하고 튼튼한 설계를 할 수 있다. 44 | > 거짓 45 | -------------------------------------------------------------------------------- /chapter1/exercise_jinyoung.md: -------------------------------------------------------------------------------- 1 | 1. 오늘날 사용되고 있는 두 개의 주요 데이터베이스의 이름은? 2 | 3 | > 운영, 분석 데이터베이스 4 | 5 | 2. 분석 데이터베이스는 어떤 유형의 데이터를 저장하는가? 6 | 7 | > 거의 변화가 없는 정적인 데이터를 저장한다. 8 | 9 | 3. 참/거짓 문제: 운영 데이터베이스는 주로 OLTP(Online Transaction Processing) 업무에 사용된다. 10 | 11 | > 참 12 | 13 | 4. 관계형 데이터베이스 모델 이전에 일반적으로 사용되었던 두 개의 데이터 모델은 무엇인가? 14 | 15 | > 계층형, 네트웨크 데이터베이스 모델 16 | 17 | 5. 부모/자식 관계에 대하여 설명하라 18 | 19 | > 부모 테이블은 하나 이상의 자식 테이블과 연결 될 수 있다. 20 | > 21 | > 참조 무결성이 강제되어 부모 테이블에서 삭제된 데이터는 연결된 자식 테이블에서도 삭제되어야하는 등의 특징이 있다. 22 | 23 | 6. 집합 구조란 무엇인가? 24 | 25 | > 네트워크 데이터베이스 간의 관계를 표현하고 설정한다. 26 | > 27 | > (1) 소유자 노드에 있는 레코드가 하나 이상의 참여자 노드에 연결될 수 있다. 28 | > 29 | > (2) 반대로 참여자 노드의 하나의 레코드는 하나의 소유자 노드 레코드에만 연결될 수 있다. 30 | > 31 | > 등의 특징을 가진다. 32 | 33 | 7. 관계형 데이터베이스 모델은 수학 이론에 기초를 두고 있는데, 이 중 하나의 이름을 적으시오. 34 | 35 | > 집합론 36 | 37 | 8. 관계형 데이터베이스 모델은 데이터를 어떻게 저장하는가? 38 | 39 | > 테이블로 구현된 관계에 레코드, 필드 등으로 데이터를 저장한다 40 | 41 | 9. 관계형 데이터베이스에 존재하는 관계의 세 가지 유형을 나열하시오. 42 | 43 | > 테이블, 레코드, 필드 44 | 45 | 10. 관계형 데이터베이스에서 데이터를 추출하는 방법을 설명하라. 46 | 47 | > SQL의 selet ~ 를 통하여 데이터를 추출할 수 있다. 48 | 49 | 11. 관계형 데이터베이스의 두 가지 장점에 대하여 서술하라. 50 | 51 | > (1) 데이터의 일관성과 정확성을 보장 52 | > 53 | > (2) 쉬운 데이터 겸색 54 | 55 | 12. 관계형 데이터베이스 관리 시스템은 무엇인가? 56 | 57 | > 관계형 디비를 생성, 유지보수, 수정, 조작 시 사용하는 응용프로그램이다. 58 | 59 | 13. 객체-관계형 모델이 성립하기 위해서 어떤 전제조건이 필요한가? 60 | 61 | > 관계형 데이터베이스 모델의 뿐만 아니라 클래스, 상속과 같은 객체 지향 요소와 특징을 포함하여야 한다. 62 | 63 | 14. 데이터 웨워하우스의 목적은 무엇인가? 64 | 65 | > 비관계형 디비에 저장된 데이터를 조직 단위에서 접근할 수 있도록 하기 위함. -------------------------------------------------------------------------------- /chapter1/exercise_yun.md: -------------------------------------------------------------------------------- 1 | 1. 오늘날 사용되고 있는 두 개의 주요 데이터베이스의 이름은? 2 | 3 | 운영 데이터베이스, 분석 데이터베이스 4 | 5 | 2. 분석 데이터베이스는 어떤 유형의 데이터를 저장하는가? 6 | 7 | 거의 변화가 없는 정적인 데이터 8 | 9 | 3. 참/거짓 문제: 운영 데이터베이스는 주로 OLTP(Online Transaction Processing) 업무에 사용된다. 10 | 11 | 참 12 | 13 | 4. 관계형 데이터베이스 모델 이전에 일반적으로 사용되었던 두 개의 데이터 모델은 무엇인가? 14 | 15 | 계층형 데이터베이스 모델, 네트워크 데이터베이스 모델 16 | 17 | 5. 부모/자식 관계에 대하여 설명하라. 18 | 19 | 계층형 데이터베이스에서의 부모/자식 관계를 의미한다고 가정했을 때 20 | 계층형 데이터베이스 모델을 통해 구현된 데이터들을 계층형으로 구성되며 이 때 부모 테이블이 하나 혹은 그 이상의 자식 테이블과 연계될 수 있다. 21 | 22 | 6. 집합 구조란 무엇인가? 23 | 24 | 집합 구조는 네트워크 데이터베이스 간 관계를 표현함 25 | 26 | 7. 관계형 데이터베이스 모델은 수학 이론에 기초를 두고 있는데, 이 중 하나의 이름을 적으시오. 27 | 28 | 집합론 29 | 30 | 8. 관계형 데이터베이스 모델은 데이터를 어떻게 저장하는가? 31 | 32 | 테이블에 데이터를 저장함 33 | 34 | 9. 관계형 데이터베이스에 존재하는 관계의 세 가지 유형을 나열하시오. 35 | 36 | 1대1, 1대다, 다대다 37 | 38 | 10. 관계형 데이터베이스에서 데이터를 추출하는 방법을 설명하라. 39 | 40 | SQL 사용 41 | 42 | 11. 관계형 데이터베이스의 두 가지 장점에 대하여 서술하라. 43 | 44 | 내장된 다중 무결성 45 | - 테블에서의 무결성: 레코드 중복 방지와 기본키의 부재를 감지 46 | - 필드에서의 무결성 47 | - 관계에서의 무결성 48 | - 사업수준의 무결성 49 | 데이터베이스 응용프로그램으로부터 논리적, 물리적 데이터 독립성 50 | 데이터의 일관성과 정확성을 보장 51 | 쉬운 데이터 검색 52 | 53 | 12. 관계형 데이터베이스 관리 시스템은 무엇인가? 54 | 55 | 관계형 데이터베이스를 생성하고, 유지보수하고, 수정하고, 조작할 때 사용하는 소프트웨어 응용프로그램 56 | 57 | 13. 객체-관계형 모델이 성립하기 위해서 어떤 전제조건이 필요한가? 58 | 59 | 클래스, 캡슐화, 상속 등과 같은 다양한 객체 지향 요소와 특징들을 포함해야함 60 | 61 | 14. 데이터 웨어하우스의 목적은 무엇인가? 62 | 63 | 관계형 및 비관계형 데이터베이스에 잘 접근해 사업에 있어 중요한 의사결정에 활용할 수 있도록한다. -------------------------------------------------------------------------------- /chapter9/exercise_wooju.md: -------------------------------------------------------------------------------- 1 | 1. 왜 필드 명세들이 중요한지 두 가지 이유를 적어라. 2 | 1. 필드 수준 무결성을 설정하고 강제하는데 도움이 된다. 3 | 2. 전반적인 데이터 무결성을 개선하는 데 도움이 된다. 4 | 3. 데이터베이스에 있는 데이터의 본질과 목적을 완벽하게 이해하도록 한다. 5 | 4. 데이터베이스의 테이터사전을 구성한다. 6 | 2. 필드 수준의 무결성을 설정함으로써 무엇을 얻을 수 있나? 7 | 1. 필드의 주체성과 목적이 명확하고 이것이 나타나는 모든 테이블이 적절히 식별된다. 8 | 2. 데이터베이스 전체에 걸쳐 필드 정의가 일관성이 있다. 9 | 3. 필드의 값들이 일관성 있고 유효하다. 10 | 4. 필드의 값들에 적용될 수 있는 수정, 비교, 연산의 종류가 명확히 식별된다. 11 | 3. 필드 명세 내의 요소들의 세 가지 범주는 무엇인가? 12 | 1. 일반적, 요소, 물리적 요소, 논리적 요소 13 | 4. 세 종류의 명세들의 이름을 적어라. 14 | 1. 유일(Unique), 일반(Generic), 복제(Replica) 15 | 5. 적절한 필드 설명을 작성하는 것이 왜 유익한가? 16 | 1. 데이터의 특성을 주의 깊게 생각하도록 만들기 때문이다. 만약 설명하기 어렵다면 추가적인 정제가 필요할 것이다. 17 | 6. 데이터형 요소가 가리키는 것은 무엇인가? 18 | 1. 데이터형 요소는 필드가 저장하는 데이터의 특성을 가리킨다 19 | 7. 문자 지원 요소가 가리키는 것은 무엇인가? 20 | 1. 주어진 필드값으로 넣을 수 있는 문자들의 종류를 가리킨다. 21 | 8. 디스플레이 형식 요소의 목적은 무엇인가? 22 | 1. 화면에 출력되거나 문서로 인쇄될 때 필드값의 외형을 통제한다. 23 | 9. 필드 명세에 어떤 종류의 키들이 나타나는가? 24 | 1. 비 키, 주 키, 대채 키, 외래 키 25 | 10. 참/거짓 문제: 널은 공백값을 나타낸다. 26 | 1. 거짓: 널은 누락되었거나 미지의 값을 표현한다. 27 | 11. 값 범위 요소의 중요성은 무엇인가? 28 | 1. 필드에 대한 모든 가능하고 유효한 값을 지정한다. 29 | 12. 변경 규칙의 목적은 무엇인가? 30 | 1. 사용자가 필드에 값을 넣을 수 있는 시점과 값의 수정여부를 나타낸다. 31 | 13. 비교 허용 요소의 목적은 무엇인가? 32 | 1. 사용자가 필드에서 정보를 추출할 때 주어진 필드값에 적용할 수 있는 비교의 종류를 가리킨다. 33 | 14. 값 연산식이 무엇인가? 34 | 1. 필드값, 상수값, 또는 이 두가지의 조합을 포함하는 어떤 연산의 형식이며, 비교 연산에 사용할 수 있는 단일값을 돌려준다. 35 | 15. 언제 일반 명세를 사용하는가? 36 | 1. 데이터베이스에 있는 다른 필드에 대한 템플릿으로 사용되는 필드를 위해 일반 명세를 사용한다. 37 | -------------------------------------------------------------------------------- /chapter3/exercise_joonshik.md: -------------------------------------------------------------------------------- 1 | 1. 전문 용어가 중요한 이유는 무엇인가? 2 | * 용어는 데이터 설계 정의시에 사용되고 RDB 관련 내용에 항상 사용된다. 3 | 2. 용어의 네 가지 범주의 이름은 무엇인가? 4 | * 값 관련 용어: 데이터, 정보, 널, 5 | * 구조 관련 용어 6 | * 곤계 관련 용어 7 | * 무결성 관련 용어 8 | 3. 데이터와 정보의 차이는 무엇인가? 9 | * 데이터: 저장된 상태(의미 X) 10 | * 정보: 데이터가 활용된 상태(의미 O) 11 | 4. 널은 무엇을 표시하는가? 12 | * 누락값 혹은 알려지지 않은 값 13 | 5. 널의 가장 큰 단점은 무엇인가? 14 | * 연산과정에서 항상 NULL을 출력하거나 집계에 포함되지 않음 15 | 6. 데이터베이스에 있는 주요 구조는 무엇인가? 16 | * 레코드(튜플)와 필드(속성) 17 | 7. 테이블의 세 가지 종류는 무엇인가? 18 | * 데이터 테이블: 기본적인 테이블 19 | * 룩업 테이블: 데이터 무결성 보장 20 | * 뷰: 쿼리 결과인 가상 테이블 21 | 8. 뷰는 무엇인가? 22 | * 여러 기반 테이블로부터 데이터를 추출하여 조인하여 사용(저장된 쿼리) 23 | 9. 키와 인덱스의 차이점은 무엇인지 서술하라. 24 | * 키는 테이블 단위에서 식별자의 역할(논리적 구조)을 하고 인덱스는 해당 필드 단위에서 빠른 조회를 위하여 존재(물리적 구조) 25 | 10. 두 개의 테이블 사이에 존재할 수 있는 관계의 세 가지 종류는 무엇인가? 26 | * 1:1, 1:N, N:M 27 | 11. 관계를 특정 지을 수 있는 세 가지 방법은 무엇인가? 28 | * 테이블 사이에 존재하는 관계의 종류 29 | * 각 테이블이 참여하는 방법: 필수적/선택적 30 | * 각 테이블이 참여하는 정도: 1개의 레코드와 연결되어야하는 (최소의 레코드, 최대의 레코드) 31 | 12. 필드 명세는 무엇인가? 32 | * 데이터 베이스의 필드의 모든 요소 33 | 13. 필드 명세를 구성하는 세 가지 요소는 무엇인가? 34 | * 일반적: 필드명, 상세설명, 테이블 35 | * 물리적: 데이터 유형, 길이, 출력양식 36 | * 논리적: 값의 범위, 기본값 37 | 14. 데이터 무결성은 무엇인가? 38 | * 데이터의 유효성, 일관성, 정확성을 유지해주는 요소 39 | 15. 데이터 무결성의 네 가지 종류는 무엇인가? 40 | * 테이블 수준의 무결성(엔티티 무결성): 테이블 내에 기본키 유일 41 | * 필드 수준의 무결성: 필드에 물리적, 논리적 명세가 잘 지켜졌는가 42 | * 관계 수준의 무결성: 서로 관계된 데이터가 삭제되었을 때에 데이터 보호, 삭제, 유지 등의 동기화를 잘 유지하는가 43 | * 업무 규칙: 조직이 사용할 때에 무결성을 보장하는가? -------------------------------------------------------------------------------- /chapter1/exercise_myungwook.md: -------------------------------------------------------------------------------- 1 | 1. 오늘날 사용되고 있는 두 개의 주요 데이터베이스의 이름은? 2 | - 운영 데이터베이스, 분석 데이터베이스 3 | 2. 분석 데이터베이스는 어떤 유형의 데이터를 저장하는가? 4 | - 통계자료와 같은 거의 변하지 않는 데이터들 5 | 3. 참/거짓 문제: 운영 데이터베이스는 주로 OLTP(Online Transaction Processing) 업무에 사용된다. 6 | - 참 7 | 4. 관계형 데이터베이스 모델 이전에 일반적으로 사용되었던 두 개의 데이터 모델은 무엇인가? 8 | - 계층형 데이터베이스, 네트워크 데이터베이스 9 | 5. 부모/자식 관계에 대하여 설명하라. 10 | - 계층형 데이터베이스에서 사용되는 관계. 자식 데이터는 부모 없이 존재할 수 없음. 부모와 자식은 일대다 관계임. 11 | 6. 집합 구조란 무엇인가? 12 | - 네트워크 데이터베이스에서 사용되는 용어. 노드와 노드간 연결을 설명함. 특정 노드로부터 집합 구조를 통해 참여자 노드들의 정보를 조회할 수 있다. 13 | 7. 관계형 데이터베이스 모델은 수학 이론에 기초를 두고 있는데, 이 중 하나의 이름을 적으시오. 14 | - 집합론. `관계`라는 용어는 집합론의 관계 개념에서 유래한 것. 15 | 8. 관계형 데이터베이스 모델은 데이터를 어떻게 저장하는가? 16 | - 계층적 데이터베이스와 다르게 물리적 위치에 관계 없이 필드명을 정의하고 필드에 따라 데이터를 저장한다. 17 | 9. 관계형 데이터베이스에 존재하는 관계의 세 가지 유형을 나열하시오. 18 | - 일대일, 일대다, 다대다 19 | 10. 관계형 데이터베이스에서 데이터를 추출하는 방법을 설명하라. 20 | - ForeignKey 라는 id 값을 통해 연관된 테이블의 레코드를 찾아가는 방식으로 추출한다. 21 | 11. 관계형 데이터베이스의 두 가지 장점에 대하여 서술하라. 22 | - 데이터베이스를 담고있는 하드웨어 장치와도, 데이터베이스용 응용프로그램과도 독립적이다. 따라서 장치의 물리적 특성을 고려할 필요가 없고, 데이터베이스가 변경된다고 해서 응용프로그램을 수정할 필요가 없다. 23 | - 데이터 검색이 쉽다. ForeignKey 를 통해 직간접적인 데이터를 쉽게 검색할 수 있다. 24 | 12. 관계형 데이터베이스 관리 시스템은 무엇인가? 25 | - RDBMS 는 관계형데이터베이스를 다루기 위한 응용프로그램으로, 메인프레임 혹은 PC 에서 SQL 또는 명령어를 통해 데이터베이스 조회 및 조작을 편리하게 해주는 기능을 가지고 있다. 26 | 13. 객체-관계형 모델이 성립하기 위해서 어떤 전제조건이 필요한가? 27 | - 클래스, 캡슐화, 상속 등과 같은 객체지향 요소를 포함할 수 있어야 한다. 28 | 14. 데이터 웨워하우스의 목적은 무엇인가? 29 | - 관계, 비관계 데이터베이스가 혼재할 수 있는 비즈니스 환경에서 회사의 모든 데이터를 통합적으로 다룰 수 있도록 한다. 30 | -------------------------------------------------------------------------------- /chapter3/exercise_donghyun.md: -------------------------------------------------------------------------------- 1 | 1. 전문 용어가 중요한 이유는 무엇인가? 2 | * 용어는 관계형 데이터베이스 모델에 대한 개념과 의견들을 정의하고 표현할 때 사용된다. 3 | * 용어는 데이터베이스 설계 프로세스 자체를 정의하고 표현할 때 사용된다. 4 | * 용어는 관계형 데이터베이스나 RDBMS 에 대하여 이야기를 할 때면 언제나 사용된다. 5 | 2. 용어의 네 가지 범주의 이름은 무엇인가? 6 | * 값 7 | * 구조 8 | * 관계 9 | * 무결성 10 | 3. 데이터와 정보의 차이는 무엇인가? 11 | * 데이터: 저장되는 값(Write) 12 | * 정보: SQL 질의등을 통해서 얻는 값(Read) 13 | 4. 널은 무엇을 표시하는가? 14 | * 없거나 알려지지 않은 값을 표시한다. 15 | 5. 널의 가장 큰 단점은 무엇인가? 16 | * 수학적 연산에 부정적인 영향을 미친다. 17 | * e.g. (Null * 3) + 4 = Null 18 | 6. 데이터베이스에 있는 주요 구조는 무엇인가? 19 | * 테이블 20 | 7. 테이블의 세 가지 종류는 무엇인가? 21 | * 데이터 테이블 22 | * 룩업 테이블 23 | * ?? 검증 테이블..?(룩업 테이블이랑 같은 테이블인데...) 24 | 8. 뷰는 무엇인가? 25 | * 데이터베이스에서 하나 이상의 테이블에서 여러 필드들을 혼합하여 만드는 가상 테이블 26 | 9. 키와 인덱스의 차이점은 무엇인지 서술하라. 27 | * 키: 테이블의 레코드를 식별할 때 사용하는 논리적 구조 28 | * 인덱스: 데이터 처리 속도를 최적화 할 때 사용하는 물리적 구조 29 | 10. 두 개의 테이블 사이에 존재할 수 있는 관계의 세 가지 종류는 무엇인가? 30 | * 1:1 31 | * 1:N 32 | * N:N 33 | 11. 관계를 특정 지을 수 있는 세 가지 방법은 무엇인가? 34 | * 테이블들 사이에 존재하는 관계의 종류 35 | * 각 테이블이 참여하는 방법 36 | * 각 테이블이 참여하는 정도 37 | 12. 필드 명세는 무엇인가? 38 | * 필드의 모든 요소를 표시한다. 39 | * 각 필드 명세는 필드의 `일반적인`, `물리적인`, `논리적인` 유형의 요소들을 모두 포함한다. 40 | 13. 필드 명세를 구성하는 세 가지 요소는 무엇인가? 41 | * 일반적인 요소 42 | * 물리적인 요소 43 | * 논리적인 요소 44 | 14. 데이터 무결성은 무엇인가? 45 | * 데이터베이스에 있는 데이터의 유효성, 일관성, 정확성과 관련이 있다. 46 | * 데이터베이스에서 추출하는 정보의 정확성 수준은 무결성의 수준과 정비례한다. 47 | 15. 데이터 무결성의 네 가지 종류는 무엇인가? 48 | * 테이블 수준 무결성 49 | * 필드 수준 무결성 50 | * 관계 수준 무결성 51 | * 업무 규칙 -------------------------------------------------------------------------------- /chapter6/exercise_wooju.md: -------------------------------------------------------------------------------- 1 | 1. 현재 데이터베이스를 분석하기 위한 두 개의 목표를 서술하라. 2 | - 조직이 사용하는 데이터의 종류 3 | - 조직이 데이터를 사용하는 방법 4 | - 조직이 데이터를 관리하고 유지하는 방법 5 | 2. 참/거짓 문제: 새로운 구조에 대한 기초로 현재 데이터베이스 구조를 선택할 수 있다. 6 | - 거짓 7 | 3. 기존 데이터베이스는 무엇인가? 8 | - 5년이상 존재하고 사용된 데이터베이스 9 | 4. 분석 프로세스의 두 단계를 서술하라. 10 | - 데이터 수집방법 검토 11 | - 정보가 표현하는 방법 검토 12 | - 사용자와 관리자들의 인터뷰 진행 13 | 5. 분석하는 동안 어떤 종류의 컴퓨터 소프트웨어 프로그램을 검토해야 하는가? 14 | - 워드프로세서, 스프레드시트, 데이터베이스, 웹페이지 15 | 6. 데이터 수집과 정보를 표현한 견본을 수집한 후에 인터뷰를 진행해야 하는 이유는 무엇인가? 16 | - 이전 검토 단계에서 수집한 견본에 대한 상세한 정보를 제공 17 | - 조직이 데이터를 사용하는 방법에 대한 정보를 제공 18 | - 초기의 필드와 테이블 구조를 정의할 때 중요한 역할을 제공 19 | - 미래의 정보 요건을 정의할때 도움을 받을 수 있음 20 | 7. 개방형 질문과 폐쇄형 질문은 어떻게 사용하는가? 21 | - 특정 대상에 초점을 맞출 때에는 개방형 질문을 사용하고, 특정 대상의 구체적인 세부설명에 초점을 맞출때에는 패쇄형 질문을 사용 22 | 8. 대상 식별 기술은 무엇인가? 23 | - 주어진 질문에 대한 참여자의 응답에 있는 대상을 식별할 수 있도록 해준다 24 | 9. 특정 대상에 대한 특성들을 어떻게 파악하는가? 25 | - 특정 식별 기술을 사용하여 특정 대상에 대한 구체적인 특성들을 식별한다. 26 | 10. 참/거짓 문제: 여러분은 사용자와 관리자와의 인터뷰를 동시에 진행해야 한다. 27 | - 거짓 28 | 11. 여러분이 파악해야 하는 정보 요건의 세 가지 유형은 무엇인가? 29 | - 현재 정보 요건 30 | - 추가적인 정보 요건 31 | - 미래에 대한 정보 요건 32 | 12. 예비 필드 목록은 무엇인가? 33 | - 조직의 기본적인 데이터 요구사항을 나타내며 데이터베이스에서 정의할 필드의 핵심을 구성 34 | 13. 예비 필드 목록의 각 항목이 고유한 이름을 가져야 하는 이유를 서술하라. 35 | - 고유하지 않다면 각각의 이름이 무엇을 나타내는지 항상 파악해야 함 36 | 14. 값 목록은 무엇인가? 37 | - 특정 특징에 대한 값들의 허용되는 범위를 지정한 것(종종 주어진 업무규칙을 포함) 38 | 15. 계산된 필드는 무엇인가? 그것이 있다면, 그에 대하여 여러분이 해야 하는 것은 무엇인가? 39 | - 계산된 필드는 문자열 연결이나 수학적 연산식의 결과를 값으로 저장한다. 예비필드 목록에서 계산된 필드를 제거하고 별도의 계산된 필드 목록에 넣어야 한다. -------------------------------------------------------------------------------- /chapter10/exercise_minki.md: -------------------------------------------------------------------------------- 1 | - 관계가 왜 중요한지, 대표적인 이유 두 개를 서술하라. 2 | - 관계는 테이블 구조를 정제하고 중복 데이터를 최소화 하는 것을 돕는다. 3 | - 관계는 여러 테이블에서 동시에 데이터를 뽑아낼 수 있는 방법이 된다. 4 | - 관계의 세 유형을 적어라. 5 | - 일대일 6 | - 일대다 7 | - 다대다 8 | - 어떤 관계가 가장 많은 문제를 일으키는가? 9 | 10 | 다대다 11 | 12 | - 다대다 관계에서 마주칠 수 있는 두 개의 문제를 서술하라. 13 | - 테이블에 불필요하게 이중 필드들이 들어간다. 14 | - 너무 많은 중복 데이터가 발생한다. 15 | - 새로운 레코드를 삽입하기 어려워진다. 16 | - 레코드의 삭제가 어렵다. 17 | - 자가 참조 관계는 무엇인가? 18 | 19 | 특정 레코드가 같은 테이블 내의 다른 레코드와 연결되는 관계 20 | 21 | - 데이터베이스에 있는 테이블 사이에 관계를 식별하는 절차는 어떻게 시작하는가? 22 | 23 | 테이블 행렬 설정 24 | 25 | - 이미 있는 관계를 식별하기 위해서 사용할 수 있는 두 종류의 질문은 무엇인가? 26 | - 연결 측면 27 | - 문맥 측면(소유권 기반, 활동 기반) 28 | - 테이블 행렬에 있는 1대다 관계를 지정할 때 사용하는 단축 기호는 무엇인가? 29 | 30 | 1:N 31 | 32 | - 행렬에 있는 각 쌍의 테이블 사이에 어떤 종류의 관계가 공식적으로 존재하는지는 어떻게 결정하는가? 33 | 34 | 1:1 + 1:1 = 1:1 35 | 36 | 1:N + 1:1 = 1:N 37 | 38 | 1:n + 1:n = M:N 39 | 40 | - 1대다 관계는 어떻게 설정하는가? 41 | 42 | 1쪽의 기본 키 값을 다 쪽 테이블 구조에 포함시킨다. 43 | 44 | - 참/거짓 문제: 자가 참조 관계를 가진 테이블에서 정보를 추출하는 것은 지루하고 다소 어려울 수 있다. 45 | 46 | 참 47 | 48 | - 자가 참조 다대다 관계는 어떻게 설정하는가? 49 | 50 | 연결테이블을 사용한다. 51 | 52 | - 데이터베이스에 있는 외래 키는 어떻게 개선하는가? 53 | - 복사된 기본 키의 이름과 같은 이름을 갖는다. 54 | - 복사된 기본키에 대한 필드명세의 복제를 사용한다. 55 | - 56 | - 외래 키의 필드 명세 중에서 어떤 두 요소들을 반드시 수정해야 하는가? 57 | - 명세 종류 58 | - 부모 테이블 59 | - 원본 명세 60 | - 설명 61 | - 삭제 규칙의 기능은 무엇인가? 62 | 63 | 관계 수준 무결성 보장. 고아 레코드 발생 방지 64 | -------------------------------------------------------------------------------- /chapter6/exercise_minki.md: -------------------------------------------------------------------------------- 1 | 1. 현재 데이터베이스를 분석하기 위한 두 개의 목표를 서술하라 2 | - 조직이 사용하는 데이터의 종류 3 | - 조직이 데이터를 사용하는 방법 4 | - 조직이 데이터를 관리하고 유지하는 방법 5 | 2. 새로운 구조에 대한 기초로 현재의 데이터베이스 구조를 선택할 수 있다. 6 | 7 | 거짓 8 | 9 | 3. 기존 데이터베이스는 무엇인가? 10 | 11 | 5년이상 존재하고 사용된 데이터베이스 12 | 13 | 4. 분석 프로세스의 두 단계를 서술하라. 14 | - 데이터 수집방법 검토 15 | - 정보가 표현하는 방법 검토 16 | - 사용자와 관리자들의 인터뷰 진행 17 | 18 | 5. 분석하는 동안 어떤 종류의 컴퓨터 소프트웨어 프로그램을 검토해야 하는가? 19 | - 워드프로세서 20 | - 스프레드시트 21 | - 데이터베이스 22 | - 웹페이지 23 | 24 | 6. 데이터 수집과 정보를 표현한 견본을 수집한 후에 인터뷰를 진행해야 하는 이유는 무엇인가? 25 | 26 | 모호하게 생각하던 견본의 구체적인 부분들을 보다 명확하게 해 줄 수 있다. 27 | 28 | 7. 개방형 질문과 폐쇄형 질문은 어떻게 사용하는가? 29 | 30 | 개방형질문: 현실적으로 더 일반적이고 특정 주제에 초점을 맞춰서 31 | 32 | 폐쇄적 질문: 보다 구체적이며 특정 주제의 구체적인 세부사항에 초점을 맞춰서 33 | 34 | 8. 대상 식별 기술은 무엇인가? 35 | 36 | 참여자의 응답에 있는 대상을 식별하는 기술 37 | 38 | 9. 특정 대상에 대한 특성들은 어떻게 파악하는가? 39 | 40 | 특정 식별 기술을 사용하여 구체적인 특성들을 식별한다. 41 | 42 | 10. 여러분은 사용자와 관리자와의 인터뷰를 동시에 진행해야 한다. 43 | 44 | 거짓 45 | 46 | 11. 여러분이 파악해야하는 정보 요건의 세 가지 유형은 무엇인가? 47 | - 현재 정보 요건 48 | - 추가 정보 요건 49 | - 미래 정보 요건 50 | 51 | 12. 예비 필드 목록은 무엇인가? 52 | 53 | 조직의 기본적인 데이터 요건의 나열 54 | 55 | 13. 예비 필드 목록의 각 항목이 고유한 이름을 가져야 하는 이유를 서술하라. 56 | 57 | 중복을 제거하고 실제 의미를 반영하기 위해 (이름 → 담당자 이름, 고객 이름) 58 | 59 | 14. 값 목록은 무엇인가? 60 | 61 | 특정 특징에 대한 값의 허용 범위를 지정하고 종종 특정 업무 규칙을 강요하기도 하는 열거 목록 62 | 63 | 15. 계산된 필드는 무엇인가? 64 | 65 | 문자열 연결이나 수학적 연산식에서 도출되는 값을을 포함하는 필드 66 | -------------------------------------------------------------------------------- /chapter7/exercise_myungwook.md: -------------------------------------------------------------------------------- 1 | 1. 새 데이터베이스를 위한 테이블들을 어떻게 식별하고 설정하는가? 2 | - 예비 필드 목록을 사용하여 식별한다. 3 | 1. 데이터베이스를 위한 테이블들을 정의하는 데 도움을 받기 위해 왜 예비 필드 목록을 사용하는가? 4 | - 필드는 만들어질 테이블의 일부로, 다수의 필드를 관찰함으로써 테이블에 대한 힌트를 얻을 수 있기 때문이다. 5 | 1. 주제 목록의 한 항목과 예비 테이블 목록에 다르게 이름이 부여된 항목이 둘 다 같은 주제를 나타낼 때 어떤 조치를 취하겠는가? 6 | - 둘 중 더 적절한 이름을 선택해 사용한다. 7 | 1. 최종 테이블 목록은 어떤 정보를 제공하는가? 8 | - 테이블명, 유형 설명 9 | 1. 테이블 이름을 만들기 위한 세 개의 지침을 적어라. 10 | - 유일해야한다. 11 | - 최소 개수의 단어만 사용한다. 12 | - 약어를 사용하지 않는다. 13 | 1. 테이블 설명을 작성하기 위한 두 개의 지침을 적어라. 14 | - 명백, 간결, 정확하게 작성 15 | - 테이블이 사용되는 곳이나, 본 테이블을 참조하는 다른 테이블에 대한 설명을 적으면 안된다. 16 | 1. 최종 테이블 목록상의 테이블에 어떻게 필드들을 할당하는가? 17 | - 가장 적절한 것을 고른다. 18 | 1. 필드 이름을 만들기 위한 세 개의 지침을 적어라. 19 | - 정확, 명백, 간결 20 | - 최소 갯수의 단어를 사용한다. 21 | - 단수형을 사용한다. 22 | 1. 잘못 설계된 필드들은 어떤 두 가지 문제를 야기하는가? 23 | - 중복데이터, 이중데이터 문제 24 | 1. 필드 비정상을 해소하기 위해 무엇을 사용할 수 있는가? 25 | - 올바른 필드 설계를 위한 지침을 확인한다. 26 | 1. 이상적인 필드의 요소들 중 세 개를 적어라. 27 | - 대상에 대한 뚜렷한 특징을 표현한다. 28 | - 단일값만 사용한다. 29 | - 더 작은 구성요소로 나눌 수 없다. 30 | 1. 어떤 조건하에서 이중 필드를 허용할 수 있는가? 31 | - 두 테이블간의 관계를 설정할 때 32 | 1. 개괄적으로 다중값 필드를 해소하기 위해 어떤 세 가지 절차를 따르는가? 33 | - 기존 필드를 제거한다. 34 | - 새로운 테이블에 기존 테이블 필드를 사용하여 구성한다. 35 | - 적절한 이름, 설명을 추가한다. 36 | 1. 테이블 내에서 언제 이중 필드를 사용할 필요가 있는가? 37 | - 두 테이블간 관계를 설정할 때 38 | 1. 어떻게 테이블 구조를 정제할 수 있는가? 39 | - 올바른 테이블 설계를 위한 지침을 확인한다. 40 | 1. 이상적인 테이블의 요소들 중 세 개를 적어라. 41 | - primary key 를 가진다. 42 | - 다중값 필드를 포함하지 않는다. 43 | - 최소화된 중복 데이터만을 포함한다. 44 | 1. 부분 집합 테이블은 무엇인가? 45 | - 특정 데이터 테이블의 종속 대상을 나타내는 테이블이다. 46 | -------------------------------------------------------------------------------- /chapter10/exercise_jinyoung.md: -------------------------------------------------------------------------------- 1 | 1. 관계가 왜 중요한지, 대표적인 이유 두개를 서술하라 2 | - 연관성 있는 테이블들을 연결할 수 있다. 3 | - 정규화를 가능하게 함으로서 데이터 정규화를 수행할 수 있도록 해준다. 4 | 1. 관계의 세 유형을 적어라 5 | - 일대일, 일대다, 다대다 6 | 1. 어떤 관계가 가장 많은 문제를 일으키는가? 7 | - 다대다 8 | 1. 다대다 관계에서 마주칠 수 있는 두 개의 문제를 서술하라. 9 | - 정보 추출이 어렵다. 10 | - Pagination 등의 로직처리가 어려워진다. 11 | - 중복 데이터를 포함한다. 12 | - Abnormal이 발생하기 쉽다. 13 | 1. 자가 참조 관계는 무엇인가? 14 | - 한 테이블 내에서 레코드들 사이에 관계가 존재하는 경우. 15 | 1. 데이터베이스에 있는 테이블 사이에 관계를 식별하는 절차는 어떻게 시작하는가? 16 | - 테이블 사이의 행렬을 만듬으로 시작할 수 있다. 17 | 1. 이미 있는 관계를 식별하기 위해 사용할 수 있는 두 종류의 질문은 무엇인가? 18 | - 연결, 문맥 측면의 질문 19 | 1. 테이블 행렬에 있는 1대다 관계를 지정할 때 사용하는 단축 기호는 무엇인가? 20 | - 1 대 N 21 | 1. 행렬에 있는 각 쌍의 테이블 사이에 어떤 종류의 관계가 공식적으로 존재하는지는 어떻게 결정하는가? 22 | - 공식(A x B * B x C = A x C)을 활용하여 테이블 사이의 관계가 존재하는지를 판단한다. 23 | 1. 1대다 관계는 어떻게 설정하는가? 24 | - 다 측의 테이블 레코드에 1의 pk를 fk로 설정함으로서. 25 | 1. 참/거짓 문제: 자가 참조 관계를 가진 테이블에서 정보를 추출하는 것은 지루하고 다소 어려울 수 있다. 26 | - 참 27 | 1. 자가 참조 다대다 관계는 어떻게 설정하는가? 28 | - 연결 테이블을 사용하여 설정 가능하다. 29 | 1. 데이터베이스에 있는 외래 키는 어떻게 개선하는가? 30 | - 외래 키의 조건을 만족하는지 확인한다. 31 | 1. 외래 키의 필드 명세 중에서 어떤 두 요소들을 반드시 수정해야 하는가? 32 | - 일반적, 논리적 요소의 범주. 왜냐하면 외래 키는 기존에 존재하는 키의 복제본임으로 일반 필드와 성격을 달리하는 부분이 있음으로. 33 | 1. 삭제 규칙의 기능은 무엇인가? 34 | - 자식 테이블에서 삭제하는 것은 상관이 없으나. 35 | - 부모 테이블에서 자식 테이블과 관계가 있는 레코드가 삭제될 때 어떤 조치를 취해야 하는지 알 수 있다. 36 | 1. 테이블에 대하여 지정할 수 있는 두 가지 참여 종류는 무엇인가? 37 | - 의무적, 선택적 38 | 1. 참여의 정도는 무엇을 나타내는가? 39 | - 다른 테이블과 연결되는 레코드 사이의 최대와 최소의 레코드의 수를 가르킨다. 40 | 1. 관계는 언제 관계 수준 무결성을 획득해야하는가? 41 | - 관계가 적절하게 설정되었는지 검증 후 관계 수준의 무결성을 가진다 할 수 있다. 42 | -------------------------------------------------------------------------------- /chapter6/exercise.md: -------------------------------------------------------------------------------- 1 | 1. 현재 데이터베이스를 분석하기 위한 두 개의 목표를 서술하라 2 | 3 | 조직이 사용하는 데이터의 종류 4 | 5 | 조직이 데이터를 사용하는 방법 6 | 7 | 8 | 9 | 2. 참/거짓 문제: 새로운 구조에 대한 기초로 현재 데이터베이스 구조를 선택할 수 있다. 10 | 11 | 거짓 12 | 13 | 14 | 15 | 3. 기존 데이터베이스는 무엇인가? 16 | 17 | 5년 이상 사용되어 온 디비 18 | 19 | 20 | 21 | 4. 분석 프로세스의 두 단계를 서술하라. 22 | 23 | 데이터 수집된 방법 검토 24 | 25 | 정보가 표현되는 방법 검토 26 | 27 | 사용자와 관련자와 인터뷰를 진행 28 | 29 | 30 | 31 | 5. 분석하는 동안 어떤 종류의 컴퓨터 소프트웨어 프로그램을 검토해야 하는가? 32 | 33 | 스프레드시트, 워드, 웹페이지 34 | 35 | 36 | 37 | 6. 데이터 수집과 정보를 표현한 견본을 수집한 후에 인터뷰를 진행해야 하는 이유는 무엇인가? 38 | 39 | 그 과정 속에서 조직 내의 사람들에게 상세한 이야기를 들을 수 있음으로 40 | 41 | 42 | 43 | 7. 개방형 질문과 폐쇄형 질문은 어떻게 사용하는가? 44 | 45 | 개방형 질문은 현실적으로 더 일반적이고 특정 주제에 대하여 초점을 맞추기 쉽도록 함. 46 | 47 | 폐쇄적 질문은 보다 구체적이며 특정 주제의 구체적인 세부사항에 초점을 맞출 수 있도록 함 48 | 49 | 50 | 51 | 8. 대상 식별 기술은 무엇인가? 52 | 53 | 인터뷰 상대방이 말하고자 하는 의도를 식별할 수 있는 것 54 | 55 | 56 | 57 | 9. 특정 대상에 대한 특성들을 어떻게 파악하는가? 58 | 59 | 새로운 대상에 대한 식별이 완료된 후에 대화에서 나온 구체적인 사항을 찾는다. 60 | 61 | 62 | 63 | 10. 참/거짓 문제: 여러분은 사용자와 관리자와의 인터뷰를 동시에 진행해야 한다. 64 | 65 | 거짓. 66 | 67 | 68 | 69 | 11. 여러분이 파악해야 하는 정보 요건의 세 가지 유형은 무엇인가? 70 | 71 | 현재, 추가, 미래의 정보 요건 72 | 73 | 74 | 75 | 12. 예비 필드 목록은 무엇인가? 76 | 77 | 조직의 기본적인 데이터 요구사항을 나타냄 78 | 79 | 80 | 81 | 13. 예비 필드 목록의 각 항목이 고유한 이름을 가져야 하는 이유를 서술하라. 82 | 83 | 다른 값을 가질 경우 혼란을 초래할 수 있음으로 84 | 85 | 86 | 87 | 14. 값 목록은 무엇인가? 88 | 89 | 특정 특징에 대한 값의 허용 범위를 지정, 업무 규칙 강화 90 | 91 | 92 | 93 | 15. 계산된 필드는 무엇인가? 그것이 있다면, 그에 대하여 여러분이 해야 하는 것은 무엇인가? 94 | 95 | 문자열의 열결이나 수학적 연산 결과를 값으로 저장하는 것 96 | 97 | 예비 필드 목록의 기존 값에 계산된 필드 목록의 것을 채워 넣기 -------------------------------------------------------------------------------- /chapter3/exercise_jinyoung.md: -------------------------------------------------------------------------------- 1 | 1. 전문 용어가 중요한 이유는 무엇인가? 2 | 3 | 디비 설계 프로세스 자체를 정의/표현 시 사용 4 | 5 | 디비 이야기를 할 때면 언제나 사용됨 6 | 7 | 8 | 9 | 2. 용어의 네 가지 범주의 이름은 무엇인가? 10 | 11 | (1) 값 관련 용어 12 | 13 | (2) 구조 관련 용어 14 | 15 | (3) 관계 관련 용어 16 | 17 | (4) 무결성 관련 용어 18 | 19 | 20 | 21 | 3. 데이터와 정보의 차이는 무엇인가? 22 | 23 | 데이터를 가공을 통해 의미 있는 결과로 바꿔야 정보라고 할 수 있다. 24 | 25 | 26 | 27 | 4. 널은 무엇을 표시하는가? 28 | 29 | 없거나 알려지지 않은 값을 표시함 30 | 31 | 32 | 33 | 5. 널의 가장 큰 단점은 무엇인가? 34 | 35 | 디비를 이용한 수리적 연산 시에 부정적인 영향을 끼친다. 36 | 37 | (ex 1 * NULL = NULL) 38 | 39 | 40 | 41 | 6. 데이터베이스에 있는 주요 구조는 무엇인가? 42 | 43 | 테이블 44 | 45 | 46 | 47 | 7. 테이블의 세 가지 종류는 무엇인가? 48 | 49 | 데이터 테이블, 룩업 테이블, 가상 테이블(뷰) 50 | 51 | 52 | 53 | 8. 뷰는 무엇인가? 54 | 55 | 하나 이상의 테이블에서 여러 필드를 혼합하여 만든 가상 테이블 56 | 57 | 58 | 59 | 9. 키와 인덱스의 차이점은 무엇인지 서술하라. 60 | 61 | 키는 논리적 디비 구조상 레코드 식별을 위해 필요하지만, 인덱스의 경우 물리적인 성능 향상을 위해 사용된다. 62 | 63 | 64 | 65 | 10. 두 개의 테이블 사이에 존재할 수 있는 관계의 세 가지 종류는 무엇인가? 66 | 67 | OneToMany, OneToOne, ManyToMany 68 | 69 | 70 | 71 | 11. 관계를 특정 지을 수 있는 세 가지 방법은 무엇인가? 72 | 73 | 관계의 종류에 의해, 74 | 75 | 참여하는 방법에 의해, 76 | 77 | 참여하는 정도에 의해 78 | 79 | 80 | 81 | 12. 필드 명세는 무엇인가? 82 | 83 | 필드의 일반, 물리, 논리적인 등 모든 요소를 표시한 것 84 | 85 | 86 | 87 | 13. 필드 명세를 구성하는 세 가지 요소는 무엇인가? 88 | 89 | 일반적인 요소, 물리적인 요소, 논리적인 요소 90 | 91 | 92 | 93 | 14. 데이터 무결성은 무엇인가? 94 | 95 | 디비에 있는 데이터의 유효성, 일관성, 정확성 등에 결함이 없는 것 96 | 97 | 98 | 99 | 15. 데이터 무결성의 네 가지 종류는 무엇인가? 100 | 101 | 테이블, 필드, 관계 수준, 업무 규칙 102 | -------------------------------------------------------------------------------- /chapter11/exercise_yun.md: -------------------------------------------------------------------------------- 1 | 1. 업무 규칙이란 무엇인가? 2 | 3 | - 업무 규칙(Business)은 필드 명세 내의 요소들이나 주어진 관계의 특성들처럼 데이터베이스의 특성 측면에 어떤 형태의 제약을 부과하는 문장이다. 4 | 5 | 2. 업무 규칙의 두 가지 중요한 종류들의 이름을 기술하라. 6 | 7 | - 데이터베이스 지향 8 | - 응용프로그램 지향 9 | 10 | 3. 데이터베이스의 논리적 설계 내에서 응용프로그램 지향 업무 규칙을 설정할 수 있는가? 11 | 12 | - 아니다. 논리적 설계 내에서 제약조건들을 의미 있고 명확하게 설정할 수 있으면, 제약조건을 도출하는 문장은 데이터베이스 지향 업무 규칙이다. 13 | 14 | 4. 데이터베이스 지향 업무 규칙의 두 가지 범주는 무엇인가? 15 | 16 | - 필드 특유 17 | - 관계 특유 18 | 19 | 5. 필드 특유의 업무 규칙이란 무엇인가? 20 | 21 | - 필드 특유의 업무 규칙은 특정 필드를 위한 필드 명세의 요소들에 제약조건을 부과한다. 주어진 규칙이 영향을 미치는 요소들의 수는 이 규칙을 정의하는 방법에 의존한다. 22 | 23 | 6. 언제 업무 규칙은 테스트되는가? 24 | 25 | - 테이블에 한 레코드 또는 필드에 한 항목을 삽입하거나 삭제하거나 갱신할 때 26 | 27 | 7. 업무 규칙을 어떻게 문서화하는가? 28 | 29 | - 업무 규칙 명세서를 채움으로써, 장래의 참조를 위해 주어진 업무 규칙을 문서화할 수 있다. 30 | 31 | 8. 업무 규칙 명세서가 제공하는 두 가지 장점을 적어라. 32 | 33 | - 모든 데이터베이스 지향 업무 규칙을 문서화하도록 해준다. 34 | - 모든 응용프로그램 지향 업무 규칙을 문서화하도록 해준다. 35 | - 모든 업무 규칙을 기록하기 위한 표준적인 방법을 제공한다. 36 | 37 | 9. 업무 규칙 명세서의 처리사항(action taken) 부분의 목적은 무엇인가? 38 | 39 | - 필드 명세의 요소들이나 관계 다이어그램에 가한 수정을 나타내는 곳이다. 40 | 41 | 10. 검증 테이블의 목적은 무엇인가? 42 | 43 | - 검증테이블(룩업 테이블로도 알려져 있다)은 데이터 무결성을 구현하기 위한 구체적으로 사용하는 데이터를 저장한다. 44 | 45 | 11. 검증 테이블의 전형적인 구조는 무엇인가? 46 | 47 | - 검증테이블은 보통(그러나 항상 그렇진 않다) 두 개의 필드로 구성된다. 첫번째는 주 키의 역할을 하고 데이터 무결성을 강화하기 위해 사용되는 것이고 두번째는 데이터베이스의 어떤 다른 필드에 의해 요구되는 값들의 집합을 저장하는 단순한 비 키 필드다. 48 | 49 | 12. 업무 규칙과 검증 테이블 사이의 연관성은 무엇인가? 50 | 51 | - 업무 규칙이 필드 값 범위를 제한할 때, 검증 테이블을 사용함으로써 제약조건을 강화할 수 있다. 52 | 53 | 13. 완성된 업무 규칙 명세서를 모두 검토해야 하는 이유는 무엇인가? 54 | 55 | - 각 명세서를 주의 깊게 검사하고 규칙을 적절하게 설정했는지 그리고 명세서상의 모든 적절한 영역을 명확하게 표시했는지 확인한다. -------------------------------------------------------------------------------- /chapter12/exercise_jinyoung.md: -------------------------------------------------------------------------------- 1 | 1. 왜 뷰를 가상 테이블이라고 부를 수 있는가? 2 | - 실제 데이터가 기록되는 것이 아니라 기반 테이블을 바탕으로 임의로 만들어짐으로. 3 | 1. 왜 뷰가 가치 있는지 두 가지 이유를 적어라. (참고) 4 | - 동시에 여러 테이블의 정보를 작업할 수 있다. 5 | - 가장 최신의 정보를 반영한다. 6 | - 특정한 개인, 혹은 조직에 맞게 데이터를 제공할 수 있다. 7 | - ex) 직원의 이름, 주소는 보여주지만 급여는 보여주고 싶지 않은 경우. 8 | 1. 데이터베이스의 논리적 구조를 설계하면서 정의할 수 있는 뷰 종류의 이름을 적어라. 9 | - 검증, 집계, 데이터 10 | 1. 데이터 뷰(또는 이 문제에 관해서는 임의 종류의 뷰)를 액세스 할 때마다 RDBMS는 무엇을 하는가? 11 | - 기반 테이블에서 정보를 읽어들여 뷰를 재구축한다. 12 | 1. 뷰의 데이터에 적용할 수 있는 수정의 종류를 무엇이 결정하는가? 13 | - 필드 명세와 업무 규칙 등 뷰의 기반 테이블, 필드의 제약들. 14 | 1. 다중 테이블 데이터 뷰를 정의하기 위해 충족시켜야 하는 유일한 요구사항은 무엇인가? 15 | - 데이블 사이에 관계가 있어야한다. 16 | 1. 왜 데이터 뷰는 자신의 주 키를 포함하지 않는가? 17 | - 뷰는 테이블이 아님으로 레코드를 고유하게 명시할 필요가 없음으로. 18 | 1. 집계 뷰의 목적은 무엇인가? 19 | - 기존 테이블을 바탕으로 하여 집계(평균, 최대, 최소, 개수) 정보를 확인하기 위하여. 20 | 1. 데이터 집합에 적용할 수 있는 가장 일반적인 집계 함수들은 무엇인가? 21 | - max, count, min 22 | 1. 그룹화 필드란 무엇인가? 23 | - 여러 인스턴스들의 값을 단일 인스턴스로 그룹화하는 집계 뷰 내에 있는 데이터 필드. 24 | 1. 참/거짓 문제: 집계 뷰 내의 데이터를 수정할 수 있다. 25 | - 거짓. 26 | 1. 검증 테이블과 검증 뷰의 차이점은 무엇인가? 27 | - 테이블은 실제 저장된 데이터인 반면, 뷰의 경우 이와 같은 테이블로 부터 얻어진 값이다. 28 | 1. 뷰 요구사항을 식별할 때 고려해야 하는 두 가지 요점의 이름을 적어라. (참고) 29 | - 집단과 함께 해당 내용에 대하여 검토한다. 30 | - 설계 프로세스에서 필드, 테이블 생성을 위하여 수집된 데이터 항목, 보고서 등의 정보를 검토한다. 31 | - 테이블의 관계를 분석 32 | - 업무 규칙 준수. 33 | 1. 언제 계산된 필드를 사용해야만 하는가? 34 | - 계산될 필드가 적절하고 의미 있는 정보를 제공하거나, 데이터를 사용하는 방법을 개선할 때. 35 | 1. 공상 과학 서적만 표시하는 뷰를 어떻게 정의하는가? 36 | - 특정 필드를 필터링 할으로서 공상 과학 서적만을 출력하는 뷰를 정의할 수 있다. 37 | 1. 왜 데이터베이스 내의 모든 뷰를 위해 뷰 명세서를 완성해야만 하는가? 38 | - 뷰의 특성을 기록하고 조직의 이해관계 구성원과 공유하기 위하여. 39 | -------------------------------------------------------------------------------- /chapter6/exercise_hosung.md: -------------------------------------------------------------------------------- 1 | 1. 현재 데이터베이스를 분석하기 위한 두 개의 목표를 서술하라. 2 | 3 | - 조직이 사용하는 데이터의 유형과 데이터를 관리하고 유지하는 방법을 결정 4 | - 조직이 데이터를 바라보고 사용하는 방법을 결정 5 | 6 | 1. 참/거짓 문제: 새로운 구조에 대한 기초로 현재 데이터베이스 구조를 선택할 수 있다. 7 | 8 | 거짓 9 | 10 | 1. 기존 데이터베이스는 무엇인가? 11 | 12 | 기존에 사용 되어온 것으로, 서버, 개인 컴퓨터 등에 위차한 다양한 유형의 모든 데이터와 관련 사용자 인터페이스 13 | 14 | 1. 분석 프로세스의 두 단계를 서술하라. 15 | 16 | - 데이터가 수집된 방법을 검토하는 것 17 | - 정보가 표현되는 방법을 검토하는 것 18 | 19 | 1. 분석하는 동안 어떤 종류의 컴퓨터 소프트웨어 프로그램을 검토해야 하는가? 20 | 21 | 데이터를 수집할 때 사용하는 모든 컴퓨터 프로그램. 워드프로세서와 스프레드시트 등. 22 | 23 | 1. 데이터 수집과 정보를 표현한 견본을 수집한 후에 인터뷰를 진행해야 하는 이유는 무엇인가? 24 | 25 | 인터뷰를 통해 이전 검토 단계에서 수집한 견본에 대한 자세한 정보를 제공받을 수 있기 때문에 26 | 27 | 1. 개방형 질문과 폐쇄형 질문은 어떻게 사용하는가? 28 | 29 | 개방형 질문은 현실적으로 더 일반적이고 특정 주제에 대하여 초점을 맞추기 쉽도록 한다. 폐쇄적 질문은 보다 구체적이며 특정 주제의 구체적인 세부사항에 초점을 맞출 수 있도록 한다. 30 | 31 | 1. 대상 식별 기술은 무엇인가? 32 | 질문의 답변에서 의미있는 명사(대상)을 찾아내는 기술. 특히 객체와 사건을 찾아 낸다. 33 | 34 | 1. 특정 대상에 대한 특성들을 어떻게 파악하는가? 35 | 36 | 특정 대상에 초점을 맞춘 문장으로 질문을 던진다. 대상의 특징을 표현하는 단어들을 살펴봐야 한다. 37 | 38 | 1. 참/거짓 문제: 여러분은 사용자와 관리자와의 인터뷰를 동시에 진행해야 한다. 39 | 40 | 거짓 41 | 42 | 1. 여러분이 파악해야 하는 정보 요건의 세 가지 유형은 무엇인가? 43 | 44 | - 현재 정보 요건 45 | - 추가 정보 요건 46 | - 미래 정보 요건 47 | 48 | 1. 예비 필드 목록은 무엇인가? 49 | 50 | 조직의 기본적인 데이터 요구사항을 나타낸다. 데이터베이스에 정의할 필드의 핵심 51 | 52 | 1. 예비 필드 목록의 각 항목이 고유한 이름을 가져야 하는 이유를 서술하라. 53 | 54 | 같은 대상을 나타내는것, 같은 특징을 나타내는것을 명확하게 구분하기 위해 55 | 56 | 1. 값 목록은 무엇인가? 57 | 58 | 특정 특징에 대한 값의 허용 범위 59 | 60 | 1. 계산된 필드는 무엇인가? 그것이 있다면, 그에 대하여 여러분이 해야 하는 것은 무엇인가? 61 | 62 | 문자열의 연결이나 수학적인 연산 결과를 값으로 저장하는 것. 따로 계산된 필드 목록에 보관해야 한다. -------------------------------------------------------------------------------- /chapter9/exercise_yun.md: -------------------------------------------------------------------------------- 1 | 1. 왜 필드 명세들이 중요한지 두 가지 이유를 적어라. 2 | 3 | - 필드 명세는 필드 수준의 무결성을 설정하고 강화하는데 도움이 된다 4 | - 각 필드를 위한 필드 명세를 정의하는 것은 전반적인 데이터 무결성을 개선한다 5 | - 필드 명세를 정의하는 것은 데이터베이스 내의 데이터의 본질과 목적을 완전히 이해하도록 해준다 6 | - 필드 명세는 데이터베이스의 데이터 사전(data dictionary)을 구성한다 7 | 8 | 2. 필드 수준의 무결성을 설정함으로써 무엇을 얻을 수 있나? 9 | 10 | - 필드의 주체성과 목적이 명확하고 이것이 나타나는 모든 테이블이 적절히 식별된다 11 | - 데이터베이스 전체에 걸처 필드 정의가 일관성이 있다 12 | - 필드의 값들이 일관성 있고 유효하다 13 | - 필드의 값들에 적용될 수 있는 수정, 비교, 연산의 종류가 명확히 식별된다 14 | 15 | 3. 필드 명세 내의 요소들의 세 가지 범주는 무엇인가? 16 | 17 | - 일반적, 물리적, 논리적 요소 18 | 19 | 4. 세 종류의 명세들의 이름을 적어라. 20 | 21 | - 유일(Unique), 일반(Generic), 복제(Replica) 22 | 23 | 5. 적절한 필드 설명을 작성하는 것이 왜 유익한가? 24 | 25 | - 필드 설명을 작성하는 것은 극히 이로운데, 그 이유는 이것이 필드에 저장될 데이터의 특성에 대해 조직에 있는 모든 사람들이 주의 깊게 생각하도록 하기 때문이다. 26 | 27 | 6. 데이터형 요소가 가리키는 것은 무엇인가? 28 | 29 | - 필드가 저장하는 데이터의 특성 30 | 31 | 7. 문자 지원 요소가 가리키는 것은 무엇인가? 32 | 33 | - 주어진 필드 값으로 입력할 수 있는 문자들의 종류 34 | 35 | 8. 디스플레이 형식 요소의 목적은 무엇인가? 36 | 37 | - 필드의 값이 화면에 표시되거나 문서 내에 인쇄될 때 외형을 통제한다. 38 | 39 | 9. 필드 명세에 어떤 종류의 키들이 나타나는가? 40 | 41 | - 비 키, 주 키, 대체 키, 왜래 키 42 | 43 | 10. 참/거짓 문제: 널은 공백값을 나타낸다. 44 | 45 | - 거짓 46 | - 널은 공백을 의미하지 않고 누락되거나 미지의 값을 나타냄 47 | 48 | 11. 값 범위 요소의 중요성은 무엇인가? 49 | 50 | - 필드를 위해 가능한 모든 유효한 값을 지정한다 51 | 52 | 12. 변경 규칙의 목적은 무엇인가? 53 | 54 | - 언제 사용자가 필드에 값을 입력할지 그리고 이 값을 수정할 수 있는지 여부를 나타낸다 55 | 56 | 13. 비교 허용 요소의 목적은 무엇인가? 57 | 58 | - 사용자가 필드로부터 정보를 추출할 때 주어진 필드값에 적용할 수 있는 비교의 종류를 나타낸다. 59 | 60 | 14. 값 연산식이 무엇인가? 61 | 62 | - 단일값을 돌려주는 필드값, 상수값, 또는 이 두가지를 포함한 어떤 연산의 형식 63 | 64 | 15. 언제 일반 명세를 사용하는가? 65 | 66 | - 데이터베이스 내에서 다른 필드들을 위한 템플릿으로 사용되는 필드를 위해 일반 명세를 사용한다 -------------------------------------------------------------------------------- /chapter3/exercise_wooju.md: -------------------------------------------------------------------------------- 1 | 1. 전문 용어가 중요한 이유는 무엇인가? 2 | * 전문용어를 이해하는 것은 이론적인 지식의 습득에 유리하고, 전문용어를 바탕으로 커뮤니케이션을 쉽고 명확하게 할 수 있다. 3 | 2. 용어의 네 가지 범주의 이름은 무엇인가? 4 | * 값, 구조, 관계, 무결성 5 | 3. 데이터와 정보의 차이는 무엇인가? 6 | * 데이터베이스의 저장된 값을 `데이터`라고 하고, 데이터를 가공하여 의미있는 결과과 만들어진다면 이를 `정보`라 할 수 있다. 7 | 4. 널은 무엇을 표시하는가? 8 | * 없거나 알려지지 않은 값을 나타낸다. 9 | 5. 널의 가장 큰 단점은 무엇인가? 10 | * 수학적 연산에 부정적인 영향일 미친다. 11 | 6. 데이터베이스에 있는 주요 구조는 무엇인가? 12 | * 테이블 13 | 7. 테이블의 세 가지 종류는 무엇인가? 14 | * 데이터테이블: 정보를 만드는데 필요한 데이터를 저장하는 테이블 15 | * 연결테이블: 다대다 관계에 필요한 테이블 16 | * 룩업테이블(검증테이블): 데이터의 무결성을 보장할 때 사용하는 데이터를 저장하는 테이블 17 | 8. 뷰는 무엇인가? 18 | * 하나 이상의 테이블에서 여러 필드를 혼합하여 만든 가상테이블 19 | 9. 키와 인덱스의 차이점은 무엇인지 서술하라. 20 | * 키: 특정 레코드를 식별하기 위한 값 21 | * 인덱스: RDBMS의 데이터 처리 속도를 향상시키기 위한 구조 22 | 10. 두 개의 테이블 사이에 존재할 수 있는 관계의 세 가지 종류는 무엇인가? 23 | * 일대일, 일대다, 다대다 24 | 11. 관계를 특정 지을 수 있는 세 가지 방법은 무엇인가? 25 | * 테이블 사이의 관계의 종류 26 | * 참여의 유형 27 | * 참여의 정도 28 | 12. 필드 명세는 무엇인가? 29 | * 필드의 모든 요소를 표시하는 것으로, 각 필드 명세는 필드의 일반적인, 물리적인, 논리적인 유형의 요소를 모두 포함한다. 30 | 13. 필드 명세를 구성하는 세 가지 요소는 무엇인가? 31 | * 일번적인 요소: 필드와 관련된 가장 기본적인 정보 (필드이름, 상세설명, 부모테이블 등) 32 | * 물리적인 요소: 필드를 구성하는 방법과 필드를 사용하는 사람들에게 표시하는 방법 (데이터 유형, 길이, 출력양식) 33 | * 논리적인 요소: 필드에 저장되는 값(요청값, 값의 범위, 기본값에 대한 항목) 34 | 14. 데이터 무결성은 무엇인가? 35 | * 데이터베이스에 있는 데이터의 유효성, 일관성, 정확성 36 | 15. 데이터 무결성의 네 가지 종류는 무엇인가? 37 | * 테이블 수준 무결성 - 테이블 내 중복된 레코드가 없으며, 테이블 내의 레코드를 식별하는 필드가 유일한 값을 갖고 널이 아니라는 것을 보장 38 | * 필드 수준 무결성 - 모든 필드의 구조가 잘 되 었음을 보장 39 | * 관계 수준 무결성 - 테이블 사이의 관계의 적절상과 동기화 여부 보장 40 | * 업무 규칙 - 조직이 데이터를 인지하고 사용하는 방법에 따라 데이터베이스 특정 측면에 제약을 준다. 41 | -------------------------------------------------------------------------------- /chapter5/exercise_minki.md: -------------------------------------------------------------------------------- 1 | 1. 인터뷰가 중요한 이유는? 2 | - 인터뷰는 개발자와 사용자 사이의 중요한 대화 창구가 된다. 3 | - 설계의 성공에 도움이 된다. 4 | - 데이터베이스 구조의 설계에 중요한 정보를 얻을 수 있다. 5 | 2. 여러분이 다수의 사람들과 인터뷰를 진행할 때에는 어떤 문제들이 발생할 수 있는가? 6 | 7 | 사람들은 동료들 앞에서 무지하거나 무능한 사람으로 보이는 것을 무서워한다. 8 | 9 | 인원이 많으면 위협 수준이 높아져 참여의 정도가 낮아진다. 10 | 11 | 3. 사용자들과 관리자의 인터뷰를 분리해서 진행하는 주된 이유는 무엇인가? 12 | 13 | 다른 관점에서 오는 이견 충돌 방지 14 | 15 | 4. 여러분은 일반적으로 인터뷰를 진행할 때 폐쇄형 질문을 사용할 것이다. 16 | 17 | 아니오. 개방적 질문이 답변에 다양성을 유도하기 때문이다. 18 | 19 | 5. 여러분이 진행하는 모든 인터뷰에 대한 가장 중요한 지침은 무엇인가? 20 | 21 | 인터뷰의 주도권을 가진다. 22 | 23 | 6. 업무 명세는 무엇인가? 24 | 25 | 데이터베이스의 구체적인 목적을 어떻게 나타내는지에 대한 설명 26 | 27 | 7. 잘 작성된 임무 명세의 두 가지 특징에 대하여 서술하라. 28 | - 간결하다 29 | - 요점을 잘 표현한다. 30 | 8. 여러분은 임무 명세를 작성하기 위해 조직에 대하여 학습할 필요가 없다. 31 | 32 | 거짓. 조직에 대한 이해가 있어야 데이터베이스에 대한 조직의 일반적인 요건이 명확하다. 33 | 34 | 9. 임무 명세는 언제 완료되는가? 35 | 36 | 임무 명세에 대해 리뷰를 마쳤을 때(사용자, 조직) 37 | 38 | 10. 임무 목표란? 39 | 40 | 데이터베이스에서 관리되는 데이터가 지원하는 일반적인 작업 41 | 42 | 11. 잘 작성된 임무 목표의 두 가지 특징을 서술하라 43 | - 하나의 일반적인 작업을 나타내야한다. 44 | - 불필요한 설명이 없어 명확하게 작업을 정의해야한다. 45 | 46 | 12. 여러분은 임무 목표들을 정의하기 위해 사용자들과 관리자와의 인터뷰를 수행해어야만 한다. 47 | 48 | 참. 49 | 50 | 13. 임무 목표와 직원들의 일일 작업은 어떻게 관련이 있는가? 51 | 52 | 직원들의 일일 작업들이 각각의 업무 목표가된다. 53 | 54 | 매일 수행하는 업무를 이해하면, 임무 목표를 효과적으로 정의할 수 있다. 55 | 56 | 14. 임무 목표는 하나 이상의 작업을 설명할 수 있다. 57 | 58 | 거짓. 59 | 60 | 15. 임무 목표가 인터뷰의 답변에서 도출될 수 있는 방법 두 가지를 서술하여라. 61 | 62 | 암묵적, 명시적 63 | 64 | 16. 임무 목표의 작성은 언제 완료되는가? 65 | 66 | 임무 목표에 대해 리뷰를 마쳤을 때(사용자, 조직과) 67 | -------------------------------------------------------------------------------- /chapter12/exercise_wooju.md: -------------------------------------------------------------------------------- 1 | 1. 왜 뷰를 가상 테이블이라고 부를 수 있는가? 2 | 1. 기반테이블에서 데이터를 추출하기 때문 (자체적으로 데이터 저장 X) 3 | 2. 왜 뷰가 가치 있는지 두 가지 이유를 적어라. 4 | 1. 여러 테이블에 있는 데이터를 동시에 작업하는데 사용할 수 있다. 5 | 2. 가장 최근의 정보를 반영한다. 6 | 3. 개인 또는 그룹의 특별한 요구에 개인화시킬 수 있다. 7 | 4. 데이터 무결성을 강화하는 데 사용할 수 있다. 8 | 5. 보안이나 기밀성의 목적으로 사용할 수 있다. 9 | 3. 데이터베이스의 논리적 구조를 설계하면서 정의할 수 있는 뷰 종류의 이름을 적어라. 10 | 1. 데이터뷰, 집계뷰, 검증뷰 11 | 4. 데이터 뷰(또는 이 문제에 관해서는 임의 종류의 뷰)를 액세스 할 때마다 RDBMS는 무엇을 하는가? 12 | 1. 기반테이블의 최신 데이터를 사용하여 뷰를 재구축하고 재이식한다. 13 | 5. 뷰의 데이터에 적용할 수 있는 수정의 종류를 무엇이 결정하는가? 14 | 1. 필드 명세와 업무 규칙 15 | 6. 다중 테이블 데이터 뷰를 정의하기 위해 충족시켜야 하는 유일한 요구사항은 무엇인가? 16 | 1. 뷰를 만들기 위해 사용하는 테이블들이 서로 관계가 있어야 한다. 17 | 7. 왜 데이터 뷰는 자신의 주 키를 포함하지 않는가? 18 | 1. 뷰가 테이블이 아니기 때문에 주키가 없다. 그러나 기반테이블로부터 주키를 포함시킬 수 있다. 19 | 8. 집계 뷰의 목적은 무엇인가? 20 | 1. 특별한 방법으로 특정 데이터의 집합을 집계하여 생성되는 정보를 출력하는 것이다. 21 | 9. 데이터 집합에 적용할 수 있는 가장 일반적인 집계 함수들은 무엇인가? 22 | 1. 합계, 평균, 최소값, 최대값, 개수 23 | 10. 그룹화 필드란 무엇인가? 24 | 1. 집계 뷰 내의 모든 데이터 필드 25 | 11. 참/거짓 문제: 집계 뷰 내의 데이터를 수정할 수 있다. 26 | 1. 거짓 27 | 12. 검증 테이블과 검증 뷰의 차이점은 무엇인가? 28 | 1. 검증 테이블은 그 자체에 데이터를 저장하는 반면 검증뷰는 기반테이블에서 데이터를 추출한다. 29 | 13. 뷰 요구사항을 식별할 때 고려해야 하는 두 가지 요점의 이름을 적어라. 30 | 1. 그룹과 함께 작성한 내용을 검토한다. 31 | 2. 설계 프로세스의 앞 단계에서 데이터 항목, 보고서, 프레젠테이션 견본을 검토한다. 32 | 3. 테이블들과 그것들이 나타내는 대상을 검사한다. 33 | 4. 테이블 관계를 분석한다. 34 | 5. 업무 규칙을 연구한다. 35 | 14. 언제 계산된 필드를 사용해야만 하는가? 36 | 1. 계산된 필드가 적절하고 의미 있는 정보를 제공하거나 뷰가 데이터를 사용하는 방법을 개선하면 계산된 필드를 사용해야 한다. 37 | 15. 공상 과학 서적만 표시하는 뷰를 어떻게 정의하는가? 38 | 1. 뷰에 있는 적절한 필드에 필터를 적용하여 공상 과학 서적만을 출력하는 뷰를 정의한다. 39 | 16. 왜 데이터베이스 내의 모든 뷰를 위해 뷰 명세서를 완성해야만 하는가? 40 | 1. 뷰 명세서를 완성함으로서 문서화하고 뷰의 특성을 파악할 수 있다. 41 | -------------------------------------------------------------------------------- /chapter1/exercise_wooju.md: -------------------------------------------------------------------------------- 1 | 1. 오늘날 사용되고 있는 두 개의 주요 데이터베이스의 이름은? 2 | * `운영데이터베이스`와 `분석데이터베이스` 3 | * 운영데이터베이스의 경우 정보를 지속적으로 반영하는 경우에 사용하는 반면 분석데이터베이스는 장시간걸쳐 수집된 데이터의 통계를 위해 사용된다. 4 | 2. 분석 데이터베이스는 어떤 유형의 데이터를 저장하는가? 5 | * 특정 시점의 정보를 반영한 변화가 거의 없는 정적인 데이터 6 | 3. 참/거짓 문제: 운영 데이터베이스는 주로 OLTP(Online Transaction Processing) 업무에 사용된다. 7 | * 참, 운영데이터베이스의 경우 OLTP(Online Transaction Processing), 분석데이터베이스의 경우 OLAP(Online Analytical Processing)에 사용. 8 | 4. 관계형 데이터베이스 모델 이전에 일반적으로 사용되었던 두 개의 데이터 모델은 무엇인가? 9 | * `계층형 데이터베이스 모델`과 `네트워크 베이스 모델` 10 | * 계층형 데이터베이스 모델은 부모/자식 관계로 연계된 데이터베이스 구조이며, 네트워크 베이스 모델이은 노트와 집합구조 측면에 초점을 맞추어 구현되었다. 11 | 5. 부모/자식 관계에 대하여 설명하라. 12 | * 부모테이블은 하나이상의 자식테이블과 연계될 수 있고, 13 | * 자식테이블은 하나의 부모테이블과 연결되어야 함 14 | 6. 집합 구조란 무엇인가? 15 | * 네트워크 데이터베이스모델에서 데이터베이스 관계를 표현하고 설정하는 구조 16 | * 소유자 노트와 참여여자 노드를 한쌍의 노트로 연결시키는 형태로 부모/자식관계를 개량한 형태이다. 17 | 7. 관계형 데이터베이스 모델은 수학 이론에 기초를 두고 있는데, 이 중 하나의 이름을 적으시오. 18 | * 집합론과 1차 술어 논리라는 두 개의 수학분야에 기초를 두고 있다. 19 | 8. 관계형 데이터베이스 모델은 데이터를 어떻게 저장하는가? 20 | * 테이블로 구현된 관계에 데이터를 저장 21 | * 테이블의 레코드는 고유값을 가지는 필드에 의해 구분 22 | 9. 관계형 데이터베이스에 존재하는 관계의 세 가지 유형을 나열하시오. 23 | * 1대일 관계 24 | * 1대다 관계 25 | * 다대다 관계 26 | 11. 관계형 데이터베이스에서 데이터를 추출하는 방법을 설명하라. 27 | * SQL(Structured Query Language)을 사용하여 조회 28 | 12. 관계형 데이터베이스의 두 가지 장점에 대하여 서술하라. 29 | * 내장된 다중 무결성 30 | * 데이터베이스 응용프로그램으로부터 논리적 물리적 데이터 독립성 31 | * 데이터의 일관성을 정확히 보장 32 | * 쉬운 데이터 검색 33 | 34 | 13. 관계형 데이터베이스 관리 시스템은 무엇인가? 35 | * 관계형 데이터베이스를 생성, 유지보수, 수정, 조작할 때 사용하는 응용프로그램 36 | 14. 객체-관계형 모델이 성립하기 위해서 어떤 전제조건이 필요한가? 37 | * 클래스, 캡슐화, 상속 등과 같은 객체지향 요소와 특징을 포함 38 | 15. 데이터 웨워하우스의 목적은 무엇인가? 39 | * 데이터베이스들에 저장된 데이터를 조직이 접근할 수 있도록 함 -------------------------------------------------------------------------------- /chapter5/exercise_hosung.md: -------------------------------------------------------------------------------- 1 | 1. 인터뷰가 중요한 이유는? 2 | 3 | 인터뷰는 데이터베이스 설계 프로세스의 핵심적인 부분이다. 데이터베이스 설계의 목적이 결국 사용자가 그들의 목적을 제대로 수행하게 하는것이므로, 그들의 목적과 상황을 명확하게 이해하는 것이 필요하다. 4 | 5 | 1. 여러분이 다수의 사람들과 인터뷰를 진행할 때에는 어떤 문제들이 발생할 수 있는가? 6 | 7 | 다수의 사람들과 동시에 인터뷰를 진행하는 경우 특정 개인이 느끼는 불안함이 그 수에 따라 비례할 수 있다. 즉, 질문에 적절히 대답을 하지 못하거나 부족한 업무 상황을 공유하는 것에 대한 부담을 느껴 의도된 인터뷰를 수행하지 못할 수 있다. 8 | 9 | 1. 사용자들과 관리자의 인터뷰를 분리해서 진행하는 주된 이유는 무엇인가? 10 | 11 | 조직에 대해 서로 다른 관점을 가지고 있으며, 일상적으로 데이터를 사용하는 방법이 서로 다르기 때문이다. 12 | 13 | 공포요소를 줄여 더욱 질 높은 인터뷰를 진행할 수 있고, 불필요한 갈등도 줄일 수 있다. 14 | 15 | 1. 참/거짓 문제: 여러분은 일반적으로 인터뷰를 진행할 때 폐쇄형 질문을 사용할 것이다. 16 | 17 | 거짓. 열린 질문을 사용하자. 18 | 19 | 1. 여러분이 참여자와의 인터뷰를 통해 어떤 종류의 대답을 유도하려 해야 하는가? 20 | 21 | 열린 질문을 통해 객관적인 의견, 자세한 답변을 유도해야 한다. 22 | 23 | 1. 여러분이 진행하는 모든 인터뷰에 대한 가장 중요한 지침은 무엇인가? 24 | 25 | 인터뷰의 주도권을 가져야 한다. 26 | 27 | 1. 임무 명세는 무엇인가? 28 | 29 | 데이터베이스의 특정한 목적 30 | 31 | 1. 잘 작성된 임무 명세의 두 가지 특징에 대하여 서술하라. 32 | 33 | 간결하며 요점을 잘 표현한다. 34 | 35 | 1. 참/거짓 문제: 여러분은 임무 명세를 작성하기 위해 조직에 대하여 학습할 필요가 없다. 36 | 37 | 거짓 38 | 39 | 1. 임무 명세는 언제 완료되는가? 40 | 41 | 작성된 임무 명세에 대해 조직/요청자와의 리뷰를 마치고 나서 서로가 만족하면 42 | 43 | 1. 임무 목표란 무엇인가? 44 | 45 | 데이터베이스에서 관리되는 데이터가 지원하는 일반적인 작업들을 표현하는 문장 46 | 47 | 1. 잘 작성된 임무 목표의 두 가지 특징을 서술하라. 48 | 49 | 하나의 일반적인 작업으로 명확하게 정의, 이해하기 쉽게 작성 50 | 51 | 1. 참/거짓 문제: 여러분은 임무 목표들을 정의하기 위해 사용자들과 관리자와의 인터뷰를 수행해야만 한다. 52 | 53 | 참 54 | 55 | 1. 임무 목표와 직원들의 일일 작업은 어떻게 관련이 있는가? 56 | 57 | 직원들의 일일 작업이 결국 각각의 임무 목표로 이어진다. 직원들이 매일 수행하는 작업에 대한 질문을 통해 효과적인 임무 목표 정의를 할 수 있다. 58 | 59 | 1. 참/거짓 문제: 임무 목표는 하나 이상의 작업을 설명할 수 있다. 60 | 61 | 거짓 62 | 63 | 1. 임무 목표가 인터뷰의 답변에서 도출될 수 있는 방법 두 가지를 서술하라. 64 | 65 | 암시적, 명시적 66 | 67 | 1. 임무 목표의 작성은 언제 완료되는가? 68 | 69 | 조직, 사용자와 임무 목표에 대해 리뷰를 마치고 났을 때 -------------------------------------------------------------------------------- /chapter7/exercise_joonshik.md: -------------------------------------------------------------------------------- 1 | 1. 새 데이터베이스를 위한 테이블들을 어떻게 식별하고 설정하는가? 2 | * 예비 필드 목록을 검토하여 생성된 예비 테이블 목록과 주제 집합을 통합하여 생성한다. 3 | 2. 데이터베이스를 위한 테이블들을 정의하는 데 도움을 받기 위해 왜 예비 필드 목록을 사용하는가? 4 | * 치우치지 않은 관점에서 주제를 식별하는데 도움이 된다. 5 | 3. 주제 목록의 한 항목과 예비 테이블 목록에 다르게 이름이 부여된 항목이 둘 다 같은 주제를 나타낼 때 어떤 조치를 취하겠는가? 6 | * 둘 중 주제를 더 잘 표현하는 이름을 예비 테이블에 두거나 생성하고 주제 목록에서 삭제한다. 7 | 4. 최종 테이블 목록은 어떤 정보를 제공하는가? 8 | * 필드와 테이블 유형과 명세서를 포함한다. 9 | 5. 테이블 이름을 만들기 위한 세 개의 지침을 적어라. 10 | * 전체 조직에 의미가 있는 서술적인 고유한 이름을 만든다. 11 | * 머리글자와 약어를 사용하지 않는다. 12 | * 이름에 복수형을 사용한다. 13 | 6. 테이블 설명을 작성하기 위한 두 개의 지침을 적어라. 14 | * 정확하게 테이블을 정의하는 문장을 포함한다. 15 | * 명확하고 간결하게 작성한다. 16 | 7. 최종 테이블 목록상의 테이블에 어떻게 필드들을 할당하는가? 17 | * 각 테이블에 필요한 예비 필드를 나열한다. 18 | 8. 필드 이름을 만들기 위한 세 개의 지침을 적어라. 19 | * 전체 조직에 의미가 있는 서술적인 고유한 이름을 만든다. 20 | * 최소 개수의 단어를 사용한다. 21 | * 단수형 이름을 사용한다. 22 | 9. 잘못 설계된 필드들은 어떤 두 가지 문제를 야기하는가? 23 | * 이중 데이터와 중복 데이터 24 | 10. 필드 비정상을 해소하기 위해 무엇을 사용할 수 있는가? 25 | * 이상적인 필드의 요소를 따르는지 여부 파악 26 | 11. 이상적인 필드의 요소들 중 세 개를 적어라. 27 | * 테이블 주제의 고유한 특성을 나타낸다. 28 | * 단지 하나의 값만 포함한다. 29 | * 더 작은 구성요소로 해체될 수 없다. 30 | 12. 어떤 조건하에서 이중 필드를 허용할 수 있는가? 31 | * 이중 필드가 테이블 집합을 서로 연관시키는 데 사용된다. 32 | 13. 개괄적으로 다중값 필드를 해소하기 위해 어떤 세 가지 절차를 따르는가? 33 | * 필드를 테이블로부터 제거하고 새 테이블을 위한 기초로 사용한다. 34 | * 원래 테이블을 새 테이블과 관계를 맺기 위하여 원래 테이블의 주제를 나타내는 필드를 사용한다. 35 | * 새 테이블에 적절한 이름, 종류, 명세를 할당하고 최종 테이블 목록에 추가한다. 36 | 14. 테이블 내에서 언제 이중 필드를 사용할 필요가 있는가? 37 | * 이중 필드가 테이블 집합을 서로 연관시키는 데 사용된다. 38 | 15. 어떻게 테이블 구조를 정제할 수 있는가? 39 | * 테이블이 이상적인 테이블 요소를 따르는지 여부 파악 40 | 16. 이상적인 테이블의 요소들 중 세 개를 적어라. 41 | * 개체 또는 사건일 수 있는 단일 주제를 나타낸다. 42 | * 기본 키를 가진다. 43 | * 계산된 필드들을 포함하지 않는다. 44 | 17. 부분 집합 테이블은 무엇인가? 45 | * 다른 테이블에 종속되는 테이블이다. 46 | -------------------------------------------------------------------------------- /chapter3/exercise_hosung.md: -------------------------------------------------------------------------------- 1 | 1. 전문 용어가 중요한 이유는 무엇인가? 2 | 3 | - 용어는 관계형 데이터베이스 모델에 대한 개념과 의견들을 정의하고 표현할 떄 사용된다. 4 | - 용어는 데이터베이스 설계 프로세스 자체를 정으하고 표현할 때 사용된다. 5 | - 용어는 관계형 데이터베이스나 RDBMS에 대하여 이야기할 때면 언제나 사용된다. 6 | 7 | 2. 용어의 네 가지 범주의 이름은 무엇인가? 8 | 9 | - 값 관련 용어 10 | - 구조 관련 용어 11 | - 관계 관련 용어 12 | - 무결성 관련 용어 13 | 14 | 3. 데이터와 정보의 차이는 무엇인가? 15 | 16 | 짧게 말하면 데이터는 저장하는 것이고, 정보는 찾는 것이다. 데이터는 데이터베이스에 저장된 값이다. 그에 반해 정보는 데이터에 적절한 의미가 부여된 형태이다. 17 | 18 | 4. 널은 무엇을 표시하는가? 19 | 누락값이나 알려지지 않은 값을 표시한다. 0 혹은 빈 문자열과 다름에 주의해야 한다. 20 | 21 | 5. 널의 가장 큰 단점은 무엇인가? 22 | 23 | 널을 포함한 연산은 그 결과가 널로 나오기 때문에 의도하지 않은 결과를 얻을 수 있다. 24 | 25 | 6. 데이터베이스에 있는 주요 구조는 무엇인가? 26 | 27 | 테이블. 테이블은 튜플(레코드), 속성(필드)로 구성된다. 28 | 29 | 7. 테이블의 세 가지 종류는 무엇인가? 30 | 31 | 데이터 테이블, 룩업 테이블, 검증 테이블 (룩업 테이블과 검증 테이블은 동일한 것으로 설명되고 있다.) 32 | 33 | 룩업 테이블 형식을 갖추게 되면 값에 대한 제한이 생김으로 검증할 수 있기 때문일까. 34 | 35 | 8. 뷰는 무엇인가? 36 | 데이터베이스의 하나 이상의 테이블에서 여러 필드들을 혼합하여 만든 "가상"테이블 이다. 37 | 38 | 9. 키와 인덱스의 차이점은 무엇인지 서술하라. 39 | 40 | 테이블의 레코드를 식별할 때 사용하는 논리적인 구조가 키라면, 인덱스는 데이터 처리 속도를 최적화 할때 사용하는 물리적 구조이다. 대체로 키로 설정된 필드에 대해서는 인덱스가 함께 설정되기 때문에 헷갈리는 경우가 많다. 41 | 42 | 10. 두 개의 테이블 사이에 존재할 수 있는 관계의 세 가지 종류는 무엇인가? 43 | 44 | - 1:1 45 | - 1:다 46 | - 다:다 47 | 48 | 11. 관계를 특정 지을 수 있는 세 가지 방법은 무엇인가? 49 | 50 | - 테이블들 사이에 존재하는 관계의 종류 51 | - 각 테이블에 참여하는 방법 52 | - 각 테이블에 참여하는 정도 53 | 54 | 12. 필드 명세는 무엇인가? 55 | 56 | 도메일이라 알려진 필드 명세는 필드의 모든 요소를 나타낸다. 57 | 58 | 13. 필드 명세를 구성하는 세 가지 요소는 무엇인가? 59 | 60 | 일반적인, 물리적은, 논리적인 유형의 요소 61 | 62 | 14. 데이터 무결성은 무엇인가? 63 | 64 | 무결성. 결험이 없는 것. 데이터베이스에 있는 데이터의 유효성, 일관성, 정확성과 관련이 있다. 65 | 66 | 15. 데이터 무결성의 네 가지 종류는 무엇인가? 67 | 68 | - 테이블 수준 무결성(엔티티 무결성) 69 | - 필드 수준 무결성(도메인 무결성) 70 | - 관계 수준 무결성(참조 무결성) 71 | - 업무 규칙 -------------------------------------------------------------------------------- /chapter7/exercise_taekcheon.md: -------------------------------------------------------------------------------- 1 | 1. 새 데이터베이스를 위한 테이블들을 어떻게 식별하고 설정하는가? 2 | - 예비 필드 목록에서 암시적인 주제를 파악하여 예비 테이블 목록을 작성한다. 3 | 4 | 2. 데이터베이스를 위한 테이블들을 정의하는 데 도움을 받기 위해 왜 예비 필드 목록을 사용하는가? 5 | - 객관적인 관점에서 판단해야 암시적인 주제를 파악하는데 도움이 되기 때문이다. 6 | 7 | 3. 주제 목록의 한 항목과 예비 테이블 목록에 다르게 이름이 부여된 항목이 둘 다 같은 주제를 나타낼 때 어떤 조치를 취하겠는가? 8 | - 둘 중 더 주제에 걸맞는 이름을 사용한다. 9 | 10 | 4. 최종 테이블 목록은 어떤 정보를 제공하는가? 11 | - 테이블의 유형과 각 테이블별 명세서를 제공한다. 12 | 13 | 5. 테이블 이름을 만들기 위한 세 개의 지침을 적어라. 14 | - 각 테이블의 이름은 의미가 있고 서술적이며 고유해야한다. 15 | - 최소 개수의 단어를 사용하여야 한다. 16 | - 머리글자 및 약어를 사용하면 안된다. 17 | 18 | 6. 테이블 설명을 작성하기 위한 두 개의 지침을 적어라. 19 | - 명확하고 간결한 설명을 작성한다. 20 | - 구현에 관련된 내용은 없어야 한다. 21 | 22 | 7. 최종 테이블 목록상의 테이블에 어떻게 필드들을 할당하는가? 23 | - 예비 필드 목록에서 꺼내온다. 24 | 25 | 8. 필드 이름을 만들기 위한 세 개의 지침을 적어라. 26 | - 각 필드 이름은 의미가 있고 서술적이며 고유해야한다. 27 | - 최소 개수의 단어를 사용하여야 한다. 28 | - 단수형의 이름을 사용한다. 29 | 30 | 9. 잘못 설계된 필드들은 어떤 두 가지 문제를 야기하는가? 31 | - 이중 데이터와 중복 데이터를 생성한다. 32 | 33 | 10. 필드 비정상을 해소하기 위해 무엇을 사용할 수 있는가? 34 | - 이상적 필드 요소에 적합한지 검사한다. 35 | 36 | 11. 이상적인 필드의 요소들 중 세 개를 적어라. 37 | - 계산되거나 연결된 값을 포함하지 않는다. 38 | - 데이터베이스 구조 안에서 유일하다. 39 | - 더 작은 값들로 분해될 수 없다. 40 | 41 | 12. 어떤 조건하에서 이중 필드를 허용할 수 있는가? 42 | - 테이블 간 관계를 형성할 때 생기는 값만 허용한다. 43 | 44 | 13. 개괄적으로 다중값 필드를 해소하기 위해 어떤 세 가지 절차를 따르는가? 45 | - 1. 필드를 테이블로부터 제거한 후 새 테이블의 기초로 사용한다. 46 | - 2. 원본 테이블과 새 테이블을 이어주기 위해 원본 테이블의 주제를 잘 나타내는 필드를 고르고 새 테이블에 추가하여 두 테이블을 연결시킨다. 47 | - 3. 새 테이블에 적절한 이름, 종류, 명세서를 할당하고 최종 테이블 목록에 추가한다. 48 | 49 | 14. 테이블 내에서 언제 이중 필드를 사용할 필요가 있는가? 50 | - 테이블 간 관계를 형성할 때만 사용한다. 51 | 52 | 15. 어떻게 테이블 구조를 정제할 수 있는가? 53 | - 이상적 테이블 요소에 부합하는지 확인한다. 54 | 55 | 16. 이상적인 테이블의 요소들 중 세 개를 적어라. 56 | - 각 레코드를 유일하게 식별하고 관계를 설정하는데 핵심인 기본 키를 가진다. 57 | - 다중값 필드, 이중 필드를 포함하지 않는다. 58 | - 계산된 필드들을 포함하지 않는다. 59 | 60 | 17. 부분 집합 테이블은 무엇인가? 61 | - 종속 주제와 연관되어 있으나 다른 테이블과 연관이 없는 필드를 가진다. 62 | -------------------------------------------------------------------------------- /chapter12/exercise_minki.md: -------------------------------------------------------------------------------- 1 | - 왜 뷰를 가상 테이블이라고 부를 수 있는가? 2 | 3 | 기반테이블에서 데이터를 추출한다. (자체적 데이터 저장 X) 4 | 5 | - 왜 뷰가 가치 있는지 두 가지 이유를 적어라. 6 | - 여러 테이블에 있는 데이터를 동시에 작업하는데 사용할 수 있다. 7 | - 가장 최근의 정보를 반영한다. 8 | - 개인 또는 그룹의 특별한 요구에 개인화시킬 수 있다. 9 | - 데이터 무결성을 강화하는 데 사용할 수 있다. 10 | - 보안이나 기밀성의 목적으로 사용할 수 있다. 11 | - 데이터베이스의 논리적 구조를 설계하면서 정의할 수 있는 뷰 종류의 이름을 적어라. 12 | 13 | 데이터뷰, 집계뷰, 검증뷰 14 | 15 | - 데이터 뷰(또는 이 문제에 관해서는 임의 종류의 뷰)를 액세스 할 때마다 RDBMS는 무엇을 하는가? 16 | 17 | 기반테이블의 최신 데이터를 사용하여 뷰를 재구축하고 재이식한다. 18 | 19 | - 뷰의 데이터에 적용할 수 있는 수정의 종류를 무엇이 결정하는가? 20 | 21 | 필드 명세, 업무 규칙 22 | 23 | - 다중 테이블 데이터 뷰를 정의하기 위해 충족시켜야 하는 유일한 요구사항은 무엇인가? 24 | 25 | 뷰를 만들기 위해 사용하는 테이블들이 서로 관계가 있어야 한다. 26 | 27 | - 왜 데이터 뷰는 자신의 주 키를 포함하지 않는가? 28 | 29 | 테이블이 아니다. 그러나 기반테이블로부터 주키를 포함시킬 수 있다. 30 | 31 | - 집계 뷰의 목적은 무엇인가? 32 | 33 | 특정 데이터의 집합을 집계하여 생성되는 정보를 출력하기 위함 34 | 35 | - 데이터 집합에 적용할 수 있는 가장 일반적인 집계 함수들은 무엇인가? 36 | 37 | 합계, 평균, 최소값, 최대값, 개수 38 | 39 | - 그룹화 필드란 무엇인가? 40 | 41 | 집계 뷰 내의 모든 데이터 필드 42 | 43 | - 참/거짓 문제: 집계 뷰 내의 데이터를 수정할 수 있다. 44 | 45 | 거짓 46 | 47 | - 검증 테이블과 검증 뷰의 차이점은 무엇인가? 48 | 49 | 검증 테이블은 그 자체에 데이터를 저장하는 반면 검증뷰는 기반테이블에서 데이터를 추출한다. 50 | 51 | - 뷰 요구사항을 식별할 때 고려해야 하는 두 가지 요점의 이름을 적어라. 52 | - 그룹과 함께 작성한 내용을 검토한다. 53 | - 설계 프로세스의 앞 단계에서 데이터 항목, 보고서, 프레젠테이션 견본을 검토한다. 54 | - 테이블들과 그것들이 나타내는 대상을 검사한다. 55 | - 테이블 관계를 분석한다. 56 | - 업무 규칙을 연구한다. 57 | - 언제 계산된 필드를 사용해야만 하는가? 58 | 59 | 계산된 필드가 적절하고 의미 있는 정보를 제공하거나 뷰가 데이터를 사용하는 방법을 개선하면 계산된 필드를 사용해야 한다. 60 | 61 | - 공상 과학 서적만 표시하는 뷰를 어떻게 정의하는가? 62 | 63 | 뷰 내 적절한 필드에 필터를 적용하여 공상 과학 서적만을 출력하는 뷰를 정의한다. 64 | 65 | - 왜 데이터베이스 내의 모든 뷰를 위해 뷰 명세서를 완성해야만 하는가? 66 | 67 | 문서화 및 특성을 파악을 위해 68 | -------------------------------------------------------------------------------- /chapter3/exercise_minki.md: -------------------------------------------------------------------------------- 1 | 1. 전문 용어가 중요한 이유는 무엇인가? 2 | - 용어를 이해할 때 설계 프로세스가 쉽고 명확하다. 3 | - RDBMS관련 문서에서 사용돼서 필요하다 4 | 2. 용어의 네 가지 범주의 이름은 무엇인가? 5 | 6 | 값, 구조, 관계, 무결성 7 | 8 | 3. 데이터와 정보의 차이는 무엇인가? 9 | 10 | 데이터: 데이터베이스에 저장된 값 11 | 12 | 정보: 의미있는 결과로 가공된 데이터 13 | 14 | 4. 널은 무엇을 표시하는가? 15 | 16 | 없거나 알려지지 않은 값 17 | 18 | 0, '', ' '과 구별 19 | 20 | 5. 데이터베이스에 있는 주요 구조는 무엇인가? 21 | 22 | 테이블, 필드, 레코드, 뷰, 키, 인덱스 23 | 24 | 6. 테이블의 세 가지 종류는 무엇인가? 25 | 데이터 테이블: 정보를 만들 때 사용, 가장 일반적, 가공(수정, 삭제)가능하여 동적임. 26 | 27 | 룩업데이블(검증테이블): 데이터 무결성을 보장할 때 사용하는 데이터 저장. 28 | 29 | 연결 테이블: 관계 테이블 30 | 31 | 7. 뷰는 무엇인가? 32 | 33 | 하나 이상의 테이블에서 여러 필드들을 혼합하여 만든 가상 테이블 34 | 35 | - 여러 테이블에 있는 데이터에 대한 작업 수행 가능 36 | - 사용자가 하나 이상의 테이블에 있는 필드 조작 방지 가능 37 | - 데이터 무결성 구현에 도움(데이터 무결성을 위해 사용하는 뷰를 검증 뷰라고한다.) 38 | 8. 키와 인덱스의 차이점은 무엇인가? 39 | 40 | 키: 테이블 레코드를 식별자(논리적 구조) 41 | 42 | 인덱스: 데이터 처리 속도를 최적화 하기 위한 구조(물리적 구조) 43 | 44 | 9. 두 개의 테이블 사이에 존재할 수 있는 관계의 세 가지 종류는? 45 | 46 | 카디널리티 47 | 48 | 일대일: 연결테이블에 두 테이블의 기본키를 넣음 49 | 50 | 일대다: 부모테이블의 기본키를(일) 자식테이블들(다)에 외래키로 넣음 51 | 52 | 다대다: 연결테이블 53 | 54 | 10. 필드 명세란? 55 | 56 | 필드의 일반적, 물리적, 논리적 모든 요소 (=도메인) 57 | 58 | 11. 필드 명세를 구성하는 세 가지 요소 59 | 60 | 일반적 요소: 필드와 관련된 가장 기본적인 정보들(필드 이름, 상세 설명, 부모 테이블) 61 | 62 | 물리적 요소: 필드를 구성하는 방법과 이 필드를 사용하는 사람들에게 표시하는 방법 결정. (데이터 길이, 유형, 출력 양식) 63 | 64 | 논리적 요소: 필드에 저장되는 값 (요청값, 값의 범위, 기본값) 65 | 66 | unique? 67 | 68 | 12. 데이터 무결성의 네 가지 종류 69 | 70 | 무결성: 유효성, 일관성, 정확성 71 | 72 | 테이블 수준 무결성(엔티티 무결성): 테이블 내 중복된 레코드 없음, 식별자가 유일한 값을 갖고 널이 아니다. 73 | 74 | 필드 수준 무결성(도메인 무결성): 모든 필드 구조가 적절하다. 값의 유효성, 일관성, 정확성 확보 여부 75 | 76 | 관계 수준 무결성(참조 무결성): 테이블 사이 관계의 적절성과 변경시 동기화 여부 보장 77 | 78 | 업무 규칙: ? 79 | -------------------------------------------------------------------------------- /chapter1/exercise_kyungjun.md: -------------------------------------------------------------------------------- 1 | 2 | 1. 오늘날 사용되고 있는 두 개의 주요 데이터베이스의 이름은? 3 | > 운영 데이터베이스 - OLTP(Online Transaction Processing)에서 주로 사용. 책에서 초점을 맞춤 4 | > 분석 데이터베이스 - OLAP(Online Analytical Processing)에서 주로 사용. 5 | 6 | 2. 분석 데이터베이스는 어떤 유형의 데이터를 저장하는가? 7 | > 거의 변화가 없는 정적인 데이터 8 | 9 | 3. 참/거짓 문제: 운영 데이터베이스는 주로 OLTP(Online Transaction Processing) 업무에 사용된다. 10 | > 참 11 | 12 | 4. 관계형 데이터베이스 모델 이전에 일반적으로 사용되었던 두 개의 데이터 모델은 무엇인가? 13 | > 계층형 데이터베이스 모델, 네트워크 데이터베이스 모델 14 | 15 | 5. 부모/자식 관계에 대하여 설명하라. 16 | > 계층형 데이터베이스에서 나타나는 관계를 가리킴. 계층형 데이터베이스에서는 자식테이블에 있는 레코드가 반드시 부모 테이블의 레코드와 연계되어야 함. 17 | 18 | 6. 집합 구조란 무엇인가? 19 | > 네트워크 데이터베이스 모델에서 노드와 함께 초점을 맞추어 구현하고 있는 개념. 20 | > 노드는 레코드의 모음을 표현하며, 집합 구조는 네트워크 데이터베이스 간 관계를 표현하고 설정한다. 21 | 22 | 7. 관계형 데이터베이스 모델은 수학 이론에 기초를 두고 있는데, 이 중 하나의 이름을 적으시오. 23 | > 집합론과 1차 술어 논리 24 | 25 | 8. 관계형 데이터베이스 모델은 데이터를 어떻게 저장하는가? 26 | > 테이블로 구현된 관계에 데이터를 저장한다. 27 | 28 | 9. 관계형 데이터베이스에 존재하는 관계의 세 가지 유형을 나열하시오. 29 | > 1대1, 1대다, 다대다 30 | 31 | 10. 관계형 데이터베이스에서 데이터를 추출하는 방법을 설명하라. 32 | > SQL을 사용해서 추출한다. 33 | 34 | 11. 관계형 데이터베이스의 두 가지 장점에 대하여 서술하라. 35 | > 1) 내장된 다중 무결성 36 | > 2) 데이터베이스 응용프로그램으로 부터 논리적, 물리적 데이터 독립성 37 | > 3) 데이터의 일관성과 정확성을 보장 38 | > 4) 쉬운 데이터 검색 39 | 40 | 12. 관계형 데이터베이스 관리 시스템은 무엇인가? 41 | > 관계형 데이터베이스를 생성하고, 유지보수하고, 수정하고, 조작할 때 사용하는 소프트웨어 응용프로그램 42 | 43 | 13. 객체-관계형 모델이 성립하기 위해서 어떤 전제조건이 필요한가? 44 | > 클래스, 캡술화, 상속 등과 같은 다양한 객체 지향 요소와 특징들을 포함해야 한다. 45 | 46 | 14. 데이터 웨어하우스의 목적은 무엇인가? 47 | > 비관계형 데이터베이스들에 저장된 데이터를 조직이 접근하여 기업의 의사결정을 돕도록 한다. 48 | 49 | cf) 데이터 레이크: 빅데이터 시대에는 목적이 없는 데이터까지 무자비하게 넘쳐나고 있다 이것을 가리키는 용어 50 | - 데이터 레이크의 데이터는 '자료 처리 과정(분류, 저장, 처리)'이 매우 중요함 51 | - 처리방법#1) 호수에 있는 자료들을 정리해서 창고에 넣는 방법 52 | - 단점: 너무 많은 저장 공간 필요 53 | - 처리방법#2) 필요할 때 마다 호수에서 데이터를 찾는 방법 54 | - 단점: 매번 시간 소요 55 | - 호수 내에서 정리를 해두고 곧바로 분석할 수 있게(데이터 브릭스-레이크 하우스:다양하고 많은 데이터들을 정리해서 곧바로 분석할수 있게 준비해둠. 정형데이터, 반정형데이터, 비정형데이터 보관) 56 | - 데이터 브릭스는 데이터 저장과 처리가 주요 영역 57 | - 스노우플레이크는 어느정도 정제된 데이터를 분석하는 것이 주요 영역 58 | ![비교](./비교.png) 59 | -------------------------------------------------------------------------------- /chapter3/exercise_yun.md: -------------------------------------------------------------------------------- 1 | 1. 전문 용어가 중요한 이유는 무엇인가? 2 | 3 | 데이터베이스 설계란 여러 사람들과 함께 논의하면서 결정되는 것이므로 원활한 커뮤니케이션을 위해 용어를 정의하는 것은 중요하다. 데이터베이스 전문용어는 데이터베이스 모델을 정의할 때, 데이터베이스를 설계할 때, 특정 RDBMS를 사용할 때 공통적으로 사용된다. 4 | 5 | 2. 용어의 네 가지 범주의 이름은 무엇인가? 6 | 7 | 값 관련 용어, 구조 관련 용어, 관계 관련 용어, 무결성 관련 용어 8 | 9 | 3. 데이터와 정보의 차이는 무엇인가? 10 | 11 | 데이터는 데이터베이스에 단순히 저장된 값들을 의미하고 이를 몇가지 방법들을 통해 의미있는 결과를 만들면 이를 정보라고 부른다. 12 | 13 | 4. 널은 무엇을 표시하는가? 14 | 15 | 널은 실수로 누락된 값이거나 알려지지 않은 값을 표시한다. 16 | 알려지지 않은 값 예시들 17 | - 필드에 필요한 특정 값이 정의되지 않을 경우 18 | - 모르는 값이 들어가는 경우(ex. 내 정보를 기입하는데 내가 살고 있는 주소를 모를 경우) 19 | - 두개의 필드중 하나만 입력해야하는 필드인 경우(ex. Salary(고정 급여), Hourly Rate(시간당 급여) 중 선택) 20 | 21 | 5. 널의 가장 큰 단점은 무엇인가? 22 | 23 | 수학적 연산에 부정적인 영향을 미친다. 널을 포함한 연산은 그 결과가 널로 나온다. 24 | 25 | 6. 데이터베이스에 있는 주요 구조는 무엇인가? 26 | 27 | 크게 필드, 레코드, 테이블로 구성됨 28 | 29 | 7. 테이블의 세 가지 종류는 무엇인가? 30 | 데이터 테이블 31 | 룩업 테이블 (검증 테이블) 32 | 뷰 33 | - 참고) 기반 테이블: 뷰를 구성하는 테이블 34 | 35 | 8. 뷰는 무엇인가? 36 | 37 | 하나 이상의 테이블의 필드들을 조합해 만든 테이블로 뷰에 데이터를 저장하는게 아니라 기반 테이블로부터 데이터를 추출해서 사용한다. 38 | 39 | 9. 키와 인덱스의 차이점은 무엇인지 서술하라. 40 | 41 | 키는 테이블 레코드를 식별할 때 사용하는 논리적은 구조이며 인덱스는 데이터 처리 속도를 향상 시키기 위한 물리적인 구조이다. 42 | 43 | 10. 두 개의 테이블 사이에 존재할 수 있는 관계의 세 가지 종류는 무엇인가? 44 | 45 | 1대 1 관계 46 | 1대다 관계 47 | 다대다 관계 48 | 49 | 11. 관계를 특정 지을 수 있는 세 가지 방법은 무엇인가 50 | 51 | 관계의 종류(1대1, 1대다, 다대다)에 의해 52 | 참여의 유형에 의해 (예를 들어 A, B 테이블이 있다고 했을 때 B에 레코드를 넣기 위해서 A에 적어도 하나의 레코드를 넣어야하는 경우와 넣을 필요가 없는 경우가 있다) 53 | 참여의 정도에 의해 (특정 테이블이 다른 관련 테이블과 연결되어야하는 최소 레코드 개수와 최대 레코드 개수를 지정할 수 있다) 54 | 55 | 12. 필드 명세는 무엇인가? 56 | 57 | 도메인이라 알려진 필드 명세는 필드의 모든 요소를 표시한다. 58 | 59 | 13. 필드 명세를 구성하는 세 가지 요소는 무엇인가? 60 | 61 | 일반적인, 물리적인, 논리적인 요소 62 | 63 | 14. 데이터 무결성은 무엇인가? 64 | 65 | 무결성은 데이터 값이 정확한 상태를 의미한다. 데이터의 유효성, 일관성, 정확성과 관련이 있다. 66 | 67 | 15. 데이터 무결성의 네 가지 종류는 무엇인가? 68 | 테이블 수준 무결성(엔티티 무결성) 69 | 필드 수준 무결성(도메인 무결성) 70 | 관계 수준 무결성(참조 무결성) 71 | 업무 규칙 -------------------------------------------------------------------------------- /chapter7/exercise_jinyoung.md: -------------------------------------------------------------------------------- 1 | 1. 새 데이터베이스를 위한 테이블들을 어떻게 식별하고 설정하는가? 2 | 3 | 예비 필드 목록을 활용하여. 4 | 5 | 6 | 7 | 1. 데이터베이스를 위한 테이블들을 정의하는 데 도움을 받기 위해 왜 예비 필드 목록을 사용하는가? 8 | 9 | 미리 테이블을 모두 정해 놓는 것이 아니라 예비 필드 목록을 보며 설계를 해야 모든 대상을 내포한 설계를 할 수 있음으로. 10 | 11 | 12 | 13 | 1. 주제 목록의 한 항목과 예비 테이블 목록에 다르게 이름이 부여된 항목이 둘 다 같은 주제를 나타낼 때 어떤 조치를 취하겠는가? 14 | 15 | 둘 중 하나를 선택하여 필요에 따라 다른 곳에 참조하여 활용 16 | 17 | 18 | 19 | 1. 최종 테이블 목록은 어떤 정보를 제공하는가? 20 | 21 | 디비에 테이블의 이름, 설명 등을 제공함 22 | 23 | 24 | 25 | 1. 테이블 이름을 만들기 위한 세 개의 지침을 적어라. 26 | 1. 두문자나 약어 사용하지 않는다. 27 | 2. 전체에 대하여 유일하고 의미있는 이름을 생성한다. 28 | 3. 대상을 정확하고 간결하게 식별하는 이름을 생성한다. 29 | 30 | 31 | 32 | 1. 테이블 설명을 작성하기 위한 두 개의 지침을 적어라. 33 | 1. 명확하고 간결하게 구성 34 | 1. 왜 중요한지를 설명하는 문장 포함 35 | 36 | 37 | 38 | 1. 최종 테이블 목록상의 테이블에 어떻게 필드들을 할당하는가? 39 | - 대상의 특징을 가장 잘 표현하는 필드를 결정하여 할당한다. 40 | 41 | 42 | 43 | 44 | 45 | 1. 필드 이름을 만들기 위한 세 개의 지침을 적어라. 46 | - 유일하고 의미있는 이름. 47 | - 두문자 사용하지 말고, 약어는 자제한다. 48 | - 이름은 단수형을 사용. 49 | 50 | 51 | 52 | 1. 잘못 설계된 필드들은 어떤 두 가지 문제를 야기하는가? 53 | 54 | 중복, 다의 문제 55 | 56 | 57 | 58 | 1. 필드 비정상을 해소하기 위해 무엇을 사용할 수 있는가? 59 | 60 | 필드가 상기의 이상적인 필드를 지닌다는 것을 검증 61 | 62 | 63 | 64 | 1. 이상적인 필드의 요소들 중 세 개를 적어라. 65 | - 대상에 대한 뚜럿한 특징을 표현 66 | - 더 이상 작게 분해 불가 67 | - 전체 디비에서 유일 68 | 69 | 70 | 71 | 1. 어떤 조건하에서 이중 필드를 허용할 수 있는가? 72 | 73 | - 중복 값의 해결책 일 때만 허용. 74 | 75 | 76 | 77 | 1. 개괄적으로 다중값 필드를 해소하기 위해 어떤 세 가지 절차를 따르는가? 78 | 79 | - 필드 제거후, 새로운 테이블 생성에 참고 80 | - 새로운 테이블과 원본 테이블의 참조 값으로 활용 81 | - 새로운 테이블을 구성 후 최종 구성 완료. 82 | 83 | 84 | 85 | 1. 테이블 내에서 언제 이중 필드를 사용할 필요가 있는가? 86 | - 외래키로 사용될 때 87 | 88 | 89 | 90 | 1. 어떻게 테이블 구조를 정제할 수 있는가? 91 | - 이상적인 테이블 구조를 따르는지 여부를 검증 92 | 93 | 94 | 95 | 1. 이상적인 테이블의 요소들 중 세 개를 적어라. 96 | - pk를 가짐 97 | - 이중 필드 포함하지 않음 98 | - 계산된 필드를 포함하지 않는다 99 | 100 | 101 | 102 | 1. 부분 집합 테이블은 무엇인가? 103 | - 특정 테이블에 종속되는 테이블 104 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # rdb-study 2 | 3 | 8퍼센트에 진행하는 [파워 오브 데이터베이스](http://www.yes24.com/Product/Goods/69775589) 스터디 입니다. 4 | 5 | 6 | 7 | # 멤버 8 | 9 | 10 | 11 | 16 | 19 | 22 | 25 | 28 | 29 | 30 | 33 | 36 | 39 | 42 | 43 | 44 |
12 | 13 |
이호성 14 |
15 |
17 |
김동현 18 |
20 |
김민기 21 |
23 |
천명욱 24 |
26 |
제갈윤 27 |
31 |
김진영 32 |
34 |
김택천 35 |
37 |
이경준 38 |
40 |
이우주 41 |
45 | 46 | # 스터디 진행 관련 47 | 48 | [Wiki](../../wiki)를 참고해 주세요. 49 | -------------------------------------------------------------------------------- /chapter5/exercise.md: -------------------------------------------------------------------------------- 1 | 1. 인터뷰가 중요한 이유는? 2 | 3 | 인터뷰는 설계한 디비를 사용할 사람 사이에 중요한 대화 창구가 되고, 그것을 설계 하기 위해 노력한 결과의 성공을 보장하는 데 도움을 주며, 데이터베이스 구조의 설계에 영향을 줄 수 있는 중요한 정보를 얻을 수 있기 때문에 매우 중요함. 4 | 5 | 6 | 7 | 2. 여러분이 다수의 사람들과 인터뷰를 진행할 때에는 어떤 문제들이 발생할 수 있는가? 8 | 9 | 몇몇 참가자의 위험 수준이 인터뷰에 참여하는 전체 숫자와 정비례 할 수 있음. 10 | 11 | 12 | 13 | 3. 사용자들과 관리자의 인터뷰를 분리해서 진행하는 주된 이유는 무엇인가? 14 | 15 | 각 그룹은 조직에 대한 서로의 다른 관점을 가지고 있으며, 일상적으로 데이터를 사용하는 방법이 서로 다르기 때문임. 16 | 17 | 18 | 19 | 4. 참/거짓 문제: 여러분은 일반적으로 인터뷰를 진행할 때 폐쇄형 질문을 사용할 것이다. 20 | 21 | 참 22 | 23 | 24 | 25 | 5. 여러분이 참여자와의 인터뷰를 통해 어떤 종류의 대답을 유도하려 해야 하는가? 26 | 27 | 답변자가 객관적인 의견, 자세한 답변 등 다양한 방식으로 질문에 대한 답을 할 수 있는 대답. 28 | 29 | 30 | 31 | 32 | 33 | 6. 여러분이 진행하는 모든 인터뷰에 대한 가장 중요한 지침은 무엇인가? 34 | 35 | 인터뷰의 주도권을 가져야 한다. 36 | 37 | 38 | 39 | 7. 임무 명세는 무엇인가? 40 | 41 | 디비의 특정한 목적을 정의 하는 것. 42 | 43 | 44 | 45 | 8. 잘 작성된 임무 명세의 두 가지 특징에 대하여 서술하라. 46 | 47 | - 간결하며 요점만 표현 48 | - 특정 업무를 명확하게 묘사하는 문장이나 절이 없음. 49 | 50 | 51 | 52 | 9. 참/거짓 문제: 여러분은 임무 명세를 작성하기 위해 조직에 대하여 학습할 필요가 없다. 53 | 54 | 거짓 55 | 56 | 57 | 58 | 10. 임무 명세는 언제 완료되는가? 59 | 60 | ? 이해관계자들과의 인터뷰, 조직에 대한 분석을 통해, 새로운 디비의 목적을 결정함으로서 이해관계자들과 설계자 모두 만족스러울때. 61 | 62 | 63 | 64 | 11. 임무 목표란 무엇인가? 65 | 66 | 디비에서 관리되는 데이터가 지원하는 일반적인 작업들을 표현하는 문장. 67 | 68 | 69 | 70 | 12. 잘 작성된 임무 목표의 두 가지 특징을 서술하라. 71 | 72 | - 각 임무 목표는 하나의 일반적인 작업을 나타냄. 73 | - 불필요한 설명이 없이 명확하게 작업을 정의. 74 | 75 | => 이해하기 쉽게 잘 정의되어야 함 76 | 77 | 78 | 79 | 13. 참/거짓 문제: 여러분은 임무 목표들을 정의하기 위해 사용자들과 관리자와의 인터뷰를 수행해야만 한다. 80 | 81 | 참 82 | 83 | 84 | 85 | 14. 임무 목표와 직원들의 일일 작업은 어떻게 관련이 있는가? 86 | 87 | 참여자들에게 괜찮고 긴 답변을 유도하기 쉬워서, 연관 질문들을 계속 할 수 있는 기회를 제공함. 88 | 89 | 90 | 91 | 15. 참/거짓 문제: 임무 목표는 하나 이상의 작업을 설명할 수 있다. 92 | 93 | 참 94 | 95 | 96 | 97 | 16. 임무 목표가 인터뷰의 답변에서 도출될 수 있는 방법 두 가지를 서술하라. 98 | 99 | ?특정 정보가 응답에서 암시적으로 혹은 명시적으로 전달 100 | 101 | 102 | 103 | 17. 임무 목표의 작성은 언제 완료되는가? 104 | 105 | 사용자, 관리자와의 인터뷰를 바탕으로 수집된 정보들을 검토, 임무목표를 정의, 인터뷰이 들과 검토 후 문서화를 통해 마무리 된다. -------------------------------------------------------------------------------- /chapter10/exercise_wooju.md: -------------------------------------------------------------------------------- 1 | 1. 관계가 왜 중요한지, 대표적인 이유 두 개를 서술하라. 2 | 1. 관계는 논리적 연관이 있는 두 테이블을 연결을 설정한다. 3 | 2. 관계는 테이블 구조를 정제하고 중복데이터를 최소화하는 것을 돕는다. 4 | 3. 관계는 여러 테이블에서 동시에 데이터를 뽑을 수 있는 방법이 된다. 5 | 2. 관계의 세 유형을 적어라. 6 | 1. 1대1관계: 두 테이블에서 첫번째 테이블의 하나의 레코드가 두번째 테이블에 있는 하나의 레코드로 연결 7 | 2. 1대다 관계: 두 테이블에서 첫번째 테이블의 하나의 레코드가 두번째 테이블의 있는 여러개의 레코드로 연결 8 | 3. 다대다 관계: 두 테이블에서 첫번째 테이블에 있는 하나의 레코드가 두번째 레코드에 있는 여러개의 레코드로 연결되고 역의 관계도 성립 9 | 3. 어떤 관계가 가장 많은 문제를 일으키는가? 10 | 1. 다대다 관계 11 | 4. 다대다 관계에서 마주칠 수 있는 두 개의 문제를 서술하라. 12 | 1. 테이블 중 하나에서 정보를 추출하는 것이 어렵다. 13 | 2. 테이블 중 하나에는 대량의 중복데이터가 포함된다. 14 | 3. 중복 데이터가 양쪽 테이블에 모두 존재한다. 15 | 4. 데이터를 삽입, 갱신, 삭제하기가 어렵다 16 | 5. 자가 참조 관계는 무엇인가? 17 | 1. 한 테이블 내에 있는 레코들 사이에 존재하는 관계 18 | 6. 데이터베이스에 있는 테이블 사이에 관계를 식별하는 절차는 어떻게 시작하는가? 19 | 1. 데이터베이스에 있는 모든 테이블에 대한 행렬을 만드는 절차를 수행한다. 20 | 7. 이미 있는 관게를 식별하기 위해서 사용할 수 있는 두 종류의 질문은 무엇인가? 21 | 1. 연결측면: 단순하고 직설적으로 질문 22 | 2. 문맥측면: 소유권기반, 활동기반으로 질문 23 | 8. 테이블 행렬에 있는 1대다 관계를 지정할 때 사용하는 단축 기호는 무엇인가? 24 | 1. 1:N 25 | 9. 행렬에 있는 각 쌍의 테이블 사이에 어떤 종류의 관계가 공식적으로 존재하는지는 어떻게 결정하는가? 26 | 1. 1:1 + 1:1 = 1:1 27 | 2. 1:N + 1:1 = 1:N 28 | 3. 1:N + 1:N = M:N 29 | 10. 1대다 관계는 어떻게 설정하는가? 30 | 1. '1' 테이블에서 기본키의 복사본을 취하고, '다' 테이블 구조에 포함시킴 31 | 11. 참/거짓 문제: 자가 참조 관계를 가진 테이블에서 정보를 추출하는 것은 지루하고 다소 어려울 수 있다. 32 | 1. 참 33 | 12. 자가 참조 다대다 관계는 어떻게 설정하는가? 34 | 1. 연결테이블을 사용하여 자가 참조 다대다 관계를 설정한다. 35 | 13. 데이터베이스에 있는 외래 키는 어떻게 개선하는가? 36 | 1. 외래키의 요소를 따르는지 확인하여 데이터베이스에 있는 외래키를 개선한다. 37 | 14. 외래 키의 필드 명세 중에서 어떤 두 요소들을 반드시 수정해야 하는가? 38 | 1. 일반적인 요소 (명세종류, 부모테이블, 원본명세, 설명) 39 | 2. 논리적인 요소 (키종류, 유일성, 값 입력 주체, 값의 범위, 편집규칙) 40 | 15. 삭제 규칙의 기능은 무엇인가? 41 | 1. 부모테이블에서 특정테이블을 삭제하고자 할 때 RDBMS가 수행해야하는 역할을 결정 42 | 16. 테이블에 대하여 지정할 수 있는 두가지 참여 종류는 무엇인가? 43 | 1. 의무적: 관련 테이블에 레코드를 입력하기 전에 이 테이블은 적어도 하나의 레코드가 있어야 한다. 44 | 2. 선택적: 관련 테이블에 레코드를 입력하기 전에 이 테이블에 레코드가 있을 필요가 없다. 45 | 17. 참여의 정도는 무엇을 나타내는가? 46 | 1. 특정 테이블이 관련된 테이블에 있는 하나의 레코드와 연결되어야 하는 최소 숫자와 연결될 수 있는 최대숫자 47 | 18. 관계는 언제 관계 수준 무결성을 획득하는가? 48 | 1. 관계는 적절하게 설정되고 그 특성들이 적당하게 설정되었음이 검증된 이후에 관게수준의 무결성이 확보된다. 49 | -------------------------------------------------------------------------------- /chapter8/exercise_wooju.md: -------------------------------------------------------------------------------- 1 | 1. 왜 키들이 중요한지 세 가지 이유를 적어라. 2 | 1. 테이블 내 각 레코드를 정확하게 식별하도록 보장 3 | 2. 다양한 종류의 무결성을 설정하고 강화하는 데 도움 4 | 3. 테이블 관계를 설정 5 | 2. 네 개의 중요한 키들의 종류는 무엇인가? 6 | 1. 후보 키, 주 키, 왜래 키, 비 키 7 | 3. 후보 키의 목적은 무엇인가? 8 | 1. 테이블이 가리키는 대상의 단일 인스턴스를 유일하게 식별하기 위한 것 이다 9 | 4. 후보 키의 요소들 중 네 항목을 적어라. 10 | 1. 다중 부분 필드일 수 없다. 11 | 2. 유일한 값들을 포함해야 한다 12 | 3. 널값을 포함할 수 없다. 13 | 4. 값은 조직의 보안 또는 비밀 규칙을 깨뜨리도록 할 수 없다 14 | 5. 값은 전체 또는 부분적으로 선택적이지 않다 15 | 6. 유일성을 정의하기 위해 필요한 최소 개수의 필드들을 포함한다. 16 | 7. 값들은 테이블 내의 각 레코드들을 유일하게 그리고 배타적으로 식별해야만 한다. 17 | 8. 값이 주어진 레코드 내의 각 필드의 값을 구체적으로 식별해야만 한다. 18 | 9. 값은 아주 드물고 극단적인 경우에만 수정 할 수 있다. 19 | 5. 참/거진 문제: 후보 키는 하나 이상의 필드들로 구성될 수 있다. 20 | 1. 참 21 | 6. 테이블은 하나 이상의 후보 키를 가질 수 있는가? 22 | 1. 참 23 | 7. 인위적인 후보 키란 무엇인가? 24 | 1. 테이블이 후보키를 포함하지 않는다고 판단될 때 인위적으로 만들어지는 키 25 | 8. 테이블에 할당하는 가장 중요한 키는 무엇인가? 26 | 1. 주 키 27 | 9. 이 키는 왜 중요한가?(8번과 연계됨) 28 | 1. 주 키는 데이터베이스 구조 전체에 걸쳐서 테이블을 배타적으로 식별하는 다른 테이블과의 관계를 설정하도록 돕는다. 29 | 2. 주 키 값은 테이블 내에 있는 특정 레코드를 유일하게 식별하며 전체 데이터베이스에 걸쳐 이 레코드를 배타적으로 표현한다. 또한 이중 레코드가 발생하는 것을 막아준다. 30 | 10. 어떻게 주 키를 설정하는가? 31 | 1. 유용한 후보 키들의 테이블 풀을 점검하여 주 키를 설정한 후 주 키로 그중 하나를 선택한다. 32 | 11. 주 키의 요소들 중 네 항목을 적어라. 33 | 1. 다중 부분 필드일 수 없다. 34 | 2. 유일한 값들을 포함해야만 한다. 35 | 3. 널값을 포함할 수 없다. 36 | 4. 그 값이 전체 또는 부분적으로 선택적이지 않다. 37 | 5. 유일성을 정의하기 위해 필요한 최소 개수의 필드들을 포함한다. 38 | 6. 그 값들은 테이블 내의 각 레ㅗ드를 유일하고 배타적으로 식별해야만 한다. 39 | 7. 그 값은 주어진 레코드 내의 각 필드의 값을 배타적으로 식별해야만 한다. 40 | 8. 그 값은 극히 드물거나 극단적인 상황에서만 수정할 수 있다. 41 | 12. 주 키의 선택을 마무리하기 전에 반드시 무엇을 해야만 하는가? 42 | 1. 주어진 레코드에 있는 각 필드의 값을 배타적으로 식별하는지를 절대적으로 확인해야만 한다. 43 | 13. 대체 키란 무엇인가? 44 | 1. 주 키로 선택 받지 못한 후보 키다 45 | 14. 테이블 수준의 무결성을 설정함으로써 무엇을 보장하는가? 46 | 1. 테이블에 이중 레코드들이 없다. 47 | 2. 주 키는 테이블에 있는 각 레코드를 배타적으로 식별한다. 48 | 3. 모든 주 키 값은 유일하다. 49 | 4. 주 키 값들이 널이 아니다. 50 | 15. 왜 초기 테이블 구조를 검토해야만 하는가? 51 | 1. 적절한 대상들이 데이터베이스에 표현되는 것을 확인하기 위해 52 | 2. 테이블 이름들과 테이블 설명들이 모든 사람에게 적절하고 의미 있는지 확인하기 위해 53 | 3. 필드 이름들이 모든 사람에게 적절하고 의미 있는지 확인하기 위해 54 | 4. 적절한 필드들이 각 테이블에 모두 할당 되었는지 검증하기 위해 55 | -------------------------------------------------------------------------------- /chapter12/exercise_yun.md: -------------------------------------------------------------------------------- 1 | 1. 왜 뷰를 가상 테이블이라고 부를 수 있는가? 2 | 3 | - 자체적으로 데이터를 저장하는 대신 기반 테이블로부터 데이터를 추출하기 때문이다. 4 | 5 | 2. 왜 뷰가 가치 있는지 두 가지 이유를 적어라. 6 | 7 | - 여러 테이블로부터 동시에 온 데이터로 작업하기 위해 사용할 수 있다. 8 | - 가장 최근의 정보를 반영한다 9 | - 개인 또는 그룹의 특별한 요구에 개인화시킬 수 있다. 10 | - 데이터 무결성을 강화하는데 사용할 수 있다. 11 | - 보안이나 기밀성의 목적으로 사용할 수 있다. 12 | 13 | 3. 데이터베이스의 논리적 구조를 설계하면서 정의할 수 있는 뷰 종류의 이름을 적어라. 14 | 15 | - 데이터 뷰 16 | - 집계 뷰 17 | - 검증 뷰 18 | 19 | 4. 데이터 뷰(또는 이 문제에 관해서는 임의 종류의 뷰)를 액세스 할 때마다 RDBMS는 무엇을 하는가? 20 | 21 | - 뷰에 엑세스 할 때마다 RDBMS는 이것을 재구축 및 재이식하므로, 이 뷰는 직원 테이블의 데이터에 적용한 최근의 변경사항을 반영한다. 22 | 23 | 5. 뷰의 데이터에 적용할 수 있는 수정의 종류를 무엇이 결정하는가? 24 | 25 | - 단일 테이블 뷰의 경우처럼, 필드 명세와 업무 규칙들은 데이터에 가할 수 있는 수정의 종류를 결정한다. 26 | 27 | 6. 다중 테이블 데이터 뷰를 정의하기 위해 충족시켜야 하는 유일한 요구사항은 무엇인가? 28 | 29 | - 둘 이상의 테이블을 사용하여 데이터 뷰를 정의할 수 있는데 이를 위한 유일한 요구사항은 뷰를 만들기 위해 사용하는 테이블들이 서로 관계를 가져야 한다는 것이다. 30 | 31 | 7. 왜 데이터 뷰는 자신의 주 키를 포함하지 않는가? 32 | 33 | - 뷰는 테이블이 아니기 때문에 주키가 없다. 진짜 테이블은 데이터를 저장하고 따라서 레코드 각각을 위한 유일 식별자로 사용하기 위해 주 키를 필요로 한다. 그러나 뷰가 제공하는 정보에 기여한다고 판단된다면 뷰 내의 어떤 기반 테이블로부터 주 키를 포함시킬 수는 있다. 34 | 35 | 8. 집계 뷰의 목적은 무엇인가? 36 | 37 | - 특정 데이터의 집합을 집계해서 생성된 정보를 표시하기 위해 이 종류의 뷰를 사용한다. 38 | 39 | 9. 데이터 집합에 적용할 수 있는 가장 일반적인 집계 함수들은 무엇인가? 40 | 41 | - 합계, 평균, 평균값, 최솟값, 최대값, 개수 42 | 43 | 10. 그룹화 필드란 무엇인가? 44 | 45 | - 주어진 클래스 이름의 모든 인스턴스를 하나의 인스턴스로 그룹화한 필드이다. 집계 뷰내의 모든 데이터 필드들은 그룹화 필드다. 46 | 47 | 11. 참/거짓 문제: 집계 뷰 내의 데이터를 수정할 수 있다. 48 | 49 | - 거짓, 모두 계산된 필드이다. 50 | 51 | 12. 검증 테이블과 검증 뷰의 차이점은 무엇인가? 52 | 53 | - 이 둘의 차이점은 데이터 생성에 있는데, 검증 테이블은 자신의 데이터를 저장하는 반면, 검증 뷰는 기반 테이블로부터 데이터를 추출한다. 비록 하나의 테이블을 사용하여 검증 뷰를 정의할 수 는 있지만 보통은 하나의 테이블을 사용하여 검증 뷰를 정의하고 기반 테이블의 두세개 필드만 포함시킨다. 54 | 55 | 13. 뷰 요구사항을 식별할 때 고려해야 하는 두 가지 요점의 이름을 적어라. 56 | 57 | - 그룹과 작성한 메모를 검토한다. 58 | - 설계 프로세스 앞 단계에서 수집한 데이터 입력, 보고서, 프레젠테이션 샘플들을 검토한다. 59 | - 테이블들과 그것들이 나타내는 주제를 검사한다. 60 | - 테이블 관계들을 분석한다. 61 | - 업무 규칙들을 검토한다. 62 | 63 | 14. 언제 계산된 필드를 사용해야만 하는가? 64 | 65 | - 적절하고 의미 있는 정보를 제공하거나, 뷰가 데이터를 사용하는 방법을 개선한다면 그것들을 사용하는 것 66 | 67 | 15. 공상 과학 서적만 표시하는 뷰를 어떻게 정의하는가? 68 | 69 | - 적절한 테이블과 필드에 적절한 필터를 적용한다. 70 | 71 | 16. 왜 데이터베이스 내의 모든 뷰를 위해 뷰 명세서를 완성해야만 하는가? 72 | 73 | - 이름이나 종류와 같은 뷰의 특성들을 문서화해놓고 이를 최종적으로 데이터베이스 구현에 유용하게 사용될 수 있다. -------------------------------------------------------------------------------- /chapter10/exercise_yun.md: -------------------------------------------------------------------------------- 1 | 1. 관계가 왜 중요한지, 대표적인 이유 두 개를 서술하라. 2 | 3 | - 관계는 논리적으로 연관이 있는 두 테이블 사이의 연결을 설정한다. 4 | - 관계는 테이블 구조를 정제하고 중복 데이터를 최소화하는 것을 돕는다. 5 | - 관계는 우리가 여러 테이블에서 동시에 데이터를 뽑아낼 수 있는 방법이 된다. 6 | 7 | 2. 관계의 세 유형을 적어라. 8 | 9 | - 1대1 관계 10 | - 1대다 관계 11 | - 다대다 관계 12 | 13 | 3. 어떤 관계가 가장 많은 문제를 일으키는가? 14 | 15 | - 다대다 관계 16 | 17 | 4. 다대다 관계에서 마주칠 수 있는 두 개의 문제를 서술하라. 18 | 19 | - 테이블 중 하나에서 정보를 추출하는 것이 따분하고 다소 어렵다. 20 | - 테이블 중 하나에는 대량의 중복 데이터가 포함될 것이다. 21 | - 중복 데이터가 양쪽 테이블에 모두 존재할 것이다. 22 | - 데이터를 삽입, 갱신, 삭제하기 어려울 것이다. 23 | 24 | 5. 자가 참조 관계는 무엇인가? 25 | 26 | - 한 테이블 내에 있는 레코드들 사이에 존재하는 관계이다. 27 | 28 | 6. 데이터베이스에 있는 테이블 사이에 관계를 식별하는 절차는 어떻게 시작하는가? 29 | 30 | - 데이터베이스에 있는 모든 테이블에 대한 행렬을 만드는 것으로 관계를 식별하는 프로세스를 시작한다. 31 | 32 | 7. 이미 있는 관게를 식별하기 위해서 사용할 수 있는 두 종류의 질문은 무엇인가? 33 | 34 | - 연결 측면 35 | - 문맥 측면 36 | - 소유권 기반의 질문 37 | - 활동 기반의 질문 38 | 39 | 8. 테이블 행렬에 있는 1대다 관계를 지정할 때 사용하는 단축 기호는 무엇인가? 40 | 41 | - 1:N 42 | 43 | 9. 행렬에 있는 각 쌍의 테이블 사이에 어떤 종류의 관계가 공식적으로 존재하는지는 어떻게 결정하는가? 44 | 45 | - 1:1, 1:N, M:N 의 공식을 사용하여 각 테이블간의 관계를 판단한다. 46 | 47 | 10. 1대다 관계는 어떻게 설정하는가? 48 | 49 | - 관계의 "1" 쪽에 있는 테이블에 기본 키의 복사본을 취해서 "다" 쪽의 테이블에 있는 테이블 구조에 포함시킨다. 50 | 51 | 11. 참/거짓 문제: 자가 참조 관계를 가진 테이블에서 정보를 추출하는 것은 지루하고 다소 어려울 수 있다. 52 | 53 | - 참 54 | 55 | 12. 자가 참조 다대다 관계는 어떻게 설정하는가? 56 | 57 | - 두 테이블을 연결할 때와 마찬가지로 자가 참조의 다대다 관계를 설정하기 위해 연결 테이블을 사용한다. 58 | 59 | 13. 데이터베이스에 있는 외래 키는 어떻게 개선하는가? 60 | 61 | - 외래 키의 특별한 요소들을 따라서 개선한다 62 | 63 | 14. 외래 키의 필드 명세 중에서 어떤 두 요소들을 반드시 수정해야 하는가? 64 | 65 | - 일반적인 요소, 논리적인 요소 66 | 67 | 15. 삭제 규칙의 기능은 무엇인가? 68 | 69 | - 관계에 있는 부모 테이블에서 특정 테이블을 삭제하고자 할 때 RDBMS 가 무엇을 해야하는지를 결정한다. 70 | 71 | 16. 테이블에 대하여 지정할 수 있는 두 가지 참여 종류는 무엇인가? 72 | 73 | - 의무적 74 | - 선택적 75 | 76 | 17. 참여의 정도는 무엇을 나타내는가? 77 | 78 | - 참여의 정도는 특정 테이블이 관련된 테이블에 있는 하나의 레코드와 연결되어야 하는 최소 숫자와 연결될 수 있는 최대 숫자를 가리킨다. 79 | 80 | 18. 관계는 언제 관계 수준 무결성을 획득하는가? 81 | 82 | - 관계가 적절하게 연결되고, 이에 대한 특징이 적절하게 설정된 이후에 관계 수준 무결성이 확보된다. 83 | - 관계에서 두 테이블(혹은 키 필드) 사이의 연결이 적절하다. 84 | - 의미 있는 방법으로 각 테이블에 새로운 레코드를 넣을 수 있다. 85 | - 어떤 역효과가 없이 현재 있는 레코드를 삭제할 수 있다 86 | - 관계에서 서로 연결될 수 있는 레코드의 숫자를 제한한다. 87 | 88 | --- 89 | 90 | 친구 추천 테이블을 만든다고 했을 때 자가 참조 관계에서 1대다로 만드는게 좋을까 새로운 연결테이블을 하나 만드는게 좋을까? 91 | -------------------------------------------------------------------------------- /chapter1/exercise_minki.md: -------------------------------------------------------------------------------- 1 | #1 2 | 연습문제 3 | 4 | 1. 오늘날 사용되고 있는 두 개의 주요 데이터베이스의 이름은? 5 | - 운영 데이터베이스 6 | - 일 기준으로 데이터를 수집,수정,보존할 필요가 있는 온라인 트랜잭션 처리(OLTP, Online Transaction Processing)에서 주로 사용 7 | - 분 단위의 정보들을 항상 지속적으로 반영해야 하는 동적인 성격의 데이터들을 저장 8 | - 소매점, 제조회사, 종합병원, 전문병원, 출판사 9 | - 분석 데이터베이스 10 | - 장시간에 걸쳐 수집된 데이터를 저장하고 동향을 추적할 필요가 있는 온라인 분석 처리(Online Analytical Processing, OLAP)에서 주로 사용 11 | - 동향 및 추세 흐름 분석, 통계 조사, 전략 사업 계획 12 | - 정적인 데이터 저장 13 | - 화학 연구소, 지질학, 시장 조사 업체 14 | 2. 분석 데이터베이스는 어떤 유형의 데이터를 저장하는가? 15 | 16 | 거의 변화가 없는 정적인 데이터(주로 운영 데이터베이스로부터 획득) 17 | 18 | 3. 운영 데이터베이스는 주로 OLTP(Online Transaction Processing) 업무에 사용된다. 19 | 20 | O 21 | 22 | 4. 관계형 데이터베이스 모델 이전에 일반적으로 사용되었던 두 개의 데이터 모델은 무엇인가? 23 | - 계층형 데이터베이스 모델 24 | 25 | +: 데이터에 직접 접근하여 처리가 빠름 26 | 27 | -: 데이터 중복, 관계의 복잡성 28 | 29 | - 네트워크 데이터베이스 모델 30 | 31 | +: 복잡한 처리의 쿼리 생성 가능 32 | 33 | -: 집합 구조를 통해 작업을해야 하기 때문에 숙련도 요구, 변경 힘듬 34 | 35 | 5. 부모/자식 관계에 대하여 설명하여라. 36 | 37 | 부모테이블이 포인터나 물리적 배치를 통해서 자식 테이블(들)과 연결된다. 38 | 39 | 6. 집합 구조란 무엇인가? 40 | 41 | 한 쌍의 노드를 소유자와 참여자로 사용하여 연결시키는 구조 42 | 43 | 참여자가 소유자의 존재에 의존적인 점이 유연성을 떨어뜨린다. 44 | 45 | 일대다 관계 지원 46 | 47 | 7. 관계형 데이터베이스 모델은 수학 이론에 기초를 두고 있는데, 이 중 하나의 이름을 적으시오. 48 | 49 | 집합론, 1차 술어 논리 50 | 51 | 8. 관계형 데이터베이스 모델은 데이터를 어떻게 저장하는가? 52 | 53 | 튜플, 레코드, 속성, 필드로 구성된 테이블로 구현된 관계에 저장한다 54 | 55 | 레코드나 필드의 순서가 개념적이고 물리적인 저장방식에 구애받지 않는다. 56 | 57 | 9. 관계형 데이터베이스에 존재하는 관계의 세 가지 유형을 나열하시오. 58 | 59 | 일대일, 일대다, 다대다 60 | 61 | 10. 관계형 데이터베이스에서 데이터를 추출하는 방법을 설명하라. 62 | 63 | SQL을 사용 64 | 65 | 11. 관계형 데이터베이스의 두 가지 장점에 대하여 서술하라. 66 | - 다중 무결성(필드 무결성, 레코드 중복 방지, 기본키 존재 무결성, 관계 무결성, 사업수준의 무결성) 67 | - 응용프로그램으로부터의 논리적 물리적 데이터 독립성 68 | - 데이터의 일관성과 정확성 보장 69 | - 쉬운 데이터 검색(SQL) 70 | 12. 관계형 데이터베이스의 관리 시스템은 무엇인가? 71 | 72 | 곽계형 데이터베이스를 생성 유지보수 수정 조작할 때 사용하는 응용프로그램 73 | 74 | 13. 객체-관계형 모델이 성립하기 위해서 어떤 전제조건이 필요한가? 75 | 객체 지향 요소와 특징을 포함한다. (클래스, 캡슐화, 상속) 76 | 77 | 14. 데이터 웨어하우스의 목적은 무엇인가? 78 | 79 | 비관계형 데이터베이스들에 저장된 데이터를 조직이 접근할 수 있도록 하기 위해 80 | -------------------------------------------------------------------------------- /chapter5/exercise_yun.md: -------------------------------------------------------------------------------- 1 | 1. 인터뷰가 중요한 이유는? 2 | 3 | 인터뷰는 개발자가 설계한 데이터베이스를 사용할 사람 사이에 중요한 대화 창구가 되고, 개발자가 설계를 하기 위해 노력한 결과의 성공을 보장하는데 도움을 주며, 데이터베이스 구조의 설계에 영향을 줄 수 있는 중요한 정보를 얻을 수 있기 때문에 매우 중요함. 4 | 5 | 2. 여러분이 다수의 사람들과 인터뷰를 진행할 때에는 어떤 문제들이 발생할 수 있는가? 6 | 7 | 많은 사람들과 함께 진행하는 인터뷰에서 찾을 수 있는 한가지 문제는 몇몇 참여자의 위협 수준이 인터뷰에 참여하는 전체 숫자와 정비례한다는 것이다. 8 | 9 | 3. 사용자들과 관리자의 인터뷰를 분리해서 진행하는 주된 이유는 무엇인가? 10 | 11 | 사용자와 관리자는 서로 다른 관점을 가지고 있으며 일상적으로 데이터를 사용하는 방법이 다르다. 12 | 각 그룹들이 조직의 어떤 측면에 대해 이견이 발생할 때 생길 수 있는 충돌을 없애기 위해서이다. 13 | 14 | 4. 참/거짓 문제: 여러분은 일반적으로 인터뷰를 진행할 때 폐쇄형 질문을 사용할 것이다. 15 | 16 | 거짓 17 | 18 | 5. 여러분이 참여자와의 인터뷰를 통해 어떤 종류의 대답을 유도하려 해야 하는가? 19 | 20 | 개방형 질문을 통해 답변자가 다양한 방식으로 질문에 대한 답을 할 수 있도록한다. 그리고 답변자에게 관심을 가져 그가 말하는 것에 대하여 최대한 가까운 의미를 서술하도록한다. 21 | 22 | 6. 여러분이 진행하는 모든 인터뷰에 대한 가장 중요한 지침은 무엇인가? 23 | 24 | 인터뷰의 주도권을 가져야한다. 25 | 26 | 7. 임무 명세는 무엇인가? 27 | 28 | 데이터베이스의 특정한 목적을 정의한다. 29 | 30 | 특징 31 | - 데이터베이스 설계 프로세스를 시작할 때 이를 정의 32 | - 설계할 때 어떤 부분에 초점을 맞춰서 노력해야하는지를 알게 해주고, 산만하고 불필요하게 크거나 복잡한 데이터베이스 구조를 만들지 않도록 해준다. 33 | 34 | 8. 잘 작성된 임무 명세의 두 가지 특징에 대하여 서술하라. 35 | 36 | 간결하며 요점을 잘 표현함. 37 | 특정 업무를 명확하게 묘사하는 문장이나 절이 없다. 38 | 39 | 9. 참/거짓 문제: 여러분은 임무 명세를 작성하기 위해 조직에 대하여 학습할 필요가 없다. 40 | 41 | 거짓 42 | 43 | 임무 명세를 작성하는 절차는 조직의 장이나 관리자와의 인터뷰를 진행하는 것, 조직에 대한 분석을 하는 것, 새로운 데이터베이스의 목적을 결정하는 것이 포함되어있다. 44 | 45 | 10. 임무 명세는 언제 완료되는가? 46 | 47 | 데이터베이스의 구체적인 목적을 설명하는 문장을 만들고 관련된 모든 사람들이 그 문장을 이해하고 공감할 때 완료된다. 48 | 49 | 11. 임무 목표란 무엇인가? 50 | 51 | 데이터베이스에서 관리되는 데이터가 지원하는 일반적인 작업들을 표현하는 문장이다. 52 | 53 | 12. 잘 작성된 임무 목표의 두 가지 특징을 서술하라. 54 | 55 | 불필요한 설명이 없는 일반적인 작업을 명확하게 정의한 서술식의 문장이다. 56 | 57 | 일반적인 용어를 사용하여 간결하게 표현한다. 58 | 59 | 하나의 일반적인 작업으로 명확하게 정의해야하고 이해하기 쉽게 작성해야한다. 60 | 61 | 13. 참/거짓 문제: 여러분은 임무 목표들을 정의하기 위해 사용자들과 관리자와의 인터뷰를 수행해야만 한다. 62 | 63 | 참 64 | 65 | 임무 목표를 정의하는 것은 사용자와 관리자와의 인터뷰를 진행하여 이를 통해 얻어진 정보를 기반으로 적당한 임무 목표를 작성하는 프로세스이다. 66 | 67 | 14. 임무 목표와 직원들의 일일 작업은 어떻게 관련이 있는가? 68 | 69 | 인터뷰를 통해 직원들의 일일 작업들에 대한 이야기를 듣고 임무 목표를 정의한다. 모든 참석자들의 대화를 통해 숨겨져 있는 암시적인 정보들을 살펴보고 임무 목표를 정의하는게 중요하다 70 | 71 | 15. 참/거짓 문제: 임무 목표는 하나 이상의 작업을 설명할 수 있다. 72 | 73 | 거짓 74 | 75 | 16. 임무 목표가 인터뷰의 답변에서 도출될 수 있는 방법 두 가지를 서술하라. 76 | 77 | 명시적인 정보 파악 78 | 암시적인 정보 파악 79 | 80 | 17. 임무 목표의 작성은 언제 완료되는가? 81 | 82 | 임무 목표들이 적절하고 잘 정의되어야 하며, 각 목표들은 개발자와 설계한 데이터베이스를 사용할 사람들이 공감할 수 있어야한다. -------------------------------------------------------------------------------- /chapter3/exercise_kyungjun.md: -------------------------------------------------------------------------------- 1 | 1. 전문 용어가 중요한 이유는 무엇인가? 2 | > 1) 용어는 관계형 데이터베이스 모델에 대한 개념과 의견들을 정의하고 표현할 떄 사용된다. 3 | > 2) 용어는 데이터베이스 설계 프로세스 자체를 정으하고 표현할 때 사용된다. 4 | > 3) 용어는 관계형 데이터베이스나 RDBMS에 대하여 이야기할 때면 언제나 사용된다. 5 | 6 | 2. 용어의 네 가지 범주의 이름은 무엇인가? 7 | > 1) 값 관련 용어 8 | > 2) 구조 관련 용어 9 | > 3) 관계 관련 용어 10 | > 4) 무결성 관련 용어 11 | 12 | 3. 데이터와 정보의 차이는 무엇인가? 13 | > 데이터는 데이터베이스에 저장된 값 14 | > 정보는 데이터 중에서 일을 하거나 분석을 하기 위해 특정한 방법을 통해 의미 있고 실용적으로 재생성한 것들을 의미한다. 15 | > 데이터를 몇 가지 방법으로 가공을 해서 의미 있는 결과로 바꿔야 정보라 볼 수 있다 16 | 17 | 4. 널은 무엇을 표시하는가? 18 | > 누락값이나 알려지지 않은 값을 표시한다. 수학적 연산에 부정적인 영향을 미치는 것에 주의해야 한다. 19 | 20 | 5. 널의 가장 큰 단점은 무엇인가? 21 | > 널을 포함한 연산은 그 결과가 널로 나오기 때문에 의도하지 않은 결과를 얻을 수 있다. 22 | 23 | 6. 데이터베이스에 있는 주요 구조는 무엇인가? 24 | > 테이블, 테이블로 인식되는 관계(데이터베이스의 데이터가 관계에 저장됨), 테이블은 튜플(레코드), 속성(필드)로 구성된다. 25 | 26 | 7. 테이블의 세 가지 종류는 무엇인가? 27 | > 데이터 테이블, 룩업테이블이라는 이름으로 알려진 검증 테이블 28 | 29 | 8. 뷰는 무엇인가? 30 | > 데이터베이스의 하나 이상의 테이블에서 여러 필드들을 혼합하여 만든 "가상"테이블 이다. 31 | 32 | 9. 키와 인덱스의 차이점은 무엇인지 서술하라. 33 | > 테이블의 레코드를 식별할 때 사용하는 논리적인 구조가 키라면, 인덱스는 데이터 처리 속도를 최적화 할 때 사용하는 물리적 구조라는 둘 사이의 차이에 대하여 항상 알고 있어야 한다. 34 | ``` 35 | cf) Index 대상 컬럼 선정 36 | 일반적으로 Cardinality가 높은 컬럼을 우선적으로 인덱싱하는 것이 검색 성능에 유리합니다. Cardinality란 특정 데이터 집합의 유니크(Unique)한 값의 개수를 의미합니다. 37 | 38 | 남-여 등 2가지 값만 존재하는 성별 컬럼은 중복도가 높으며 카디널리티가 낮습니다. 39 | 개인마다 고유한 값이 존재하는 주민번호 컬럼은 중복도가 낮으며 카디널리티가 높습니다. 40 | Cardinality 높은 컬럼의 경우, Index를 통해 데이터를 더 많이 필터링할 수 있기 때문입니다 41 | ``` 42 | - 출처: https://tecoble.techcourse.co.kr/post/2021-09-18-db-index/ 43 | 44 | 10. 두 개의 테이블 사이에 존재할 수 있는 관계의 세 가지 종류는 무엇인가? 45 | - 1:1 46 | - 1:다 47 | - 다:다 48 | 49 | 11. 관계를 특정 지을 수 있는 세 가지 방법은 무엇인가? 50 | > 1) 관계의 유형(테이블들 사이에 존재하는 관계의 종류) 51 | > 2) 참여의 유형(각 테이블에 참여하는 방법) 52 | > 3) 참여의 정도(각 테이블에 참여하는 정도) 53 | 54 | 12. 필드 명세는 무엇인가? 55 | > 도메인이라 알려진 필드 명세는 필드의 모든 요소를 표시한다. 56 | 57 | 13. 필드 명세를 구성하는 세 가지 요소는 무엇인가? 58 | > 1) 일반적인 요소는 필드와 관련된 가장 기본적인 정보들의 의미 59 | > 2) 물리적인 요소는 필드를 구성하는 방법과 이 필드를 사용하는 사람들에게 표시하는 방법을 결정 60 | > 3) 논리적인 요소는 필드에 저장되는 값을 표시함 61 | 62 | 14. 데이터 무결성은 무엇인가? 63 | > 데이터베이스에 있는 데이터의 유효성, 일관성, 정확성과 관련이 있다. 64 | > Data integrity refers to the accuracy and consistency (validity) of data over its lifecycle. 65 | 66 | 15. 데이터 무결성의 네 가지 종류는 무엇인가? 67 | - 테이블 수준 무결성(엔티티 무결성) 68 | - 필드 수준 무결성(도메인 무결성) 69 | - 관계 수준 무결성(참조 무결성) 70 | - 업무 규칙 71 | ![integrity](./integrity.png) 72 | -------------------------------------------------------------------------------- /chapter8/exercise_yun.md: -------------------------------------------------------------------------------- 1 | 1. 왜 키들이 중요한지 세 가지 이유를 적어라. 2 | 3 | - 테이블 내의 각 레코드가 정확하게 식별되도록 보장한다 4 | - 다양한 종류의 무결성을 설정하고 강화하는 것을 도와준다 5 | - 테이블 관계를 설정하도록 해준다 6 | 7 | 2. 네 개의 중요한 키들의 종류는 무엇인가? 8 | 9 | - 후보 키(candidate) 10 | - 기본/주 키(primary) 11 | - 외래 키(foreign) 12 | - 비 키(non-keys) 13 | 14 | 15 | 3. 후보 키의 목적은 무엇인가? 16 | 17 | - 테이블 주제의 단일 인스턴스를 유일하게 식별해주는 하나의 필드 또는 필드 집합 18 | 19 | 4. 후보 키의 요소들 중 네 항목을 적어라. 20 | 21 | - 다중 부분 필드일 수 없다 22 | - 유일한 값들을 포함해야만 한다. 23 | - 널값을 포함할 수 없다 24 | - 그 값이 조직의 보안 또는 비밀 규칙을 깨뜨리도록 할 수 없다 25 | - 그 값이 전체 또는 부분적으로 선택적이지 않다 26 | - 유일성을 정의하기 위해 필요한 최소 개수의 필드들을 포함한다 27 | - 그 값들이 테이블 내의 각 레코드들을 유일하게 그리고 베타적으로 식별해야만 한다. 28 | - 그 값이 주어진 레코드 내의 각 필드의 값을 구체적으로 식별해야만 한다. 29 | - 그 값은 아주 드물고 극단적인 경우에만 수정될 수 있다. 30 | 31 | 5. 참/거짓 문제: 후보 키는 하나 이상의 필드들로 구성될 수 있다. 32 | 33 | - 참 34 | 35 | 6. 테이블은 하나 이상의 후보 키를 가질 수 있는가? 36 | 37 | - 참 38 | 39 | 7. 인위적인 후보 키란 무엇인가? 40 | 41 | - 테이블이 후보 키를 포함하지 않는다고 판단될 때는 인위적인 후보 키를 만들고 사용 할 수 있다. 테이블 내에서 '자연적으로' 발생하지 않았다는 점에서 인위적이다. 42 | 43 | 8. 테이블에 할당하는 가장 중요한 키는 무엇인가? 44 | 45 | - 기본/주 키 46 | 47 | 9. 이 키는 왜 중요한가?(8번과 연계됨) 48 | 49 | - 주 키 필드는 데이터베이스 구조 전체에 걸쳐 테이블을 베타적으로 식별하고 다른 테이블들과의 관계를 설정하는 것을 도와준다 50 | - 주 키 값은 테이블 내의 주어진 레코드를 유일하게 식별하고 전체 데이터베이스에 걸쳐 이 레코드를 배타적으로 나타낸다. 이것은 또 이중 레코드들로부터 보호해준다. 51 | 52 | 10. 어떻게 주 키를 설정하는가? 53 | 54 | - 만약 단순한(단일 필드의) 후보 키와 복합 후보키를 가지고 있다면 단순한 후보 키를 선택한다 55 | - 자신의 이름에 테이블의 이름 일부를 포함하는 후보 키를 선택한다 56 | 57 | 11. 주 키의 요소들 중 네 항목을 적어라. 58 | 59 | - 다중 부분 필드일 수 없다 60 | - 유일한 값들을 포함해야만 한다 61 | - 널값을 포함할 수 없다 62 | - 그 값이 조직의 보안 또는 비밀 규칙을 깨뜨리도록 할 수 없다 63 | - 그 값이 전체 또는 부분적으로 선택적이지 않다 64 | - 유일성을 정의하기 위해 필요한 최소 개수의 필드를 포함한다 65 | - 그 값들이 테이블 내의 각 레코드들을 유일하게 그리고 배타적으로 식별해야만 한다 66 | - 그 값이 주어진 레코드 내의 각 필드의 값을 구체적으로 식별해야만 한다 67 | - 그 값은 아주 드물고 극단적인 경우에만 수정될 수 있다 68 | 69 | 12. 주 키의 선택을 마무리하기 전에 반드시 무엇을 해야만 하는가? 70 | 71 | - 주 키가 테이블 내의 남아 있는 필드들의 값을 배타적으로 식별하는지 확인해야한다. 72 | 73 | 13. 대체 키란 무엇인가? 74 | 75 | - 특정 테이블의 주 키로 사용하기 위해 하나의 후보 키를 선택했으므로 나머지 키들은 대체키가 된다. 76 | - 이 키들은 RDBMS 프로그램에서 특정 레코드를 유일하게 식별하는 대체 수단을 제공하기 때문에 유용하게 사용할 수 있다 77 | 78 | 14. 테이블 수준의 무결성을 설정함으로써 무엇을 보장하는가? 79 | 80 | - 테이블 내의 이중 레코드들이 없다 81 | - 주 키는 테이블 내의 각 레코드들을 배타적으로 식별한다 82 | - 모든 주 키 값은 유일하다 83 | - 주 키 값은 널이 아니다 84 | 85 | 15. 왜 초기 테이블 구조를 검토해야만 하는가? 86 | 87 | - 적절한 주제들이 데이터베이스에 표현되는 것을 확인하기 위해 88 | - 테이블 이름과 테이블 설명이 모든 사람에게 의미가 있도록하기 위해 89 | - 필드 이름들이 모든 사람에게 적합하고 의미가 있도록 하기 위해 90 | - 모든 적절한 필드들이 각 테이블에 할당되었는지 검증하기 위해 91 | -------------------------------------------------------------------------------- /chapter7/exercise_wooju.md: -------------------------------------------------------------------------------- 1 | 1. 새 데이터베이스를 위한 테이블들을 어떻게 식별하고 설정하는가? 2 | - 예비 필드 목록, 주제목록, 임무묙표를 바탕으로 예비 테이블 목록을 작성함으로서 새로운 데이터베이스의 테이블을 식별하고 설정할 수 있다. 3 | 2. 데이터베이스를 위한 테이블들을 정의하는 데 도움을 받기 위해 왜 예비 필드 목록을 사용하는가? 4 | - 예비필드 목록을 검토하면서 필드에 의해 암시되는 주제를 파악할 수 있다. 5 | 3. 주제 목록의 한 항목과 예비 테이블 목록에 다르게 이름이 부여된 항목이 둘 다 같은 주제를 나타낼 때 어떤 조치를 취하겠는가? 6 | - 주제목록의 항목은 제거하고 예비테이블의 항목은 유지한다. 7 | 4. 최종 테이블 목록은 어떤 정보를 제공하는가? 8 | - 테이블 유형 (데이터 테이블, 연결 테이블, 부분 집합 테이블, 검증 테이블) 9 | - 테이블 명세서 (테이블에 표현된 주제의 명확한 정의와 중요한 이유를 명시) 10 | 5. 테이블 이름을 만들기 위한 세 개의 지침을 적어라. 11 | 1. 전체 조직에 의미가 있고 서술적인 고유한 이름 12 | 2. 정확하고 명확하며 모호하지 않게 테이블의 주제를 식별할 수 있는 이름 13 | 3. 테이블의 주제를 전달하는 데 필요한 최소 개수의 단어사용 14 | 4. 물리적 특성을 표현하는 단어사용 금지 15 | 5. 머리글자와 약어사용 금지 16 | 6. 테이블에 들어갈 데이터를 제한할 수 있는 독특한 이름이나 다른 단어사용 지양 17 | 7. 암시적 또는 명시적으로 둘 이상의 주제로 식별되는 이름 사용 금지 18 | 8. 이름의 복수형을 사용 19 | 6. 테이블 설명을 작성하기 위한 두 개의 지침을 적어라. 20 | 1. 정확하게 테이블을 정의하는 문장을 포함 21 | 2. 테이블이 왜 조직에 중요한지 설명하는 문장을 포함 22 | 3. 명확하고 간결하게 작성 23 | 4. 구현과 관련된 내용 미포함 24 | 5. 다른 테이블의 명세서에 의존적인 명세서 작성 금지 25 | 6. 테이블 명세서에 예제사용 금지 26 | 7. 최종 테이블 목록상의 테이블에 어떻게 필드들을 할당하는가? 27 | 1. 테이블의 주제의 특성을 가장 잘 표현하는 필드를 선정해 테이블에 할당 28 | 2. 각 테이블에 적절한 필드를 할당했는지 검토 29 | 8. 필드 이름을 만들기 위한 세 개의 지침을 적어라. 30 | 1. 전체 조직에 의미가 있는 서술적인 고유한 이름을 생성 31 | 2. 필드가 나타내는 특성을 정확하고 명확하게 그리고 모호하지 않게 식별하는 이름을 생성 32 | 3. 필드가 나타내는 특성의 의미를 전달하기 위해 필요한 최소 개수의 단어를 사용 33 | 4. 두문자어를 사용하지말고, 약어는 신중하게 사용 34 | 5. 필드 이름의 의미를 혼동시킬 수 있는 단어를 사용 금지 35 | 6. 하나 이상의 특성을 암시적 또는 명시적으로 식별하는 이름 사용금지 36 | 7. 단수형의 이름을 사용 37 | 9. 잘못 설계된 필드들은 어떤 두 가지 문제를 야기하는가? 38 | 1. 중복데이터와 이중데이터를 발생시킨다 39 | 10. 필드 비정상을 해소하기 위해 무엇을 사용할 수 있는가? 40 | 1. 이상적인 필드의 요소를 따르는지 여부를 파악 41 | 11. 이상적인 필드의 요소들 중 세 개를 적어라. 42 | 1. 테이블 주제의 고유한 특성을 나타낸다. 43 | 2. 단지 하나의 값만 포함한다. 44 | 3. 더 작은 구성요소로 해체될 수 없다. 45 | 4. 계산되거나 연결된 값을 포함하지 않는다. 46 | 5. 전체 데이터베이스 구조 안에서 유일하다. 47 | 6. 하나 이상의 테이블에 나타날 때는 속성들의 대부분을 유지한다. 48 | 12. 어떤 조건하에서 이중 필드를 허용할 수 있는가? 49 | 1. 다중값 필드나 불필요한 이중필드를 해결한 결과일때 50 | 13. 개괄적으로 다중값 필드를 해소하기 위해 어떤 세 가지 절차를 따르는가? 51 | 1. 테이블에서 이 필드를 제거하고 새로운 테이블에 대한 근거로 사용한다. 52 | 2. 새로운 테이블과 원본 테이블을 연결시키기 위해 원본 테이블로부터 필드를 사용한다. 53 | 3. 새로운 테이블에 적절한 이름, 유형, 설명을 할당하고 최종 테이블 목록에 추가한다. 54 | 14. 테이블 내에서 언제 이중 필드를 사용할 필요가 있는가? 55 | 1. 필드가 두 테이블 사이의 관계를 설정하는데 사용될 때 56 | 15. 어떻게 테이블 구조를 정제할 수 있는가? 57 | 1. 이상적인 테이블의 요소를 따르는지 점검 58 | 16. 이상적인 테이블의 요소들 중 세 개를 적어라. 59 | 1. 개체 또는 사건이 될 수 있는 하나의 대상을 나타낸다 60 | 2. 주 키를 갖는다 61 | 3. 다중 부분 필드나 다중값 필드를 포함하지 않는다. 62 | 4. 계산된 필드를 포함하지 않는다. 63 | 5. 불필요한 이중 필드를 포함하지 않는다. 64 | 6. 절대적으로 최소화된 중복데이터만을 포함한다. 65 | 17. 부분 집합 테이블은 무엇인가? 66 | 1. 부분 집합 테이블은 특정 데이터 테이블의 종속 대상을 나타내는 테이블이다. 67 | -------------------------------------------------------------------------------- /chapter7/exercise_yun: -------------------------------------------------------------------------------- 1 | 1. 새 데이터베이스를 위한 테이블들을 어떻게 식별하고 설정하는가? 2 | 3 | - 예비 테이블 목록을 정의하면서 새 테이블들을 식별하고 설정한다. 4 | 5 | 2. 데이터베이스를 위한 테이블들을 정의하는 데 도움을 받기 위해 왜 예비 필드 목록을 사용하는가? 6 | 7 | - 데이터베이스에서 나타내야 하는 모든 주제들을 식별하는데 도움을 준다. 8 | 9 | 3. 주제 목록의 한 항목과 예비 테이블 목록에 다르게 이름이 부여된 항목이 둘 다 같은 주제를 나타낼 때 어떤 조치를 취하겠는가? 10 | 11 | - 가장 주제를 잘 표현하는 이름을 선택하고 그것을 그 주제에 대한 식별자로 사용한다 12 | 13 | 4. 최종 테이블 목록은 어떤 정보를 제공하는가? 14 | 15 | - 테이블 이름, 테이블 유형, 테이블 명세서를 제공 16 | 17 | 5. 테이블 이름을 만들기 위한 세 개의 지침을 적어라. 18 | 19 | - 전체 조직에 의미가 있고 서술적인 고유한 이름을 만든다 20 | - 정확하고 명확하며 모호하지 않게 테이블의 주제를 식별할 수 있는 이름을 만든다 21 | - 테이블 주제를 전달하는데 필요한 최소 개수의 단어를 사용한다 22 | - 물리적 특성을 표현하는 단어는 사용하지 않는다 23 | - 머리글자와 약어를 사용하지 않는다 24 | - 테이블에 들어갈 데이터를 제한할 수 있는 독특한 이름이나 단어는 사용하지 않는다 25 | - 암시적 또는 명시적으로 둘 이상의 주제로 식별되는 이름을 사용하지 않는다. 26 | - 이름의 복수형을 사용한다 27 | 28 | 6. 테이블 설명을 작성하기 위한 두 개의 지침을 적어라. 29 | 30 | - 정확하게 테이블을 정의하는 문장을 포함한다 31 | - 테이블이 왜 조직에 중요한지 설명하는 문장을 포함시킨다 32 | - 명확하고 간결하게 명세서를 작성한다 33 | - 테이블 명세서에는 구현과 관련된 내용은 담지 않는다 34 | - 다른 테이블의 명세서에 의존적인 명세서를 작성하지 않는다 35 | - 테이블 명세서에 예제를 사용하지 않는다 36 | 37 | 7. 최종 테이블 목록상의 테이블에 어떻게 필드들을 할당하는가? 38 | 39 | - 테이블 주제의 특성을 가장 잘 표현하는 필드를 선정해 테이블에 할당한다. 그리고 최종테이블 목록의 모든 테이블에 해당 작업을 반복한다. 40 | 41 | 8. 필드 이름을 만들기 위한 세 개의 지침을 적어라. 42 | 43 | - 전체 조직에 의미가 있는 서술적인 고유한 이름을 만든다 44 | - 필드가 나타내는 특성을 정확하고 명확하게 그리고 모호하지 않게 식별하는 이름을 생성한다 45 | - 필드가 나타내는 특성의 의미를 전달하기 위해 필요한 최소 개수의 단어들을 사용한다 46 | - 두문자어를 사용하지 말고, 약어는 신중하게 사용한다 47 | - 필드 이름의 의미를 혼동시킬 수 있는 단어들을 사용하지 않는다 48 | - 하나 이상의 특성을 암시적 또는 명시적으로 식별하는 이름을 사용하지 않는다 49 | - 단수형의 이름을 사용한다 50 | 51 | 9. 잘못 설계된 필드들은 어떤 두 가지 문제를 야기하는가? 52 | 53 | - 이중 데이터와 중복 데이터를 발생시킴 54 | 55 | 10. 필드 비정상을 해소하기 위해 무엇을 사용할 수 있는가? 56 | 57 | - 잠재적으로 문제가 있는 필드들을 식별하기 위한 최선의 방법은 그것들이 이상적 필드의 요소들을 따르는지 여부를 파악하는 것이다. 58 | 59 | 11. 이상적인 필드의 요소들 중 세 개를 적어라. 60 | 61 | - 테이블 주제의 고유한 특성을 나타낸다 62 | - 단지 하나의 값만 포함한다 63 | - 더 작은 구성요소로 해체될 수 없다 64 | - 계산되거나 연결된 값을 포함하지 않는다 65 | - 전체 데이터베이스 구조 안에서 유일하다 66 | - 하나 이상의 테이블에 나타날 때는 속성들의 대부분을 유지한다 67 | 68 | 12. 어떤 조건하에서 이중 필드를 허용할 수 있는가? 69 | 70 | - 다중 부분 필드와 다중값 필드가 해소 되었을 때 71 | 72 | 13. 개괄적으로 다중값 필드를 해소하기 위해 어떤 세 가지 절차를 따르는가? 73 | 74 | - 1. 이 필드를 테이블로부터 제거하고 새 테이블을 위한 기초로 사용된다 75 | - 2. 원래 테이블을 새 테이블과 관계를 맺도록 하기 위해, 원래 테이블로부터 필드(또는 필드 집합)를 사용한다. 76 | - 3. 새 테이블에 적절한 이름, 종류, 명세서를 할당하고 이것을 최종 테이블 목록에 추가한다. 77 | 78 | 14. 테이블 내에서 언제 이중 필드를 사용할 필요가 있는가? 79 | 80 | - 이중 필드가 필요한 유일한 경우는 두 테이블 사이에 관계를 설정할 때다. 81 | 82 | 15. 어떻게 테이블 구조를 정제할 수 있는가? 83 | 84 | - 이상적인 테이블의 요소들을 따르는지 파악함으로써 잠재적으로 문제가 있는 테이블 구조를 식별할 수 있다. 85 | 86 | 16. 이상적인 테이블의 요소들 중 세 개를 적어라. 87 | 88 | - 개체 또는 사건 일 수 있는 단일 주제를 나타낸다 89 | - 기본 키를 가진다 90 | - 다중 부분 또는 다중값 필드를 포함하지 않는다 91 | - 계산된 필드들을 포함하지 않는다 92 | - 불필요한 이중 필드들을 포함하지 않는다 93 | - 단지 절대적으로 최소한의 중복 데이터만 포함한다 94 | 95 | 17. 부분 집합 테이블은 무엇인가? 96 | - 부분 집합 테이블은 그것이 나타내는 종속 주제에 적절한 필드를 포함하고 또 데이터 테이블과 부분 집합 테이블과 관계를 맺는데 필요한 필드 (데이터 테이블로부터 온 필드)들을 포함한다. -------------------------------------------------------------------------------- /chapter6/exercise_yun.md: -------------------------------------------------------------------------------- 1 | 1. 현재 데이터베이스를 분석하기 위한 두 개의 목표를 서술하라. 2 | 3 | 어떤 유형의 데이터를 조직에서 사용하는가? 4 | 조직에서 데이터를 어떻게 사용하는가? 5 | 조직은 어떻게 데이터를 유지하고 관리하는가? 6 | 7 | 2. 참/거짓 문제: 새로운 구조에 대한 기초로 현재 데이터베이스 구조를 선택할 수 있다. 8 | 9 | 거짓 10 | 11 | 기존 데이터베이스를 분석할 때 명심해야 할 가장 중요한 규칙 12 | - 새로운 데이터베이스 구조에 대한 근거로 현재 데이터베이스 구조를 적용하지 말 것 13 | 14 | 3. 기존 데이터베이스는 무엇인가? 15 | 16 | 5년 이상 사용되어 온 데이터베이스 17 | 18 | 4. 분석 프로세스의 두 단계를 서술하라. 19 | 20 | 데이터가 수집된 방법을 검토하는 것 21 | 정보가 표현되는 방법을 검토하는 것 22 | 사용자와 관련자와 인터뷰를 진행하는 것 23 | 24 | 5. 분석하는 동안 어떤 종류의 컴퓨터 소프트웨어 프로그램을 검토해야 하는가? 25 | 26 | 조직이 데이터를 관리할 때 사용하는 프로그램을 검토해야함 (ex. 워드프로세서, 스프레드시트, 데이터베이스, 웹페이지...) 27 | 28 | 6. 데이터 수집과 정보를 표현한 견본을 수집한 후에 인터뷰를 진행해야 하는 이유는 무엇인가? 29 | 30 | 인터뷰는 이전 검토 단계에서 수집한 견본에 대한 자세한 정보를 제공한다 31 | 그들은 조직이 데이터를 사용하는 방법에 대한 정보를 제공한다 32 | 그들은 초기의 필드와 테이블 구조를 정의할 때 중요한 역할을 한다 33 | 그들은 미래의 정보 요건을 정의할 때 도움을 줄 것이다. 34 | 35 | 7. 개방형 질문과 폐쇄형 질문은 어떻게 사용하는가? 36 | 37 | 개방형 질문은 현실적으로 더 일반적이고 특정 주제에 대하여 초점을 맞추기 쉽도록 한다. 38 | 폐쇄적 질문은 보다 구체적이며 특정 주제의 구체적인 세부사항에 초점을 맞출 수 있도록 해준다. 39 | 40 | 8. 대상 식별 기술은 무엇인가? 41 | 42 | 질문에 대한 답변에서 말하는 대상을 잘 파악하게 해준다 43 | 44 | 9. 특정 대상에 대한 특성들을 어떻게 파악하는가? 45 | 46 | 대상의 특징을 표현하는 단어들을 살펴봐야한다. 바로 대상의 구체적인 부분을 묘사하는 단어들이다. 47 | 이렇게 대상에 대한 특성을 파악하는 기술을 특징 식별 기술이라한다. 48 | 49 | 10. 참/거짓 문제: 여러분은 사용자와 관리자와의 인터뷰를 동시에 진행해야 한다. 50 | 51 | 거짓 52 | 53 | 먼저 사용자들과 이야기를 나누고 이들에게서 수집한 정보를 바탕으로 관리자의 대답을 이해하는데 도움을 받을 수 있다 54 | 55 | 11. 여러분이 파악해야 하는 정보 요건의 세 가지 유형은 무엇인가? 56 | 57 | 현재 정보 요건 58 | 추가 정보 요건 59 | 미래 정보 요건 60 | 61 | 12. 예비 필드 목록은 무엇인가? 62 | 63 | 조직의 기본적인 데이터 요구사항을 나타내며 데이터베이스에서 정의할 필드의 핵심을 구성한다 64 | 65 | 13. 예비 필드 목록의 각 항목이 고유한 이름을 가져야 하는 이유를 서술하라. 66 | 67 | 하나의 이름에 하나의 특징을 가지도록 하기 위함이고 그렇게 함으로써 각각의 필드가 무엇을 의미하는지 빠르게 파악할 수 있다 68 | 69 | 14. 값 목록은 무엇인가? 70 | 71 | 특정 특징에 대한 값의 허용 범위를 지정하고, 종종 특정 업무 규칙을 강요하기도 한다 72 | 73 | 15. 계산된 필드는 무엇인가? 그것이 있다면, 그에 대하여 여러분이 해야 하는 것은 무엇인가? 74 | 75 | 계산된 필드는 문자열의 연결이나 수학적 연산 결과를 값으로 저장하는 것이다. 76 | 예비 필드 목록에서 기존의 필드를 사용하여 계산된 필드 목록을 만든다. 77 | 78 | --- 79 | 80 | # 메모 81 | 82 | ### 데이터의 input, output 프레임에서 생각하기 83 | 데이터의 input, output의 프레임에서 데이터베이스를 분석한다고 생각해보자 84 | input에 해당되는 것 85 | - 데이터를 어떤 경로로 수집하고 있는가 86 | - 데이터를 어떤 포맷으로 수집하고 있는가 87 | 88 | input과 output 중간 어디쯤 89 | - 데이터를 어디에 저장하고 있는가 90 | - 데이터를 어떤 포맷으로 저장하고 있는가 91 | - 데이터를 어떻게 저장하고 있는가 (파티셔닝과도 관련) 92 | 93 | output에 해당 94 | - 조직에서 데이터를 어떻게 가져와 사용하고 있는가 95 | - 조직에서 데이터를 어떤 목적으로 사용하고 있는가 96 | 97 | ### 정보 요건의 어떤 단계를 파악해야할까 98 | 현재 조직의 변화 속도에 따라 정보 요건들을 파악하는 범위가 달라질 것 같다. 변화가 느리게 진행되는 조직에 있다면 현재 및 추가 정보 요건을 제대로 반영하는 것이 중요할 것 같다. 미래 정보 요건까지 고려해서 만들었다고 하더라도 레거시로 남아 있을 확률이 높다(오히려 비효율을 초래함) 반대로 변화가 가파른 조직이라면 추가 또는 미래 정보 요건을 어느 정도 예측해서 만드는 것이 중요할 것 같다. 99 | 100 | 101 | ### 내 언어로 요약하기 102 | 기존의 데이터베이스를 분석해 어떻게 새로운 데이터베이스를 만들 수 있을지에 대해서 논의 103 | 104 | 레거시를 갈아엎을 땐 아무리 기존 데이터베이스에서 좋아보이는 구조가 있다고해도 바로 가져다 쓰는 것보다 처음부터 고민해보고 새로 설계하는게 중요하다 105 | 106 | 크게 세단계로 나뉨 107 | 1. 데이터를 어떻게 수집하고 있었나: 데이터가 어떻게 저장되고 있었는지를 중심으로 조사(ex. 엑셀에 저장되었는지, DB에 저장되었는지) 108 | 2. 데이터를 어떻게 사용하고 있었나: 어떻게 사내에 공유되고 있었는지를 조사 (ex. 데이터마트 조사) 109 | 3. 인터뷰로 실제 사람들의 이야기를 들어보자 110 | - 인터뷰를 하면서 테이블 필드로 할만한 것들을 찾아내자 111 | - 현재를 일단 제대로 반영하는 것이 중요하고 추가로 필요한 필드가 있는지 조사해보자. 좀 더 여유가 있으면 있으면 좋을만한 필드를 예측해서 추가로 논의 가능 112 | 113 | 이를 바탕으로 새로운 필드를 만들 수 있다 --------------------------------------------------------------------------------