From 4062dcee82cfbe4bca4bf1ea6b0738045436b7aa Mon Sep 17 00:00:00 2001 From: woojulee1 Date: Thu, 30 Dec 2021 01:21:36 +0900 Subject: [PATCH] =?UTF-8?q?7~9=20=EC=97=B0=EC=8A=B5=EB=AC=B8=EC=A0=9C=20?= =?UTF-8?q?=ED=92=80=EC=9D=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- chapter7/exercise_wooju.md | 66 ++++++++++++++++++++++++++++++++++++++ chapter8/exercise_wooju.md | 54 +++++++++++++++++++++++++++++++ chapter9/exercise_wooju.md | 36 +++++++++++++++++++++ 3 files changed, 156 insertions(+) create mode 100644 chapter7/exercise_wooju.md create mode 100644 chapter8/exercise_wooju.md create mode 100644 chapter9/exercise_wooju.md diff --git a/chapter7/exercise_wooju.md b/chapter7/exercise_wooju.md new file mode 100644 index 0000000..65f725d --- /dev/null +++ b/chapter7/exercise_wooju.md @@ -0,0 +1,66 @@ +1. 새 데이터베이스를 위한 테이블들을 어떻게 식별하고 설정하는가? + - 예비 필드 목록, 주제목록, 임무묙표를 바탕으로 예비 테이블 목록을 작성함으로서 새로운 데이터베이스의 테이블을 식별하고 설정할 수 있다. +2. 데이터베이스를 위한 테이블들을 정의하는 데 도움을 받기 위해 왜 예비 필드 목록을 사용하는가? + - 예비필드 목록을 검토하면서 필드에 의해 암시되는 주제를 파악할 수 있다. +3. 주제 목록의 한 항목과 예비 테이블 목록에 다르게 이름이 부여된 항목이 둘 다 같은 주제를 나타낼 때 어떤 조치를 취하겠는가? + - 주제목록의 항목은 제거하고 예비테이블의 항목은 유지한다. +4. 최종 테이블 목록은 어떤 정보를 제공하는가? + - 테이블 유형 (데이터 테이블, 연결 테이블, 부분 집합 테이블, 검증 테이블) + - 테이블 명세서 (테이블에 표현된 주제의 명확한 정의와 중요한 이유를 명시) +5. 테이블 이름을 만들기 위한 세 개의 지침을 적어라. + 1. 전체 조직에 의미가 있고 서술적인 고유한 이름 + 2. 정확하고 명확하며 모호하지 않게 테이블의 주제를 식별할 수 있는 이름 + 3. 테이블의 주제를 전달하는 데 필요한 최소 개수의 단어사용 + 4. 물리적 특성을 표현하는 단어사용 금지 + 5. 머리글자와 약어사용 금지 + 6. 테이블에 들어갈 데이터를 제한할 수 있는 독특한 이름이나 다른 단어사용 지양 + 7. 암시적 또는 명시적으로 둘 이상의 주제로 식별되는 이름 사용 금지 + 8. 이름의 복수형을 사용 +6. 테이블 설명을 작성하기 위한 두 개의 지침을 적어라. + 1. 정확하게 테이블을 정의하는 문장을 포함 + 2. 테이블이 왜 조직에 중요한지 설명하는 문장을 포함 + 3. 명확하고 간결하게 작성 + 4. 구현과 관련된 내용 미포함 + 5. 다른 테이블의 명세서에 의존적인 명세서 작성 금지 + 6. 테이블 명세서에 예제사용 금지 +7. 최종 테이블 목록상의 테이블에 어떻게 필드들을 할당하는가? + 1. 테이블의 주제의 특성을 가장 잘 표현하는 필드를 선정해 테이블에 할당 + 2. 각 테이블에 적절한 필드를 할당했는지 검토 +8. 필드 이름을 만들기 위한 세 개의 지침을 적어라. + 1. 전체 조직에 의미가 있는 서술적인 고유한 이름을 생성 + 2. 필드가 나타내는 특성을 정확하고 명확하게 그리고 모호하지 않게 식별하는 이름을 생성 + 3. 필드가 나타내는 특성의 의미를 전달하기 위해 필요한 최소 개수의 단어를 사용 + 4. 두문자어를 사용하지말고, 약어는 신중하게 사용 + 5. 필드 이름의 의미를 혼동시킬 수 있는 단어를 사용 금지 + 6. 하나 이상의 특성을 암시적 또는 명시적으로 식별하는 이름 사용금지 + 7. 단수형의 이름을 사용 +9. 잘못 설계된 필드들은 어떤 두 가지 문제를 야기하는가? + 1. 중복데이터와 이중데이터를 발생시킨다 +10. 필드 비정상을 해소하기 위해 무엇을 사용할 수 있는가? + 1. 이상적인 필드의 요소를 따르는지 여부를 파악 +11. 이상적인 필드의 요소들 중 세 개를 적어라. + 1. 테이블 주제의 고유한 특성을 나타낸다. + 2. 단지 하나의 값만 포함한다. + 3. 더 작은 구성요소로 해체될 수 없다. + 4. 계산되거나 연결된 값을 포함하지 않는다. + 5. 전체 데이터베이스 구조 안에서 유일하다. + 6. 하나 이상의 테이블에 나타날 때는 속성들의 대부분을 유지한다. +12. 어떤 조건하에서 이중 필드를 허용할 수 있는가? + 1. 다중값 필드나 불필요한 이중필드를 해결한 결과일때 +13. 개괄적으로 다중값 필드를 해소하기 위해 어떤 세 가지 절차를 따르는가? + 1. 테이블에서 이 필드를 제거하고 새로운 테이블에 대한 근거로 사용한다. + 2. 새로운 테이블과 원본 테이블을 연결시키기 위해 원본 테이블로부터 필드를 사용한다. + 3. 새로운 테이블에 적절한 이름, 유형, 설명을 할당하고 최종 테이블 목록에 추가한다. +14. 테이블 내에서 언제 이중 필드를 사용할 필요가 있는가? + 1. 필드가 두 테이블 사이의 관계를 설정하는데 사용될 때 +15. 어떻게 테이블 구조를 정제할 수 있는가? + 1. 이상적인 테이블의 요소를 따르는지 점검 +16. 이상적인 테이블의 요소들 중 세 개를 적어라. + 1. 개체 또는 사건이 될 수 있는 하나의 대상을 나타낸다 + 2. 주 키를 갖는다 + 3. 다중 부분 필드나 다중값 필드를 포함하지 않는다. + 4. 계산된 필드를 포함하지 않는다. + 5. 불필요한 이중 필드를 포함하지 않는다. + 6. 절대적으로 최소화된 중복데이터만을 포함한다. +17. 부분 집합 테이블은 무엇인가? + 1. 부분 집합 테이블은 특정 데이터 테이블의 종속 대상을 나타내는 테이블이다. diff --git a/chapter8/exercise_wooju.md b/chapter8/exercise_wooju.md new file mode 100644 index 0000000..de6be6f --- /dev/null +++ b/chapter8/exercise_wooju.md @@ -0,0 +1,54 @@ +1. 왜 키들이 중요한지 세 가지 이유를 적어라. + 1. 테이블 내 각 레코드를 정확하게 식별하도록 보장 + 2. 다양한 종류의 무결성을 설정하고 강화하는 데 도움 + 3. 테이블 관계를 설정 +2. 네 개의 중요한 키들의 종류는 무엇인가? + 1. 후보 키, 주 키, 왜래 키, 비 키 +3. 후보 키의 목적은 무엇인가? + 1. 테이블이 가리키는 대상의 단일 인스턴스를 유일하게 식별하기 위한 것 이다 +4. 후보 키의 요소들 중 네 항목을 적어라. + 1. 다중 부분 필드일 수 없다. + 2. 유일한 값들을 포함해야 한다 + 3. 널값을 포함할 수 없다. + 4. 값은 조직의 보안 또는 비밀 규칙을 깨뜨리도록 할 수 없다 + 5. 값은 전체 또는 부분적으로 선택적이지 않다 + 6. 유일성을 정의하기 위해 필요한 최소 개수의 필드들을 포함한다. + 7. 값들은 테이블 내의 각 레코드들을 유일하게 그리고 배타적으로 식별해야만 한다. + 8. 값이 주어진 레코드 내의 각 필드의 값을 구체적으로 식별해야만 한다. + 9. 값은 아주 드물고 극단적인 경우에만 수정 할 수 있다. +5. 참/거진 문제: 후보 키는 하나 이상의 필드들로 구성될 수 있다. + 1. 참 +6. 테이블은 하나 이상의 후보 키를 가질 수 있는가? + 1. 참 +7. 인위적인 후보 키란 무엇인가? + 1. 테이블이 후보키를 포함하지 않는다고 판단될 때 인위적으로 만들어지는 키 +8. 테이블에 할당하는 가장 중요한 키는 무엇인가? + 1. 주 키 +9. 이 키는 왜 중요한가?(8번과 연계됨) + 1. 주 키는 데이터베이스 구조 전체에 걸쳐서 테이블을 배타적으로 식별하는 다른 테이블과의 관계를 설정하도록 돕는다. + 2. 주 키 값은 테이블 내에 있는 특정 레코드를 유일하게 식별하며 전체 데이터베이스에 걸쳐 이 레코드를 배타적으로 표현한다. 또한 이중 레코드가 발생하는 것을 막아준다. +10. 어떻게 주 키를 설정하는가? + 1. 유용한 후보 키들의 테이블 풀을 점검하여 주 키를 설정한 후 주 키로 그중 하나를 선택한다. +11. 주 키의 요소들 중 네 항목을 적어라. + 1. 다중 부분 필드일 수 없다. + 2. 유일한 값들을 포함해야만 한다. + 3. 널값을 포함할 수 없다. + 4. 그 값이 전체 또는 부분적으로 선택적이지 않다. + 5. 유일성을 정의하기 위해 필요한 최소 개수의 필드들을 포함한다. + 6. 그 값들은 테이블 내의 각 레ㅗ드를 유일하고 배타적으로 식별해야만 한다. + 7. 그 값은 주어진 레코드 내의 각 필드의 값을 배타적으로 식별해야만 한다. + 8. 그 값은 극히 드물거나 극단적인 상황에서만 수정할 수 있다. +12. 주 키의 선택을 마무리하기 전에 반드시 무엇을 해야만 하는가? + 1. 주어진 레코드에 있는 각 필드의 값을 배타적으로 식별하는지를 절대적으로 확인해야만 한다. +13. 대체 키란 무엇인가? + 1. 주 키로 선택 받지 못한 후보 키다 +14. 테이블 수준의 무결성을 설정함으로써 무엇을 보장하는가? + 1. 테이블에 이중 레코드들이 없다. + 2. 주 키는 테이블에 있는 각 레코드를 배타적으로 식별한다. + 3. 모든 주 키 값은 유일하다. + 4. 주 키 값들이 널이 아니다. +15. 왜 초기 테이블 구조를 검토해야만 하는가? + 1. 적절한 대상들이 데이터베이스에 표현되는 것을 확인하기 위해 + 2. 테이블 이름들과 테이블 설명들이 모든 사람에게 적절하고 의미 있는지 확인하기 위해 + 3. 필드 이름들이 모든 사람에게 적절하고 의미 있는지 확인하기 위해 + 4. 적절한 필드들이 각 테이블에 모두 할당 되었는지 검증하기 위해 diff --git a/chapter9/exercise_wooju.md b/chapter9/exercise_wooju.md new file mode 100644 index 0000000..1696d24 --- /dev/null +++ b/chapter9/exercise_wooju.md @@ -0,0 +1,36 @@ +1. 왜 필드 명세들이 중요한지 두 가지 이유를 적어라. + 1. 필드 수준 무결성을 설정하고 강제하는데 도움이 된다. + 2. 전반적인 데이터 무결성을 개선하는 데 도움이 된다. + 3. 데이터베이스에 있는 데이터의 본질과 목적을 완벽하게 이해하도록 한다. + 4. 데이터베이스의 테이터사전을 구성한다. +2. 필드 수준의 무결성을 설정함으로써 무엇을 얻을 수 있나? + 1. 필드의 주체성과 목적이 명확하고 이것이 나타나는 모든 테이블이 적절히 식별된다. + 2. 데이터베이스 전체에 걸쳐 필드 정의가 일관성이 있다. + 3. 필드의 값들이 일관성 있고 유효하다. + 4. 필드의 값들에 적용될 수 있는 수정, 비교, 연산의 종류가 명확히 식별된다. +3. 필드 명세 내의 요소들의 세 가지 범주는 무엇인가? + 1. 일반적, 요소, 물리적 요소, 논리적 요소 +4. 세 종류의 명세들의 이름을 적어라. + 1. 유일(Unique), 일반(Generic), 복제(Replica) +5. 적절한 필드 설명을 작성하는 것이 왜 유익한가? + 1. 데이터의 특성을 주의 깊게 생각하도록 만들기 때문이다. 만약 설명하기 어렵다면 추가적인 정제가 필요할 것이다. +6. 데이터형 요소가 가리키는 것은 무엇인가? + 1. 데이터형 요소는 필드가 저장하는 데이터의 특성을 가리킨다 +7. 문자 지원 요소가 가리키는 것은 무엇인가? + 1. 주어진 필드값으로 넣을 수 있는 문자들의 종류를 가리킨다. +8. 디스플레이 형식 요소의 목적은 무엇인가? + 1. 화면에 출력되거나 문서로 인쇄될 때 필드값의 외형을 통제한다. +9. 필드 명세에 어떤 종류의 키들이 나타나는가? + 1. 비 키, 주 키, 대채 키, 외래 키 +10. 참/거짓 문제: 널은 공백값을 나타낸다. + 1. 거짓: 널은 누락되었거나 미지의 값을 표현한다. +11. 값 범위 요소의 중요성은 무엇인가? + 1. 필드에 대한 모든 가능하고 유효한 값을 지정한다. +12. 변경 규칙의 목적은 무엇인가? + 1. 사용자가 필드에 값을 넣을 수 있는 시점과 값의 수정여부를 나타낸다. +13. 비교 허용 요소의 목적은 무엇인가? + 1. 사용자가 필드에서 정보를 추출할 때 주어진 필드값에 적용할 수 있는 비교의 종류를 가리킨다. +14. 값 연산식이 무엇인가? + 1. 필드값, 상수값, 또는 이 두가지의 조합을 포함하는 어떤 연산의 형식이며, 비교 연산에 사용할 수 있는 단일값을 돌려준다. +15. 언제 일반 명세를 사용하는가? + 1. 데이터베이스에 있는 다른 필드에 대한 템플릿으로 사용되는 필드를 위해 일반 명세를 사용한다.