본문 바로가기

DB

(7)
조인(Join) 조인이란 하나 이상의 관련 있는 컬럼 기준으로 행을 합쳐주는 연산입니다. 명시적 표현법(JOIN 테이블 ON 조건) or 암묵적 표현법(FROM 테이블 WHERE 조건)으로 조인할 수 있습니다. 내부조인(INNER JOIN) 가장 많이 사용하는 조인으로, 2개의 테이블 컬럼을 합쳐 새로운 테이블 생성하며 조건을 충족시키는 레코드 반환합니다.(교집합) 1) 교차조인(CROSS JOIN) : 두 테이블의 카티션 프로덕트(곱집합) 한 결과 테이블 A의 각 행과 테이블 B의 각 행을 다 조합한 결과 2) 등가조인(EQUL JOIN) : 동등비교(=)를 사용하는 조인 일반적인 내부조인 비등가조인(NON-EQUL JOIN) : 크거나 작거나 BTWEEN 등 사용 3) 자연조인(NATURAL JOIN) : 같은 이름..
인덱스(Index) / 뷰(View) / 시퀀스(Sequence) 인덱스(index) 인덱스는 데이터의 빠른 검색을 위해 사용합니다. 서버의 부하 덜줄 수 있고, Row의 유일성도 유지 됩니다. 하지만 인덱스를 만들면 그 정보를 유지하기 위한 디스크공간이 필요하고, 인덱스가 걸려있는 테이블은 없을 때보다 데이터 추가,변경시 많은 시간 소요될 수 있습니다. 인덱스 종류> Unique Clustered / Unique Nonclustered Nonunique Clustered / Nonunique Nonclustered Clustered (무리를 이룬) -> 한 테이블에 단 한 개, 범위를 주어 검색할 때 탁월 (ex - 키순, 나이순, 이름순) NonClustered -> 한 테이블에 여러개, 특정 값으로 찾아갈 때 탁월 (ex - 도서명, 저자명, 분야별) 뷰(View..
정규화(Normalization) 정규화란 관계형 데이터베이스에서 중복을 최소화하도록 데이터를 구조화하는 것입니다. 삽입, 삭제, 갱신 이상(의도하지 않은 값이 삽입, 삭제되거나 일부만 갱신 등)과 같은 이상현상을 해결하기 위하여 정규화를 진행합니다. [ 정규화 과정 ] 제 1 정규화> 중복되는 그룹 제거 (원자값 만으로 구성) (a-영어-ㄱ학교,ㄴ학교 -> 학교 두 개로 분리) 제 2 정규화> 부분적 함수 종속 제거 (완전 함수적 종속) (a-영어-ㄱ학교/b-영어-ㄴ학교에서 영어제거 후 새로운 테이블 생성하여 분리) 제 3 정규화> 이행적 함수 종속 제거 (기본키 이외의 다른 컬럼이 다른 컬럼을 결정할 수 없게 X->Y/Y->Z로 분리) ---보통 이쯤 정규화 되었다고 말합니다.--- BCNF(Boyce-Codd) 정규화> 결정자가 후..
데이터베이스 언어(DDL/DML/DCL) 1> DDL(Data Definition Language - 데이터 정의어) DB 구조를 정의(create), 수정(alter) ,삭제(drop)하는 언어 2> DML(Data Manipulation Language - 데이터 조작어) DB 내의 자료 검색(select), 삽입(insert) , 갱신(update), 삭제(delete)하는 언어 3> DCL(Data Control Language - 데이터 제어어) 데이터에 대해 무결성 유지, 병행 수행 제어, 보호와 관리를 위한 언어 (commit 확정, rollback 복구/취소, grant 권한부여, revoke 권한취소) 1) 개체 무결성 : 모든 테이블이 기본키(고유,not null)로 선택된 컬럼을 가져야한다. 2) 참조 무결성 : 외래키 값은..
데이터베이스 기본 [ 데이터 ] 정보는 있으나 체계화 되지 못 한 상태 (사과, 원숭이 등) [ ERD(Entity Relationship Diagram, 개체관계도) ] 요구분석사항을 그림으로 관계도출한 것 [ 구성요소 ] 테이블(=릴레이션, 엔티티) : 표 형태로 표현한 데이터 열(=컬럼, 필드) : 세로, 특정 모임 행(=로우, 레코드) : 가로, 실질적 데이터 [ DBMS(Database Management System, 데이터베이스 관리 시스템) ] 데이터 베이스를 관리하는 소프트웨어 [ RDBMS(Relational Database Management System, 관계형 데이터베이스 관리 시스템) ] 관계형 데이터베이스를 생성,수정,관리할 수 있는 소프트웨어(oracle, mysql, mssql, mariaD..