본문 바로가기
728x90

개발/Database22

데이터베이스 과제#7 : 정규화 연습문제 풀이 과제 내용 ▣ 9장 연습문제(p386~387) 중 아래 문제를 풀이하라. ◈ 문제1, 문제2, 문제3, 문제4 ◈ 문제5 수정) 릴레이션R의 스키마가 다음과 같다. 여기서 A,B,C,D는 속성이라고 한다. 릴레이션R은 어떤 정규형에 속하는가? 또한 해당 정규형에 속하는 이유를 쓰시오. R(A, B, C, D) 함수적종속성: A->B, A->C, A->D, B->C 기본키: A ◈ 문제6 수정) 릴레이션S의 스키마가 다음과 같다. 여기서 A,B,C,D는 속성이라고 한다. 릴레이션S는 어떤 정규형에 속하는가? 또한 해당 정규형에 속하는 이유를 쓰시오. S(A, B, C, D) 함수적종속성: (A,B)->C, (A,B)->D, B->C 기본키: (A,B) ◈ 문제9 수정) 다음 릴레이션은 어떤 정규형인지 쓰고.. 2020. 7. 14.
데이터베이스 팀프로젝트 보고서(Team Project Report) google play store 1. 기말과제 제안서 제출된 내용과 대비차이점, 발전성 • 도서종류에 E-book, 오디오북 속성 삭제 Why? 애초에 개체의 값에 해당하는 부분이었기에 속성으로 표현할 필요가 없었다. • ISPN을 ISBN으로 수정 Why? ISPN은 Internet Service Provider Number로써, 인터넷 상에서 개별구별자로 사용되는 개념이라, 좀 더 구체적으로 해당하는 ISBN(International Standard Book Number, ISBN)으로 수정했다. • 공급과 사용에 대한 관계이름에 대한 이름변경 Why? ER모델을 관계 데이터모델로 변환하는 과정에 있어서 공급과 사용에 대한 관계이름의 중복으로 인해 모호성이 발생하여서 좀 더 구체적으로 설명할 필요성이.. 2020. 7. 14.
데이터베이스 과제#6 제출되어야 할 내용 ▣ 각 문제 (총4문제)에 대한 결과물 ▣ 자신의 과제 수행 결과에 대한 자체 평가 (숙제 맨 마지막 장을 할당하여 작성할 것) ◈ 완성여부 완성 인 경우 “완성”이라고 적음 ◈ 미완성인 경우 “미완성”이라고 적음 (어떤 부분이 미완성인지 기술) ◈ 과제를 하면서 느낀 점 (어떠한 내용이어도 상관없음) 개념적 데이터 모델링 : ER 다이어그램 ▣ 다음과 같은 ER 다이어그램이 주어진다. 논리적 데이터 모델링 문제 1. 앞장에서 정의된 ER다이어그램을 관계형 데이터베이스 테이블로 변환하고자 한다. 이를 위한 테이블 생성문을 SQL문으로 작성하라. ◈ 주의사항) 해당 결과는 오라클 데이터베이스에서 SQL문을 사용하여 작성하도록 한다. 무결성 제약조건도 모두 고려하여 SQL문에 작성되어야 .. 2020. 7. 14.
데이터베이스 과제#5 문제 1. 다음 용어를 설명하시오. 문제1.1 도메인 무결성 제약조건 answer : 특정 속성의 값이, 그 속성이 정의된 도메인에 속한 값이어야 한다는 규정 문제1.2 개체(entity) 무결성 제약 조건 answer : 기본키를 구성하는 모든 속성은 널 값을 가지면 안 된다는 규칙이다. 관계 데이터 모델에서는 릴레이션에 포함되어 있는 투플들을 유일하게 구별해주고 각 투플에 쉽게 접근할 수 있도록 릴레이션마다 기본키를 정의한다. 그런데 기본키 를 구성하는 속성 전체나 일부가 널 값이 되면 투플의 유일성을 판단할 수 없어 기본키의 본래 목적을 상실하게 된다. 문제 1.3 참조 무결성 제약 조건 answer : 외래키는 참조할 수 없는 값을 가질 수 없다는 규칙이다. 외래키는 다른 릴레이션의 기본키를 참조.. 2020. 7. 14.
데이터베이스 과제#4 ▣ 각 문제에 대한 해답 ▣ 자신의 과제 수행 결과에 대한 자체 평가 (숙제 맨 마지막장을 할당하여 작성할 것) ◈ 완성여부 완성인 경우 ƒ“완성”이라고 적음 ƒ 미완성인 경우 ƒ“미완성”이라고 적음 - 어떤 부분이 미완성인지 기술 ◈ 과제를 하면서 느낀 점 (어떠한 내용이어도 상관없음) ▣ 문제1 ◈ 과제3의 문제1(ER다이어그램)에 대한 답을 수정하여 작성하라. (수정이 필요 없는 경우는 그대로 작성하면 됨.) ▣ 문제2 ◈ 과제3의 문제2(ER다이어그램)에 대한 답을 수정하여 작성하라. (수정이 필요 없는 경우는 그대로 작성하면 됨.) ▣ 문제3 ◈ 과제3의 문제3(ER다이어그램)에 대한 답을 수정하여 작성하라. (수정이 필요 없는 경우는 그대로 작성하면 됨.) ▣ 문제4 ◈ 과제3의 문제4(ER다.. 2020. 7. 14.
데이터베이스 과제#3 문제 1,2,3,4에 대해 각각 ER 다이어그램을 작성하라. 문제 5 임의의 요구사항을 작성하라. (문제 1,2,3,4처럼) 작성한 요구사항에 대해 ER 다이어그램을 작성하라. 문제 1. 전화 가입 관리 ▣ 전화 가입자를 관리하기 위해, 가입자 정보로는 주민등록번호, 이름, 주소를 관리한다. ▣ 각 가입자는 여러 개의 전화에 가입할 수 있지만, 각 전화에 대한 가입자는 2명 이상이 될 수 없다. ▣ 각 전화는 전화번호(전화별로 전화번호는 유일함)를 가지며, 가입자가 전화에 가입한 날짜가 관리되어야 한다. ▣ 각 전화는 여러 개의 부가서비스(예:로밍 서비스, 발신자번호표시 등)에 가입할 수 있다. ▣ 부가서비스는 이름과 월사용료를 가진다. 이 때, 부가서비스의 이름이 동일한 것은 없다고 한다. 문제 2. .. 2020. 7. 14.
데이터베이스 과제#2 6장 연습문제 ( p.196 ~ 199 ) 중 아래 문제 풀이 문제 1, 4, 5, 6, 7, 9, 11, 14, 15, 16 문제 19중 (1), (2), (3), (5) 문제 20중 (1), (2), (3) 6장 기출문제 ( p.200~ 206 ) 중 아래 문제 풀이 문제 23 문제 25, 30 : 답 이외에도, 해당 답의 이유도 함께 쓸 것 (문제는 쓰지 않아도 됨) 문제 1. 릴레이션의 A와 B가 합병 가능한지 여부를 판단하는 기준이 아닌 것은? 1. 두 릴레이션의 인스턴스가 동일해야 한다. 2. 두 릴레이션의 차수가 동일해야 한다. 3. 두 릴레이션의 대응하는 속성의 이름은 달라도 상관없다. 4. 두 릴레이션의 대응하는 속성의 도메인은 동일해야 한다. 답 : 1번 풀이 : 릴레이션의 인스턴스는 .. 2020. 7. 14.
데이터베이스 과제#1 1.0 1장~3장에서 배운 내용에 대해 문제를 내고 이에 답하라. [문제와 답을 모두 쓸 것] 문제 개수 : 10개 문제 형태 : 자유 연습문제를 참고로 하여 문제를 변형하여 내는 것은 좋으나, 연습문제와 동일한 문제를 내는 것은 허용하지 않음 1.1 데이터베이스 관리 시스템에 대해 서술하시오. 데이터를 편리하게 저장하고 효율적으로 관리하고 검색할 수 있는 환경을 제공해주는 소프트웨어 or 데이터베이스의 생성과 관리를 담당하는 소프트웨어 패키지 1.2 데이터베이스 관리 시스템(DBMS)와 데이터베이스 시스템(DBS)의 차이점에 대해 서술하시오. 데이터베이스 관리 시스템(DBMS)는 데이터베이스 시스템 내부에 해당하는 시스템이며, 데이터베이스 시스템(DBS)는 데이터베이스 + 데이터베이스 관리 시스템 + .. 2020. 7. 14.
데이터베이스 개념적 데이터 모델_개체-관계 모델(3) - 모델링 연습 데이터베이스 시스템 개발 단계 개념적 설계 : ER 모델링 과정 ▣ 개체와 속성 추출 방법 ◈ 요구 사항에서 업무와 관련이 깊은 의미 있는 명사 찾기 ∙ 업무와 관련이 적은 일반적이고 광범위한 의미의 명사는 제외 ∙ 의미가 같은 명사가 여러 개이면 대표 명사 하나만 선택 ◈ 찾아낸 명사를 개체와 속성으로 분류하기 ▣ 관계 추출 방법 ◈ 요구 사항에서 개체 간의 연관성을 의미 있게 표현한 동사 찾기 ∙ 의미가 같은 동사가 여러 개이면 대표 동사 하나만 선택 ◈ 찾아낸 관계에 대해 매핑 카디널리티와 참여 특성 결정 ∙ 매핑 카디널리티: 일대일(1:1), 일대다(1:n), 다대다(n:m) ∙ 참여 특성: 필수적 참여 / 선택적 참여 ER모델링 ∙ 퀵팡 마트에서는 회원들이 인터넷으로 원하는 상품을 쇼핑할 수 있.. 2020. 7. 14.
데이터베이스 ER모델을 사용한 데이터베이스 설계 ER모델을 사용한 데이터베이스 설계 과정 INPUT: 요구사항명세서 OUTPUT: ER 다이어그램 개체 타입들을 식별 개체 타입들과 관계 타입들에 필요한 속성들을 식별하고, 각 속성이 가질 수 있는 값들의 집합을 식별 개체 타입들을 위한 기본 키를 식별 관계 타입들을 식별 관계 타입에 속성이 필요한 경우라면 속성 식별 관계가 1:1, 1:n, n:m 중에서 어느 것에 해당하는지 결정 ER 다이어그램 작성 ER 다이어그램이 요구사항에 부합되는지 검사 설계논쟁 ▣ 개체 타입? 속성? 지침) 키 이외에 관심을 가질만한 정보를 추가로 갖지않는다면 개체가 아닌 속성으로 ▣ 이진 관계? 다진 관계? ▣ 속성의 위치 ▣ 설계 고려사항 ◈ 충실성(faithfulness) : 설계는 다루고자 하는 상황을 충실하게 나타내.. 2020. 7. 14.
데이터베이스 개념적 데이터 모델_개체-관계 모델 (2) 개체-관계 모델(ER모델) - Advanced - (4장 2절) 관계 제약 조건을 보다 상세하게 기술: 참여(participation) 특성 : 개체 집합 내 모든 개체 인스턴스가 관계에 참여하는지 유무에 따른 특성 (매핑 카디널리티 이외에, 관계에 대한 제약조건) ▣ 필수적참여(전체참여,total participation): 모든 개체 인스턴스가 관계에 반드시 참여해야 되는 것을 의미 ◈예) 고객 개체가 책 개체와의 구매 관계에 필수적 참여 ∙ 모든 고객은 책을 반드시 구매해야 함 ◈ER 다이어그램표기법 : 이중선으로 표현 ▣ 선택적 참여 (부분참여,partial participation) : 개체 인스턴스 중 일부만 관계에 참여해도 되는 것을 의미 ◈예) 책 개체가 고객 개체와의 구매 관계에 선택적 .. 2020. 7. 14.
데이터베이스 개념적 데이터 모델_개체-관계 모델 (1) 데이터모델(리뷰) : 데이터 모델링의 결과물 ( 혹은 데이터 모델링의 결과물을 표현하는 도구, 방법 ) ▣ 데이터모델의분류 ◈ 개념적 데이터 모델(conceptual data model) 예: 개체-관계(ER: Entity-Relationship) 데이터모델 ◈ 논리적 데이터 모델(logical data model) ◈ 물리적 데이터 모델(physical data model) ER 모델 개념 ▣ ER(Entity Relationship) 모델 - 개체 관계 ◈ 데이터베이스 설계를 용이하게 하기 위해서 피터 첸(Peter Chen)이 제안 ◈ 개념적 설계를 위한 인기 있는 모델 (말로 된 경우 애매모호하기 때문에 이를 위해 그림으로 표현 ) ◈ 최종 결과물 : ER 다이어그램 - 개념적 모델링 결과를 표준.. 2020. 7. 14.
데이터베이스 시스템 개발 단계 2020. 7. 14.
데이터베이스 관계 대수 연산자 - 집합 연산자 ▣ 집합 연산자 ◈ 릴레이션이 투플들의 집합이기 때문에 기존의 집합 연산이 릴레이션에 적용됨 ◈ 세 가지 집합 연산자: 합집합, 교집합, 차집합 연산자 ◈ 집합 연산자의 입력으로 사용되는 두 개의 릴레이션은 합병 가능(union compatible) 조건을 만족해야 함 ◈ 집합 연산자들은 두 개의 릴레이션을 입력으로 받아들이므로 이항 연산자 ▣ 합병가능(union compatible) 조건 ◈ 두 릴레이션 R1(A1, A2, ..., An)과 R2(B1, B2, ..., Bm)이 합병 가능할 필요 충분 조건은 n=m이고, 모든 1≤i≤n에 대해 domain(Ai) = domain(Bi) ◈ 즉, 두 릴레이션의 속성 수가 같고, 대응되는 속성의 도메인이 같다. ◈ 예1 고객(고객번호, 이름, 주소, 핸드폰.. 2020. 7. 14.
데이터베이스 관계 데이터 연산 - 관계 대수 관계 데이터 모델에서의 데이터베이스 언어 : 관계 데이터 모델 기반 DBMS에서 원하는 정보를 얻기 위해 사용하는 언어 ▣ 관계 데이터모델에서 지원되는 두 가지 정형적인 언어(“pure”language) - 컴퓨터에서 사용X, 언어 그 자체 : 관계형 데이터베이스 언어의 이론적 바탕이 되는 언어 ◈관계대수(relational algebra) 원하는 데이터를 얻기 위해, 데이터를 어떻게 찾는지에 대한 처리 과정을 명시하는 절차적인 언어 ◈관계해석(relational calculus) 원하는 결과를 얻기 위해, 찾기를 원하는 데이터가 무엇인지만 명시하는 선언적인(비절차적인)언어 ▣ 관계 데이터 모델에서의 상용 데이터베이스 언어 : SQL ◈ 상용 관계 DBMS들의 사실상의 표준 질의어 정형적인 언어는 상용 .. 2020. 7. 14.
관계 데이터 모델 - 개념 관계 데이터 모델의 기본 개념 개념적 구조를 논리적 구조로 표현하는 논리적 데이터 모델 하나의 개체에 대한 데이터를 하나의 릴레이션에 저장 관계 데이터 모델의 기본 용어 ㆍ 릴레이션(relation) : 행과 열로 구성된 테이블 ㆍ ‘릴레이션’ 용어가 포함된 관련 용어 ㆍ릴레이션과, 릴레이션 구성 요소의 공식 용어 행(row) : 투플(tuple) 열(column) : 애트리뷰트 혹은 속성 (attribute) 테이블 : 릴레이션 (relation) ㆍ도메인 (domain) (DATA TYPE) 하나의 속성이 가질 수 있는 모든 값의 집합 속성 값을 입력 및 수정할 때 적합성의 판단 기준이 됨 - INT에 한글 넣었을 때 작동X, DATA의 정확성에 초점. 일반적으로 속성의 톡성을 고려한 데이터 타입으로.. 2019. 12. 21.
데이터베이스 모델링 - 개념 데이터 모델링과 데이터 모델의 개념 데이터 모델링(data modeling) = 설계를 한다. - 현실 세계의 데이터를 컴퓨터 세계의 데이터베이스로 옮기는 변환 과정 - 추상화 (abstraction) - 데이터베이스 설계 과정 ( 실제 크기를 넣을 수 없느니, 코끼리를 컴퓨터에 넣는다. 현실DATA --변환--> DATA ) 1. 개념적 데이터 모델링 (conceptual data modeling) -> 사람이 이해하는 수준에 그친다. - 현실 세계의 중요 데이터를 추출하여 (사람이 이해할 수 있는 형태의) 개념적 구조로 표현하는 과정 - 사람이 인식하는 것과 유사하게 데이터 구조 명시 2. 논리적 데이터 모델링 (logical data modeling) - 중간 단계 - 개념 세계의 데이터를 데이터베.. 2019. 12. 21.
데이터베이스 언어 & 사용자 & 구성 데이터베이스 언어 데이터 정의어(DDL, Data Definition Language) - 데이터 구조(스키마) 정의, 수정, 삭제 데이터 조작어(DML, Data Manipulation Language) - 데이터 검색,삽입,삭제,수정 데이터 제어어(DCL, Data Control Language) - 내부적으로 필요한 규칙이나 기법 정의 - 권한 부여 등을 통한 보안, 회복, 동시성 제어 등 가장 유명한 데이터베이스 언어 : SQL 데이터베이스 사용자 최종 사용자 (End User) 초보 사용자 - 이미 만들어진 응용 프로그램을 이용하여, 데이터를 다루는 업무를 하는 사람 - 자신이 DBMS를 이용하는지 알지 못한다. 캐주얼 사용자 - 데이터베이스 언어(예:SQL)를 사용하여 데이터 검색, 데이터 분.. 2019. 12. 21.
데이터베이스 시스템의 구조 1. 3단계 데이터베이스 구조 ANSI/SPARC 아키텍처 현재 대부분의 상용 DBMS 구현에서 사용되는 일반적인 아키텍처는 미국 표준화 기관인 ANSI/SPARC에서 제안한 아키텍처를 기반으로 함 ANSI/SPARC 아키텍처는 3단계로 이루어짐 - 외부단계(external level) 또는 뷰단계 (view level) - 사용자 - 개념 단계(conceptual level) 또는 논리 단계(logical level) - 조직 전체 - 내부 단계(internal level) 또는 물리 단계(physical level) - 저장 장치 이해를 쉽게 하기 위한 이야기 : 장님 코끼리 만지기 예 : 쇼핑몰 데이터베이스 참고) 스키마, 인스턴스 스키마(schema) - 뼈대 - 데이터베이스에 저장되는 데이터 구.. 2019. 12. 21.
데이터베이스 관리 시스템(DBMS) 정의 & 발전과정 데이터베이스 관리 시스템의 정의 DBMS의 기능 정의(Definition)기능 : 데이터베이스 구조 정의, 이미 정의된 데이터베이스 구조 수정(삭제, 변경) 조작(Manipulation)기능 : 데이터의 검색,삽입,수정,삭제 연산 지원 제어(Control)기능 : 데이터를 항상 정확하고 안전하게 유지(데이터베이스 사용자 생성, 사용자 권한 부여, 사용자 접근 제어, 백업과 회복, 동시성 제어 등) 데이터베이스 관리 시스템의 발전 과정 계층 DBMS : 데이터베이스를 트리 형태로 구성 네트워크 DBMS : 데이터베이스를 그래프 형태로 구성 관계 DBMS : 데이터베이스를 테이블 형태로 구성 객체지향 DBMS : 객체를 이용해 데이터베이스 구성 객체관계 DBMS : 객체 DBMS + 관계 DBMS NoSQL.. 2019. 12. 21.
728x90
반응형