오늘은 정처기 실기 파트중 DB에 관한 내용을 공부했다.
데이터베이스 관리 시스템. 사용자의 요구에 따라 정보를 생성주고 데이터베이스를 관리해주는 SW
데이터베이스의 구조와 제약조건에 관한 전반적인 명세
개인
의 입장에서 필요
로 하는 DB의 논리적 구조를 정의한 것전체
적인 논리적 구조. 조직 전체의 DB로 하나만
존재함물리적
저장장치 입장에서 본 DB 구조. 실제로
저장될 레코드의 형식, 내부 레코드의 물리적 순서 등을 나타낸다.요구조건분석 -> 개념적 설계 -> 논리적 설계 -> 물리적 설계 -> 구현
요구조건 분석 : 요구 조건 명세서 작성
개념적 설계 - A
다른사람과 통신하기 위해 현실세계에 대한 인식을 추상적 개념으로 표현하는 과정
개념 스키마, 트랜잭션 모델링, 요구조건 명세서를 DBMS에 독립적인 E-R다이어그램으로 작성
논리적 설계 - A
현실세계에서 발생하는 자료를 특정 DBMS가 지원하는 자료구조로 변환(매핑)하는 과정
DBMS에 따라 서로 다른 논리적 스키마를 설계하는 단계.
트랜잭션의 인터페이스를 설계하고 정규화를 통해 스키마를 평가 및 정제
물리적 설계 - A
논리적 설계에서 논리 구조로 표현된 데이터를 물리적 저장장치에 저장할 수 있는 물리적 구조의 데이터로 변환하는 과정
파일의 저장 구조 및 엑세스 경로를 결정. 테이블 정의서 및 명세서가 산출된다.
구현 : 목표 DBMS의 DDL로 DB생성. 트랜잭션 작성
현실세계의 정보들을 단순화, 추상화 해 체계적으로 표현한 개념
관계
. 데이터 구조
및 정적 성질 표현기본 도구
사각형 - 개체(Entity) 타입
마름모 - 관계(Relationship) 타입
타원 - 속성(Attribute)
이중타원 - 다중값 속성(복합 속성)
밑줄 타원 - 기본키 속성
복수 타원 - 복합 속성(성명 - 성 / 이름)
관계 : 1:1 1:N N:M 등 개체간 관계에 대한 대응 수를 선위에 기술
선 : 개체타입과 속성을 연결
릴레이션은 데이터를 표(테이블) 형태로 표현한 것.
구조를 나타내는 릴레이션 스키마와 실제 값을 가진 튜플을 의미하는 릴레이션 인스턴스로 구성된다.
속성
(Attribute). 19001 김춘복 경영 처럼 가로행은 튜플
(Tuple),도메인
(Domain).릴레이션을 구성하는 각각의 행. 속성의 모임. 파일 구조에서 레코드와 같은 의미.
튜플의 수를 카디널리티
(Cardinality)나 기수, 대응수라고 한다.
DB를 구성하는가장 작은 논리적단위. 개체의 특성을 기술. 파일 구조상 데이터 항목, 필드에 해당.
속성의 수를 Degree, 차수
라고 한다. (속성이 4개면 degree 차수도 4개)
하나의 속성이 취할 수 있는 같은 타입의 원자값들의 집합
.
ex) 성별의 도메인은 "남"과 "여"
DB에서 조건에 맞는 튜플을 찾거나 정렬할 때 기준이 되는 속성.
튜플을 유일하게 식별하기 위해 사용되는 속성들의 부분 집합. 기본키로 사용할 수 있는 속성들.
유일성
(Unique) : 하나의 키 값으로 하나의 튜플만 유일하게 식별할 수 있어야 한다.최소성
(Minimality) : 키를 구성하는 속성 하나를 제거하면 유일하게 식별 불가능하도록 최소의 속성으로 구성되어야 한다. 꼭 필요한 속성들로만 구성되어있나?후보키 중에서 선정된 Main key. 후보키의 특징 그대로 물려받는다.
중복 불가능. 유일성. Not Null. 외래키로 참조 가능.
= 보조키. 후보키가 둘 이상일때, 기본키를 제외한 나머지 후보키.
속성들의 집합으로 구성된 키. 해당 키로 릴레이션에서 튜플을 서로 구분만 할 수 있으면 슈퍼키.
릴레이션을 구성하는 모든 튜플에대해 유일성은 만족하지만 최소성은 만족하지 못한다
.
다른 릴레이션의 기본키를 참조하는 속성.
한 릴레이션에 속한 속성 A와 참조 릴레이션의 기본키인 B가 같은 도메인 상에서 정의되었을 때 A를 외래키라고 한다.
DB에 저장된 데이터가 현실 세계의 실제값과 일치하는지 정확성.
관계형 DB에서 원하는 정보와 그 정보를 검색하기 위해 어떻게 유도하는가를기술하는 절차적 언어.
릴레이션을 처리하기 위해 연산자와 연산규칙 제공. 피연산자와 연산 결과 모두 릴레이션.
주어진 릴레이션 조작을 위한 연산의 집합.
Select : 시그마(σ)기호. 조건을 만족하는 튜플의 부분 집합을 구해 새로운 릴레이션을 만드는 연산
릴레이션의 행에 해당하는 튜플을 구하는 것이므로 수평연산이라고도 한다.
Project : 파이(π) 기호. 속성 리스트에 제시된 속성 값만 추출해 새로운 릴레이션을 만드는 연산
릴레이션의 열에 해당하는 속성을 추출하는 것이므로 수직연산자라고도 한다.
Join : ⋈ 기호. 공통 속성을 중심으로 두 릴레이션을 하나로 합쳐 새로운 릴레이션을 만드는 연산.
교차 곱을 수행한 다음 select를 수행하는 결과와 같다.
Division : ÷ 기호. X ⊃ Y 두 개의 릴레이션 R(X)와 S(Y)가 있을 때, R의 속성이 S의 속성값을 모두 가진 튜플에서 S가 가진 속성을 제외한 속성만을 구하는 연산.
합집합(Union) : U 기호.두 릴레이션에 존재하는 튜플의 합집합을 구하되, 중복되는 튜플은 제거.
합집합의 카디널리티 <= 두 릴레이션 카디널리티의 합
교집합(Intersection) : ∩ 기호. 두 릴레이션의 튜플의 교집합을 구하는 연산.
교집합의 카디널리티 <= Min(두 릴레이션의 카디널리티)
차집합(Difference) : - 기호. 두 릴레이션에 존재하는 튜플의 차집합을 구하는 연산.
차집합의 카디널리티 <= 릴레이션의 카디널리티
교차곱(Cartesian Product) : X 기호. 두 릴레이션에 있는 튜플들의 순서쌍을 구하는 연산.
교차곱의 Degree = 두 릴레이션의 Degree 합.
교차곱의 Cardinality = 두 릴레이션의 Cardinality 곱.