데이터베이스

[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 을 유지하는데 사용