본문 바로가기

Database/Theory

(27)
728x90
반응형

Database。고급 정규형(4NF, 5NF) 1. 제4 정규형(4NF : Four Normal Form) 릴레이션 R에 MVD A → B를 만족하는 애트리뷰트 부분 집합 A, B가 존재할 때 R의 모든 애트리뷰트들이 이 A에 함수 종속(즉, R의 모든 애트리뷰트 X에 대해 A → X이고 A가 후보 키) 2. 제5 정규형(5NF : Five Normal Form) 릴레이션 R에 존재하는 모든 조인 종속(JD)이 릴레이션 R의 후보 키를 통해서만 만족
Database。기본 정규형(1NF, 2NF, 3NF) 1. 제1 정규형(1NF : First Normal Form) 어떤 릴레이션 R에 속한 모든 도메인이 원자 값(Atomic Value)만으로 되어 있음 2. 제2 정규형(2NF : Second Normal Form) 어떤 릴레이션 R이 1NF이고 기본 키에 속하지 않은 애트리뷰트 모두가 기본 키에 완전 함수 종속 # 무손실 분해(Nonloss Decomposition) 하나의 릴레이션을 아무런 정보 손실 없이 동등한 릴레이션들로 분해하는 것 3. 제3 정규형(3NF : Third Normal Form) 어떤 릴레이션 R이 2NF이고 기본 키에 속하지 않은 모든 애트리뷰트들이 기본 키에 이행적 함수 종속이 아님 4. 보이스/코드 정규형(BCNF : Boyce/Codd Normal Form) 릴레이션 R의 ..
Database。함수 종속(FD, Functional Dependency) 어떤 릴레이션 R에서 X와 Y를 각각 R의 애트리뷰트 집합의 부분 집합이라 가정. 애트리뷰트 X의 값 각각에 대해 시간에 관계없이 항상 애트리뷰트 항상 애트리뷰트 Y의 값이 오직 하나만 연관되어 있을 때 Y는 X에 함수 종속(X → Y 표기) 릴레이션 R에서 애트리뷰트 Y가 애트리뷰트 X에 함수 종속(X → Y)이라는 의미는 애트리뷰트 X의 값이 애트리뷰트 Y의 값을 함수적으로 결정한다는 의미 # 결정자(Determinant) X → Y의 관계를 성립시키는 X # 종속자(Dependent) Y 1. 완전 함수 종속(Full Functional Dependency) 기본키에만 종속되며, 기본키가 여러 속성으로 구성되어 있을 경우 기본키를 구성하는 모든 속성이 포함된 기본키의 부분집합에 종속된 경우 2. 부..
Database。이상(Anomaly) 애트리뷰트들 간에 존재하는 여러 가지 데이터 종속 관계를 무리하게 하나의 릴레이션으로 표현하려는 데서 발생 1. 삽입 이상(Insertion Anomaly) 어떤 데이터를 삽입하려고 할 때 불필요하고 원하지 않는 데이터도 함께 삽입해야만 되고 그렇지 않으면 삽입이 되지 않는 현상 2. 갱신 이상(Update Anomaly) 중복된 투플들 중에서 일부 투플을 애트리뷰트 값만을 갱신시킴으로써 정보의 모순성(Inconsistency)이 생기는 현상 3. 삭제 이상(Deletion Anomaly) 한 투플을 삭제함으로써 유지해야 될 정보까지도 삭제되는 연쇄 삭제(Triggered Deletion) 현상이 일어나게 되어 정보 손실(Loss Of Information)이 발생하게 되는 현상 애트리뷰트들 간의 종속성..
Database。삽입 SQL(Embedded SQL) - 다이나믹 SQL(Dynamic SQL) 특별히 일반 대화식 온라인 응용을 실행 시간(Runtime)에 구성할 수 있는 삽입 SQL 1) 터미널로부터 명령문 접수 2) 입력된 멸령문의 분석 3) 데이터베이스에 대한 적절한 SQL 명령문 지시 4) 터미널로 메세지나 결과 회송 실행 시간에 동적으로 작성하여 곧바로 실행 시키는 것 -- 호스트 변수 VARCHAR [dynamicSQL 변수명]; -- 문자 스트링 변수 [dynamicSQL 변수명] = "DELETE FROM [테이블명] WHERE [조건]"; EXEC SQL PREPARE objSQL FROM :[dynamicSQL 변수명]; EXEC SQL EXECUTE objSQL; objSQL : 호스트 프로그램 변수가 아니라 별도의 선언 없이 사용된 SQL 변수(SQL Variable)로서 ..
Database。삽입 SQL(Embedded SQL) - 커서(Cursor) 호스트 언어들은 한 번에 하나의 레코드만 취급하는 데 커서(Cursor)는 레코드 집합을 처리하는 데 사용되는 일종의 포인터로 응용 프로그램의 삽입 SQL에만 사용되는 새로운 객체 집합에 있는 각 레코드들을 한 번에 하나씩 지시할 수 있게 해서 그 레코드 집합 전체를 처리 1. 커서가 필요 없는 데이터 조작 단일 레코드 검색 EXEC SQL SELECT Name, Phone INTO :sName, :sPhone FROM [테이블명] WHERE Name = :Name 1. SQLSTATE 변수 값 : 00000 2. WHERE절을 만족하는 레코드가 없는 경우 SQLSTATE 변수 값 : 02000 3. 레코드가 둘 이상인 경우 에러 SQLSTATE 변수 값 : 오류 코드 # 삽입 EXEC SQL INSER..
Database。삽입 SQL(Embedded SQL) - EXEC SQL SQL은 터미널을 통해 대화식으로 직접 사용할 수 있는 질의어인 동시에 C, PL/I, COBOL, Fortran, Ada, Pascal, Java와 같은 범용(호스트) 프로그래밍 언어로 작성된 응용 프로그램 속에 삽입시켜 사용 가능 # 삽입 SQL( ESQL : Embedded SQL) 1) 명령문 앞에 EXEC SQL을 붙여 다른 호스트 언어의 명령문과 쉽게 구별하며 삽입 SQL문 끝은 세미콜론(;)과 같은 종료 심벌 붙여 표시 2) 실행문과 비 실행문이 있는디 DECLARE CURSOR, BEGIN, END, DECLARE SECTION과 같은 SQL문은 비 실행문임 3) 호스트 변수(Host Variable) 즉 호스트 프로그램 변수를 포함 할 수 있으며 다른 SQL 필드 이름과 구별하기 위해 콜..
Database。스키마(Scheme)와 카탈로그(Catalog) 1. 스키마(Scheme) 스키마 이름(Scheme name)으로 식별, 스키마의 소유자나 계정을 나타내는 허가권자(Authorization Identifier)와 스키마의 각 요소에 대한 기술자(Descriptor) 포함 # 스키마 요소 테이블, 뷰, 도메인, 기타 허가권, 무결성 등 2. 카탈로그(Catalog) SQL 시스템 내 스키마들의 집합 [Database/Theory] - Database。3단계 데이터베이스
728x90
반응형