Certificate 19

[sql] 반정규화에 대하여 (분류)

반정규화: 성능 향상을 위해 정규화를 포기한다. 그러나 데이터 무결성이 유지되지 않기 때문에 제한적 사용이 요구되는 정규화 과정 반정규화는 두 가지로 나뉘는데, (1) 테이블 반 정규화와 (2) 컬럼 반정규화이다. (1) 테이블 반정규화 - 테이블 병합 : 1:1관계, 1:M관계, 슈퍼 서브 타입 테이블 병합 - 테이블 분할: 수직분할, 수평분할 - 테이블 추가: 중복테이블 추가, 통계테이블 추가, 이력테이블 추가, 부분테이블 추가 (2) 컬럼 반정규화 - 중복 컬럼추가 - 파생 컬럼추가 - 이력테이블 컬럼 추가

Certificate/SQL 2023.11.04

[sql] 정규화(1NF,2NF,3NF)에 대하여

https://imsunbow.tistory.com/28 [sql] 정규화/반정규화 (개념과 문제점에 관하여) [정규화] 데이터의 일관성, 최소한의 데이터 중복, 최소한의 데이터 유연성을 위한 방법 정규화된 모델은 테이블이 분해됨. 테이블이 분해되면 직원 테이블과 부서 테이블 간에 부서코드로 조인 imsunbow.tistory.com 정규화와 반정규화에 관한 개념과 문제점에 대해 알아보았다. 이번 포스팅에서는 정규화의 과정에 대해 조금 더 자세하게 알아보려고 한다. [제 1정규화-1NF] - 원자성 모든 속성은 반드시 하나의 값만 가져야 한다. >> 다중 값을 가지거나 반복 그룹을 가질 경우에 제1정규형 위배 [제 2정규화-2NF] - 부분 종속 모든 속성은 반드시 모든 기본키에 종속되어야 한다. (기본..

Certificate/SQL 2023.11.02

[sql] TCL(Transaction Control Language)에 관하여(의미, 예시 중심으로)

[Transaction이란?] 트랜젝션(Transaction)이란 밀접히 관련되어 분리될 수 없는 한 개 이상의 데이터베이스 조작을 의미한다. [Transaction의 특성] 트랜젝션은 다음 4가지 특성을 만족해야 한다. - 원자성: 트랜젝션에서 정의된 연산들은 모두 성공적으로 실행되거나 전혀 실행되지 않아야 함(all or nothing) - 일관성: 트랜젝션이 실행되기 전의 데이터베이스 내용이 잘못되어 있지 않다면 트랜젝션이 실행된 이후에도 데이터베이스의 내용에 잘못이 있으면 안됨 - 고립성: 트랜젝션이 실행되는 도중에 다른 트랜젝션의 영향을 받아 잘못된 결과를 만들어서는 안됨 - 지속성: 트랜젝션이 정상적으로 수행되면 갱신한 데이터베이스의 내용은 영구적으로 저장됨 [TCL 언어] Transactio..

Certificate/SQL 2023.11.02

[sql] 정규화/반정규화 (개념과 문제점에 관하여)

[정규화] 데이터의 일관성, 최소한의 데이터 중복, 최소한의 데이터 유연성을 위한 방법 정규화된 모델은 테이블이 분해됨. 테이블이 분해되면 직원 테이블과 부서 테이블 간에 부서코드로 조인(join)을 수행하며 하나의 합집합으로 만들 수 있음 정규화를 하면 중복 데이터가 제거됨(불필요한 데이터를 입력하지 않아도 되기 때문) [정규화의 특징] 조인으로 인하여 성능이 저하되는 문제를 반정규화로 해결 가능 반정규화는 데이터를 중복시키기 때문에 또 다른 문제점을 발생시킴 따라서 정규화와 반정규화는 trade-off 관계에 있다고 볼 수 있음(반정규화는 데이터중복 허용해서 join 줄임)' [반정규화] 데이터베이스의 성능 향상을 위하여, 데이터 중복을 허용하고 조인을 줄이는 데이터베이스 성능 향상 방법 [반정규화의..

Certificate/SQL 2023.11.01

[sql] 데이터 독립성 요소 - 스키마(schema)의 분류

데이터베이스 스키마 구조는 세 단계로 구성된다. (1) 외부 스키마 : view 단계 여러개의 사용자 관점으로 구성되는 , 개인적 DB 스키마 [keyword: 사용자 관점] (2) 개념 스키마 : 모든 사용자 관점을 통합한 조직 전체의 DB를 기술하는 것 [keyword: 통합관점] (3) 내부 스키마 : 데이터의 실질적 저장, 물리적 단계에서 데이터가 실제적으로 저장되는 방법 표현 [keyword : 물리적 저장 구조]

