[SQLD]데이터베이스, sql
데이터베이스
여러가지 행동을 하고 그런 데이터들을 제공해주는 회사에 데이터를 저장하는 서버가 있음 그 서버로 데이터를 보내는 것을 데이터베이스라고함.(로그데이터를 저장하는 시스템)
데이터화해서 저장하는 것을 데이터베이스
sql
SQL(Structured Query Language)은 데이터베이스를 직접적으로 액세스할 수 있는 언어로, 데이터를 정의하고(Data Definition), 조작하며(Data Manipulation), 조작한 결과를 적용하거나 취소할 수 있고(Transaction Control), 접근권한을 제어하는(Data Control) 처리들로 구성된다
- 씨퀄 이라고 부르는 사람도 있음
- db서버나 디벨로퍼 등을 이용해서 조작함
- 데이터베이스를 조작할 수 있는 언어
- 모든 프로그램들 안에 전부 해당 사이트 데이터베이스가 저장이 됨
- sql문은 직접적으로 db에 접근함
- 절차형언어(위에서 아래로)
ddl //definition
데이터를 정의함
dml //mainpulation
CRUD
dcl // control
조작한 결과를 조작(commit, rollback, grant, 트랜젝션)
SQL개발자 DBA
- 데이터 모델링
- 성능 최적화
옵티마이저, 인덱스, 조인수행을 잘해야 성능이 좋아짐
미러링
데이터베이스의 가용성을 높이기 위한 솔루션, 데이터 보호가 향상되고, 업그레이드 중에 프로덕션 데이터베이스의 가용성이 증가됨. 즉 복사본을 가지고 있다고 생각하면 간단함
모듈
여러가지 팀이 있는데 그런 업무용 프로그램을 만드는데 (ex erp)
2계층 클라이언트 서버
사용자(프로그래머)가 서버를 증설(해당ip)하면 2계층 클라이언트 서버라고 함
기업에서는 사용자들이 동시에 데이터베이스에 서비스 요청을 하기 때문에 서버가 터질 수 있음(lock걸렸다고 말함)
그러기때문에 미들웨어가 필요함(턱시도 // 분산트랜젝션처리 플랫폼)
TP call 클라이언트가 서버콜을 요청하고 그걸 기다리는 중
중간에 턱시도가 있고 그걸 sql을 따르는 구나..
모의해킹(sql 인젝션) 막기..
DBMS
데이터베이스 관리시스템