데이터베이스(Database)는 체계화된 데이터의 모임으로, 조직적으로 저장된 데이터를 효율적으로 관리하고 검색할 수 있는 구조를 가지고 있다. 데이터베이스는 다양한 응용 프로그램에서 사용되며, 데이터의 중복을 최소화하고 일관성, 무결성, 보안 등의 요구사항을 충족시키기 위해 설계되고 운영된다.
실시간 접근성 : 데이터베이스는 실시간으로 서비스, 사용자가 데이터를 요청하면 몇 시간이나 며칠 뒤에 결과를
전송하는 것이 아니라 수 초 내에 결과를 전달하는 서비스
계속적인 변화 : 데이터베이스에 저장된 내요은 어느 한 순간의 상태를 나타내지만, 데이터 값은 시간에 따라 항상 바뀜. 데이터베이스는 삽입, 삭제, 수정들의 작업을 통하여 바뀐 데이터 값을 저장
동시 공유 : 데이터베이스는 서로 다른 없무 또는 여러 사용자에게 동시에 공유된다.
내용에 따른 참조 : 데이터베이스 저장된 데이터는 데이터의 물리적인 위치가 아니라 데이터 값에 따라 참조한다. 사용자가 원하는 데이터를 얻기 위해 데이터 값을 사용하여 조건을 제시하면 데이ㅓ베이스는 이에 해당하는 데이터를 검색해준다.
데이터 독립성 : 응용프로그램과 데이터베이스를 독립 데이터의 논리적 구조를 변경시켜고 응용 프로그램은 변경되지 않는다.
데이터베이스 관리 시스템
DBMS(DataBase Management System)은 데이터베이스를 체계적으로 관리하기 위한 시스템
데이터베이스 : 데이터의 저장소
DBMS : 데이터베이스를 운영하고 관리하는 소프트웨어
- 데이터: 사실이나 정보의 단위로서, 데이터베이스에 저장되는 최소 단위이다. 예를 들어, 사용자의 이름, 주소, 전화번호 등이 데이터가 될 수 있다.
- 테이블(Table): 데이터의 집합을 구조화하여 저장하는 데 사용되는 데이터베이스 객체이다. 테이블은 행과 열로 이루어진 2차원 구조로, 각 열은 특정 유형의 데이터를 저장하며, 각 행은 테이블에 저장된 개별 레코드를 나타낸다.
- 열(Column): 테이블의 구성 요소 중 하나로, 특정 유형의 데이터를 나타내는 단일 데이터 항목이다. 예를 들어, 사용자 테이블의 열은 이름, 나이, 이메일 등을 포함할 수 있다.
- 행(Row): 테이블에서 개별 데이터 레코드를 나타내는 단위로, 테이블의 각 행은 특정 데이터의 속성 값을 가지고 있습니다. 사용자 테이블의 각 행은 개별 사용자의 정보를 나타낸다.
- 관계형 데이터베이스(Relational Database): 테이블 간의 관계를 기반으로 데이터를 구성하고 저장하는 데이터베이스 유형입니다. 테이블 간에 관계를 설정하여 데이터의 중복을 줄이고 데이터의 일관성을 유지합니다. SQL(Structured Query Language)을 사용하여 데이터를 조작한다.
- 주요 제약 조건(Constraints): 데이터베이스에서 데이터의 무결성을 보장하기 위해 설정되는 규칙이다. 예를 들어, 기본 키(primary key)는 각 행을 고유하게 식별하는 열로 설정되며, 외래 키(foreign key)는 다른 테이블의 기본 키와 관련된 열이다.
- SQL(Structured Query Language): 데이터베이스에서 데이터를 조작하고 관리하기 위해 사용되는 표준 데이터베이스 언어이다. SQL을 사용하여 데이터 검색, 삽입, 갱신, 삭제를 할 수 있다.
DBMS의 유형 :: 계층형, 망형, 관계형, 객체지향형, 객체관계형
정형화된 데이터를 관리하는 RDMS
비정형 데이터를 관리하는 NoSQL
RDBMS 소프트웨어 종류
Oracle
MySQL
MariaDB
Microsoft SQL Server
PostgreSQL
IBM DB2
Sybase
CUBRID
Tibero
SQLite
Microsoft Access
H2