SQLD자격증독학

[SQLD자격증독학] 19. 관계형 데이터 베이스

i-moo 2017. 1. 22. 13:22
반응형

파일시스템

- 분산된 데이터 간의 정합성을 유지하는데 과다한 노력이 필요하게 되고 데이터의 정합성을 보장하기 힘들게 된다

- 단일 사용자나 단일 어플리케이션이 파일 시스템을 사용하는 경우는 유용하게 사용 가능하다


DBMS(Database Management System)

- 인증된 사용자만이 참조할 수 있도록 보안 기능을 제공

- 다양한 제약조건을 이용하여 조건에 위배되는 데이터를 입력한다든지, 관계를 연결하는 중요 데이터를 삭제하는 것을 방지하여 데이터의 무결성(Integrity)을 보장 O

- 시스템의 갑작스런 장애로부터 사용자가 입력, 수정, 삭제하던 데이터가 제대로 반영될 수 있도록 보장해주는 기능

- 시스템 다운, 재해 등의 상황에서도 데이터를 회복/복구할 수 있는 기능을 제공


SQL(Structured Query Language)

- 관계형 데이터베이스에서 데이터 정의, 데이터 조작, 데이터 제어를 하기 위해 사용하는 언어

- SQL교육의 목적 : 정확한 데이터를 출력하는 것

- SQL튜닝의 목적 : 시스템에 큰 영향을 주는 SQL을 가장 효과적으로 작성하는 것

- 관계형 데이터베이스에 대한 전담접속용도로 사용됨 ( 다른 언어는 관계형 데이터베이스에 접속 할 수 X )

- 독립된 하나의 개발언어


SQL 명령어 : DML, DDL, DCL, TCL

- DML (Data Manipulation Language) : 데이터 조작어

> SELECT : 데이터베이스에 들어있는 데이터르 ㄹ조회하거나 검색하기 위한 명령어, RETRIEVE라고도 한다

> INSERT, UPDATE, DELETE

: 데이터베이스의 테이블에 들어 있는 데이터에 변형을 가하는 종류의 명령어들

- DDL (Data Definition Language) : 데이터 정의어

> CREATE, ALTER, DROP, RENAME

: 테이블과 같은 데이터 구조를 정의하는 데 사용되는 명령어들

- DCL (Data Control Language) : 데이터 제어어

> GRANT, REVOKE

: 데이터베이스에 접근하고 객체들을 사용하도록 권한을 주고 회수하는 명령어

- TCL (Transaction Control Language) : 트랜잭션 제어어

> COMMIT, ROLLBACK

: 논리적인 작업의 단위를 묶어서 DML에 의해 조작된 결과를 작업단위(트랜잭션) 별로 제어하는 명령어


TABLE

- 데이터는 관계형 데이터베이스의 기본 단위인 테이블 형태로 저장된다

- 어느 특정한 주제와 목적으로 만들어지는 일종의 집합

- 데이터를 저장하는 객체(Object)로서 관계형 데이터베이스의 기본 단위

- 세로 방향 칼럼(Column), 가로 방향 행(Row), 칼럼과 행이 겹치는 하나의 공간 필드(Field)

- 데이터를 복수의 테이블로 분할하여 저장 > 분할된 테이블은 칼럼의 값에 의해 연결됨

> 정규화 (Normalization)

-> 테이블을 분할하여 데이터의 불필요한 중복을 줄이는 것

-> 데이터의 정합성 확보와 데이터 입력/수정/삭제시 발생할 수 있는 이상현상(Anomaly)을 방지


- 기본키(Primary Key) : 각 행을 한 가지 의미로 특정할 수 있는 한 개 이상의 칼럼

- 외부키(Foreign Key) : 다른 테이블의 기본 키로 사용되면서 테이블과의 관계를 연결하는 역할을 하는 칼럼


ERD (Entity Relationship Diagram) = E-R 다이어그램

- 관계의 의미를 직관적으로 표현할 수 있는 좋은 수단

- E-R 다이어그램 : 테이블 간 서로의 상관 관계를 그림으로 도식화 한 것

- 구성요소 : 엔터티(Entity), 관계(Relationship), 속성(Attribute)

반응형