Certificate/SQL 2023.10.31

[sql] 식별자(Identifiers)에 관하여(식별자의 의미, 특징, 분류)

[식별자의 의미] 식별자 : 식별자(Identifiers)는 엔터티 내에서 인스턴스들을 구분할 수 있는 구분자이다. 하나의 엔터티에 구성되어 있는 여러 개의 속성 중에 엔터티를 대표할 수 있는 속성을 의미함. 하나의 엔터티는 반드시 하나의 식별자를 가지고 있어야 한다. [식별자의 특징] : 주식별자의 경우 다음의 네 가지 특징을 만족시켜야 함. - 유일성: 주식별자에 의해 엔터티내에 모든 인스턴스들을 유일하게 구분함. - 최소성: 주식별자를 구성하는 속성의 수는 유일성을 만족하는 최소의 수가 되어야 함 - 불변성: 주식별자가 한 번 특정 엔터티에 지정되면 그 식별자의 값은 변하지 않아야 함 - 존재성: 주식별자가 지정되면 반드시 데이터 값이 존재(Null이면 안됨) [여러 기준에 따른 식별자의 분류 체계..

Certificate/SQL 2023.10.30

[sql] 관계(Relationship) 에 관하여 (의미, 분류 )

sql에서 관계는, "엔터티와 인스턴스 사이의 논리적인 연관성으로서 존재의 형태로서나 행위로서 서로에게 연관성이 부여된 상태"를 의미한다. 관계의 분류로는 존재에 의한 관계(group과 개인과 같은), 행위에 의한 관계(행위주체와 피행위주체) 가 있다. 관계를 체크할 때에는 다음과 같은 사항을 확인한다. - 두 개의 엔터티 사이에 관심있는 연관규칙이 존재하는가? - 두 개의 엔터티 사이에 정보의 조합이 발생되는가? - 업무기술서, 장표에 관계연결에 대한 규칙이 서술되어 있는가? - 업무기술서, 장표에 관계연결을 가능하게 하는 동사가 있는가?

Certificate/SQL 2023.10.30

[sql] attribute(속성) 에 관하여 [개념, 엔터티와의 관계, 분류]

데이터 모델링 관점에서의 속성(Attribute)의 의미는, "업무에서 필요로 하는 인스턴스로 관리하고자 하는 의미상 더이상 분리되지 않는 최소의 데이터 단위" 라고 볼 수 있다. 속성은 더이상 분리되지 않는 작은 단위이자, 엔터티를 설명하는 수단으로 쓰이며 인스턴스의 구성 요소가 된다. 하나의 엔터티는, 두 개 이상의 인스턴스들의 집합이다. 또한 두 개 이상의 속성이 모인 것을 의미하기도 한다. attribute의 분류는 분류기준에 따라 두 가지로 나뉘어진다. (1) 속성의 특성에 따른 분류이고, (2) 엔터티 구성 방식에 따른 분류이다. (1) 속성의 특성에 따른 분류 1) 기본속성 : 업무로부터 추출한 모든 속성이 해당됨 2) 설계속성 : 업무상 필요한 데이터 이외에 데이터 모델링을 위해, 업무를 ..

Certificate/SQL 2023.10.29

[sql] 엔터티 개념, 특징에 관하여

-엔터티 : 실체, 객체. 업무에 필요하고 유용한 정보를 저장하고 관리하기 위한 집합적인 것 -인스턴스: 엔터티에 들어가는 하나의 값으로 이해하면 편함. 즉 엔터티에는 인스턴스가 포함되어 있다. [엔터티의 특징] - 업무에서 필요로 하는 정보인지 확인: 시스템 구축 대상인 해당업무에서 그 엔터티를 필요로 하는지를 판단 - 식별이 가능해야 함: 식별자에 의해 식별이 가능해야 함 - 인스턴스의 집합 : 영속적으로 존재하는 인스턴트의 집합이 되어야 함 - 업무 프로세스에 의해 이용 : 업무 프로세스(Business Process)가 반드시 그 엔터티를 이용해야 함 - 속성을 포함: 반드시 attribute가 포함되어야 함 - 관계의 존재: 다른 엔터티와 최소 하나 이상의 관계가 존재해야 함 [엔터티의 분류] ..

Certificate/SQL 2023.10.28
반응형