1. 관계형 데이터베이스
: 개체(Entity), 관계(Relationship)를 모두 릴레이션(Relation)이라는 표로 표현
: 기본키와 이를 참조하는 외래키로 표현하는 데이터 모델
-장점: 간결하고 보기 편리, 다른 데이터베이스로 변환 용이
-단점: 성능이 다소 떨어짐
-튜플(Tuple)
: 릴레이션을 구성하는 각 행(레코드), 속성의 모임
: 튜플의 수는 카티널리티 또는 기수라고 함
: 하나의 릴레이션에 포함된 튜플들은 상이하고 순서가 없다
: 삭제, 삽입에 따라 튜플들의 내용이 변화할 수 있다
: 유일 값을 식별하기 위해 키값을 설정할 수 있다 예) 학번, 주민
-속성(Attriute)
: DB를 구성하는 가장 작은 논리적 단위(필드), 개체의 특성
: 속성의 수는 디그리(Degree) 또는 차수라고 함
: 속성의 순서도 의미없고 중요하지 않다 그러나 속성의 명칭은 유일해야한다.
-도메인(Domain)
: 하나의 애트리뷰트가 취할 수 있는 모든 원자 값들의 집합
: 예로 성별이 취할 수 있는 값은 남, 녀이다.
2. 관계형 데이터베이스의 제약조건
- 키(Key)
: 데이터베이스에서 조건에 만족하는 튜플을 찾거나 순서대로 정렬할 때 튜플들을 서로 구분할 수 있는 기준이 되는 애트리뷰트를 말함
- 후보키(Candidate Key)
: 속성들 중에서 튜플을 유일하게 식별하기 위해 사용하는 속성들의 부분집합
: 유일성과 최소성을 만족해야 한다
- 기본키(Primary Key)
: 후보키 중에서 선택한 주(Main Key).
: null값을 가질 수 없다.
: 동일한 값을 중복 저장 할 수 없다.
- 대체키(Alternate Key)
: 기본키를 제외한 나머지 후보키
- 슈퍼키(Super Key)
: 한 릴레이션 내에 있는 속성들의 집합으로 구성된 키 (속성을 묶어서)
: 최소성은 만족못하지만 유일성은 만족
: 유일성 - 하나의 키 값으로 튜플을 유일하게 식별
: 최소성 - 모든 레코드들을 유일하게 식별하는데 꼭 필요한 속성으로 만 구성
- 외래키(Foreign Key)
: 관계를 맺고 있는 릴레이션에서 기존 릴레이션이 참조하고 있는 후보 릴레이션의 기본키와 같은 기존 릴레이션의 속성을 외래키라 한다.
: 그래서 기본키에 없는 값을 가질 수 없다.
- 데이터 무결성
: 데이터 값이 정확한 상태
- 개체 무결성
: 릴레이션에서 기본키를 구성하는 속성은 NULL값이나 중복값을 가질 수 없다.
- 참조 무결성
: 외래키 값은 NULL 이거나 참조 릴레이션의 기본키 값과 동일 해야한다.
: 참조 릴레이션은 참조할 수 없는 외래키 값을 가질 수 없다.
3. 관계대수 및 관계해석
: 관계해석과 관계대수는 관계 데이터베이스를 처리하는 기능과 능력면에서 동등하다
1) 관계대수
: 관계형 데이터베이스에서 원하는 정보와 그 정보를 검색하기 위해서 어떻게 유도하는가를 기술하는 절차적 언어
- 순수 관계 연산자: Select, Project, Join, Division
- 일반 집합 연산자
1) UNION(합집합)
2) INTERSECTION(교집합)
3) DIFFERENCE (차집합)
4) CARTESIAN PRODUCT(교차곱): 튜플들의 순서쌍을 구하는 연산
- 순수 관계 연산자(Select)
: 릴레이션에 존재하는 튜플 중 선택 조건을 만족하는 튜플의 부분집합을 구하여 새로운 릴레이션을 만든다.
: 수평연산
: 그리스 문자 시그마(σ)를 사용
: 표시 형식 = σ<조건>릴레이션 이름, σ평균>=90 성적
- (Project)
: 릴레이션에서 속성에 제시된 Attribute만 추출하는 연산
: 수직연산
: 그리스 문자 파이(π)를 사용
: 표시 형식 = π<속성>(릴레이션 이름), π이름,평균(성적)
- (Join)
: 공통 속성을 중심으로 두 개의 릴레이션을 하나로 합쳐서 새로운 릴레이션을 만듬
: 연산자 기호 (⋈)를 사용
: 표시 형식 = R⋈속성R=속성SS , 성적⋈이름 =이름주소 ;; 속성을 기준으로 조인
: 일반적인 조인은 자연조인 = 중복 값 제거
- (Division)
: R의 속성이 S속성값을 모두 가진 튜플에서 S가 가진 속성을 제외한 속성만 구하는 연산
: 연산자는 %를 사용
: 표시형식 = R[속성r % 속성s]S, 수강[과목 % 과목]강의
2) 관계해석
: 관계 데이터의 연산을 표현하는 방법
: 원하는 정보가 무엇이라는 것만 정의하는 비 절차적인 언어
: 튜플 관계해석과 도메인 관계해석이 있다
: 수학 predicate calculus에 기반
4. 정규화(Normalization)
: 잘못 설계된 관계형 스키마를 더 작은 속성의 세트로 쪼개어 바람직한 스키마 만드는 과정
: 정규형의 차수가 높아질수록 만족시켜야 할 제약 조건이 늘어난다
: 정규화는 논리적 설계 단계에서 수행
: 정규화의 목적 = 데이터 안전성, 어떤 릴레이션도 표현, 중복 배제하여 이상발생 방지
*이상(Anomaly)현상: 삽입이상, 삭제이상, 갱신이상
-1NF(제 1정규형) : 모든 도메인이 원자값으로 되어있는 릴레이션 (단일값)
-2NF(제 2정규형) : 1NF이면서, 키가 아닌 모든 속성이 기본키에 대하여 완전 함수적 종속 관계를 만족하는 릴레이션 (부분적 함수적 종속 제거)
-3NF(제 3정규형): 2NF이고, 키가 아닌 모든 애트리뷰트가 기본키에 대해 이행적 종속 관계를 이루지 않도록 제한된 릴레이션 (이행적 함수적 종속 제거)
-BCNF(Boyce-Code 정규형) : 결정자가 모두 후보키인 관계형 (모든 결정자 = 후보 식별자)
-4NF(제 4정규형) : 다치 종속 속성을 제거한 관계형 (다치종속 제거)
-5NF(제 5정규형) : 조인 종속성의 만족이 후보키를 통해서만 만족되는 릴레이션 (조인종속)
5. 내장 SQL(삽입SQL)
: 프로그램에 삽입된 SQL
: 호스트언어에서 실행문이 나타날 수 있는 곳이라면 어디든 사용가능
: 일반 SQL수행결과로 여러 개의 튜플을 반환하는 반면, 내장 SQL은 단 하나의 튜플 반환
: SQL문에서 사용되는 호스트 변수는 콜론을 앞에 붙인다
: 응용 프로그램에서 삽입 SQL문은 EXEC SQL을 앞에 붙여 다른 호스트 명령문과 구별
: 데이터베이스 필드의 SQL 데이터타입과 일치해야한다
-커서(Cursor)
: 내장 SQL문의 수행 결과로 반환될 수 있는 복수의 튜플들을 엑세스 할 수 있도록 해주는 개념
: 명령어 = Declare(정의), Open, Fetch, Close
6. 뷰(View)
: 접근이 허용된 자료만을 제한적으로 보여주기 위해 하나 이상 기본테이블로부터 유도된, 가상테이블, 저장장치에 물리적으로 존재하지 않음
-장점
: 논리적 데이터 독립성 제공
: 동일 데이터에 대해 동시에 여러 사용자의 상이한 요구를 지원
-단점
: 독립적인 인덱스를 가질 수 없다
: 뷰의 정의를 변경할 수 없다
: 삽입, 삭제, 갱신 연산에 제약이 따른다(UPDATE, ALTER안됨)
: CREATE VIEW 로 생성
7. 시스템 카탈로그(System Catalog)
: 시스템 그 자체에 관련이 있는 다양한 객체에 관한 정보를 포함하는 시스템 데이터베이스
: 모든 데이터 객체에 대한 정의나 명세에 관한 정보를 유지관리하는 시스템 테이블
: 카탈로그들이 생성되면 데이터 사전에 저장됨으로 데이터 사전이라고도 한다
: 카탈로그에 저장된 정보를 메타 데이터라고도 한다
: 사용자가 직접 갱신할 수 없고 시스템이 자동으로 갱신
: 일반 질의어를 이용해 그 내용을 검색할 수 있다
: DBMS가 스스로 생성하고, 유지하는 데이터베이스내의 특별한 테이블의 집합체이다
: 데이터베이스 스키마에 대한 정보를 제공
Popular Posts
-
1. 불 대수(G.Boole) : 0는 off, 1는 on // Switch 1) 기본적인 논리함수 2) 불 대수의 기본 공식 * 0과 1을 대입해서 옳고 그름을 판단하면 된다 3) 불 대수의 간소화 : ...
-
1. 데이터베이스 개념 : 업무 처리를 위해 사용자들이 공용으로 사용하기 위해 통합, 저장된 운영 데이터의 집합 : DBMS = DataBase Management System (데이터베이스 관리 시스템) -> crud : 사용자와 DBMS...
-
1. 다중 처리기(Multi-Processor) : 하나의 시스템에 여러 개의 처리기를 두어 하나의 작업을 각 처리기에게 할당하여 처리하는 것을 의미 : 프로세스간 상호작용이 밀접한 강결합 시스템 : 여러 작업을 동시에 처리하여 실행 시간이 감소...
Agapang. Powered by Blogger.
댓글 없음:
댓글 쓰기