반응형

❏ 데이터베이스 설계

 - 요구 조건 분석 -> 설계(개념적설계/논리적설계/물리적설계) -> 구현 -> 운영 및 개선

 - 개념적설계 : 구축하고자 하는 DB를 개념적으로 표현.

 - 논리적설계 : 개념적설계에서 만들어진 구조를 사용자가 알아보기쉽게 테이블(표) 같은걸로 변환

 - 물리적설계 : 실제 기계 내부에서 어떻게 처리해야 효율적으로 돌아갈지 설계

 

 

 

 

❏ 데이터 아키텍처(DA)

 - 기업의 데이터 시스템을 처음부터 끝까지 구조적, 체계적으로 관리하고 설계하는 모든 과정

 

 

 

 

❏ 개체-관계 모델(E-R Model)

 - P.Chen 박사가 제안. 개념적 설계 단계에서 사용. 개체,관계,속성 등을 약속된 기호로 표기

 

 

 

❏ 데이터베이스 모델

 - 개념적설계 후 논리적 설계 단계에서 사용

 - 관계 데이터 모델 : 제일 많이 사용. 흔히 보는 표 로 생각하면 됨

 - 네트워크 데이터 모델 : 망 데이터 모델이라고도 하며 관계 간 도형으로 표기한다.

 - 계층 데이터 모델 : 트리구조로 표현. 

 

 

 

❏ 관계 데이터 모델의 용어

 - 릴레이션(Relation) = 테이블(Table) = 표

 - 속성(Attribute) = 열(Column) = 항목(Field)

 - 튜플(Tuple) = 행(Row) = 레코드(Record)

 

 - 도메인 : 속성이 가질 수 있는 값들의 범위(예:1~4)

 - 릴레이션 스키마 : 테이블 명 + 속성들의 이름 의 집합

 - 릴레이션 인스턴스 : 어느 시점까지 입력 완료된 튜플들의 집합

 - 차수 : 속성의 갯수

 - 카디널리티 : 행의 수

 

어떻게 보며 릴레이션 인스턴스랑 카디널리티랑 비슷하게 보일 수 있는데

집합이랑 집합이 아닌 것을 구분해야됨.

 

 

 

❏ Mapping Rule

 - 개념적 DB 모델링 결과 가지고 변환 하는 과정인데. 개체 -> 테이블 / 속성 -> 항목 / 키 속성 -> 기본키 / 관계 -> 외래키 로 변환된다.

 

 

 

 

❏ 교차 엔티티(Intersection Entity)

 - n : m 관계의 E-R Model 을 테이블로 변환할때 좀 더 정확한 참조를 위해 하나의 릴레이션을 더 만듬

 

 

 

 

❏ 키(Key)의 종류

 - 튜플(행) 을 식별하기 위해 사용하는 속성. 하나 일수도 있고 2개 이상일수도 있고! 

 - 후보키 : 테이블에서 식별할 수 있는 키 들을 다 모아놓음. 한마디로 Key가 될 수 있는 속성들. 

 - 기본키 : 후보키 들 중에서 특별히 선택된 키. 중복 X, NULL X. 유일성과 최소성을 만족해야 한다

 - 대체키 : 후보키 들 중에서 기본키로 선택 안된애들...

 - 외래키 : 다른 테이블에 있는 내용을 참조하려고 다른 테이블로 원정갈 목적으로 사용되는 속성.

 - 슈퍼키 : 테이블 내의  후보키와 다른 속성들과의 모든 조합.

 

 

 

 

❏ 무결성 제약조건

 - 무결성? DB 자료의 오류없는 정확성과 안정성을 나타내는 것.

 - 개체 무결성 : 테이블 내의 기본키는 NULL 값이 올 수 없으며 개체를 식별하기 위한 제약조건

 - 참조 무결성 : 외래키는 NULL 값이 올 수 없으며 참조 테이블의 기본키와 같아야 하는 제약조건

 - 도메인 무결성 : 속성값의 범위 (도메인)의 범위가 정해진 값으로 구성해야 한다.

 - 고유 무결성 : 속성 내 값들을 중복을 방지 했는데(Unique) 똑같은 값이 있으면 안되겠지

 - NULL 무결성 : 속성값에 NULL이 올수 없다고 정의했는데  NULL값이 오면 안되겠지

 - 키 무결성 : 한 테이블 내에는 최소한 하나의 키가 존재해야한다

 

 

 

 

❏ 관계 대수

 - 사용자가 원하는 결과를 얻기 위해 연산자를 표현하는 방법! 절차적 언어라고도 불림

 

 순수 관계 연산자   SELECT , PROJECT, JOIN, DIVISION 
 일반 집합 연산자  합집합, 교집합, 차집합, 카디션 프로덕트 

 

1. SELECT (𝝈) (선택)
 - 테이블에서 조건을 만족하는 튜플(행)을 구하기 위한 연산
 
 - 𝝈 점수>= 80 (학생) 
 -학생 테이블에서 점수가 80점 이상에 해당하는 튜플들을 추출하여라
 
2. PROJECT (π) (속성추출)
 - 테이블에서 속성의 값을 구하는 연산. 원하는 속성만 추출하기 위한 연산.
 
 - π 학번,이름 (학생)
 - 학생 테이블에서 학번과 이름 속성의 내용들을 모두 추출하여라
 
 3. JOIN (⋈) (두개의 테이블 결합)
 - 두 테이블로부터 조건에 맞는 관련된 행들을 하나의 테이블로 결합
 - 조인의 종류는 동일조인, 자연조인, 외부조인, 세타조인 이 있다.
 
 - 동일조인
 - 학생⋈ 학번=성적 성적
 - 학생 테이블과 성적 테이블에서 학번이 서로 동일한 행들을 추출하여 하나의 테이블로 생성
  
 - 자연조인
 - 동일조인과 같은데 중복되는 내용들을 제거하고 표현한다
 
 - 외부조인
 - 조인 시 조건에 맞지 않는 튜플도 결과 테이블에 포함시켜 조인하는 방법 . 해당 자료가 없으면  NULL 값이 된다
 
 - 세타조인
 - 세타연산자( =, !=, >, < , >=, <=) 중 = 외의 연산자를 이용해 수식을 표현하는 연산
 - X ⋈ X.C < Y.E Y
 - X 테이블의 C 속성값이 Y 테이블의 E 속성값보다 큰 튜플들을 조인해서 하나의 테이블을 만들어라
 
 4. DIVISION (÷) 
 - A DIVISION B 는 B 테이블의 조건을 만족하는 튜플들을 테이블 A에서 추출한다
 - 학생 (수강과목명÷과목명) 과목
 
 5. 일반 집합 연산자
 - 합집합, 교집합, 차집합, 카디션프로덕트(모든 값 대응). 
 

 

 

 

 

❏ 관계 해석

 - 테이블에서 결과를 얻기 위한 과정을 표현하는 것. 연산자 없이 정의하는 방법을 이용하는 비절차적 언어

 - '학점' 테이블에서 수강번호가 'B123' 이고, 점수가 80 이상인 학생의 이름을 구하여라

 - {학점,이름} | 학점∧학점.수강번호='B123' ∧ 학점.점수 >= 80}

 

 
 
 
 
 

 

반응형
도움이 되셨다면 공감 클릭 부탁드리며
출처만 남겨주시면 글 내용은 마음껏 퍼가셔도 좋습니다 :)