프레임워크

소프트웨어 어플리케이션이나 솔루션의 개발을 수월하게 하기 위해 소프트웨어의 구체적 기능들에 해당하는 부분의 설계와 구현을 재사용 가능하도록

협업화된 형태로 제공하는 소프트웨어 환경을 말한다.

 간략하게 설명하면 프로그램 기본 구조(뼈대)라고 생각하면된다.

예시) JAVA 개발자 -> Spring , Python 개발자 -> Django, JavaScript 개발자 -> Angularjs


플랫폼

특정 장치나 시스템 등에서 이를 구성하는 기초가 되는 틀 또는 골격을 지칭하는 용어

오프라인의 가게가 될 수 도 있고 매장일 수도 있고, 온라인의 판매 시스템인 쇼핑몰, 카페, 블로그 다양한 SNS, 소셜미디어, 라이브 쇼핑몰 등 무엇인가(

컨텐츠 상품 등)를 알리고 팔고, 살 수 있는 툴(시스템)을 통틀어 플랫폼이라고 한다.

 프로그램이 실행되는 환경이며 플랫폼은 플랫폼 위에 다른 플랫폼이 존재할 수 있다. 가령, Windows에서 java로 개발하고 있으며

앱스토어에서 어플을 내려받는 과정에서 이미 3개의 플랫폼을 사용하고 있는 것이다.

플랫폼은 같은 영역에도 다양한 목적과 가치로 많이 만들어지고 있으며 모든 플랫폼에서 실행되도록 개발하기는 어렵다.

프로그램의 목적에 맞도록 플랫폼을 선택하는 것이 중요하다.

예시) Windows, Linux, macOS 등 O/S는 모두 플랫폼이다.

어플을 다운받는 앱스토어, 구글플레이, 원스토어도 플랫폼이다.


프레임워크와 플랫폼의 차이

프레임워크 : 소프트웨어 뼈대 구조

플랫폼 : 소프트웨어 실행 환경



참고 

https://blog.naver.com/kitepc/221314674197

left, right, inner, outer join에 대해서 알아보자.


위의 join 들을 검색했을 때 가장 많이 나오는 사진은 다음과 같다.


결과 부터 말하자면 INNER JOIN은 JOIN과 같은 말이고

LETF JOIN과 LETF OUTER JOIN도 같은 말이다.

쉽게 말해 INNER JOIN은 교집합 OUTER JOIN (LETF JOIN, RIGHT JOIN)은 여집합의 개념, FULL JOIN은 합집합이 되겠다.

NATURAL JOIN은 JOIN 조건이 '=' 일 때 동일한 속성이 두번 나타나게 되는데, 이 중 중복된 속성을 제거하여 같은 속성을 한번 만 표기하는 방법이다.


다음과 같은 예시를 통해 살펴보자.


학생 테이블


학과 테이블


성적 테이블


학생 테이블과 학과 테이블을 조인시켜서 LEFT JOIN, RIGHT JOIN, INNER JOIN에 대해서 알아보도록 하겠다.


1. LEFT JOIN

밑에 예시는 ms-sql 쿼리문에서 따온것이다.

oracle의 경우에는 (+)를 통해 outer조인이 형성된다.

oralce의 경우를 적어보겠다.

(oralce) select *from 학생,학과 where 학생.학과코드 = 학과.학과코드(+);

(mssql) select * from 학생 LEFT (OUTER) JOIN 학과 ON 학생.학과코드 = 학과.학과코드;


위와 같은 결과를 보면 INNER JOIN의 결과물에서 왼쪽 테이블의 조인조건에 일치하지 않는 행들도 모두 출력한다. (조인조건의 일치하지 않는 경우 오른쪽 테이블의 컬럼값은 존재하지 않으므로 null로 출력된다.


2.RIGHT JOIN

select * from 학생 RIGHT JOIN 학과 ON 학생.학과코드 = 학과.학과코드;


RIGHT JOIN은 딱히 다시 말 할 필요가 없는게 LETF JOIN과 같고 오른쪽 왼쪽만 바꾼거라 생각하면 된다.


3.INNER JOIN

select * from 학생 INNER JOIN 학과 ON 학생.학과코드 = 학과.학과코드;


INNER JOIN은 두 테이블을 JOIN 시킨 결과물이라고 생각하면 된다.

INNER JOIN과 JOIN은 같은 결과물을 볼 수 있다.


4.NATURAL JOIN

select * from 학생 NATURAL JOIN 학과;


NATURAL JOIN은 두 테이블을 JOIN 시킨 결과물에서 JOIN에 이용된 속성의 값을 빼 준 나머지값이 출력된다.


'DB' 카테고리의 다른 글

DataSet DataTable DataGridView  (0) 2019.03.25
DB 정규화  (0) 2019.01.09
statement와 preparedStatement의 차이  (0) 2019.01.05
프로시저란?  (0) 2018.12.26
DB 성능 순서  (0) 2018.09.20


'프로그래밍' 카테고리의 다른 글

포인터 사용이유  (0) 2018.12.26

+ Recent posts