계층 구조
응용시스템들간의 서로 다른 파일사용
문제점
파일 간에 데이터의 중복성(data redundancy)이 존재
데이터의 일관성을 유지하기가 어려움
응용프로그램의 데이터 파일에 대한 의존성
▪ 데이터 파일의 구조에 변경이 있을 때마다 관련 응용프로그램도 따라서 변경
데이터 베이스 관리 시스템이 필요하게 됨
장점
데이터의 공유 촉진
데이터 접근의 표준화
데이터 중복성의 제거
데이터 무결성의 향상
데이터와 프로그램 간의 독립성 유지
데이터의 보안 강화
사용자 별 권한 관리
단점
시스템 복잡성
비용 부담
데이터 노출 범위의
확대
목적
데이터 사용자의 요구를 명확히 이해하고, 이를
바탕으로 어떤 정보들이 저장되어야 하는지 정의하고, 이를 문서화 하여 분석가, 설계자, 어플리케이션 개발자, 그리고 사용자간에 서로 원활한 의사 소통을 도모
어떤 정보와 사실(facts)을 저장 할 것인지 정의하고 구조화
순서와 시간, 흐름 등 절차의 개념은 배제
단계
개념적 모델
논리적 모델
개별 개체의 변형을 위한 규칙
각각의 개체(entity) 는 하나의 테이블로 변형된다.
개체의 이름은 테이블 이름이 된다.
개체의 속성(attribute)은 테이블의 열(Column)로 변형된다.
개체의 식별자(identifier)는 테이블의 기본키(Primary key: PK)로 변형된다. 1대多관계의 변형을 위한 규칙
다(多)쪽 개체에 하나의 열이 추가되며, 이 열은 일(一)쪽 개체의 기본키와 같은 속성을가지고 연결된다.
이 추가된 열은 외부키(Foreign key: FK)라고 부른다. 개별 개체의 변형을 위한 규칙
각각의 개체(entity) 는 하나의 테이블로 변형된다.
개체의 이름은 테이블 이름이 된다.
개체의 속성(attribute)은 테이블의 열(Column)로 변형된다.
개체의 식별자(identifier)는 테이블의
기본키(Primary key: PK)로 변형된다.
데이터 정의어 (Data Definition Language: DDL)
데이터베이스를 구조적으로 정의하는데 이용되며, 테이블 생성, 변형, 삭제, 제한설정 등을 할 수 있다.
예: CREATE TABLE, ALTER TABLE, DROP TABLE
데이터 조작어 (Data Manipulation Language: DML)
사용자 데이터를 저장, 변경, 질의하는데 사용되는 명령어이다.
예: INSERT, DELETE, UPDATE, SELECT
데이터 통제어 (Data Control Language: DCL)
데이터베이스를 통제하는데 이용되며, 주로 데이터 베이스 관리자의 사용자에 대한 권한 설정을 위한 명령어이다.
예: GRANT/PROVOKE PRIVILEGE 개체 무결성 규칙(Entity integrity rule)
PK 제약 조건이라고도 하며, 기본키의 값은 빈칸(null)일 수 없으며, 하나의 테이블에 있는 개개의 행은 기본키에 의해 고유하게식별되어야만 한다.
참조 무결성 규칙(Referential integrity rule)
FK 제약 조건이라고도 하며, 한쪽 테이블의 외부키는 반드시 일치하는 연관된 테이블의 기본키 값을 가져야 한다 NOT NULL 제약 조건
UNIQUE 제약 조건
DEFAULT 제약 조건
데이터 타입
데이터 사전의 예
테이블 정의
테이블의 열간에 나타나는 종속 관계를 고려하여 데이터의 불필요한 중복을 제거
하나의 큰 테이블은 몇 개의 조그만 테이블로 분할
분할을 하는 기준이 되는 조건:
정규형(Normalized form: NF)
모든 열들의 값이 원자값(atomic value)
하나의 속성이 다른 속성의 유일함을 결정짓는 것
학번 → 학생명
과목 번호 → 과목명
함수적 종속성 1 (PK 에 따라서)
(학번, 과목번호) → 학생명, 전화번호, 과목명, 교실, 교실정원, 학점
함수적 종속성 2 (부분 함수적 종속성)
학번 → 학생명, 전화번호
함수적 종속성 3 (부분 함수적 종속성)
과목 번호 → 과목명, 교실, 교실정원
함수적 종속성 4 (이행 함수적 종속성)
교실 → 교실정원
1 차 정규형