수학
장 개요
단위 2.1 | 좋은 데이터베이스의 특성 |
단위 2.2 | 데이터베이스 문제 |
단위 2.3 | 이상을 제거하는 방법 |
학습 결과
이 장의 끝에서 당신은 할 수 있어야한다:
- 좋은 데이터베이스의 특성 제공
- 데이터베이스의 문제점 설명
- 정규화 및 프로세스를 설명합니다.
소개
데이터는 데이터베이스의 테이블에 저장됩니다. 그림 2.1 과 같이 단일 테이블(플랫 데이터베이스라고 함)또는 연결된 여러 테이블(그림 2.2 와 같이 관계형 데이터베이스라고 함)에 저장할 수 있습니다.
새로운 단어
필드-사람 또는 항목에 대한 단일 비트 정보(예:나이
)레코드–테이블에 캡처된 항목 또는 사람에 대한 관련 필드 그룹
기본 키–데이터베이스의 각 레코드에 대한 고유 식별자를 보유하는 필드(고유는 해당 종류의 식별자가 하나뿐임을 의미).)
각 테이블은 필드와 레코드로 구성됩니다. 필드는 데이터를 기록할 범주입니다. 예를 들어,위에 표시된 음악 테이블에는 제목,아티스트,기간 및 앨범과 같은 필드가 포함되어 있습니다. 레코드는 캡처되는 실제 데이터를 참조하며 각 레코드에는 단일 항목의 데이터가 포함됩니다. 예를 들어 노래 표에서 각 레코드는 해당 노래와 관련된 모든 정보(예:아티스트 및 기간)와 함께 단일 노래를 나타냅니다.
각 테이블에는 데이터베이스의 각 레코드에 대한 고유 식별자가 포함된 기본 키라는 하나의 필수 필드가 있을 수 있습니다. 이렇게 하면 하나의 항목만 참조할 수 있는 방식으로 테이블의 특정 레코드를 참조할 수 있습니다. 테이블의 기존 필드를 키 필드로 만들 수는 있지만 데이터베이스 작성자는 일반적으로 이 목적을 위해 특별히 새 필드를 만듭니다. 이를 통해 중복 항목이 없는지 확인할 수 있습니다.
때때로 데이터베이스 이상이있다,당신은 이러한 이상을 제거하는 방법을 배우게됩니다.
이 장에서는 관계형 데이터베이스를 디자인하고 만듭니다. 때때로 데이터베이스 이상이있다,당신은 이러한 제거하고 정상화에 도달하는 방법을 배우게됩니다.
요컨대
의 데이터베이스는 주체의 데이터는 1 과 0 으로 저장됩니다. 컴퓨터는 여전히 이러한 1 과 0 이 어떻게 구성되고 어떻게 해석되어야하는지 알아야합니다. 이를 위해 컴퓨터는 구성 할 데이터의 특정 시퀀스를 설명하는 데이터 구조를 사용합니다. 이를 통해 컴퓨터는 서로 다른 데이터 비트가 어떻게 관련되어 있는지 이해하고 데이터를 올바르게 해석 할 수 있습니다.
우리는 알파벳의 각 문자가 문자를 나타내는 것을 알고있다. 충분한 문자를 함께 추가하면 개념을 나타내는 단어(예:’주황색’또는’사랑’)가 형성됩니다. 따라서,두 개 이상의 사람들 사이의 유용한 정보의 통신을 허용–심지어 거리를 가로 질러.
데이터 및 명령어를 전달하기 위해,숫자,문자,문자,특수 기호,사운드/파닉스 및 이미지와 같은 데이터가 컴퓨터 판독 가능 형태(이진)로 변환된다. 이 데이터의 처리가 완료되면 사람이 읽을 수있는 형식으로 변환되고 처리 된 데이터는 의미있는 정보가됩니다. 정보는 지식이되고 다른 목적을 위해 인간에 의해 이해되고 사용될 수 있습니다.
활동 2.1 개정 활동
2.1.1 너의 자신의 낱말안에,데이타베이스가 이고 것을 위해 사용될 수 있는 것 설명하십시요. 답변을 지원하는 예를 제공합니다.
2.1.2 참 또는 거짓:데이터웨어 하우스는 다양한 소스의 트랜잭션 데이터를 사용하고 데이터를 분석적으로 사용합니다.
2.1.3 아래 목록에서 올바른 용어를 선택하여 빈칸을 채웁니다.
____________ 데이터베이스에.
비.항목 또는 사람에 대한 단일 비트의 정보는________입니다.
기음.항목에 대한 많은 관련 필드가 양식을 함께 넣을 때___________.
___________ 키는 데이터베이스의 각 레코드에 대한 고유 식별자를 포함합니다.
이자형._____________ 데이터 동안 트랜잭션______________ 많은 양의 기록 데이터를 저장합니다.
______________데이터베이스는 여러 테이블에 데이터를 저장합니다.
좋은 데이터베이스의 특성
모든 좋은 데이터베이스는 중요한 메타데이터와 데이터로 시작해야 합니다. 1 장에서 우리는 귀중한 데이터의 특성과 그 데이터를 관리하는 방법을 살펴 보았다. 아래 그림 2.3 에 나와 있습니다:
이제 좋은 데이터베이스의 특성을 살펴 보겠습니다:
- 데이터베이스는 모든 관련 데이터 및 요구 사항을 저장할 수 있을 만큼 강력해야 합니다.
- 는 관계를 통해 데이터베이스의 테이블을 연결할 수 있어야 합니다. 우리는 데이터베이스의 두 엔티티 사이에 이러한 관계를 정의 할 수 있어야합니다.
- 여러 사용자가 다른 사용자에게 영향을 주지 않고 동일한 데이터베이스에 액세스할 수 있어야 합니다. 예를 들어 여러 교사가 데이터베이스에서 작업하여 학습자의 마크를 동시에 업데이트할 수 있습니다. 교사는 또한 다른 주제 표시를 수정하지 않고 과목에 대한 표시를 업데이트 할 수 있어야합니다.
- 단일 데이터베이스는 다른 사용자에게 다른 뷰를 제공,그것은 자신의 역할에 따라,사용자에게 여러 뷰를 지원합니다. 학교 데이터베이스에서,예를 들어,교사는 학습자의 마크의 고장을 볼 수 있습니다;그러나,부모는 자녀의 보고서 만 볼 수 있습니다–따라서 부모의 액세스는 읽기 전용 될 것입니다. 동시에,교사는 수정 권한을 가진 모든 학습자의 정보 및 평가 세부 사항에 액세스 할 수 있습니다. 이 모든 것이 동일한 데이터베이스에서 발생할 수 있습니다.
- 데이터 무결성은 데이터베이스의 데이터가 얼마나 정확하고 일관성이 있는지를 나타냅니다. 누락 된 정보와 잘못된 정보가 많은 데이터베이스는 데이터 무결성이 낮다고합니다.
- 데이터 독립성은 데이터와 사용 중인 응용 프로그램(또는 응용 프로그램)간의 분리를 나타냅니다. 이렇게 하면 전체 응용 프로그램을 다시 컴파일하지 않고도 응용 프로그램의 데이터(예:맞춤법 오류 수정)를 업데이트할 수 있습니다.
- 데이터 중복성은 데이터베이스의 다른 위치에 정확히 동일한 데이터를 갖는 것을 의미합니다. 데이터 중복성은 데이터베이스 크기를 늘리고 무결성 문제를 일으키며 효율성을 떨어 뜨리고 이상을 초래합니다. 데이터는 여러 테이블에서 반복되지 않도록 저장해야 합니다.
- 데이터 보안은 데이터베이스의 데이터가 충돌,해킹 및 우발적 인 삭제로부터 얼마나 잘 보호되는지를 나타냅니다.
- 데이터 유지 관리는 데이터베이스 내의 오류를 수정하고 이상 현상이 발생하지 않도록 실행하는 월별,일별 또는 시간별 작업을 나타냅니다. 데이터베이스 유지 관리는 오류를 수정할뿐만 아니라 잠재적 오류를 감지하고 향후 오류가 발생하는 것을 방지합니다.
또한 잘 운영되는 데이터베이스를 구성하는 데 관련된 많은 사람들이 있습니다. 이들은:
- 기업의 요구에 맞게 데이터베이스를 설계하고 개발하는 개발자
- 관리자:
- 데이터베이스 사용량을 확인합니다.
- 데이터베이스를 사용하는 최종 사용자(예:교사 또는 부모).
활동 2.1
2.1.1 질문 번호 옆에 문자 만 쓰기(예:5–에프).
2.1.2 데이터베이스와 관련된 세 가지 유형의 사용자를 설명합니다.
2.1.3 품질 데이터의 다섯 가지 특성을 나열하십시오.
2.1.4 학교는 다음을 수행할 수 있는 데이터베이스를 만들고 싶습니다.:
- 학부모에게 자녀의 학업,평가 및 학교 활동에 대한 정보를 제공
- 교사가 각 아동 및 그 가족의 업무 및 평가
- 매장 세부 정보를 기록하도록 돕는다.
가.네다섯 학습자의 작은 그룹에서 작업 할 수 있습니다. 좋은 데이터베이스의 각 특성에 대해 토론하고 위의 시나리오를 참조하여 설명하십시오.
비.마인드 맵을 사용하여 토론을 제시하십시오.
단위 2.2 데이터베이스 문제점
플랫 파일 데이터베이스가 제대로 계획되지 않고 비정규화되고 일관성이 없으면 데이터베이스의 레코드(테이블)를 삽입,삭제 또는 수정하려고 할 때 문제가 발생합니다. 이로 인해 이상 현상이 발생하여 데이터베이스가 증가함에 따라 데이터 처리가 점점 어려워집니다. 또한 데이터 무결성을 유지하기가 더 어려워집니다. 이상 현상이 발생하면 데이터를 일관성있게 만드는 것은 매우 어려울 수 있습니다.
데이터베이스에서 발생할 수 있는 세 가지 유형의 문제가 있습니다:
- 삽입 이상: 사용할 수 없는 다른 데이터도 추가하지 않으면 필요한 데이터를 추가할 수 없는 방식으로 데이터베이스가 만들어졌습니다. 예를 들어,의사가 해당 멤버를 볼 때까지 새 멤버의 세부 정보를 저장할 수 없는 병원 데이터베이스입니다.
- 삭제 이상:데이터 레코드의 합법적인 삭제로 인해 일부 필수 데이터가 삭제될 수 있습니다. 예를 들어,환자의 세부 사항 중 일부를 삭제하면 병원 데이터베이스에서 환자의 모든 세부 사항을 제거 할 수 있습니다.
- 수정 이상: 잘못된 데이터를 변경해야 할 수 있으며,많은 레코드를 변경해야 할 수 있으므로 일부 변경이 잘못 될 가능성이 있습니다.
예제 2.1 데이터베이스에서 발생하는 문제
예를 들어 학교와 관련된 정보를 나타내는 아래 스키마를 살펴보십시오.
문제:
- 데이터 중복성:데이터 중복성은 데이터베이스의 다른 위치에 정확히 동일한 데이터를 저장하는 것을 의미합니다. 데이터 중복성은 데이터베이스 크기를 늘리고 무결성 문제를 일으키며 데이터베이스의 효율성을 떨어 뜨리고 데이터베이스 이상을 유발할 수 있습니다. 데이터는 여러 테이블에서 반복되지 않도록 저장해야 합니다. 가족은 하나의 단위로 표현 될 수 있습니다.
- 업데이트 이상:한 엔터티가 업데이트되면 데이터가 일치하지 않습니다(예:패밀리 주소가 변경되면 데이터 캡처자가 네 개의 엔터티를 모두 변경해야 함).
- 일부 정보를 나타낼 수 없음: 학교는 대기자 명단에 있는 학습자에 대한 정보는 학교에 계정이 없기 때문에 보관할 수 없습니다.
- 삭제 이상:한 자녀에 대한 계정을 폐쇄하면 데이터베이스에서 두 번째 자녀의 모든 데이터가 제거됩니다.
활동 2.2
2.2.1 세 가지 유형의 이상을 나열하고 각각에 대한 예를 제공합니다.
2.2.2 병원 관련 정보를 나타내는 아래 스키마를 살펴보십시오.:
계정 정보
이 데이터베이스로 적어도 네 가지 예외 사항을 나열하고 설명하십시오.
단위 2.3 이상 현상을 제거하는 방법
이상 현상을 방지하려면 데이터베이스에서 데이터를 효율적으로 구성하여 데이터베이스를 정규화해야 합니다.
관계형 데이터베이스의 발명자 에드거 에프 코드에 따르면,정규화의 목표는 다음과 같다:
- 데이터베이스에서 모든 중복(또는 반복)데이터 제거
- 바람직하지 않은 삽입,업데이트 및 삭제 종속성 제거
- 새 필드가 추가될 때마다 전체 데이터베이스를 재구성해야 하는 필요성 감소
- 테이블 간의 관계를 더욱 유용하고 이해하기 쉽게 만듭니다.
정규화는 데이터 중복 및 삽입,수정 및 삭제 이상을 제거하기 위해 테이블을 분해하는 체계적인 접근 방식입니다. 데이터베이스 디자이너는 불필요한 중복을 제거하고 필요한 모든 정보에 대한 빠른 검색 경로를 제공하는 방식으로 데이터를 구성합니다. 이 관계 테이블에서 중복 된 데이터를 제거,테이블 형식으로 데이터를 넣는 다단계 프로세스입니다. 효율적인 데이터베이스를 만들기 위해 테이블,키,열 및 관계를 지정하고 정의하는이 프로세스를 정규화라고합니다.
정규화는 데이터베이스가 사용하는 공간의 양을 줄이고 데이터가 효율적으로 저장되도록 합니다. 정규화가 없으면 데이터베이스 시스템이 부정확하고 느리고 비효율적 일 수 있습니다. 그들은 당신이 기대하는 데이터를 생성하지 않을 수 있습니다.
실제로 이는 다음 요구 사항을 충족하도록 데이터베이스를 변경하는 것을 의미합니다:
- 각 테이블에는 기본 키
- 각 레코드에는 단일 값 속성/열(원자성)
- 반복 정보 그룹이 없어야합니다.
키는 테이블 간의 관계를 설정 및 식별하고 테이블 내부의 데이터 레코드 또는 행을 고유하게 식별하는 데 사용됩니다. 키는 단일 속성 또는 속성 그룹(복합 기본 키)일 수 있으며,여기서 조합은 키 역할을 할 수 있습니다. 키는 모든 데이터 행을 식별하는 데 도움이됩니다.
데이터베이스를 디자인할 때 다음 네 가지 유형의 키 필드는 다음과 같습니다:
- 기본 키:데이터베이스 작성자가 테이블의 각 레코드를 고유하게 식별하도록 선택한 필드입니다. 예를 들어,음악 데이터베이스의 각 노래에는”노래 _아이디”라는 기본 키 필드가 있을 수 있습니다.
- 대체 키: 기본 키로 사용할 수 있지만 현재 기본 키로 설정되지 않은 고유 값이 포함된 필드입니다.
- 외래 키:다른 테이블의 기본 키 필드의 값을 포함하는 필드입니다. 외래 키는 서로 다른 테이블 간의 관계를 표시하는 데 사용됩니다. 예를 들어 음악 데이터베이스의 각 노래에는 노래를”아티스트”테이블의 특정 아티스트와 연결하는”아티스트”라는 외래 키 필드가 있을 수 있습니다.
- 복합 키: 테이블의 각 레코드를 고유하게 식별하는 둘 이상의 필드의 조합입니다.
이 예제를 사용하여 네 가지 주요 키 유형을 이해해 보겠습니다:
정규화 규칙은 다음과 같은 정상적인 형태로 구분된다:
첫 번째 정규 형태(1)
테이블이 첫 번째 정규 형태로하려면,다음과 같은 네 가지 규칙을 따라야합니다:
- 각 열에는 별도의 필드/특성이 있어야 합니다. 테이블의 각 열에는 여러 값이 포함되어서는 안 됩니다. 예를 들어,페이스 북 상태 업데이트,특히 좋아하는 관련 테이블에 대한 데이터베이스를 상상한다.. 레코드가 분할 될 수 있도록,각각의 같은 별도의 레코드에 저장되어야한다. 이렇게 하면 각 레코드가 발생했거나 발생하지 않았을 것입니다. 다른 부분은하지 않았다 동안 등의 작은 부분이 발생했다고 말할 수있는 방법은 없습니다. 그러나 상태 업데이트에 대한 모든 좋아요가 단일 레코드에 저장되면 레코드는 나눌 수 있습니다.
- 열에 저장된 값은 같은 종류 또는 유형(도메인)이어야 합니다. 각 열에 저장된 값은 같은 종류 또는 형식이어야 합니다.
- 테이블의 모든 열에 고유한 이름이 있어야 합니다. 테이블의 각 열에는 데이터를 검색하거나 저장된 데이터에 대해 다른 작업을 수행할 때 혼동을 피하기 위해 고유한 이름이 있어야 합니다. 예를 들어,자녀의 이름과 부모의 이름을 지정하고’이름’을 사용하지 마십시오.
- 데이터가 저장되는 순서는 중요하지 않습니다. 예를 들어
- 이 테이블은 네 가지 규칙 중 세 가지 규칙을 준수합니다:열 이름은 고유하고 저장된 데이터는 올바른 순서이며 열에 서로 다른 유형의 데이터가 혼합되어 있지 않습니다. 그러나,테이블에 있는 학습자는 하나 이상의 주제에 대 한 선택 했다. 이 데이터는 주체 이름에 단일 열에 저장되었습니다. 각 열은 단일 값을 포함해야 합니다.
두 번째 정규 형식(2)
두 번째 정규 형식:
- 첫 번째 정규 형식이어야합니다.
- 부분 종속성이 없어야합니다.
여기서 테이블의 특성은 전체 키가 아닌 기본 키의 일부에만 의존합니다. 예를 들어,테이블은 기본 키를 학생 아이디 및 각 학습자의 주제 아이디 로 기록합니다. 교사의 이름 만 주제에 따라 다릅니다. 그래서,주제 아이디,그리고 학생 아이디 와 아무 상관이 없습니다.
세 번째 정규 형식
테이블은 다음과 같은 경우 세 번째 정규 형식이라고합니다:
- 그것은 두 번째 정상적인 형태입니다.
- 전이 종속성이 없습니다. 전이 종속성은 속성/필드가 기본 키에 의존하지 않고 다른 속성/필드에 의존 할 때 발생합니다.
이것은 동일한 테이블의 값 간의 간접 관계입니다.
활동 2.3
2.3.1 데이터베이스에 대해 정규화가 중요한 이유를 설명하십시오.
2.3.2 정규화에 어떻게 도달 할 수 있습니까?
2.3.3 데이터베이스에서 사용할 수 있는 네 가지 유형의 키 필드를 나열하고 설명합니다.
2.3.4 아래 표를 어떻게 수정하여 1 에 도달 할 수 있습니까?
2.3.5 위에 언급되지 않은 다른 키 필드의 예제를 제공하십시오.
2.3.6 아래 표의 정보를 사용하여 두 키의 예를 제공합니다.
통합 활동 2 장:데이터베이스 설계 개념
1.정답을 선택합니다.
ㅏ.다음 시나리오 중 데이터베이스가 필요하지 않은 시나리오는 무엇입니까?
모든 지메일 계정의 자격 증명을 저장.
비.귀하의 개인 컴퓨터에있는 모든 정보를 백업.
다.웹 사이트의 모든 웹 페이지 저장.
디.기업의 재고에 대한 모든 정보를 저장.
비.다음 중 좋은 데이터베이스의 특징은 무엇입니까?
답.백업을 위해 데이터베이스에 데이터의 복사본을 만듭니다.
나.데이터 및 응용 프로그램이 서로 연결되고 종속되도록 유지.
다.데이터베이스에서 오류가 발생하지 않도록 합니다.
디.다른 형식으로 데이터를 저장.
기음.데이터베이스 테이블의 각 레코드를 다르게 만들기 위해 다음 중 필요한 것은 무엇입니까?기본 키
디.보조 키
비.외래 키
다.기본 키
디.대체 키
2.데이터베이스를 디자인하는 데 사용되는 네 가지 유형의 키를 나열합니다. 예를 들어 사용할 테이블을 디자인합니다.
3.In 데이터베이스 디자인 1,2 및 3 에 대한 요구 사항은 무엇입니까?