01.데이터베이스
by SANGGI JEON
데이터베이스 (Database)
1. 데이터베이스
- 데이터베이스의 특성
- 실시간 접근성(Real-time Accessability)
- 사용자의 요구를 즉시 처리할 수 있다.
- 계속적인 변화(Continuous Evolution)
- 정확한 값을 유지하려고 삽입,삭제,수정 작업 등을 이용해 데이터를 지속적으로 갱신할 수 있다.
- 동시 공유성(Concurrent Sharing)
- 사용자마다 서로 다른 목적으로 사용하므로 동시에 여러 사람이 동일한 데이터에 접근하고 이용할 수 있다.
- 내용 참조(Content Reference)
- 저장한 데이터 레코드의 위치나 주소가 아닌 사용자가 요구하는 데이터의 내용, 즉 데이터 값에 따라 참조할 수 있어야 한다.
- 실시간 접근성(Real-time Accessability)
- 데이터베이스 관리 시스템 (Database Managemetn System; DBMS)
- 데이터베이스를 관리하는 소프트웨어
- 여러 응용 소프트웨어(프로그램) 또는 시스템이 동시에 데이터베이스에 접근하여 사용할 수 있게 함
- 필수 3기능
- 정의기능 : 데이터베이스의 논리적, 물리적 구조를 정의
- 조작기능 : 데이터를 검색, 삭제, 갱신, 삽입, 삭제하는 기능
- 제어기능 : 데이터베이스의 내용 정확성과 안정성을 유지하도록 제어하는 기능
- DBMS 종류
- Oracle, SQL Server, MySQL 등
- DBMS 장점
- 데이터 중복 최소화
- 데이터의 일관성 및 무결성 유지
- 데이터 보안 보장
- DBMS 단점
- 운영비가 비쌈
- 백업 및 복구에 대한 관리가 복잡
- 부분적 데이터베이스 손실이 전체 시스템을 정지
2. 데이터베이스 종류
- 관계형 데이터베이스 (Relational Database; RDB)
- 키와 값들의 간단한 관계를 테이블화 시킨 매우 간단한 원칙 개념의 데이터베이스
- 일련의 정형화된 테이블로 구성된 데이터 항목들의 집합이며 각 테이블은 데이터의 성격에 따라 여러 개의 컬럼(키)이 포함됨
- 사용자는 SQL이라는 표준 질의어를 통해 데이터를 조작 또는 조회 할 수 있음
- 객체 지향 데이터베이스 (Object Oriented DataBase; OODB)
- 정보를 객체의 형태로 표현하는 데이터베이스
- 객체 모델이 그대로 데이터베이스에도 적용되어 데이터 모델을 그대로 응용프로그램에 적용
- 객체 관계형 데이터베이스 (Object Relation Database)
- 관계형 데이터베이스에서 사용되는 데이터를 확장
- 관계형 데이터베이스를 객체 지향 모델링과 데이터를 관리하는 기능을 갖도록 확장한 것
- NoSQL (Not Only SQL)
- 대용량 데이터의 웹 서비스와 SNS, 클라우드 컴퓨팅의 확대 보급과 대중화로 최근 주목 받는 데이터베이스 기술
3. 데이터베이스 용어
- 테이블(Table)
- RDBMS의 기본적 저장구조
- 한 개 이상의 column과 0개 이상의 row로 구성
- 열(Colum)
- 테이블 상에서의 단일 종류의 데이터를 나타냄
- 특정 데이터 타입 및 크기를 가지고 잇음
- 행 (Row)
- 튜플(Tuple) 또는 레코드(Record)라는 이름으로 불림
- Column들의 값의 조합
- 기본키(PK)에 의해 구분됨
- 기본키는 중복을 허용하지 않으며 없어서는 안된다.
- Field
- Row와 Column의 교차점으로 Field는 데이터를 포함할 수 있고 없을 때는 NULL 값을 가지고 있음
4. 키(Key)
- Primary Key(PK): 기본키
- 릴레이션에서 튜플을 구분하기 위하여 사용하는 기본 키
- 하나의 애트리뷰트, 또는 애트리뷰트의 집합(복합키) 가능
- 관리자에 의해 릴레이션 생성시 정의됨(자동으로 Index 생성됨)
- 동일한 PK를 지닌 레코드가 존재할 수 없음
- 기타
- Candidate Key(후보키)
- 튜플을 식별할 수 있는 최소한의 애트리뷰트 집합
- 하나의 릴레이션에는 PK가 될 수 있는 키가 여러 개 있을 수 있음
- 유일성과 최소성이 있으며 Candidate key가 될 수 있음
- Alternative Key (대체키)
- 후보키 중 기본키가 아닌것
- Composite key(복합키)
- 둘 이상의 애트리뷰트가 하나의 Key를 이루는 경우
- Foreign Key(FK; 외래키)
- 기본키를 참조하는 애트리뷰트
- 다른 릴레이션의 튜플을 대표
- 릴레이션 간의 관계를 나타내기 위하여 사용
- Null 가능 (참조되지 않음 의미)
- Candidate Key(후보키)
5. SQL (Structured Query Language)
- 데이터베이스 스키마 생성, 자료의 검색, 수정과 데이터터베이스 객체 접근 관리 등을 위해 고안된 언어
- 다수의 데이터베이스 관련 프로그램의 표준언어
5.1 SQL 명령어의 종류
- DML: 데이터 조작어로 검색 및 수정하기 위한 수단 제공
- SELECT, INSERT, UPDATE, DELETE, MERGE
- DDL: 데이터 구조를 생성, 변경, 삭제 등의 기능을 제공
- CREATE, ALTER, DROP, RENAME
- DCL: 데이터에 대한 권한 관리 및 트랜잭션 제어
- GRANT,
REVOKE
- GRANT,
Subscribe via RSS