: 특정 조직이 업무 수행하는데 필요한 관련성 있는 자료들의 집합체
1. 도입배경 : 파일 시스템의 문제점을 해결
↳ 독립된 파일 단위로 업무와 관련한 데이터를 저장하므로 데이터 중복성과 데이터 종속성 발생 -> 데이터 무결성 위배 가능성 높음
데이터베이스 시스템
-> 데이터 베이스와 데이터베이스 관리 시스템을 이용해 조직에 필용한 정보를 제공해주는 전체 시스템
데이터베이스 정의
1) 통합된 데이터(Integrated Data) : 데이터의 중복을 배제 또는 최소화 한 데이터의 집합
2) 저장된 데이터(Stored Data) : 컴퓨터가 접근 가능한 저장매체에 저장된 데이터의 집합
3) 운영 데이터(Operational Data) : 조직의 업무를 수행하는데 있어서 존재 가치가 확실하고 필수적인 데이터의 집합
4) 공용 데이터(Shared Data) : 여러 응용 프로그램들이 공동으로 이용할 수 있는 데이터의 집합
데이터베이스 특징
1) 실시간접근(Real Time Accessibility) : 내가 원할 때마다 언제든지 바로 접근해서 자료를 처리 할 수 있다.
2) 계속적인 변화(Continuous Evolution) : 데이터의 삽입, 삭제, 갱신 작업으로 항상 최신의 데이터를 유지해야 한다.
3) 동시 공용, 공유성(Concurrent Sharing) : 여러 사용자가 같이 쓸 수 있어야한다.
4) 내용에 의한 참조(Content Reference) : 위치나 주소가 아닌 데이터의 내용, 즉 값에 따라 참조할 수 있다.
데이터 언어
1) 데이터 정의어(DDL : Date Definition Language)
: 데이터의 형태, 구조, 데이터 베이스의 저장에 관한 내용 정의 및 변경
2) 데이터 조작어(DML : Data Manipuliation Language)
: 사용자의 요구에 따라 검색, 갱신, 삽입, 삭제 등을 지원하는 기능
3) 데이터 제어어(DCL : Data Control Language)
: 정확성과 안정성을 유지하는 기능(무결성 유지, 보안, 권한, 병행 수행 제어, 회복)
1.스키마(Schema)
: 데이터베이스의 구조와 제약조건에 대한 명세를 기술한 것(설계도)
↳ 데이터베이스를 구성하는 데이터 개체(Entity), 이들의 속성(Attribute), 이들 간에 존재하는 관계(Relationship), 그리고 데이터의 조작 또는 이들 데이터 값들이 갖는 제약조건에 관한 정의를 총칭하는 용어
[학생] 학번 | 이름 | 주소 | 성별
[운전면허증] ID | 이름 | 주민등록번호 | 주소 | 발급일
학생(개체 Entitiy) : 데이터베이스에 표현하려고 하는 현실 세계의 대상체 ex) 학생,교수,학과,과목 / 학번,이름,주소,성별(속성 Attribute) : 개체(Entity)의 성질,분류,식별,수량,상태 등을 나타냄 ex) 학생-학번, 이름, 전화번호 / 학생이 운전면허증을 가지고 있다(관계 Relationship) : 두 개체 간의 의미 있는 연결
2.인스턴스(Instance)
: 정의된 스키마에 따라 데이터베이스에 실제로 저장된 값
↳ 시간에 따라 동적으로 변화한다.
객체(Object)와 개체(Entity)의 차이점
객체(object) : DB를 구성하는 모든 것을 뜻한다. 예를 들어 테이블(table), 인덱스(index), 뷰(view), stored procedure, trigger 등
개체(entitiy) : 현실 세계에서 조직을 운영하는데 꼭 필요한 사람이나 사물과 같이 구별되는 모든 것 ex) 학생, 운전면허증 등
스키마 특징
1) 데이터 사전(=시스템 카탈로그(시스템 데이터베이스))에 저장
↳ 시스템 자신이 필요로하는 여러 가지 객체에 관한 정보를 포함하고 있는 시스템베이스(시스템 카탈로그), 사용자도 SQL을 이용하여 검색할수 있다.(DBMS만 스스로 갱신 유지할 수 있고, 사용자 갱신 안됨), 객체들로서는 기본테이블/뷰/인덱스/데이터베이스/접근권한 등이 있다
학생에 대한 정보를 검색하면 시스템 데이터베이스에 접근하게 되고 학생정보가 데이터베이스에 있는지 확인할 수 있음, 존재한다면 사용자 데이터베이스에 접근해서 학생정보를 가지고 오게됨
데이터 사전(=시스템 카탈로그)가 시스템데이터베이스가 되고 그 내에 스키마가 저장된다는 것을 구분해야한다.
2) 데이터베이스의 구조(개체, 속성, 관계)에 대한 정의
3) 다른 이름으로 메타데이터(데이터의 데이터)라고 함
↳ 데이터 사전에 저장된 데이터를 메타 데이터(Meta Date)라고 한다.
4) 스키마는 시간에 따라 불변인(정적) 특성을 갖는다.
DBMS 구성
현실 세계의 업무적인 프로세스를 컴퓨터 세계로 데이터베이스화 하기 위한 과정
요구조건 분석 -> 개념적 설계 -> 논리적 설계 -> 물리적 설계 -> 구현 -> 운영 -> 감시 및 개선
·요구조건 분석 : 업무 프로세스 분석 -> 요구조건 명세서 작성
·개념적 설계 : 개체 타입과 이들 간의 관계타입을 이용해 현실 세계를 개념적으로 표현(산출물 : 개체관계도 = ER다이어그램)
-DBMS에 독립적인 개념 스키마 모델링
-트랜잭션 모델링 : 데이터베이스의 상테를 변화시키는 논리적인 연산의 집합
·논리적 설계 : 목표 DBMS에 맞추어 논리적 모델로 설계(관계형, 계층형, 망형 모델)
-트랜잭션 인터페이스 설계
-스키마의 평가 및 정제 -> 목표 DBMS에 맞는 스키마 설계
-정규화 과정 수행
-관계설정을 위해서는 상위 개체에 있는 기본키를 하위 객체에 외래키로 만들어 줘야한다
(학생 (학번|이름|전화번호)) - (과목 (학번|과목코드|과목명|과목내용)
·물리적 설계 : 저장 레코드 양식의 설계 및 물리적 구조 데이터 표현
(레코드 : 관련된 자료의 집합 ex) 이름과 학과는 한 학생의 레코드(행)를 구성하고 여러 학생의 레코드가 모여 파일을 구성한다.
이름 | 학과
이순신 | 정보 <- 레코드 1
홍길동 | 사무 <- 레코드 2
1) 개념적 데이터 모델 : 현실 세계를 추상적으로 표현(ER 모델)
2) 논리적 데이터 모델 : 개념적 데이터 모델을 컴퓨터가 이해할 수 있도록 표현(관계형 데이터 모델) -> (ER모델을 테이블형태로 표현하는 것)
3) 물리적 데이터 모델 : 저장 레코드 양식의 설계 및 물리적 구조 데이터 표현
데이터베이스 모델링 : 데이터베이스를 구축하기 위한 분석/설계의 과정
데이터 모델에 표시할 요소
ER모델(Entity-Relationship Model, ER Diagram, 개체관계도)
: 개체와 개체간의 관계를 도식화한다.
기본키 속성 : 개체를 식별할 수 있는 속성
외래키 속성 : 다른 개체와의 관계에서 포함된 속성
일반 속성 : 개체에 포함되어 있고 기본키, 외래키에 포함되지 않은 속성
1) 1 : 1 관계
2) 1 : N 관계
3) N : M 관계
IE 표기법 의미 : 양쪽에 반드시 1개 씩 존재
(기본키 그룹으로 보면 중복되는게 없다.)