책뿌수기 - 기초가 든든한 데이터 베이스 11

인용하는 그림은 다양한 곳에서 가져왔음을 밝힙니다 Ch 11. ER모델 Section 1. ER모델의 개념 개념적 데이터 모델의 대표적인 것 개체 집합, 속성 집합, 개체 집합 간의 관계 집합을 표현한 것 1.1 집합과 원소 집합(set) : 조건에 의해 대상이 분명한 것들의 모임 원소(element) : 집합의 구성 요소 1.2 ER모델 개체(entity)와 그들 간의 관계(relation-ship)을 이용해 현실세계를 개념적 구조로 표현하는 방법 개체간의 관계를 ERD(Entity-Relationship Diagram)으로 타난 낸다. 개체(직사각형), 속성(타원), 관계(마름모) 3개의 도형으로 표현된다. Section 2. ER모델의 구성 요소 2.1 개체 물리적으로 혹은 추상적/개념적으로 존재하는 실체 개체는 독립적으로 존재하며 서로 구별되는 특성을 가지고 있다. 다른 개체와 구별되는 이름을 가지며, 특성을 타나내는 속성을 하나 이상 가지고 있다. 개체 인스턴스(entity instance), 개체 어커런스(occurrence)란 실체화된 개체를 말한다. 용어 의미 관계 모델 개체 타입 동일한 속성들을 가진 개체 인스턴스들의 틀 릴레이션의 내포 개체 집합 동일한 속성들을 가진 개체 인스턴스들의 모음 릴레이션의 외면 개체 인스턴스 개체 타입을 구성하는 속성들이 실제 값을 가진 것 데이터 개체 발생시점에 따른 분류 ...

12월 6, 2018 · Jaejin Jang

책뿌수기 - 기초가 든든한 데이터 베이스 14

인용하는 그림은 다양한 곳에서 가져왔음을 밝힙니다 Ch 14. 트랜잭션 Section 1. 트랜잭션의 개념 트랜잭션(transaction) : 데이터베이스 내에서 하나의 논리적 기능을 수행하기 위해 행해지는 한꺼번에 사용 되는 하나 이상의 쿼리를 모아 쪼갤 수 없는 작업의 논리적인 단위(logical unit of work) Section 2. 트랜잭션의 ACID 특성 Atomicity(원자성) Consistency(일관성) Isolation(고립성) Durability(지속성) 2.1 원자성 수행을 시작하면 한꺼번에 완전하게 전체가 수행이 완료되거나 아니면 어더한 연산도 수행되지 않는 All or Nothing 방식이다. 2.2 일관성 트랜잭션 시작 전후에 일관성 있는 DB상태를 유지 한다. 2.3 고립성 트랜잭션 작업 수행중에 다른 트랜잭션에 영향을 주어서도 안되고, 받아서도 안된다. 2.4 지속성 트랜잭션 작업이 성공적으로 수행되어 DB에 반영되었으면, 그 결과가 영구적으로 DB에 저장되어야 한다. ...

12월 5, 2018 · Jaejin Jang

책뿌수기 - 기초가 든든한 데이터 베이스 12

