(1) 키(Key)의 개념

키(Key) : 튜플을 식별하기 위해 상ㅇ하는 속성이나 속성의 집합. 참조 또는 검색시에 사용

 

(2) 키의 종류

  1) 후보키(Candidate Key)

    - 각 튜플을 유일하게 식별할 수 있는 속성이나 속성의 집합

    - 후보키의 조건은 유일성최소성을 모두 만족해야 함

  2) 기본키(Primary Key)

    - 후보키 중에서 튜플을 식별하기 위해 특별히 선택된 키

    - 중복될 수 없고, NULL 값이 올수 없음

    - 유일성과 최소성을 만족해야함

        * 유일성 : 각 튜플을 유일하게 식별하는 성질

           최소성 : 각 튜플을 유일하게 식별할 수 있는 최소 구성의 성질

  3) 대체키(Alternate Key)

    - 후보키 중에서 기본키를 제외한 속성

  4) 외래키(Foreign Key)

    - 다른 테이블을 참조하기 위해 사용되는 속성

      * 식별관계 : 외래키가 기본키

         비식별관계 : 외래키가 일반 속성

   5) 슈퍼키(Super Key)

     - 후보키와 다른 속성들과의 모든 조합

 

(3) 무결성(Integrity) 제약조건

무결성 : 정확성과 안정성을 나타내는 것으로, 무결성 제약조건은 정확성과 안정성을 유지하기 위한 제약조건

    1) 개체 무결성

       - 기본키는 NULL 값이 올 수 없고, 중복될 수 없음

       - 개체 식별에 오류가 없도록 하기 위한 조건

    2) 참조 무결성

       - NULL값이 올수 없고, 참조 테이블의 기본키와ㅏ 같아야 하는 제약조건으로 테이블 참조 시 오류가 없도록 하기위한 조건

    3) 도메인 무결성

       - 속성값의 범위가 정의된 경우 그 속성값은 정해진 범위 이내의 값을 구성해야 하는 조건

    4) 고유(Unique) 무결성

       - 특정 속성에 대해 고유한 값을 가지도록 조건이 주어진 경우, 그 속성 값은 모두 달라야 함

    5) NULL 무결성

       - 특정 속성값에 NULL이 올 수 없다는 조건이 주어진 경우, 그 속성값은 NULL이 올수 없음

    6) 키 무결성

       - 한 릴레이션에는 최소 하나의 키가 존재해야 하는 조건

'Certification > 정보처리기사' 카테고리의 다른 글

관계 데이터 모델  (0) 2016.03.28
개체-관계 모델(E-R Model)  (0) 2016.03.28
데이터베이스 설계  (0) 2016.03.23
데이터베이스 구조(스키마)  (0) 2016.03.23
데이터베이스 관리 시스템  (0) 2016.03.23

(1) 관계 데이터 모델

 - 2차원 구조의 표로 표현하는 방법을 말함

 

 릴레이션(Relation)

 자료 저장의 형태가 2차원 구조의 테이블로 표현

 속성(Attribute)

 각 열 ( Column - 항목 )

 튜플(Tuple)

 한 행을 구성하는 속성들의 집합 ( Tuple = Row = Record )

 도메인(Domain)

 값 들의 범위

 릴레이션 스키마(Relation Schema)

 속성 이름의 집합 (릴레이션의 구조)

 릴레이션 인스턴스(Relation Instance)

 튜플들의 집합

 차수(Degree)

 속성(항목)의 수

 카디널리티(Cardinality)

 튜플(행)의 수

* 릴레이션(Relation) = 테이블(Table) = 표

  속성(Attribute) = 열(Column) = 항목(Field)

  튜플(Tuple) = 행(Row) = 레코드(Record)

 

릴레이션의 특징

  - 튜플들은 모두 상이하다

  - 튜플들은 유일하며 순서에는 의미가 없다

  - 속성들 간의 순서는 의미가 없다

  - 속성은 원자값으로 구성되며 분해가 불가능하다

 

* Mapping Rule : - 개념적 데이터베이스 모델링 결과를 관계형 데이터베이스 이론에 근거하여 데이터베이스 구조로 변화하는 과정

                         - 개체는 릴레이션으로 속성은 릴레이션의 항목으로, 키 속성(식별자)은 기본키로, 관계는 외래키로 변환

 

