GULGUL CODING

[DB] DB의 기초 01 본문

SQL/DB

[DB] DB의 기초 01

OKKK굴 2023. 10. 24. 20:39

데이터베이스 01

🐸데이터베이스의 사용 환경

DB 데이터가 많을 때 방대한 대용량을 다룰때 데이터를 효율적으로 관리하는데에서만 사용된다

🐸데이터베이스 사용 원리 

USER - QUERY - DBMS - Stored DB
                                         -stored DB definition

DB: 데이터 및 데이터 관계의 집합
DBMS: 사용자가 쿼리를 날리면 DB애 접근할 수 있도록 지원해주는 프로그램의 집합.
            예) 오라클. MSSQL ...
QUERY : 조회 갱신 삽입 삭제를 할 수 있다.
Schema : 데이터 베이스의 구조, 타입, 그리고 제약조건에 대한 명세
데이터베이스 설계단계에서 명시하며 자주 변경되지 않음 
👉 스키마를 만드는 것을 데이터베이스 설계 (모델링)이라 한다
Instance : 데이터베이스에 실제로 저장되어있는 데이터 Occurrence = snapshot 이라고도 부름

🐸 SQL (Structured Query Language)
DDL(Data Definition Language) 데이터정의어
 스키마를 기술하기 위해 사용
DML(Data Manipulation Language) 데이터 조작어
 데이터를 조회.갱신.삭제.삽입 하기위해 사용
DCL
TCL

*독립실행형 : SQL만 혼자 수행하는 경우
 내장형: c나 java등 다른 프로그램안에서 sql을 내장해 실행하는경우

🐸 데이터 베이스 설계
요구사항분석 - 개념적 설계 - 논리적 설계 - 물리적 설계
*요구사항 분석 : 업무기술서 작성(업무에대해 자세히 설명)
*개념적 설계: 예를들어 학생이 과목을 수강한다는 것을 개념적으로 도식화 (예. Entity Relationship Model; ERM :관계형 모델) >> 아웃풋. ERD
*논리적 설계: 컴퓨터가 알아볼 수있도록 만듦(테이블 형태로 나차내는 모델; 관계형 모델 Relation Model) >>아웃풋. Table
*물리적 설계: 실제 DB에 넣기 전 고려할 부분
 #. Relationship 도식화에서 마름모를 의미 개체와의 관계
  Relation 테이블을 의미. 관계라안하고 릴레이션이라 부름
  둘은 한글번역이 관계로 같으나 다른의미를 가진다.

🐸 ER Model Concepts 
총 3가지 요소로 구성 >> 개체 /관계 /속성
01. 개체 (Entity,사각형으로 표현)
실세계에 존재하는 의미있는 하나의 정보 단위
물리적 개체(학생,자동차..) 뿐만아니라 개념적 개체도(프로젝트,직업..) 포함

02.관계(Relationship,마름모로 표현)
 개체들 사이의 연관성
예) 학생과 교과목 사이의 [수강]이라는 연관성
개체로 명확한 것도 있고 관계로 명확한 것도 있으나 애매한 것도있음

03. 속성(Attribute)
개체 또는 관계가 갖는 본질적 성질
예) 학생은 학번 이름 나이등의 속성이있음
즉. 인스턴스는 속성-값의 집합이다.

03-1) 속성의 유형을 나누는 기준
📍Single-Valued vs  MultiValued
하나의.값 (나이)/ 여러개의 값 (취미.)
📍Simple vs Composite
더이상쪼개지지않음/몇개의요소로 분해(주소)
📍Stored vs Derived
derived: 저장된 데이터로부터 유도가능한 속성
예. 주민등록번호 >> 나이 속성 집계가능

03-2) Key속성 (유일성/최소성)
어떤 개체에 대해서 항상 유일한 값을 갖는 속성 또는 속성들의 집합 (단일키로 지정하기 어려운 경우)
특정 스냅샷이 아닌 해당 개체의 모든 가능한 스냅샷의 칼럼을 고려하여 파악되어야 함
복합키는 최소성을 가져야 한다
각 개체는 하나 이상의 키를 가질 수 있음
어떤 개체는 키를 갖지 않을 수도 있음(약성개체weak Entity)

똑같은 key라고 명시하지만 엄밀히 말하면 개념적 모델에서 identifier key 라고 멸시하는 키는 여러개 존재할수도 아예 없을 수도 있다..논리적 모델에서 primary key라고 명시되는 키는 반드시 하나 있어야한다

🎃Relationships
📍관계 설정
한개의 속성이 다른 개체를 참조할 때 관계가 형성됨
📍.관계 차수 (Degree)
관계에 참여하는 개체의 수
binary, ternary , unary..
📍관계의 대응수(Candinality)
해당 개체다 해당 관계에서 참여할수있는 관계인스턴스의 최대 수
1:1 , 1:N ,...

Comments