: 자료의 추상화(Data Abstraction) : 우리가 실제로 만들어야 할 어떠한 물체를 코드로 형상화 시키는 것입니다.
: 자료의 독립성 - 어느 단계의 스키마
를 바꾸었을 때, 그 윗 단계의 스키마에 영향을 주지 않는 것을 가리킴.
단계로 되어 있는 참조 모델에서는 자료 독립성이 두 가지
물리적 단계의
스키마를 바꾸어도, 논리적 단계 스키마
와 뷰 단계의 스키마
에는 물론 영향을 주지 않고 응용 프로그램에도 영향을 주지 않는 것을 말함.뷰 단계의 스키마
에 영향을 주지 않고,
그 결과 응용 프로그램에도 영향을 주지 않는 것
을 말함.색인(index)
create table 학생(학번 char(7), 이름 char(20);
select * from 학생 where 이름 = '홍길동';
sreate index 이름_색인 on 학생 (이름); select * from 학생 where 이름 = '홍길동';
자료 독립성
실행 속도
가 달라질 뿐이다.`create table 학생(학번 char(7), 이름 char(20), 집전화 char(15));
학생 view
라는 뷰를 정의.create view 학생view as select 학번, 이름 from 학생;
응용 프로그램에서 사용.
select * from 학생view where 학번 = 'jc02101';
학생이 휴대전화라는 속성이 하나 더 들어가서 학생의 스키마가 바뀐 상황
학생 (학번 char(7), 이름 char(20), 집전화 char(15), 휴대전화 char(15));
학생view를 정의하는 create view 학생view as ...명령을 바꿀 필요가 전혀 없으며,
또한 학생view를 쓰는 응용 프로그램에서 select 문장을 전혀 바꾸지 않아도, 결과는 제대로 나온다.
select * from 학생view where 학번 = 'jc02101';
자료 독립성
테이블
의 스키마와 테이블
의 인스턴스데이터베이스
의 스키마와 데이터베이스
의 인스턴스create table 학생(학생char(7), 이름char(20));
틀
(=뼈대, 스키마)만 나타낼 뿐, 테이블 안에 어떤 자료가 실제로 들어있는지는 말하지 않음.구체적인 값의 집합
을 테이블의 인스턴스라고 함.스키마
는 일단 스키마를 한 번 만들고 나면 잘 바꾸지 않는다.인스턴스
는 상대적으로 스키마보다는 자주 바뀌는 것이 보통이다.현재 있는 학번, 이름, 집전화 속성 가운데 어떤 속성을 제거, (보기) 집전화 속성을 제거
create table 학생(학번 char(7), 이름 char(20));
현재 없는 속성을 더 추가.
(보기) 휴대전화 속성을 추가
create table 학생 (학번 char(7), 이름 char(20), 집전화 char(15), 휴대전화 char(15));
속성의 자료형을 변경
(보기) 학번의 자료형을 char(7)에서 char(9)로 변경
create table 학생 (학번 char(9), 이름 char(20), 집전화 char(15));