Data (자료)
✔️ 현실 세계에서 관찰이나 측정을 통해 수집한 단순한 사실이나 값
Information (정보)
✔️ 의사 결정에 도움을 줄 수 있는 유용한 형태
✔️ 자료를 가공(처리)해서 얻을 수 있는 결과를 의미
데이터베이스(Database)
✔️ 어느 한 조직에 여러 응용 시스템들이 공동으로 사용할 수 있도록 통합하여 저장한 운영데이터의 집합
✔️ 공동의 목적을 지원하기 위한 서로 관련된 자료들의 모임
✔️ 주제와 관련된 의미있는 데이터들의 모음
⇒ 서로 연관된 정보의 중복을 최소화하여 한곳에 저장함으로써 다수의 사용자가 필요한 정보에 효율적으로 접근할 수 있게 한 정보의 집합체
데이터베이스 모델의 종류
✔️ 계층데이터 모델
✔️ 망 데이터 모델
✔️
관계 데이터 모델 (Relational Data Model)
: 개체 집합에 대한 속성 관계를 표현하기 위하여 개체를 테이블(table)로 사용하고 개체 집합들 사이의 관계는 공통 속성으로 연결하는 독립된 형태의 데이터 모델
✔️
데이터베이스 관리 시스템 (DataBase Management System)
✔️ 사용자에게 데이터베이스를 생성하고 유지할 수 있게 하는 프로그램 집합 (데이터를 정리하고 보관)
✔️ 데이터 삽입, 삭제, 수정 등의 기능을 수행
데이터의 무결성 유지
✔️ DB의 데이터는 실세계를 적용하는 규칙을 항상 만족해야함
✔️ 서로 다른 부분에 있는 두 개의 데이터가 서로 모순되지 않아야 함 (데이터의 일관성 유지)
데이터의 논리적 독립성
✔️ 한 속성에 가해진 변경이 동일한 테이블에서 다른 속성에 영향을 주지 않는 것을 의미
✔️응용프로그램에 영향을 주지 않고 데이터 구조를 변경할 수 있게 하는 것
참조 무결성과 데이터 무결성
✔️ 응용 프로그램 개발 시 무결성 제약 조건을 신경쓰지 않아도 된다
비정규 질의
✔️ 사용자는 작업을 실행하는 방법을 명시하지 않고도 데이터베이스에게 어떤 데이터를 조회할 것인지를 명령할 수 있다.
실시간 접근성
✔️ 데이터베이스는 지속적이고 비정형적인 질의에 대하여 실시간 처리가 가능해야 한다.
계속적인 변화
✔️ 새로운 데이터 삽입(Insert), 기존의 데이터 삭제(Delete), 갱신(Update) 등의 변화를 주어 정확한 데이터 유지
동시 공용
✔️ 다수의 사용자가 동시에 각자 원하는 데이터에 접근하여 이용할 수 있어야 한다.
내용에 의한 참조
✔️ 사용자가 요구하는 데이터의 내용, 즉 데이터가 가지고 있는 값에 따라 참조
Oracle, mySQL, MsSQL, Teradata, SyBase 등이 있고,
한국에서 가장 널리 배포되어 있는 DBMS는
Oracle
📌 테이블
- 기업이 정보를 효율적, 효과적으로 보관하기 위해 만들어 놓은 공간
- 테이블 이름은 고유해야함 (동일한 두 개의 테이블 이름 불가)
📌 스키마(Schema)
- 테이블에 데이터가 저장되는 방식을 정의할 수 있다.
- 데이터베이스에 존재하는 자료의 구조 및 내용과 자료들의 논리적, 물리적 특성에 대한 정보를 표현하는 데이터베이스의 논리적 구조를 지칭
📌 열(Column)
- 테이블을 구성하는 각각의 정보
- 각 열에는 고유한
데이터 형식이 지정
** 데이터 형식 지정 : 열에 저장할 수 있는 데이터의 종류를 특정한 형식으로 제한한다는 의미
- 데이터 형식은 데이터의 올바른 정렬 및 데이터베이스 공간의 효율적 사용에 중요한 역할을 함
📌 행(Row)
- 테이블의 데이터는 행에 저장
- 테이블의 행을
레코드
라고 표현
📌 기본 키 (Primary key)
- 각 행을 고유하게 하는 열이 존재
- 기본 키는 데이터베이스 제어 및 관리, 데이터베이스의 최적화 등을 위해 테이블 생성 시 반드시 필요
- 참고사항
🔎 관계 데이터베이스에 데이터를 저장할 수 있는 형식 (Table = Relation) 🔎 행과 열의 교차점은 원자값(atomic value)이라는 오직 하나의 값으로 구성 🔎 테이블에서 행은 순서가 정해져 있지 않다. 🔎 테이블의 내용은 실제적인 행의 집합으로 간주된다.
SQL (Structured Query Language)
✔️ 관계형 데이터베이스 언어 (관계형 데이터베이스 모델의 규칙에 따라 정의) → 관계 데이터베이스 언어로써 비절차적 데이터베이스 언어로 분류
✔️ 데이터베이스에 접근할 수 있는 데이터베이스 하부 언어를 지칭
✔️ SQL은 여러 개의 테이블에서 원하는 정보를 읽고 쓰기 위해 사용하는 언어
✔️ 데이터의 삽입, 삭제, 갱신, 질의, 보호(보안) 명령문으로 구성
📌 데이터 정의어 (DDL ; Data Definition Language)
테이블이나 관계의 구조를 생성하는데 사용하며
create, alter, drop문
등이 있다.✔️ CREATE : 데이터베이스 테이블 생성
✔️ DROP : 데이터베이스 테이블 삭제
✔️ ALTER : 기존 데이터베이스 테이블 재정의
📌 데이터 조작어 (DML ; Data Manipulation Language)
- 테이블에 데이터를
검색(select/R), 삽입(insert/C), 수정(update/U), 삭제(delete/D)
⇒ CRUD 작업
📌 데이터 제어어 (DCL ; Data Control Language)
데이터의 사용 권한을 관리하는데 사용하며
grant, revoke문
등이 있다.✔️ GRANT : 테이블에 권한 부여
✔️ REVOKE : 부여한 권한 취소/회수