* 교차 엔티티(Intersection Entity) : 다대다 관계의 E-R Model을 릴레이션으로 표현하는 경우 보다 하나의 릴레이션을 더 만들게 됨

 

 

 

 

'Certification > 정보처리기사' 카테고리의 다른 글

키(Key)와 무결성 제약조건  (0) 2016.03.28
개체-관계 모델(E-R Model)  (0) 2016.03.28
데이터베이스 설계  (0) 2016.03.23
데이터베이스 구조(스키마)  (0) 2016.03.23
데이터베이스 관리 시스템  (0) 2016.03.23

(1) 개체-관계 모델 (E-R Model) (=개념적설계)

- 개념적 설계 단계에서 사용되는 설계 기법

- P.Chen 박사에 의해 최초로 제안

 

(2) E-R Model의 기호

 

 

(3) 데이터베이스 모델

  1) 관계 데이터 모델

    -  2차원 구조의 표(테이블) 형태로 표현

    - 구조가 단순하며 사용이 편리해 가장 많이 사용

    - n:m 표현이 가능

 

  2) 네트워크 데이터 모델

    - 망데이터 모델이라고 하며, 레코드간 관계를 도형으로 표현

 

  3) 계층 데이터 모델

    - 트리 구조로 표현

'Certification > 정보처리기사' 카테고리의 다른 글

키(Key)와 무결성 제약조건  (0) 2016.03.28
관계 데이터 모델  (0) 2016.03.28
데이터베이스 설계  (0) 2016.03.23
데이터베이스 구조(스키마)  (0) 2016.03.23
데이터베이스 관리 시스템  (0) 2016.03.23

데이터베이스 설계란? 데이터베이스의 스키마를 정의하고 이에 따라 데이터베이스를 구현하기위한 전반적인 과정

 

* 요구조건분석 -> 개념적설계 -> 논리적설계 -> 물리적설계 -> 구현 -> 운영 및 개선

 

1. 요구 조건 분석

 · 사용자가 무엇에 대한 정보를 필요로 하는지 문제가 무엇인지를 분석하는 과정

 · 실제로 만들어야 할 데이터베이스 정의

 · 사용자의 요구 조건에 따라 명세서(Specification) 작성

 

2. 설계

 · 요구 조건 분석을 통해 얻는 정보를 토대로 실제 데이터베이스를 만들기 위한 이전단계로

개념적설계 -> 논리적설계 -> 물리적설계  과정을 통해 이루어짐

 

 1) 개념적 설계 ( Conceptual Design )  [ E-R 모델 ]

 · 구축하고자 하는 데이터베이스를 개념적으로 표현함으로써 구현할 데이터베이스를 정하고, 데이터베이스를 구성할 구성요소를 결정한 후 수행할 작업과 관계를 설계하는 과정

 

* E-R모델 : 개체,속성,관계 등을 약속된 기호를 이용함으로써 표현

 

 2) 논리적 설계 ( Logical Design )

 · 개념적 설계에서 만들어진 구조를 논리적으로 구현 가능한 데이터 모델로 변환하는 단계

 · 사용자가 알아볼 수 있는 형태로 변환(테이블과 같은 형태로 표현), 스키마를 정의하는 과정

 

 3) 물리적 설계 ( Physical Design )

 · 실제 기계가 처리하기에 알맞도록 내부 저장 장치 구조와 접근 경로 등을 설계하는 과정

 

3. 구현

 · 설계 과정에서 얻어진 것을 토대로 실제 데이터베이스를 만드는 과정

 * 데이터 아키텍쳐 (DA) : 기업의 데이터 측면에서 기업 시스템을 처음부터 끝까지 시스템의 본질인 데이터를 구조적 체계적으로 관리하고 설계하는 모든 과정

 

4. 운영 및 개선

 · 구현된 데이터베이스를 실제로 운영하는 단계

'Certification > 정보처리기사' 카테고리의 다른 글

관계 데이터 모델  (0) 2016.03.28
개체-관계 모델(E-R Model)  (0) 2016.03.28
데이터베이스 구조(스키마)  (0) 2016.03.23
데이터베이스 관리 시스템  (0) 2016.03.23
데이터베이스 개념  (0) 2016.03.23

