* 트랜잭션 = 연산들 (명령어의 모임) 트랜잭션들의 모임을 응용 프로그램이라 한다. ★ 트랜잭션의 성질 1. 원자성 - 한꺼번에 처리 2. 일관성 - 중간과정을 제외한 처음값과 결론으로 나온값은 같아야 한다. 3. 격리성 - 나눠서 처리 4. 영속성 - 특별한 경우가 없는경우에는 값은 지속되어야 한다. 트랜잭션의 원자성과 관련된 연산 COMMIT : 트랜잭션의 성공적인 종료 ROLLBACK : 트랜잭션의 비정상적인종료 트랜잭션의 상태 활동 : 트랜잭션이 실행을 시하여 실행 중인 상태 부분 완료 : 트랜잭션이 마지막 명령문을 실행한 직후의 상태 장애 : 정상적 실행을 더 이상 계속할 수 없어서 중단한 상태 철회 : 트랜잭션이 실행에 실패하여 ROLLBACK 연산을 수행한 상태 완료 : 트랜잭션이 실행을 ..
* 정규화 1. 이상 문제를 해결하기 위해 어트리뷰트 간의 종속 관계를 분석하여 여러개의 릴레이션으로 분해하는 과정. 2. 릴레이션의 애트리뷰트, 엔티티 , 관계성을 파악하여 데이터의 중복성을 최소화 하는 과정 3. 논리적 설계 단계에서 수행 ★ 4. 정규화를 통해 릴레이션을 분해하면 일반적으로 연산시간이 증가한다. 5. 정규화 과정은 주어진 릴레이션 변수들의 모임을 더 바람직한 어떤 형태로 점차 유도해 가는 과정으로 특징 지을 수 있다. 이 과정은 가역적 이다. 목적 1. 데이터 베이스 연산의 여러 가지 이상을 없애기 위함이다. 2. 데이터 베이스의 물리적 구조나 물리적 처리에 영향을 주는 것이 아니라, 논리적 처리 및 품질에 큰 영향을 미친다. 이상 어트리뷰트간에 존재하는 여러 종속관계를 하나의 릴레..
계획 (목적 명확화) -> 분석 (요구사항 파악) -> 설계 (개념 -> 논리 -> 물리) -> 구현 설계 개념 - ERD 구조도 논리데이터 - 관계 , 계층 , 네트워크 (대부분이 다 관계형 데이터 모델을 사용한다.) 물리 - 저장장치의 관점을 생각한다. 트랜잭션이란 ? 어떤 명령어들의 모임이라고 생각하자 트랜 잭션의 모음을 응용 프로그램이라 한다. ★ 트랜잭션은 원자성을 갖는다. ( 전부나 전무 ) ALL OR NOTHING 성공적인 종료 - Commit , 비성공적인 종료 - Roll back 트랜잭션 개념 설계 - 트랜잭션 모델링 논리 설계 - 트랜잭션 인터페이스 물리 설계 - 트랜잭션 세부 설계
뷰 = 가상 테이블 혹은 논리 테이블 전제 : 기본 테이블을 기반한다. - 사용 용이성을 높이는 구조이고, 데이터베이스 입장에서는 보안성을 높여준다. - 정확하게 사용 가능한 명령만 사용 가능 : SELECT , CREATE , DROP ( ALTER INSERT 안됨) - 실행시간에만 구체화되는 특수한 테이블 장점 - 논리적 독립성 제공 - 데이터 접근 제어로 보안 가능 - 사용자의 데이터 관리를 간단케 함 - 하나의 테이블로 여러 개의 상이한 뷰를 정의 단점 - 독자적인 인덱스를 가질 수 없다. - 정의를 변경 할 수 없다. - 삽입, 삭제 갱신 연산에 많은 제약이 따른다. * 삽입,내장 SQL C 언어 코드 안에서 SQL 언어를 내장 할수 있다. - C 언어와 SQL 언어상 같은 변수를 다룬다면? ..
무결성 제약조건 1 ) 개체 무결성 - 기본키는 중복 될수 없다. 널값을 허용하지 않는다. * 키 무결성은 중복만 허용하지 않는다. 중복은 가능 기본키는 유일성 만족이 필수 ! 2 ) 참조 무결성 - 외래키는 참조릴레이션의 기본키와 같아야 한다. 외래키 - 하위 기본키 - 상위 사용자들이 외래키를 삽입할때 발생할수 있는 문제를 해결해준다. 3 ) 영역 무결성 = 도메인 무결성 규칙 특정 속성의 값이 그 속성이 정의된 도메인에 속한 값이여야 한다 관계 대수 * 관계 연산 - 관계 대수 (절차적) 사용자가 원하는 데이터를 DBMS에서 꺼낼때 어떤 절차를 걸처서 찾는것 - 일반집합 연산 : 합집합 , 교집합 , 차집합 , 카티션 프로덕트 - 순수집합 연산 : Select(시그마) = 행추출 조건이 포함 , P..
데이터 모델의 개념 현실 세계의 데이터구조를 컴퓨터 세계의 데이터 구조로 기술하는 논리적 구조 현실 세계를 데이터 베이스에 표현하는 중간과정 DBMS나 컴퓨터에 맞게 데이터의 크기 및 유형을 결정하고, 레코드 타입을 결정한다. 데이터 모델 1. 데이터 구조 : 정적 성질로서 개체 타입과 이들 간의 관계를 명세 2. 연산 : 동적 성질로서 개체 인스턴스에 적용 가능한 연산에 대한 명세 3. 제약 조건 : 데이터에 대한 논리적 제약으로 개체 인스턴스의 허용 조건 관계 : 표 N:M 계층 : 트리 1:N 네트워크 : 그래프 1:N 소극적인 N:M DBMS 종류 관계형 DBMS 계층형 DBMS 네트워크형 DBMS 객체지향형 DBMS 개체 관계 모델 ( ER 모델) 네모 : 개체 타원 : 속성 마름모 : 관계 직..
DBS = DB + DBMS + 사용자 + Data Language + DBA + DB com 스키마 데이터베이스의 구조에 대한 정의와 이에 대한 제약 조건 등을 기술한 것 1. 외부 스키마 관점 : 사용자 , 응용 프로그램 2. 개념 스키마 관점 : 통합, 논리적인 전체 3. 내부 스키마 관점 : 물리적 저장장치 데이터 언어 1. 정의어 : 데이터베이스의 정의 및 수정 등에 사용. 2. 조작어 : 데이터베이스 내에서 검색, 삽입, 수정, 삭제 등에 사용 되는 언어 3. 제어어 : 데이터를 보호 하기 위해 데이터의 보안, 무결성, 회복, 병행 수행등에 사용되는 언어. 데이터베이스 관리자 (DBA) DBMS의 전체적인 관리 운영에 책임을 지는 사람. 역할 1. 데이터베이스 구성 요소 결정 2. 스키마 정의..