5월달에 SQLD 자격증을 따려고 공부했던 기록을 남기기 위해 시리즈를 시작해본다.SQLD 자격증을 공부하게된 계기는 다음과 같다.프로젝트에서 DB(RDBMS) 를 설계중이었음스키마가 최적화되어 설계가 되어있지 않아서 중간에 반정규화로 급하게 땜빵했던 경험이 아쉬웠음따
업무에서 필요로 하고, 인스턴스에서 관리하고자 하며, 의미상 더 이상 분리되지 않은 데이터 단위엔터티를 설명하고, 인스턴스의 구성요소가 됨...
SQLD : 관계에 대하여
엔터티 내에서 인스턴스들을 구분 할 수 있는 구분자\-- 하나의 엔터티는 반드시 하나의 유일한 식별자가 존재해야한다존재성 : 널값 안됨유일성 : 유일해야함최소성 : 주 식별자를 구성하는 속성의 수는 최소의 수가되어야함(유일성을 만족하는)불변성 : 한번 정해지면 변하지
1) 모델링 정의복잡한 현실세계를 단순화 시켜서 표현가설적 또는 일정 양식에 맞춘 표현모델이란, 사물 또는 사건에 관한 양상이나 관점을 연관된 사람이나 그룹을 위해서 명확하하는 것현실 세계의 추상화 반영2) 모델링 특징추상화 + 단순화 + 명확화3) 모델링의 3가지 관
1) 성능 데이터 모델링의 정의데이터 용량이 커질수록, 기업의 의사결정 속도가 빨라질수록 데이터를 처리하는 속도는 빠르게 처리되어야 할 필요성을 반증해준다.데이터 모델 구조에 의한 성능 저하가 불가피함데이터 대용량화로 인한 불가피한 성능 저하인덱스 특성을 고려하지 않은
한 테이블에 많은 컬럼이 존재하여 디스크에 많은 블럭을 점윳시 성능저하(Disk I/O 증가)조회는 물론 입력/삭제/수정 능력도 저하로우체이닝 : 로우 길이가 너무 길어서 블록 하나에 저장되지 않고, 두개 이상에 블록에 걸쳐 하나의 로우가 저장되는것로우 마이그레이션 :
1) 슈퍼/서브타임 모델 개요Extended ER 이라고도 부름공통점과 차이점의 특징을 고려하여 엔터티를 분할논리적 데이터 모델에서 고려됨분석단계에서 사용됨성능이 저하될 수도 있음2) 슈퍼/서브 타임 모델 변환트랙잭션은 일괄로 처리되는데 유니온 연산에 의해 성능이 저하
여러곳으로 분산되어 있는 데이터를 하나의 가상 시스템으로 사용 할 수 있도록 한 데이터베이스논리적으로 동일한 시스템에 속하지만, 컴퓨터 네트워크를 통해 물리적으로 분산되어 있는 데이터들의 모임물리적 Site 분산, 논리적 사용자 통합/공유빠른 네트워크 환경을 이용해서
기업이나 조직 또는 개인의 필요에 의해 데이터를 일정한 형태로 저장해 놓은 것을 의미데이터 베이스의 발전 1) 60년대 : 플로우차트 중신의 개발 방법을 사용 2) 70년대 : 계층형, 망형 데이터베이스 같은 제품 상용화 시작 3) 80년대 : 오라클, Sybas
데이터 유형은 자료의 유형을 규정하는 기준지정한 크기도 굉장히 중요데이터 유형은 아래와 같음CHARACTER(숫자) : CHAR \-- 고정길이 문장려 정보 \-- 숫자는 기본길이 1바이트, 최대 길이는 2000바이트, SQL server 는 8000바이트 \--
SQL 기본 (3) DML 1. INSERT > INSERT INTO 테이블명 (COLUMNLIST) VALUES (VALUELIST); > INSERT INTO 테이블명 VALUES (전체 컬럼의 VALUE_LIST); 2. UPDATE > UPDATE 테이블
ALL or NOTHING (원자성)원자성 + 일관성 + 고립성 + 지속성buffer 에만 영향을 받앗기 때문에 데이터의 변경 이전 상태로 복구 가능현재 사용자는 select 문장으로 결과를 확인할 수 있으며, 다른 사용자는 현재 사용자가 수행한 명령의 결과를 볼 수
where 조건식의 구성은 아래와 같음컬럼명비교 연산자문자, 숫자, 표현식(일반적으로 조건식의 우츨에 위치)비교 컬럼명(JOIN)비교연산자 sql 연산자 : BETWEEN + IN (list) + LIKE논리연산자 : AND + OR + NOT부정비교연산자부정 sql
여러행들의 그룹이 모여서 그룹당 단 하나의 결과를 돌려주는 함수를 말함소그룹화 해서 결과 도출select, having, order by 절에 사용 가능하다COUNT + SUM + AVG + MAX + MIN + STDDEV + VARIAN일반적으로 group by 와
타 지역에 온프레미스 환경에서, 실시간으로 운영중인 sql-server(mssql)가 하나 존재이 데이터를 활용하여 독립적인 서비스를 하나 만들고자 함.독립적인 CRUD를 해당 sql-server에 접근하기에는 방화벽, 성능, 개발에 대한 자유도, 안정성 등 여러 이슈