1. 데이터베이스의 표현 

 논리적 구조 

 사용자 관점에서 본 구조를 나타내며 사용자가 이해하고 생각하는 것을 나타내는 형태

 물리적 구조

 저장 장치 관점에서 본 구조를 나타내며 기계 처리에 맞는 형태

 

 

2. 스키마

 내부 스키마    (Internal Schema)

 물리적 저장 장치 관점 에서 본 데이터베이스의 물리적 구조

 개념 스키마(Conceptual Schema)

 논리적 관점에서 본 전체적인 데이터 구조

 외부 스키마   (External Schema)

 전체 데이터 중 사용자가 사용하는 한 부분에서 본 논리적 구조를 말하며, 서브 스키마라고도 함

 

 

3. 데이터베이스 관리자 (DBA : DataBase Administrator)

 DBA

 · 데이터베이스 구성 요소를 결정

 · 저장 구조와 접근 방법을 선정

 · 보안, 권한 부여, 유효성 검사 등을 수행

 · 스키마를 정의

 · 예방, 회복 절차 수립 등을 모색

 · 무결성 유지를 위한 관리

 

* 데이터베이스 사용자

   · 응용 프로그래머 : 데이터베이스의 내용을 일반 사용자가 사용할 수 있도록 프로그램을 개발하는 사람을 말함

   · 사용자 : 데이터베이스의 내용을 실제 사용하는 사람이나 집단을 말함

   · 데이터 관리자(DA) : 기업이나 조직내에서 데이터 정의와 체계화와 감독 및 보안 업무를 담당하는 관리자 

 

 

'Certification > 정보처리기사' 카테고리의 다른 글

관계 데이터 모델  (0) 2016.03.28
개체-관계 모델(E-R Model)  (0) 2016.03.28
데이터베이스 설계  (0) 2016.03.23
데이터베이스 관리 시스템  (0) 2016.03.23
데이터베이스 개념  (0) 2016.03.23

1. DBMS의 정의

 

· 파일 시스템의 문제점인 데이터의 중복성과 종속성 등의 문제를 최소화하기 위해 등장

· 사용자와 데이터베이스 간의 중계 역할

· 데이터베이스의 내용을 정의,조작,제어 할수 있도록 함으로써 관리 운영하는 소프트웨어 시스템

 

2. DBMS의 필수 기능

 

 정의 기능 (Definition Facility) 

 저장될 데이터의 형태, 구조 등 디비의 저장에 관한 여러가지 사항을 정의(생성)하는 기능

 조작 기능 (Manipulation Facility)

 데이터베이스의 자료를 사용자가 이용할 수 있도록 요구에 따라 검색, 갱신, 삽입, 삭제 등을 지원하는 기능

 제어 기능 (Control Facility)

 데이터의 정확성과 안정성 유지를 위한 관리 기능으로 데이터의 무결성 유지, 보안, 병행 수행 제어 등을 제공

 

3. DBMS의 장 · 단점

 

장점 

 · 데이터의 중복성과 종속성을 최소화함

 · 데이터의 일관성을 유지함

 · 데이터의 무결성을 유지함

 · 사용자 간의 데이터 공유가 가능함

 · 데이터의 보안 유지가 가능함

 · 데이터의 표준화 구현이 가능함 

단점

 · 많은 운영비가 소요됨

 · 자료 처리가 복잡함

 · 백업과 복구의 어려움이 있음

* 무결성 : 데이터베이스 내에 저장되는 데이터 값들이 항상 일관성을 갖고 데이터의 유효성, 정확성, 안정성을 유지할 수 있도록 하는

              제약조건을 두는 데이터베이스의 특성

* 병행 수행 제어 : 동시에 여러 가지 작업을 하는 경우 무결성을 유지하기 위해 동시에 제어하는 것

 

 

4. 데이터베이스 언어

 

 정의어(DDL : Data Definition Language) 

 데이터베이스 구조를 정의 및 수정 등을 위해 사용되는 언어

예) CREATE, DROP, ALTER

 조작어(DML : Data Manipulation Language)

 데이터베이스 내의 자료를 검색, 삽입, 수정, 삭제하기 위해 사용되는 언어

예) SELECT, INSERT, UPDATE, DELETE

 제어어(DCL : Data Control Language)

 데이터베이스의 데이터에 대해 무결성 유지, 병행 수행 제어, 보호와 관리를 위한 언어

예) COMMIT, ROLLBACK, GRANT, REVOKE

 

