검색결과 리스트
분류 전체보기에 해당되는 글 93건
- 2011.04.20 관계형 DB 구조
- 2011.04.20 DB 설계
- 2011.04.20 논리적 데이터 모델
- 2011.04.20 데이터 모델
- 2011.04.20 DB 언어
글
관계형 DB
1970년에 코드(Codd)에 의해 처음 제안
관계형 DB를 구성하는 개체, 관계를 릴레이션이라는 표로 표현한다.
장점과 단점은 관계형 DB 모델링과 같다.
* 릴레이션 - 데이터들을 테이블 형태로 표현한 구조를 나타내는 릴레이션 스키마, 실제 값인 릴레이션 인스턴스로
구성되며 개체를 표현하는 개체 릴레이션, 관계를 나타내는 관계 릴레이션으로 구분한다.
* 릴레이션 인스턴스 - 속성들에 데이터 타입이 정의되어 구체적인 데이터 값을 가지고 있는 것이다.
릴레이션 구조
튜플, 속성, 도메인으로 구성되어 있다.
튜플
릴레이션을 구성하는 각각의 행을 말하며 속성의 모임으로 구성된다.
또한 튜플의 수를 카디널리티, 기수, 대응수라 칭하며 튜플은 파일 구조의 레코드와 같은 의미라고 보면 된다.
속성
DB를 구성하는 가장 작은 논리적 단위이며 파일 구조상 데이터 항목, 데이터 필드에 해당된다
개체의 특징을 기술하며 속성의 수를 디그리, 차수라고 부른다.
도메인
하나의 속성이 취할 수 있는 같은 타입의 원자값들의 집합이다.
실제 속성값이 나타날 때 그 값의 합법 여부를 시스템이 검사하는데에도 이용된다.
* 튜플은 각각의 행
도메인은 열
릴레이션 스키마의 아래, 구체적인 데이터 값을 가지고 있는 것이 릴레이션 인스턴스
릴레이션 특징
한 릴레이션에 포함된 튜플들은 모두 유일하다.
한 릴레이션에 포함된 튜플 사이에는 순서가 없다.
릴레이션 스키마를 구성하는 속성들 간 순서는 상관없다.
튜플들의 삽입과 삭제 등으로 시간에 따라 변한다.
속성의 명칭은 유일해야 하나 속성 구성값은 중복되지 않아야 한다.
튜플을 유일하게 식별하기 위해서 속성들의 부분집합을 키로 설정한다.
속성의 값은 논리적으로 더는 쪼갤 수 없는 원자값만을 저장한다.
* 키 - 키는 DB에서 조건에 만족하는 튜플 찾을때와 정렬할 시 서로 구분할 수 있는 기준이 되는 속성이다.
키에는 후보키, 기본키, 대체키, 슈퍼키, 외래키가 있으며 널 값이라는 DB에서 부재를 나타내는 값이 있다.
후보키는 튜플을 유일하게 구분할 수 있는 속성들로 기본키로 사용할 수 있는 속성이다. (유일성과 최소성 필수)
* 유일성 - 하나의 키 값으로 원하는 튜플을 식별한다.
* 최소성 - 식별하는 데 반드시 필요한 속성으로만 구성한다.
기본키는 후보키 중에서 선택한 주 키로 튜플을 유일하게 구별할 수 잇는 속성이며 NULL 값은 사용하지 못한다.
대체키는 후보키 중 선택된 기본키를 제외한 나머지 키로 보조키라고도 한다.
슈퍼키는 속성들의 집합으로 구성된 키로 유일성은 만족시키나 최소성은 만족시키지 못한다.
외래키란 한 릴레이션에서 기본키로 사용하고 있는 키가 다른 릴레이션의 속성과 같은 것이다.
릴레이션 간 참조 관계 표현에 중요한 역할을 하며 외래키 지정 시 기본키에 없는 값은 입력이 불가하다.
후보키 - 고객 번호, 주민번호
기본키 - 고객번호
대체키 - 주민번호
슈퍼키 - 고객번호 + 주민번호, 주민번호 + 고객명, 고객번호 + 고객명
외래키 - 고객 번호
설정
트랙백
댓글
글
DB 설계
사용자의 요구를 분석해 컴퓨터에 저장할 수 있게 DB 구조에 맞게 변형한다. 그 후 특정 DBMS로 DB를 구현해 일반 사용자들이 사용한다.
요구 조건 분석
DB를 사용할 사람들에게서 필요한 용도를 파악해 요구 조건 명세를 작성한다.
- DB 사용자에 따른 수행 업무, 필요한 데이터 종류, 용도, 처리 형태, 흐름, 제약 조건 수집하고 이 정보를 바탕으로 요구 조건 명세 작성
개념적 설계 = 정보 모델링 = 개념화
정보의 구조를 얻기 위해 현실 세계의 무한성, 계속성 이해하고 다른 사람과 통신하기 위해 현실 세계의 인식을 추상적 개념으로 표현하는 과정
- 개념 스키마 모델링, 트랜잭션 모델링을 병행 수행하고 DBMS에 독립적인 개념 스키마 설계
- 요구 분석 단계에서 나온 요구 조건 명세를 DBMS에 독립적인 E-R 다이어그램으로 작성
논리적 설계= 데이터 모델링
현실에서 발생하는 자료를 컴퓨터가 이해하고 처리할 수 있게끔 물리적 저장장치에 저장할 수 있도록 변환시켜야 한다.
이 변환을 위해 특정 DBMS가 지원하는 논리적 자료 구조로 변환 시키는 과정이다.
- 데이터를 필드로 기술한 데이터 타입과 이 타입들 간의 관계로 표현되는 논리적 구조의 데이터로 모델화
- 개념 스키마를 평가, 정재, DBMS에 따라 서로 다른 논리적 스키마 설계
- 트랜잭션의 인터페이스를 설계하며 관계형 DB라면 이 단계는 테이블 설계 단계이다.
물리적 설계 = 데이터 구조화
논리적 구조로 표현된 데이터를 디스크 같은 물리적 저장장치에 저장할 수 있게끔 물리적 구조의 데이터로 변환하는 과정
- DB 파일의 저장 구조, 액세스 경로를 설정해 DB 응용에 대해 처리 성능을 얻는다.
- 저장 레코드의 형식, 순서, 접근 경로를 사용해 데이터가 컴퓨터에 저장되는 방법 묘사
- 이 단계에 꼭 포함되어야 할 것으로 저장 레코드의 양식 설계와 레코드 집중의 분석 및 설계, 접근 경로 설계등이 있다.
- 기본적 데이터 단위는 저장 레코드이며 여러 타입의 저장 레코드 집합으로 단순한 파일과는 다르다.
- 물리적 DB 구조는 DBS 성능에 많은 영향을 준다.
* 양식 설계 - 데이터 타입, 데이터 값의 분포, 접근 빈도를 고려하는 설계
고려 사항
인덱스의 구조와 레코드 크기
파일에 존재하는 레코드 개수와 트랜잭션의 갱신과 참조 성향
성능 향상을 위해서 개념 스키마의 변경 검토와 시스템 운용 시 파일 크기 변환 가능성
빈번한 질의와 트랜잭션들의 수행속도를 높이기 위한 고려
옵션 선택 시 고려 사항
특정 DBMS에서 제공되며 DB 파일에 대한 저장 구조, 접근 경로에 대해 다양한 옵션
- 반응시간(Response Time) : 트랜잭션 수행 요구 시점부터 처리 결과 얻을 때까지의 경과시간
- 공간 활용도(Space Utilization) : DB 파일과 액세스 경로 구조에 의해 사용되는 저장공간의 양
- 트랜잭션 처리량(Transaction Throughput) : 단위시간 동안 DBS에 의해 처리 가능한 트랜잭션의 평균 개수
DB 구현
논리적 설계와 물리적 설계에서 만들어진 DB 스키마를 파일로 생성한다.
- 사용할 특정 DBMS의 DDL을 이용해 DB 스키마를 기술 후 컴파일 해 빈 DB 파일 생성
- 빈 DB 파일에 데이터를 입력하고 응용 프로그램을 만들기 위해서 트랜잭션을 작성
- DB 접근을 위해 응용 프로그램 작성
* DB 설계 순서
요구 분석 : 요구 조건 명세서 작성
↓
개념적 설계 : 개념 스키마, 트랜잭션 모델링, E-R 모델
↓
논리적 설계 : 목표 DBMS에 맞는 논리 스키마 설계, 트랜잭션 인터페이스 설계
↓
물리적 설계 : 목표 DBMS에 맞는 물리적 구조의 데이터로 변환
↓
구현 : 목표 DBMS의 DDL로 DB 생성, 트랜잭션 작성
설정
트랙백
댓글
글
데이터 모델링의 논리적 데이터 모델 종류
관계형 데이터 모델 (Relational Data Model)
계층 모델과 네트워크 모델의 복잡한 구조를 단순화시킨 모델
기본키(Primary Key)와 외래키(Foreign Key)로 관계 표현
1 : 1, 1 : N, M : N의 관계를 자유롭게 표현 가능
DB를 테이블의 집합으로 표현
대표적 언어 - SQL
장점
간결, 보기에 편리, 다른 DB로의 변환 용이
단점
다소 떨어지는 성능
계층형 데이터 모델 (Hierarchical Data Model)
속성 관계 표시위해 개체를 노드로, 개체 집합 사이의 관계를 링크로 연결
부자 관계로 표현
1 : N의 관계만 표현
DB를 트리 구조로 표현하며 개체가 트리를 구성하는 노드 역할
대표적 DBMS - IMS
특징
개체 타입 간 상위, 하위 관계 존재하며 1 : 다의 대응 관계만 존재 (대응관계가 하나만 존재하므로 관계 해당 링크 이름 필요 없음)
하나의 루트 개체 타입과 다수의 종속 개체 타입으로 구성된 순서 트리로 루트 개체 타입은 다른 개체 타입과 구별됨
개체 삭제 시 연쇄 삭제가 되며 개체 타입 간 사이클 허용 불가, 두 개체 간 하나의 관계만 허용됨
* 연쇄 삭제(Triggered Delete) = 일격 삭제 - 상위 레코드 삭제 시 모든 후손 레코드도 함께 삭제
* 사이클(Cycle) - 시작 위치에서 다른 곳을 거쳐 원래 위치로 돌아올수 있게끔 연결된 형태
장점
구조 간단, 판독의 용이
구현, 수정 검색 용이
망 모델이나 관계 모델 실제구현시 계층적 기억 구조 사용
단점
데이터 간의 유연성 부족
검색 경로의 한정
삽입, 삭제 복잡
M : N 관계 처리하기 까다로움
네트워크형 데이터 모델 (Network Data Model) = CODASYL DBTG 모델
CODASYL이 제안한 것이다.
상위, 하위 레코드 사이에서 N : M 대응 관계 구조
레코드 타입 간 관계 1 : 1, 1 : N, N : M 가능
DB를 그래프 구조로 표현
대표적 DBMS - DBTG, EDBS, TOTAL
개체군 - 동종의 개체 그룹
개체 세트 - 주종 관계에 있는 개체군들의 그룹
세트 멤버쉽 타입 - 1 : N 관계에 연관된 타입을 오너(Owner), 멤버(Member)로 구분
조류 개체에서 보았을 때 오너는 동물, 멤버는 독수리이다.
특징
레코드 타입, 링크들의 집합으로 구성으로 링크 집합은 레코드 타입들을 연결한다.
하나의 상위 레코드와 하위 하나의 레코드끼리 복수 대응
관계성에는 제한이 없으며 한 레코드 타입에서 자기 자신으로 가는 링크는 없다.
한 방향으로 함수적이며(부분적 함수 포함) 세트의 이름은 링크로 표현 가능
오너와 멤버의 동일 형태는 가능하지 않다.
[출처] 논리적 데이터 모델|작성자 한량
설정
트랙백
댓글
글
데이터 모델
정보를 컴퓨터에 표현하기 위해 단순화, 추상화 하여 체계적으로 표현한 개념적 모형
현실 세계를 DB에 표현하기 위한 중간과정으로 DB 설계과정에서 데이터 구조를 논리적으로 묘사하기 위해 사용되는 지능적 도구
데이터 모델 종류
개념적 데이터 모델 = 정보모델
현실 세계에 대한 인간의 이해를 돕기 위해 현실세계의 인식을 추상적인 개념으로 표현하는 일련의 과정
속성으로 기술된 개체타입과 그에 관한 관계를 이용해 현실을 표현
* 속성으로 기술되었으며 개념적 데이터 모델로 정보 모델링이다.
논리적 데이터 모델
위의 과정을 거친 개념적 구조를 컴퓨터가 이해하고 처리가 가능하도록 컴퓨터 환경에 맞게 변환하는 과정
특정 DBMS가 특정 논리적 데이터 모델 하나를 선정해 사용
데이터간 관계 표현방법에 따라서 관계 모델, 계층 모델, 네트워크 모델로 구분
필드로 기술된 데이터 타입과 그에 관한 관계를 이용해 현실을 표현
* 필드로 기술되었으며 논리적 데이터 모델로 데이터 모델링이다.
데이터 모델 구성 요소
개체 (Entity) - DB에 표현하기 위한 것으로 유형, 무형의 정보로 연관된 속성으로 구성한다.
정보를 제공하는 역할을 수행하며 독립적으로 존재해 자체만으로도 구분이 가능하다.
속성 (Attribute) - 데이터의 가장 작은 논리적 단위로 개체를 구성하는 항목이며 데이터 항목이나 필드가 해당된다.
관계 (Relationship) - 개체, 속성 간의 관계
1 : 1 - 원소 한개와 원소 한개의 대응, 1 : N - 원소 한개와 원소 다수의 대응
N : N 원소 다수와 원소 다수의 대응과 같은 형태이다.
데이터 모델 필요 요소
구조 (Structure) - 논리적으로 표현된 개체들 간의 관계로 데이터 구조, 적정 성질 표현
연산 (Operation) - DB에 저장된 실 데이터 처리 작업에 관한 명세로 DB를 조작하는 기본 도구
제약조건 (Constraint) - DB에 저장가능한 실 데이터의 논리적인 제약 조건
'Study' 카테고리의 다른 글
관계형 DB 구조 (0) | 2011.04.20 |
---|---|
DB 설계 (0) | 2011.04.20 |
논리적 데이터 모델 (0) | 2011.04.20 |
DB 언어 (0) | 2011.04.20 |
스키마(Schema) (0) | 2011.04.20 |
설정
트랙백
댓글
글
데이터베이스(DB) 언어
DB를 구축하고 이용하기 위한 DBS와의 통신수단으로 DBMS를 통해 사용한다.
데이터 정의 언어, 데이터 조작 언어, 데이터 제어 언어가 있다.
데이터 정의 언어(DDL, Data Definition Language)
DB 구조, 데이터 형식, 접근방식 DB 구축과 수정이 목적
결과는 데이터 사전에 테이블로 저장된다.
기능 - 외부스키마 명세 정의
DB의 논리적, 물리적 구조 및 구조간의 사상을 정의한다.
스키마에 사용되는 제약 조건에 대한 명세를 정의한다.
데이터의 물리적 순서를 규정한다.
데이터 조작 언어(DML, Data Manipulation Language) = 서브 언어
사용자가 데이터를 처리할 수 있게 하는 도구로 사용자와 DBMS간의 인터페이스를 제공한다.
응용 프로그램을 통해 사용자가 DB를 조작할 수 있도록 하기위해 포트란, 코볼 등 호스트언어에 DB 기능 추가 제공
대표적 데이터 조작어는 질의어
* 질의어란 독자적, 상호작용 형태로 터미널에서 많이 사용하는 비절차적(Non Procedural) 데이터 언어 DML
종류로는 SQL, IMS, DBTQ, TOTAL 등이 있다.
데이터 제어 언어(DCL, Data Control Language)
무결성, 보안 및 권한제어, 회복을 위한 언어로 데이터 보호와 관리가 목적이다.
기능 - 불법 사용자로부터 데이터를 보호하기 위한 데이터 보안
데이터 정확성을 위한 무결성(Integrity) 유지
System 장애에 대비한 데이터 회복과 병행 수행 제어
'Study' 카테고리의 다른 글
관계형 DB 구조 (0) | 2011.04.20 |
---|---|
DB 설계 (0) | 2011.04.20 |
논리적 데이터 모델 (0) | 2011.04.20 |
데이터 모델 (0) | 2011.04.20 |
스키마(Schema) (0) | 2011.04.20 |
RECENT COMMENT