본문 바로가기

Study/데이터베이스

(5)
[데이터베이스] #4 정규화 잘못된 데이터베이스 모델링 1. 데이터의 중복 일관성 유지의 어려움 저장 공간 낭비 2. 갱신이상 삽입이상, 삭제이상, 수정이상 좋은 릴레이션의 개념 1. 컴퓨터 프로그래머적 관점에서의 모델링 2. 릴레이션의 스키마를 얼마나 효율적으로 반영하고 있는가 3. 고려사항 한 릴레이션 내의 컬럼 간의 관계 분석 원하지 않는 데이터의 종속과 중복 제거 새로운 컬럼들이 데이터베이스에 추가될 때, 기존 컬럼과의 관계 수정을 최소화 함수적 종속성 1. 함수적 종속성의 정의 릴레이션 인스턴스를 분석하여 속성들 간의 연관관계를 표현한 것 릴레이션의 효율성을 향상시켜 좋은 릴레이션으로 변환하는데 이용되는 중요한 개념 {A} → {B} : 결정자 → 종속자 서로 다른 두 개의 레코드에 대해서 컬럼 값이 같으면 다른 컬럼 값..
[데이터베이스] #3 SQL SAFE UPDATES 모드 일종의 안전장치 update문과 delete문에 한해서 실행 의도하지 않은 데이터 변경/삭제 방지를 위해 MySQL은 SAFE UPDATES 모드를 지원 기본키가 아닌 컬럼을 대상으로 수정/삭제 조건을 명시할 경우 실행 여부를 결정 SET SQL_SAFE_UPDATES = 0 또는 1 중첩 질의 1. FROM절에서 중첩 질의 활용 SELECT MAX(A.평균연봉) AS 평균연봉 FROM (SELECT 소속학과, AVG(연봉) as 평균연봉 FROM 교수 GROUP BY 소속학과)AS A WHERE A.평균연봉 < 700000000 2.WHERE 절에서 중첩 질의 활용 select a.학생번호 from 전공 as a where a.학과이름 = '생활과학과' and not exi..
[데이터베이스] #12 트랜잭션 트랜잭션의 이해 데이터 동시 접근의 문제 동일 데이터에 다수 사용자의 접근 허용 시 일관성이 훼손 이런 형태의 문제점을 해결하기 위해 DBMS는 트랜잭션이라는 개념을 도입 트랜잭션의 개념 데이터베이스를 조작하기 위한 하나의 논리적 단위를 이루는 일련의 연산의 집합 데이터베이스를 사용하여 처리하는 작업을 하나의 묶음으로 인식하여 묶음 단위로 실행되도록 정의한 개념 트랜잭션의 특징 ACID 특징 원자성(atomcity) 깨지지 않는 물질을 원자라고 얘기하듯이 즉 하나 하나의 트랜잭션은 절대로 깨지지 않는다 중간까지만 처리되고 트랜잭션의 끝이 나는 경우는 절대로 발생되지 않는다 All or Nothing : 실행되려면 다 되야하고, 실행되지 않으면 하나도 실행되지 않아야 하는 것 일관성(consistency)..
[데이터베이스] #2 데이터베이스 모델링 데이터베이스 시스템 구현 과정 사용자 요구사항 분석 > 개념적 데이터 모델링 > 논리적 데이터 모델링 > 개념스키마 > 물리적 데이터 모델링 > 내부 스키마 데이터 모델링의 개념 데이터의 의미를 파악하고 데이터와 관여하는 업무 프로세스를 개념적으로 정의하고 분석하는 작업 데이터 모델 사용할 데이터를 선별하여 데이터베이스에 체계적으로 구조화하여 저장 사용할 방법이 필요 데이터 모델 : 의미, 데이터 타입, 연산 등을 명시하기 위해 사용할 수 있는 개념들의 집합 데이터 모델링 데이터베이스 모델링의 단계 개념적 데이터 모델링 요구사항의 해석 오류를 방지 실세계의 데이터를 개념적으로 일반화시켜 데이터 구조, 데이터 타입, 속성, 관계, 제약조건 등을 이끌어내는 과정 논리적 데이터 모델링 특정 DBMS의 구현 모..