'Certification > 정보처리기사' 카테고리의 다른 글

관계 데이터 모델  (0) 2016.03.28
개체-관계 모델(E-R Model)  (0) 2016.03.28
데이터베이스 설계  (0) 2016.03.23
데이터베이스 구조(스키마)  (0) 2016.03.23
데이터베이스 개념  (0) 2016.03.23

데이터베이스 개념

1. 데이터베이스의 정의

데이터베이스란?   다수의 사용자들이 공용으로 사용하기 위해 통합 · 저장운영 데이터의 집합

통합된 데이터 (Integrated Data) 

 중복을 최소화한 데이터 집합

 저장된 데이터 (Stored Data)

 언제든지 이용할 수 있도록 저장된 데이터의 집합

 공용 데이터 (Shared Data)

 다수 사용자와 응용 시스템이 공유할 수 있도록 만든 데이터 집합

 운영 데이터 (Operational Data)

 중복을 최소화하고 공유에 문제가 안생기도록 관리를 필요로 하는 데이터로 이용가치가 있는 데이터 집합

 

2. 데이터베이스의 특징

 계속적인 변화 (Continuous Evolution) 

 항상 최신 정보를 유지하도록 삽입, 삭제, 갱신이 이루어짐

 동시 공유 (Concurrent Sharing)

 여러 사용자가 동시 접근 이용

 실시간 접근성 (Real-Time Accessibility)

 질의에 대해 실시간 처리 및 응답

 내용에 의한 참조 (Contents Reference)

 물리적 주소나 위치에 의하지 않고 사용자가 요구하는 데이터 내용으로 검색

 

3. 데이터베이스의 구성 요소

1) 개체(Entity)

· 사람이 생각하는 개념이나 정보 단위와 같은 현실 세계의 대상체로, 실세계에 존재하는 유형 혹은 무형 정보의 대상이며 서로 구별이 되는 하나하나의 대상

· 개체는 하나 이상의 속성으로 구성

 

2) 속성(Attribute)

· 개체의 특성이나 혹은 상태를 기술

· 속성만으로는 개체를 구분하기 어려움

 

3) 관계(Relation)

· 두 개 이상의 개체 사이 또는 속성 간의 상호 연관성을 말함

· 관계 종류 

 1:1 (일 대 일) 

 두 개체 간의 구성 원소가 각각 하나씩 대응되는 경우

 1:n (일 대 다)

 두 개체 간의 구성 원소 중 하나의 원소와 여러 개의 원소가 대응되는 경우

 n:m (다 대 다)

 두 개체 간의 구성 원소들이 상호 여러 개의 원소들과 대응되는 경우

 

'Certification > 정보처리기사' 카테고리의 다른 글

관계 데이터 모델  (0) 2016.03.28
개체-관계 모델(E-R Model)  (0) 2016.03.28
데이터베이스 설계  (0) 2016.03.23
데이터베이스 구조(스키마)  (0) 2016.03.23
데이터베이스 관리 시스템  (0) 2016.03.23



'Certification > OCP' 카테고리의 다른 글

Oracle 공인인증 교육 Hands-on  (0) 2016.02.24

공인교육인증절차 hands-on

 

1. pearsonvue.com/oracle에서 Submit course form 클릭 후 Login

 

 

Oracle Database 11g Administrator OCP -> Next Step

 

 

Next Step

 

 

Next Step

 

 

개인이 교육 받은 기관명  입력 -> Next Step

 

 

Next Step

 

 

 

 

Submit

 

 

  Oracle에서 인증해주기를 기다리고 Approved로 변경되면

핸즈온인증 받으신 후 certview.oracle.com들어가셔서 테스팅아이디 등록하시면 오라클 자격증 다운가능합니다 

'Certification > OCP' 카테고리의 다른 글

ORACLE Certified Professional  (0) 2016.03.08

5 절 식별자

1. 식별자(Identifiers) 개념

하나의 엔터티에 구성되어 있는 여러 개의 속성 중에 엔터티를 대표할 수 있는 속성을 의미하여 하나의 엔터티는 반드시 하나의 유일한 식별자가 존재해야 한다.

 

2. 식별자의 특징

특징

내용

비고

유일성

주식별자에 의해 엔터티 내에 모든 인스턴스들을 유일하게 구분

