함수 종속성(Functional Dependency : FD) : 일종의 무결성 제약조건(IC, Integrity Constraints)이다. 릴레이션 스키마 R이 있고 X, Y는R에 속한 속성들의 집합이며 공집합이 아니라고 가정했을 때, R의 인스턴스 r에서 r에 있는 모든 가능한 투플들의 쌍 t1과 t2에서 if t1.X = t2.X, then t1.Y = t2.Y 인 경우 'X가 Y를 함수적으로 결정한다'라고 말한다. 기호로는 X → Y라고 표기한다. * 즉, X → Y인 경우, 투플끼리 X가 같으면 Y도 무조건 같아야 한다. 키, 기본키, 수퍼키와 함수 종속 K: 키 속성 집합, Y: 모든 속성들의 집합, S: 속성들의 집합 K → Y : 키는 스키마에 있는 모든 속성들을 함수종속함 S → Y :..
중복성때문에 발생하는 문제(Anomaly) - 갱신 이상(update anomaly) 중복된 데이터 중 하나를 갱신할 때 나머지 다른 행과 불일치(inconsistency) 발생 - 삽입 이상(insertion anomaly) 어떤 데이터 값을 모르면, 입력이 어려운 경우 발생 어떤 정보를 저장하려면, 다른 정보도 같이 저장해야 하는 경우 발생 - 삭제 이상(deletion anomaly) 어떤 정보를 지우면, 다른 정보도 같이 상실되는 경우 발생 한 릴레이션 스키마가 자연스럽지 않은 속성들간의 연관을 억지로 함께 명시할 때에 중복 발생. 함수 종속 관계를 이용하여, 중복 여부를 판단할 수 있고 스키마의 정제가 필요함을 알 수 있음 키가 아닌 속성들간에 함수 종속관계가 있으면, 일반적으로 데이터의 중복 ..
DDL 기본형식 스키마 : CREATE SCHEMA 스키마명 AUTHORIZATION 허가권자; 도메인 : - CREATE DOMAIN 도메인명 데이터타입 (DEFAULT 기본값) (CONSTRAINT 제약조건명) (CHECK(VALUE IN( , , , ))); (VALUE IN에 포함된 값만 올 수 있음) - ALTER DOMAIN 도메인명 변경내용 - DROP DOMAIN 도메인명 RESTRICT | CASCADE; 테이블 : - CREATE TABLE 테이블이름 ({열이름 데이타타입 [NOT NULL] [DEFAULT 값],}+ [PRIMARY KEY (열이름_리스트),] {[UNIQUE (열이름_리스트),]} (대체 키) {[FOREIGN KEY(열이름_리스트) REFERENCES 기본테이블[(..
종료 – exit, quit 암호변경 – alter 도움말 – help 명령 생성된 테이블 이름 – select * from tab; 테이블 구조 – desc 테이블명 or describe 테이블명 윈도우 프로그램 (메모장) - host notepad; 버퍼 APPEND text , A text – 마지막 행에 text 추가 CHANGE /old/new , C old/new – 선택된 라인에서 old를 new로 변경 CHANGE /text , C /text – 선택된 라인에서 text 삭제 CLEAR BUFFER , CL BUFF - 버퍼의 모든 내용을 지움 DEL (DEL *) - 현재 행 삭제 DEL n - n번 행을 삭제 DEL m n - m번 행부터 n번 행까지 삭제 INPUT , I - 하나 이..
1. SQL의 표준화가 주는 장점에 대해 쓰시오. 여러 관계 데이터베이스를 접근하는 데이터베이스 응용 프로그램의 작성을 지원한다. 즉 어떤 DBMS이든 SQL을 적용할 수 있다. 상용 RDBMS 간의 전환이 용이하여 이식성이 뛰어나다. 2. SQL 데이터 정의문과 관련하여 (1) 스키마 및 (2) 카탈로그의 의미를 기술하시오. 스키마는 하나의 응용(사용자)에 속하는 테이블과 기타 구성요소들의 그룹이다. 스키마에는 스키마 이름, 스키마를 소유하는 허가권자, 테이블, 뷰, 도메인, 기타 내용에 대한 기술자가 포함된다. 카탈로그는 SQL 시스템 내에서의 스키마들의 집합으로, 각 카탈로그는 해당 카탈로그에 있는 모든 스키마에 대한 정보를 제공하는 하나의 특별한 스키마를 포함한다. 3. 도메인 정의문과 관련하여,..
1. 개명 연산(RENAME)에 대해 설명하시오. 중간 결과 릴레이션에 이름을 붙이거나 애트리뷰트 이름을 변경할 때 사용하는 연산이다. 릴레이션의 이름만 변경하거나, 릴레이션과 애트리뷰트의 이름을 동시에 변경하거나, 애트리뷰트의 이름만 변경하는 것이 가능하다. 2. 기본연산을 설명하고, 그 종류를 나열하시오. 기본 연산은 다른 연산을 이용하여 대체할 수 없는 연산으로, 하나의 논리적 기능을 수행하는 연산이다. 합집합, 차집합, 카티션 프로덕트, 실렉트, 프로젝트 연산이 있다. 3. 복합연산을 설명하고, 3가지 종류에 대해 기본으로 표현하시오. 복합 연산은 기본 연산을 이용하여 그 연산의 기능을 대체할 수 있는 연산으로, 조인, 교집합, 디비전 연산이 복합 연산에 속한다. 복합 연산은 연산력을 더 추가시키..
1. 관계 대수와 관계 해석의 차이에 대해 설명하시오. 관계 대수는 어떤 데이터(what)를 얻기 위해 어떻게(how) 해야 되는지를 명세하는 절차 언어이기 때문에 사용자의 부담이 증가하지만 시스템의 복잡성은 감소한다. 관계 해석은 무슨 데이터(what)를 원하는지만 명세하는 비절차 언어이기 때문에 사용자의 편리성이 증가하고 시스템의 복잡성은 증가한다. 2. 관계대수의 기본 연산을 위한 (1) 일반 집합 연산자와 (2) 순수 관계 연산자를 쓰시오. 일반 집합 연산자에는 합집합, 교집합, 차집합, 카티션 프로덕트가 있고 순수 관계 연산자에는 실렉트, 프로젝트, 조인, 디비전이 있다. 3. 관계 대수에서 폐쇄성질(closure property)에 대해 설명하시오. 연산의 피연산자가 모두 릴레이션이고 연산 결..
1. 개념적 데이터 모델과 논리적 데이터 모델, 그리고 물리적 데이터모델 구조와의 관계를 설명하시오. 현실 세계를 추상적 개념인 개체 타입과 관계 타입으로 표현한 것이 개념적 데이터 모델이다. 이 과정을 개념적 설계, 개념적 모델링이라 하고, 이로부터 얻은 결과를 개념적 구조라 한다. 이 개념적 구조로부터 논리적 개념, 레코드 타입으로 표현한 것이 논리적 데이터 모델이다. 이 변환 과정을 데이터 모델링이라 하고, 얻은 결과를 논리적 구조, 데이터 모델이라고 한다. 이 논리적 구조를 저장 장치의 데이터 표현 방식인 물리적 구조로 변환시킨 것이 물리적 데이터 구조이다. 이 과정을 물리적 설계, 데이터 구조화라고 한다. 2. 아래 용어를 간단히 설명하시오. (1) 개체 타입 : 이름과 애트리뷰트들로 정의된 개..