💡 DB (Database)
- 어느 한 조직에서 여러 응용 시스템들이 공동으로 사용할 수 있도록 통합하여 저장한 운영데이터의 집합.
- 공동의 목적을 지원하기 위한 서로 관련된 자료들의 모임.
- 주제와 관련된 의미있는 데이터들의 모음.
- 가치가 있고, 공동으로 소유하고, 최대한 중복을 배제한 저장할 수 있는 자료들.
1. 통합된 데이터 : 자료의 중복을 배제한 데이터 모임.
2. 저장된 데이터 : 접근할 수 있는 저장 매체에 저장된 자료.
3. 운영 데이터 : 업무에 가치가 있는 자료.
4. 공용 데이터 : 공동 소유하고 유지하는 자료
💡 DB의 특징
1. 동시 공유
2. 실시간 접근성
3. 지속적인 변화
4. 데이터 논리적 독립성 [서로 다른 테이블끼리 독립성]
5. 내용에 의한 참조 [데이터 내용으로 검색 가능]
💡 DBMS (Database Management System)
- 사용자에게 데이터베이스를 생성하고 유지할 수 있게 하는 프로그램 집합.
- DBMS는 데이터베이스 언어를 가지고 있으며,
이를 통해 데이터의 삽입, 조회, 삭제, 수정을 할 수 있다.
💡 DBMS의 기능
- 데이터의 무결성 유지
-> DB의 데이터는 실세계를 적용하는 규칙을 항상 만족해야함.
-> 서로 다른 부분에 있는 두 개의 데이터가 서로 모순되지 않아야 함.
-> 데이터의 일관성 유지.
💡 DBMS의 3가지 특성
1. 데이터의 논리적 독립성
-> 한 속성에 가해진 변경이 동일한 테이블에서 다른 속성에 영향을 주지 않는 것을 의미한다.
-> 응용프로그램에 영향을 주지 않고, 데이터 구조를 변경할 수 있게 하는 것.
2. 참조 무결성과 데이터의 무결성
-> 응용프로그램 개발 시, 무결성 제약조건을 신경쓰지 않아도 된다.
3. 비정규 질의
-> 사용자는 작업을 실행하는 방법을 명시하지 않고도,
데이터베이스에게 어떤 데이터를 조회할 것인지를 명령할 수 있다.
💡 DB 모델의 종류
1. 계층형 데이터 모델
2. 망 데이터 모델
3. 관계 데이터 모델 (Relational Data Model)
-> 개체 집합에 대한 속성 관계를 표현하기 위하여 개체를 테이블(table)로 사용하고,
개체 집합들 사이의 관계를 공통속성으로 연결하는 독립된 형태의 데이터 모델.
💡 관계 데이터 모델의 구성요소
- 테이블 (Table)
- 열 (Column)
- 행 (Row)
- 관계 데이터베이스에 데이터를 저장할 수 있는 형식 테이블 (Table = Relation)
- 행과 열의 교차점은 원자 값(automic value)이라는 오직 하나의 값으로 구성.
- 테이블에서 행은 순서가 정해져 있지 않다.
- 테이블의 내용을 실제적인 행의 집합으로 간주된다.
💡 SQL
- SQL'(Structured Query Language)'은 관계형 데이터베이스 언어이다.
- 데이터의 삽입, 삭제, 갱신, 질의, 보호(보안) 명령으로 구성.
- SQL은 관계 데이터베이스 언어로서, 비절차적인 데이터베이스 언어로 분류한다.