사원번호가 주 식별자가 모든 직원들에 대해 개인별로 고유하게 부여

최소성

주식별자를 구성하는 속성의 수는 유일성을 만족하는 최소의 수가 되어야함

사원번호만으로도 고유한 구조인데 사원분류코드+사원번호로 식별자가 구성될 경우 부적절한 주식별자 구조

불변성

주식별자가 한 번 특정 엔터티에 지정되면 그 식별자의 값은 변하지 않음

사원번호의 값이 변한다는 의미는 이전기록이 말소되고 새로운 기록이 발생되는 개념

존재성

주식별자가 지정되면 반드시 데이터 값이 존재 (Null 안됨)

사원번호 없는 회사직원은 있을 수 없음

 

 

3. 식별자 분류 및 표기법

. 식별자 분류

분류

식별자

설명

대표성 여부

주식별자

엔터티 내에서 각 어커런스를 구분할 수 있는 구분자이며, 타 엔터티와 참조관계를 연결할 수 있는 식별자

보조식별자

엔터티 내에서 각 어커런스를 구분할 수 있는 구분자이나 대표성을 가지지 못해 참조관계 연결을 못함

스스로 생성여부

내부식별자

엔터티 내부에서 스스로 만들어지는 식별자

외부식별자

타 엔터티와의 관계를 통해 타 엔터티로부터 받아오는 식별자

속성의 수

단일식별자

하나의 속성으로 구성된 식별자

복합식별자

둘 이상의 속성으로 구성된 식별자

대체 여부

본질식별자

업무에 의해 만들어지는 식별자

인조식별자

업무적으로 만들어지지는 않지만 원조식별자가 복잡한 구성을 가지고 있기 때문에 인위적으로 만든 식별자

. 식별자 표기법

화살표로 표현...........

 

4. 주식별자 도출기준

해당업무에서 자주 이용되는 속성을 주식별자로 지정

명칭, 내역 등과 같이 이름으로 기술되는 것들은 가능하면 주식별자로 지정하지 않음

-> length가 길어서

복합으로 주식별자로 구성할 경우 너무 많은 속성이 포함되지 않도록 함

-> 자식 손자 엔티티 증손자 엔티티까지 복잡한 데이터모델이 구현됨.

 

5. 식별자관계와 비식별자관계에 따른 식별자

. 식별자관계와 비식별자 관계의 결정

엔터티 사이 관계유형은 업무특징, 자식엔터티의 주식별자구성, SQL 전략에 의해 결정

 

. 식별자관계

자식엔터티의 주식별자로 부모의 주식별자가 상속이 되는 경우

 

. 비식별자관계

부모엔터티로부터 속성을 받았지만 자식엔터티의 주식별자로 사용 않고 일반속성으로만 사용하는 경우

 

. 식별자 관계로만 설정할 경우의 문제점

PK속성의 수가 데이터 모델의 흐름이 길어질수록 증가 할 수밖에 없다.

 

. 비식별자 관계로만 설정할 경우의 문제점

자식엔터티로 상속이 되지 않아 자식엔터티에서 데이터를 처리할 때 쓸데없이 부모엔터티까지 찾아가는 경우 발생

 

. 식별자관계와 비식별자관계 모델링

1) 비식별자관계 선택 프로세스

자식엔터티의 독립된 주식별자 구성이 필요한지를 분석

2) 식별자와 비식별자관계 비교

항목

식별자관계

비식자관계

목적

강한 연결관계 표현

약한 연결관계 표현

자식 주식별자 영향

자식 주식별자의 구성에 포함

자식 일반 속성에 포함

표기법

실선 표현

점선 표현

연결 고려사항

- 반드시 부모엔터티 종속

- 자식 주식별자구성에 부모 주식별자포함 필요

- 상속받은 주식별자속성을 타 엔터티에 이전 필요

- 자식 주식별자구성을 독립적으로 구성

- 자식 주식별자구성에 부모 주식별자 부분 필요

- 상속받은 주식별자속성을 타 엔터티에 차단 필요

 

'Certification > SQLD' 카테고리의 다른 글

제 4 절 관계(Relationship)  (0) 2016.02.22
제 3 절 속성(Attribute)  (0) 2016.02.22
제 2 절 엔터티(Entity)  (0) 2016.02.22
제 1 절 데이터 모델의 이해  (0) 2016.02.22

+ Recent posts