본문 바로가기

데이터베이스15

[Database] 함수적 종속 (Functional Dependency) 완전 함수 종속 (Full Functional Dependency) 키가 아닌 값들은 모두 기본키에만 종속이 되도록 합니다. 예를들어, 카페 발주 시스템의 릴레이션이 있습니다. 이름 가격 카테고리 원두 5000 커피 컵 4000 재료 냉동딸기 4500 봄시즌재료 딸기원액쥬스 3500 봄시즌재료 기본키는 '이름'으로 합니다. 재료 이름을 알아야 가격을 알 수 있고 '카테고리' 값 또한 알 수 있습니다. 이러한 경우를 완전 함수적 종속이라고 합니다. 부분적 함수 종속 (Partial Functional Dependency) 키가 아닌 값들이 기본키가 아닌 다른 속성에 종속이 되거나 복합키의 일부에 종속되는 것입니다. 이름 가격 카테고리 컵 3000 재료 냉동딸기 6000 봄시즌재료 냉동딸기 3000 봄시즌재.. 2020. 6. 12.
[Database] 정규화 (Normalization) 정규화란? (Normalization) 관계형 데이터베이스의 설계에서 중복을 최소화하여 데이터를 구조화 하는 프로세스입니다. 정규화의 목표는 이상이 있는 관계를 재구성하여 작고 잘 조직된 관계를 생성하는 것에 있습니다. 정규화의 목적 ① 데이터베이스의 변경 시 이상현상(갱신, 삽입, 삭제)을 제거합니다. 테이블 수정 시, 원치 않은 부작용이 발생하는 것을 제거합니다. ② 데이터베이스의 구조 확장 시 디자인을 다시하는 것을 최소화 합니다. 데이터베이스와 연동된 응용 프로그램에 최소한의 영향을 주어 응용 프로그램의 생명을 연장합니다. ③ 각 릴레이션에 중복된 종속성을 여러개의 릴레이션에 분할합니다. ④ 어떠한 릴레이션이라도 데이터베이스 내에서 표현이 가능하게 합니다. ⑤ 효과적인 검색 알고리즘을 생성할 수 .. 2020. 6. 9.
[TCL] 트랜잭션 * SQL 전문가 가이드를 보고 작성하였습니다. 트랜잭션 트랜잭션은 데이터베이스의 논리적 연산단위이며 분할할 수 없는 최소의 단위입니다. 그렇기 때문에 전부 적용하거나 전부 취소합니다. (ALL OR NOTHING) * 커밋(COMMIT) : 올바르게 반영된 데이터를 데이터베이스에 반영시키는 것을 말합니다. * 롤백(ROLLBACK) : 트랜잭션 시작 이전의 상태로 되돌리는 것을 말합니다. * 저장점(SAVEPOINT) : 롤백할 지점을 선택하여 저장점으로 지정하는 것을 말합니다. 트랜잭션의 대상이 되는 SQL문은 UPDATE, INSERT, DELETE 등 데이터를 수정하는 DML문 입니다. 예를 들어, 계좌이체를 생각합니다. 1. 100번 계좌의 잔액에서 10,000을 뺍니다. 2. 200번 계좌의 .. 2020. 6. 7.
[DML] INSERT, UPDATE, SELECT * 모든 쿼리는 oracle을 기준으로 작성하였습니다. * SQL 전문가 가이드로 공부하고 작성하였습니다. INSERT 테이블에 데이터를 입력합니다. 구문 INSERT INTO 테이블명 (COLUMN_LIST) VALUES (COLUMN_LIST에 넣을 VALUE_LIST); INSERT INTO 테이블명 VALUES (전체 COLUMN에 넣을 VALUE_LIST); 예제 쿼리 * USERS라는 테이블에 NAME, AGE, HEIGHT, WEIGHT라는 칼럼을 만들었습니다. INSERT INTO USERS (NAME, AGE) VALUES ('유찌', '23'); INSERT INTO USERS (NAME, AGE) VALUES ('짱구', '5'); INSERT INTO USERS VALUES ('유찌.. 2020. 6. 7.