데이터베이스
[DB] DB 와 응용프로그램
KyooDong
2020. 12. 9. 21:17
728x90
DB 를 이용하여 응용프로그램 제작
-
Static approaches : 코드에 SQL을 박아 넣는 방법
-
ESQL/C, ESQL/C++
-
Dynamic approaches : SQL API 를 호출하는 방법
-
SQL CLI, ODBC, JDBC
내장 SQL (Embeded SQL)
C/C++ 은 SQL 문을 알지 못하기 때문에 컴파일에러가 발생하므로 전처리 과정이 필요
예) EXEC SQL <SQL>; END_EXEC
커서 (Cursor)
SQL 의 수행 결과가 테이블인 경우 row 가 몇개나 될지 알 수 없기 때문에 고정된 길이의 데이터 구조를 정의할 수 없음
따라서 query 의 수행 결과를 tuple 단위로 리턴해주는 역할을 맡는게 커서임
Dynamic SQL
Query 문을 동적으로 받을 수 있음
ODBC, JDBC 같은 것을 사용하여 C, java 에서도 편리하게 SQL API 를 호출 할 수 있음
동적으로 SQL API 를 호출하는 방식이 더 유연하고, 강력하지만 느림
웹 응용 프로그램
3 레이어 아키텍쳐 : 브라우저 → 인터넷 → 웹서버 → 앱서버 → DB 서버
2 레이어 아키텍쳐 : 브라우저 → 인터넷 → 웹/앱서버 → DB 서버
쿠키 (Cookies)
쿼리의 결과로 많은 데이터를 전달해야하는데 http 는 connectionless 이기 때문에 매 tuple 마다 connection 을 맺어야하면 매우 큰 비용이 듦으로 쿠키를 이용함 → 쿠키를 통해 connection 을 유지하는 원리
브라우저가 쿠키를 생성하여 서버에 전달하면 서버가 쿠키를 저장하고 connection 을 유지하는데 사용