-
Notifications
You must be signed in to change notification settings - Fork 11
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #71 from freedom07/main
[W5] 윤 문제풀이
- Loading branch information
Showing
3 changed files
with
218 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,90 @@ | ||
1. 관계가 왜 중요한지, 대표적인 이유 두 개를 서술하라. | ||
|
||
- 관계는 논리적으로 연관이 있는 두 테이블 사이의 연결을 설정한다. | ||
- 관계는 테이블 구조를 정제하고 중복 데이터를 최소화하는 것을 돕는다. | ||
- 관계는 우리가 여러 테이블에서 동시에 데이터를 뽑아낼 수 있는 방법이 된다. | ||
|
||
2. 관계의 세 유형을 적어라. | ||
|
||
- 1대1 관계 | ||
- 1대다 관계 | ||
- 다대다 관계 | ||
|
||
3. 어떤 관계가 가장 많은 문제를 일으키는가? | ||
|
||
- 다대다 관계 | ||
|
||
4. 다대다 관계에서 마주칠 수 있는 두 개의 문제를 서술하라. | ||
|
||
- 테이블 중 하나에서 정보를 추출하는 것이 따분하고 다소 어렵다. | ||
- 테이블 중 하나에는 대량의 중복 데이터가 포함될 것이다. | ||
- 중복 데이터가 양쪽 테이블에 모두 존재할 것이다. | ||
- 데이터를 삽입, 갱신, 삭제하기 어려울 것이다. | ||
|
||
5. 자가 참조 관계는 무엇인가? | ||
|
||
- 한 테이블 내에 있는 레코드들 사이에 존재하는 관계이다. | ||
|
||
6. 데이터베이스에 있는 테이블 사이에 관계를 식별하는 절차는 어떻게 시작하는가? | ||
|
||
- 데이터베이스에 있는 모든 테이블에 대한 행렬을 만드는 것으로 관계를 식별하는 프로세스를 시작한다. | ||
|
||
7. 이미 있는 관게를 식별하기 위해서 사용할 수 있는 두 종류의 질문은 무엇인가? | ||
|
||
- 연결 측면 | ||
- 문맥 측면 | ||
- 소유권 기반의 질문 | ||
- 활동 기반의 질문 | ||
|
||
8. 테이블 행렬에 있는 1대다 관계를 지정할 때 사용하는 단축 기호는 무엇인가? | ||
|
||
- 1:N | ||
|
||
9. 행렬에 있는 각 쌍의 테이블 사이에 어떤 종류의 관계가 공식적으로 존재하는지는 어떻게 결정하는가? | ||
|
||
- 1:1, 1:N, M:N 의 공식을 사용하여 각 테이블간의 관계를 판단한다. | ||
|
||
10. 1대다 관계는 어떻게 설정하는가? | ||
|
||
- 관계의 "1" 쪽에 있는 테이블에 기본 키의 복사본을 취해서 "다" 쪽의 테이블에 있는 테이블 구조에 포함시킨다. | ||
|
||
11. 참/거짓 문제: 자가 참조 관계를 가진 테이블에서 정보를 추출하는 것은 지루하고 다소 어려울 수 있다. | ||
|
||
- 참 | ||
|
||
12. 자가 참조 다대다 관계는 어떻게 설정하는가? | ||
|
||
- 두 테이블을 연결할 때와 마찬가지로 자가 참조의 다대다 관계를 설정하기 위해 연결 테이블을 사용한다. | ||
|
||
13. 데이터베이스에 있는 외래 키는 어떻게 개선하는가? | ||
|
||
- 외래 키의 특별한 요소들을 따라서 개선한다 | ||
|
||
14. 외래 키의 필드 명세 중에서 어떤 두 요소들을 반드시 수정해야 하는가? | ||
|
||
- 일반적인 요소, 논리적인 요소 | ||
|
||
15. 삭제 규칙의 기능은 무엇인가? | ||
|
||
- 관계에 있는 부모 테이블에서 특정 테이블을 삭제하고자 할 때 RDBMS 가 무엇을 해야하는지를 결정한다. | ||
|
||
16. 테이블에 대하여 지정할 수 있는 두 가지 참여 종류는 무엇인가? | ||
|
||
- 의무적 | ||
- 선택적 | ||
|
||
17. 참여의 정도는 무엇을 나타내는가? | ||
|
||
- 참여의 정도는 특정 테이블이 관련된 테이블에 있는 하나의 레코드와 연결되어야 하는 최소 숫자와 연결될 수 있는 최대 숫자를 가리킨다. | ||
|
||
18. 관계는 언제 관계 수준 무결성을 획득하는가? | ||
|
||
- 관계가 적절하게 연결되고, 이에 대한 특징이 적절하게 설정된 이후에 관계 수준 무결성이 확보된다. | ||
- 관계에서 두 테이블(혹은 키 필드) 사이의 연결이 적절하다. | ||
- 의미 있는 방법으로 각 테이블에 새로운 레코드를 넣을 수 있다. | ||
- 어떤 역효과가 없이 현재 있는 레코드를 삭제할 수 있다 | ||
- 관계에서 서로 연결될 수 있는 레코드의 숫자를 제한한다. | ||
|
||
--- | ||
|
||
친구 추천 테이블을 만든다고 했을 때 자가 참조 관계에서 1대다로 만드는게 좋을까 새로운 연결테이블을 하나 만드는게 좋을까? |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
1. 업무 규칙이란 무엇인가? | ||
|
||
- 업무 규칙(Business)은 필드 명세 내의 요소들이나 주어진 관계의 특성들처럼 데이터베이스의 특성 측면에 어떤 형태의 제약을 부과하는 문장이다. | ||
|
||
2. 업무 규칙의 두 가지 중요한 종류들의 이름을 기술하라. | ||
|
||
- 데이터베이스 지향 | ||
- 응용프로그램 지향 | ||
|
||
3. 데이터베이스의 논리적 설계 내에서 응용프로그램 지향 업무 규칙을 설정할 수 있는가? | ||
|
||
- 아니다. 논리적 설계 내에서 제약조건들을 의미 있고 명확하게 설정할 수 있으면, 제약조건을 도출하는 문장은 데이터베이스 지향 업무 규칙이다. | ||
|
||
4. 데이터베이스 지향 업무 규칙의 두 가지 범주는 무엇인가? | ||
|
||
- 필드 특유 | ||
- 관계 특유 | ||
|
||
5. 필드 특유의 업무 규칙이란 무엇인가? | ||
|
||
- 필드 특유의 업무 규칙은 특정 필드를 위한 필드 명세의 요소들에 제약조건을 부과한다. 주어진 규칙이 영향을 미치는 요소들의 수는 이 규칙을 정의하는 방법에 의존한다. | ||
|
||
6. 언제 업무 규칙은 테스트되는가? | ||
|
||
- 테이블에 한 레코드 또는 필드에 한 항목을 삽입하거나 삭제하거나 갱신할 때 | ||
|
||
7. 업무 규칙을 어떻게 문서화하는가? | ||
|
||
- 업무 규칙 명세서를 채움으로써, 장래의 참조를 위해 주어진 업무 규칙을 문서화할 수 있다. | ||
|
||
8. 업무 규칙 명세서가 제공하는 두 가지 장점을 적어라. | ||
|
||
- 모든 데이터베이스 지향 업무 규칙을 문서화하도록 해준다. | ||
- 모든 응용프로그램 지향 업무 규칙을 문서화하도록 해준다. | ||
- 모든 업무 규칙을 기록하기 위한 표준적인 방법을 제공한다. | ||
|
||
9. 업무 규칙 명세서의 처리사항(action taken) 부분의 목적은 무엇인가? | ||
|
||
- 필드 명세의 요소들이나 관계 다이어그램에 가한 수정을 나타내는 곳이다. | ||
|
||
10. 검증 테이블의 목적은 무엇인가? | ||
|
||
- 검증테이블(룩업 테이블로도 알려져 있다)은 데이터 무결성을 구현하기 위한 구체적으로 사용하는 데이터를 저장한다. | ||
|
||
11. 검증 테이블의 전형적인 구조는 무엇인가? | ||
|
||
- 검증테이블은 보통(그러나 항상 그렇진 않다) 두 개의 필드로 구성된다. 첫번째는 주 키의 역할을 하고 데이터 무결성을 강화하기 위해 사용되는 것이고 두번째는 데이터베이스의 어떤 다른 필드에 의해 요구되는 값들의 집합을 저장하는 단순한 비 키 필드다. | ||
|
||
12. 업무 규칙과 검증 테이블 사이의 연관성은 무엇인가? | ||
|
||
- 업무 규칙이 필드 값 범위를 제한할 때, 검증 테이블을 사용함으로써 제약조건을 강화할 수 있다. | ||
|
||
13. 완성된 업무 규칙 명세서를 모두 검토해야 하는 이유는 무엇인가? | ||
|
||
- 각 명세서를 주의 깊게 검사하고 규칙을 적절하게 설정했는지 그리고 명세서상의 모든 적절한 영역을 명확하게 표시했는지 확인한다. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,73 @@ | ||
1. 왜 뷰를 가상 테이블이라고 부를 수 있는가? | ||
|
||
- 자체적으로 데이터를 저장하는 대신 기반 테이블로부터 데이터를 추출하기 때문이다. | ||
|
||
2. 왜 뷰가 가치 있는지 두 가지 이유를 적어라. | ||
|
||
- 여러 테이블로부터 동시에 온 데이터로 작업하기 위해 사용할 수 있다. | ||
- 가장 최근의 정보를 반영한다 | ||
- 개인 또는 그룹의 특별한 요구에 개인화시킬 수 있다. | ||
- 데이터 무결성을 강화하는데 사용할 수 있다. | ||
- 보안이나 기밀성의 목적으로 사용할 수 있다. | ||
|
||
3. 데이터베이스의 논리적 구조를 설계하면서 정의할 수 있는 뷰 종류의 이름을 적어라. | ||
|
||
- 데이터 뷰 | ||
- 집계 뷰 | ||
- 검증 뷰 | ||
|
||
4. 데이터 뷰(또는 이 문제에 관해서는 임의 종류의 뷰)를 액세스 할 때마다 RDBMS는 무엇을 하는가? | ||
|
||
- 뷰에 엑세스 할 때마다 RDBMS는 이것을 재구축 및 재이식하므로, 이 뷰는 직원 테이블의 데이터에 적용한 최근의 변경사항을 반영한다. | ||
|
||
5. 뷰의 데이터에 적용할 수 있는 수정의 종류를 무엇이 결정하는가? | ||
|
||
- 단일 테이블 뷰의 경우처럼, 필드 명세와 업무 규칙들은 데이터에 가할 수 있는 수정의 종류를 결정한다. | ||
|
||
6. 다중 테이블 데이터 뷰를 정의하기 위해 충족시켜야 하는 유일한 요구사항은 무엇인가? | ||
|
||
- 둘 이상의 테이블을 사용하여 데이터 뷰를 정의할 수 있는데 이를 위한 유일한 요구사항은 뷰를 만들기 위해 사용하는 테이블들이 서로 관계를 가져야 한다는 것이다. | ||
|
||
7. 왜 데이터 뷰는 자신의 주 키를 포함하지 않는가? | ||
|
||
- 뷰는 테이블이 아니기 때문에 주키가 없다. 진짜 테이블은 데이터를 저장하고 따라서 레코드 각각을 위한 유일 식별자로 사용하기 위해 주 키를 필요로 한다. 그러나 뷰가 제공하는 정보에 기여한다고 판단된다면 뷰 내의 어떤 기반 테이블로부터 주 키를 포함시킬 수는 있다. | ||
|
||
8. 집계 뷰의 목적은 무엇인가? | ||
|
||
- 특정 데이터의 집합을 집계해서 생성된 정보를 표시하기 위해 이 종류의 뷰를 사용한다. | ||
|
||
9. 데이터 집합에 적용할 수 있는 가장 일반적인 집계 함수들은 무엇인가? | ||
|
||
- 합계, 평균, 평균값, 최솟값, 최대값, 개수 | ||
|
||
10. 그룹화 필드란 무엇인가? | ||
|
||
- 주어진 클래스 이름의 모든 인스턴스를 하나의 인스턴스로 그룹화한 필드이다. 집계 뷰내의 모든 데이터 필드들은 그룹화 필드다. | ||
|
||
11. 참/거짓 문제: 집계 뷰 내의 데이터를 수정할 수 있다. | ||
|
||
- 거짓, 모두 계산된 필드이다. | ||
|
||
12. 검증 테이블과 검증 뷰의 차이점은 무엇인가? | ||
|
||
- 이 둘의 차이점은 데이터 생성에 있는데, 검증 테이블은 자신의 데이터를 저장하는 반면, 검증 뷰는 기반 테이블로부터 데이터를 추출한다. 비록 하나의 테이블을 사용하여 검증 뷰를 정의할 수 는 있지만 보통은 하나의 테이블을 사용하여 검증 뷰를 정의하고 기반 테이블의 두세개 필드만 포함시킨다. | ||
|
||
13. 뷰 요구사항을 식별할 때 고려해야 하는 두 가지 요점의 이름을 적어라. | ||
|
||
- 그룹과 작성한 메모를 검토한다. | ||
- 설계 프로세스 앞 단계에서 수집한 데이터 입력, 보고서, 프레젠테이션 샘플들을 검토한다. | ||
- 테이블들과 그것들이 나타내는 주제를 검사한다. | ||
- 테이블 관계들을 분석한다. | ||
- 업무 규칙들을 검토한다. | ||
|
||
14. 언제 계산된 필드를 사용해야만 하는가? | ||
|
||
- 적절하고 의미 있는 정보를 제공하거나, 뷰가 데이터를 사용하는 방법을 개선한다면 그것들을 사용하는 것 | ||
|
||
15. 공상 과학 서적만 표시하는 뷰를 어떻게 정의하는가? | ||
|
||
- 적절한 테이블과 필드에 적절한 필터를 적용한다. | ||
|
||
16. 왜 데이터베이스 내의 모든 뷰를 위해 뷰 명세서를 완성해야만 하는가? | ||
|
||
- 이름이나 종류와 같은 뷰의 특성들을 문서화해놓고 이를 최종적으로 데이터베이스 구현에 유용하게 사용될 수 있다. |