Ch 12. 정규화 Section 1. 이상 현상 anomaly : 불필요한 NULL이 삽입되거나, 연쇄 삭제, 데이터 일관성이 깨지는 현상 1.1 삽입 현상(insertion anomaly) 데이터 삽입 시 특정 열에 해당하는 값이 없어서 필요하지 않은 NULL을 강제로 입력해야 하는 현상 예) 신규 회원이 가입 되어 회원 정보를 넣지만 주문 정보가 없어 주문 정보를 NULL로 채워야 하는 상황 1.2 삭제 이상(delete anomaly) 데이터 삭제 시 유용한 다른 데이터까지 함께 삭제되는 현상 예) 주문을 취소했는데 회원 정보까지 사라짐 1.3 수정 이상(update anomaly) 중복 데이터중에서 일부만 수정되어 데이터의 불일치 문제가 불생하는 현상(inconsistency) Section 2. 정규화 normalization 이란 anomaly를 테이블 설계를 수정해 정상적으로 만드는 과정 관계형 데이터베이스에 저장될 구조의 중복을 최소화 하는 과정 이렇게 표현된 테이블이 어떤 특정의 제약 조건ㅇㄹ 만족하면 그 제약조건으로 정의된 정규형에 속하게 된다. 2.1 제 1 정규형 하나의 셀에는 하나의 값만 저장할 수 있다. 이 과정에서 기본키가 변경 될 수 있음 2.2 제 2 정규형 기본키 열과 기본 키가 아닌 열 간의 종속 곤계가 있을 경우 이를 별도의 테이블로 분리하는 과정 부분 종속을 없애는 과정 제 1 정규형이고, 키에 속하지 않는 속성 모두가 기본키에 완전 함수 종속이면, 제 2 정규형이다. 2.3 제 3 정규형 기본 키가 아닌 열끼리 종속 관계가 있을 경우 이를 분리하는 과정 제 2 정규형이고, 키에 속하지 않는 모든 속성들이 기본키에 이행적함수 종송이 아닐 때 제 3정규형에 속한다. 2.4 정규형 요약 DB 이론으로 제시된 정규형 필요시 참고 2.5 비정규화 정규화 이후에 성능 때문에 고려해 보는 것 분리된 테이블을 성능 향상(Join을 피하기 위해)을 위해 다시 합쳐야 하는 경우

12월 4, 2018 · Jaejin Jang

책뿌수기 - 기초가 든든한 데이터 베이스 8

Ch 8. 데이터 검색 Section 1. 기본적인 SELECT 명령문 SELECT [DISTINCT] 열_이름 ~ FROM 테이블_이름 [WHERE 조건 [중첩질의]] [GROUP BY 열_이름[ ]] [HAVING 조건] [ORDER BY 열_이름 ~ [ASC|DESC]]; HAVING 절은 GROUP BY 절의 결과로 나내는 그룹을 제한하는 역할을 한다 Section 2. WHERE 절을 이용한 조건 검색 NOT 연산자는 속도가 느리므로 가급적 다른 연산자 사용을 권장 사이값 검색 : BETWEEN A AND B IN, NOT IN LIKE 연산자 : 문자 패턴 매칭 % : 0개 이상의 문자열 대체 [] : 지정된 범위의 한개 문자 대체 [^] : 지정된 범위에 없는 한 개 문자 대체 _ : 임의의 한개 문자 대체 NULL을 찾는 것은, IS NULL이나 IS NOT NULL 연산자를 사용한다. Section 3. ORDER BY절을 이용한 정렬 기본값은 ASC로 오름차순이다. NULL은 오름차순 일 경우 가장 마지막에 표시되는 값이다. SELECT 절에 나온 열의 위치를 이용해 정렬할 수도 있다. EX) ORDER BY 2 Section 4. 서브쿼리 하나의 SQL 명령문 처리 결과를 다른 SQL 명령문에 전달을 필요로 할 때 사용 예) 회원 테이블에서 송혜교와 등급이 동일한 회원들의 회원명, 등급, 주소를 검색하라 우선 서브쿼리를 이용해 송혜교의 등급을 검색한다 이후에 메인쿼리에서 전달받은 등급(송혜교 등급)과 동일한 회원의 정보를 검색한다 서브쿼리에는 ORDER BY 절을 사용할 수 없다 4.1 단일 행 서브쿼리 하나의 행만 메인쿼리에 반환하는 것 4.2 다중 행 서브쿼리 IN, NOT IN, EXISTS 연산자로 해결 Section 5. 집단함수를 이용한 요약 정보의 검색 검색된 행에서 요약된 내용을 필요로 할 때 5.1 집단함수 COUNT(), SUM(), AVG(), MAX(), MIN() SELECT나 HAVING 절에서 사용할 수 있다 5.2 그룹화, GROUP BY 5.3 그룹검색 조건, HAVING Section 6. 여러 개 테이블에서의 데이터 검색 6.1 조인(Join) 하나의 SQL 명령문으로 여러 테이블에 저장된 데이터를 한 번에 검색 테이블을 연결하기 위해서는 공통의 값, 외래키가 있어야 한다. N개의 테이블을 조인하기 위해서는 적어도 N-1 개의 조인 조건절이 필요하다. 열이름 앞에 테이블 이름을 지정하면, 구문분석시간이 줄어들어 SQL 처리 성능이 향상된다.

