Skip to content

Commit

Permalink
Merge pull request #59 from woojulee1/main
Browse files Browse the repository at this point in the history
[W4] 우주 문제 풀이
  • Loading branch information
leehosung authored Jan 4, 2022
2 parents 6c25649 + 4062dce commit ca0a2bb
Show file tree
Hide file tree
Showing 3 changed files with 156 additions and 0 deletions.
66 changes: 66 additions & 0 deletions chapter7/exercise_wooju.md
Original file line number Diff line number Diff line change
@@ -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. 부분 집합 테이블은 특정 데이터 테이블의 종속 대상을 나타내는 테이블이다.
54 changes: 54 additions & 0 deletions chapter8/exercise_wooju.md
Original file line number Diff line number Diff line change
@@ -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. 적절한 필드들이 각 테이블에 모두 할당 되었는지 검증하기 위해
36 changes: 36 additions & 0 deletions chapter9/exercise_wooju.md
Original file line number Diff line number Diff line change
@@ -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. 데이터베이스에 있는 다른 필드에 대한 템플릿으로 사용되는 필드를 위해 일반 명세를 사용한다.

0 comments on commit ca0a2bb

Please # to comment.