데이터베이스 개념
- 데이터베이스 : 데이터를 저장해놓는 곳
- 데이터베이스의 역할
- 저장된 데이터를 조회해서 사용할 수 있도록 하기 위한 공간
- 데이터의 중복, 결측, 이상 데이터들을 일괄처리할 수 있음
- 입력, 수정, 삭제, 조회를 통해서 데이터를 관리하게 됨
데이터베이스 시스템
- 데이터베이스 시스템
- 오라클사, MS사, IBM사 등
- Oracle, MS-SQL, MySQL, MariaDB 등
Oracle
- Oracle사에서 만들었음
- 21버전까지 나와있으며 회사에서는 일반적으로 18버전을 사용중
- DB중에 가격이 제일 비싸며 OS 독립적으로 사용 가능. 리눅스에서 주로 사용하며 보안에 강함
MS-SQL
- MS사에서 만들었음
- 2023버전까지 나와있으며 회사에서는 일반적으로 2020~2022버전을 사용중
- 특정 공공기관에서 주로 사용하고 다른 곳에서는 거의 사용 안함
- DB중 두번째로 비싸며 OS에 종속되어있음. Windows에 종속되어있으며 보안에 약함
MySQL
- 최초 MySQL사에서 무료로 배포했다가 Oracle사가 합병함
- 상용버전은 5.5 이상 버전, 무료버전은 5.5대 버전
- 몇 년간 무료로 하다가 유료화 정책으로 전환. 일반적으로 5.5대 무료 버전을 주로 사용함(연구소, 학교 등)
- OS 독립적으로 설치 가능함. 리눅스에 최적화되어있고 보안에 강함
MariaDB
- MySQL 만드신 분들이 나와서 만든 DB
- MySQL과 동일하며 OS 독립적으로 설치 가능함. 리눅스에 최적화되어있고 보안에 강함
- 무료로 사용 가능하고 성능은 MySQL과 동일
- 현재 대기업 이외 중견/중소/제조 등에서 많이 사용되고 있음
데이터베이스 관리 시스템
데이터베이스 관리 시스템(DBMS)
: 데이터베이스 서버(Server) 라고 통칭함 (ex. oracle 서버를 사용했다)- 관계형 데이터(테이블)를 만들어서 일관된 데이터 관리와 일관된 데이터 조회를 위해 사용
- 데이터베이스 시스템 이름은 "관계형 데이터베이스 관리 시스템(RDBMS)"이 전체 이름
서버(Server)
: 요청을 기다렸다가, 요청이 들어오면 응답하는 시스템을 서버라고 함- 요청(request), 응답(response) 요청에 대한 응답을 위한 모든 프로그램 처리가 되어있는 곳
- 모든 프로그램을 구축해놓아야 하며 이를 서버 구축이라고 함
클라이언트(Client)
: 서버에게 요청을 하고, 응답을 받아서 보여주는 시스템을 클라이언트라고 함- 요청의 범위(CRUD) : 입력(CREATE), 조회(READ), 수정(UPDATE), 삭제(DELETE)
- 서버 구축 : 데이터베이스는 SW를 설치하는 것을 구축이라고 칭함
- Oracle, MS-SQL, MySQL... 등
- 서버에 요청하기 위한 클라이언트 프로그램 : SQL
- 프로그램을 작성하는 클라이언트 Tool : SQL Developer
SQL 구조적 질의 언어
SQL(구조적 질의 언어)
: 데이터베이스 서버에 요청을 위해 사용하는 언어- 데이터베이스에 접근하기 위한 사용자 생성, 수정, 삭제
- 데이터베이스에 접근하는 사용자의 권한 설정, 삭제
- 데이터 공간 생성, 수정, 삭제 요청
- 데이터 입력, 수정, 삭제, 조회 요청
- 사용되는 용어
- Table : 데이터프레임과 같은 의미. 행/열의 데이터로 구성된 공간
- column : 열을 나타내는 용어(데이터 타입, 길이, 제약조건 등이 존재)
- row : 행을 나타내는 용어
- 형상 관리에 사용되는 명령어
- 생성 : Create
- 수정 : Alter
- 삭제 : Drop
- 데이터 처리에 사용되는 명령어
- 입력(C) : Insert
- 조회(R) : Select
- 수정(U) : Update
- 삭제(D) : Delete