12월 4, 2018 · Jaejin Jang

책뿌수기 - 기초가 든든한 데이터 베이스 7

인용하는 그림은 다양한 곳에서 가져왔음을 밝힙니다 Ch 7. 데이터 관리 Section 1. 데이터 입력 INSERT INTO 테이블_이름 [열_이름 ~] VALUES (값 ~); 1.1 테이블에 데잍를 직접입력하는 방법 ...

11월 29, 2018 · Jaejin Jang

책뿌수기 - 기초가 든든한 데이터 베이스 6

인용하는 그림은 다양한 곳에서 가져왔음을 밝힙니다 Ch 6. 테이블 관리 Section 1. 테이블 생성 1.1 데이터 형식을 사용한 테이블 정의 CREATE TABLE 테이블이름 ( 열_이름 데이터 형식 [NOT NULL, UNIQUE, DEFAULT, CHECK ~], [PRIMARY KEY(열_이름)], [FOREIGN KEY(열_이름) REFERENCES 테이블_이름(열_이름)] ); ...

11월 29, 2018 · Jaejin Jang

책뿌수기 - 기초가 든든한 데이터 베이스 5

인용하는 그림은 다양한 곳에서 가져왔음을 밝힙니다 Ch 5. SQL Server 설치 및 예제 데이터 베이스 구축 Section 2. 예제 데이터베이스 구축 데이터베이스는 시스템 DB와 사용자 DB로 나뉜다. 시스템 데이터베이스 역할 master 데이터베이스 시스템 정보, 초기값, 설정 기록 tempdb 데이터베이스 임시 테이블, 임시 저장 프로시저, 임시 저장공간 model 데이터베이스 생성되는 DB에 대한 템플릿 msdb 데이터베이스 SQL Server 에이전트에서 알림과 작업 예약에 사용 ...

11월 29, 2018 · Jaejin Jang

책뿌수기 - 기초가 든든한 데이터 베이스 4

인용하는 그림은 다양한 곳에서 가져왔음을 밝힙니다 Ch 4. 관계 대수 Section 1. 관계 대수 관계 대수는 릴레이션을 처리하는 연산의 집합 관계 대수의 피연산자는 릴레이션 연산 결과도 릴레이션 원하는 정보를 유도하는 절차적 언어 ...

11월 28, 2018 · Jaejin Jang

책뿌수기 - 기초가 든든한 데이터 베이스 3

인용하는 그림은 다양한 곳에서 가져왔음을 밝힙니다 Ch 3. 관계 데이터 모델과 제약조건 Section 1. 관계 데이터 모델 관계 데이터 모델(relation data model) 집합론과 논리 분야에 근거해 튼튼한 이론적 토대를 가지고 있다. 널리 사용되는 모델이다. 1.1 릴레이션 개념 ...

11월 28, 2018 · Jaejin Jang

책뿌수기 - 기초가 든든한 데이터 베이스 2

인용하는 그림은 다양한 곳에서 가져왔음을 밝힙니다 Ch 2. 데이터 모델 Section 1. 데이터 모델 1.1 데이터 모델의 개념 데이터베이스의 구조를 단순화, 추상화하여 체계적으로 표현하는데 사용되는 도구 1.2 데이터 모델의 구성요소 ...

11월 27, 2018 · Jaejin Jang