본문 바로가기

자격증/정보처리기사 2과목

2-3장. 데이터 입출력 구현-물리 데이터저장소 설계(1)-1

과목2. 데이터 입출력 구현-무리 데이터저장소 설계(1)-1

 

[ 목차 ]

1. 물리 데이터 저장소

2. 스키마

3. 스키마의 특징

4. 시스템 카탈로그(데이터 사전)

5. 논리 -> 물리 데이터 변환 순서

6. SQL 특징

7. SQL

8. SQL 구분

9. 도메인 생성

 

1. 물리 데이터 설계

1) 논리 데이터 모델로부터 물리 데이터 모델로 변환하는 순서는 단위 엔터티를 테이블로, 속성을 칼럼으로, UID를 기본키로, 관계를 외래키로 변환 후 칼럼 유형과 길이를 정의하고 데이터 처리 범위와 빈도수를 분석하여 반정규화를 고려

2) 물리 데이터 모델링이 완료되면 모델링 결과는 디스크라는 물리 데이터저장소에 다양한 오브젝트를 구성하는데, 주요 오브젝트는 테이블, 인덱스, 뷰, 클러스터, 파티션

3) 물리 데이터 모델링은 논리모델을 적용하고자 하는 기술에 맞도록 상세화해 가는 과정

논리적 설계는 ERD를 릴레이션 스키마로 변화시키는 과정

2. 스키마

1) 데이터베이스의 구조와 제약조건을 명세한 설계도

2)데이터베이스를 구성하는 데이터 객체, 성질, 이들 간의 관계, 데이터의 조작, 제약조건에 관한 정의를 총칭

3) 외부 스키마

  1] 프로그래머나 사용자의 입장에서 데이터베이스의 모습으로 조직의 일부분을 정의한 것

  2] DB 개발 사용자, 응용프로그래머가 접근

  3] = 서브 스키마, 사용자 뷰

4) 개념 스키마

  1] 모든 응용 시스템과 사용자들이 필요로 하는 데이터를 통합한 조직 전체의 데이터베이스 구조를 논리적으로 정의

  2] 전체적인 뷰, 범기관적, 총괄적

5) 내부 스키마

  1] 전체 데이터베이스의 물리적 저장 형태

  2] 데이터가 실제로 저장되는 구조를 기술

 

3. 스키마의 특징

1) 데이터 사전(시스템 카탈로그)에 저장

2) 데이베이스의 구조(개체, 속성, 관계)에 대한 정의

3) =메타데이터 : 데이터를 설명하는 데이터(Ex. 성별은 문자로, 2자리이며 남, 여만 입력 가능)

 

4. 시스템 카탈로그(데이터 사전)

1) 시스템 자신이 필요로 하는 여러 가지 객체에 관한 정보를 포함하고 있는 시스템 데이터베이스

2) 시스템에 따라 상이한 구조

3) 사용자가 SQL을 이용하여 검색 가능

4) DBMS 스스로 갱신 유지를 하며, 사용자는 갱신 불가

5) 데이터베이스 스키마에 대한 정보를 제공

6) 객체들에 대한 정의, 명세에 관한 정보를 유지 관리

 

5. 논리 -> 물리 데이터 변환 순서

1) 단위 엔터티를 테이블로 변환

  1] 논리 모델에서 정의한 엔터티는 물리모델에서 테이블로 변환

  2] 엔터티는 한글명, 테이블은 영문명을 사용

  3] 메타데이터 시트템과 같은 사전에 표준화된 용어가 있을 경우 메타에 등록된 단어로 명명

2) 속성을 칼럼으로 변화

  1] 칼럼의 명칭과 속성의 명칭은 일치할 필요는 없으나 개발자와 사용자 간 의사소통읠 위해 표준화된 약어를 사용

  2] SQL 예약어(SELECT, FROM 등 SQLD 명령어) 사용은 지양

  3] 칼럼 명칭은 짧을수록 좋음

  4] 칼럼명으로 복합단어(단어+단어)를 사용할 경우 미리 정의된 표준에 의해 명명

 

6. SQL 특징

1) 관계대수관계해석을 기초로 한 고급 데이터 언어

2) 이해하기 쉬운 형태

3) 대화식 질의어로 사용 가능

4) 데이터 정의, 조작, 제어 가능

5) 다른 언어에 내장 삽입 가능

6) DBMS에서 사용되는 비절차형 대화형 언어(절차적 언어는 자바와 같이 기본적 절차가 있는 언어)

 

7. SQL

1) 테이블 생성

CREATE 테이블 테이블명 (칼럼명 칼럼유형 제약조건);

2) 자료 입렵

INSERT INTO 테이블명 VALUES 데이터;

3) 자료 검색

SELECT * FROM 테이블명

4) 자료 수정

UPDATE 테이블명 SET 칼럼명=값 WHERE 조건;

5) 자료 삭제

DELETE FROM 테이블명 WHERE 조건;

6) 테이블 삭제

DROP TABLE 테이블명;

8. SQL 구분

1) 조작어 DML : SELECT, INSERT, DELETE, UPDATE

2) 정의어 DDL : CREATE, ALTER, DROP

  1] 도메인, 테이블, 뷰, 인덱스를 정의, 변경, 제거

  2] DDL로 정의된 내용은 메타데이터가 되며 시스템 카탈로그에 저장

3) 제어어 DCL : GRANT, REVOKE, COMMIT, ROLLBACK

 

9. 도메인 생성

CREATE DOMAIN 도메인명 데이터타입 DEFAULT 디폴트값 CONSTRAINT 제약조건명 CHECK (제약조건명="O" or 제약조건명="X");

1) 기본 데이터 타입 : 문자형 CHAR, 날짜형 DATE, 정수형 INTEGER

2) 반복되는 데이터 타입을 사용자 정의 데이터 타입으로 정해서 효율적으로 사용 가능

3) 도메인 무결성과 관련이 있음

4) DEFAULT : 기본값의 의미로 데이터가 입력되지 않을 경우 자동으로 입력되는 값

도메인 : 사용자 정의 데이터 타입