sql 4

[빅데이터 및 지식관리시스템] Nested query와 Aggregate Operations

Nested queryNested query와 join을 이용한 query의 차이Nested query는 in, not in을 통해 존재의 여부를 판단하는 것이기 때문에 중복을 인정하지 않는다.반면, join은 중복을 인정한다.속도 측면에서는 join이 더 빠른데 그 이유는 DBMS 옵티마이저 덕분이다. join에서 column기준으로 묶어서 비교했는데, Nested query에서는 비교하고자 하는 column을 select 하여 in/not in 연산을 실행하면 된다.Correlated subqueryExist는 in과 다르게 tuple 하나하나 비교해가면서 True/False 값을 출력한다.UniqueUique는 중복이 있는지 판단해서 중복된 tuple이 있으면 False, 없으면 True를 출력한다..

Computing 2025.04.01

[빅데이터 및 지식관리시스템] SQL의 기본연산에 대해 알아보기(Join에 대해 모든 공부..)

SQL과 같은 실제 질의 언어가 어떤 수학적 기초 위에 구축되어 있을까?? SQL언어는 Relational Algebra와 Relational Calculus에 근간하여 만들어졌다. Relational Algebra실제 SQL 질의 실행 계획을 표현하는 것으로 operational 하고 procedural 한 성격을 띤다.일련의 연산을 사용해 데이터를 조작한다. Relational Calculus사용자가 query에 대해 how to coplete it을 보는 것보다 what they want를 보는 것이다.따라서, non-operational 하고 declarative 하다. RA와 RC는 전환이 가능하며 표현력이 비슷하다. Relational AlgebraAlgebra는 mathematical sys..

Computing 2025.03.22

[빅데이터 및 지식관리시스템] View에 대해 알아보기

ViewView는 virtual table로 view자체가 데이터를 물리적으로 저장하지 않는다.View는 실제 데이터가 들어 있는 Base Relation(기본 테이블) 위에 정의된다. View에 대해 query를 날리면 DBMS가 내부적으로 Base Relation에 접근하여 결과를 생성한다.CREATE VIEW HighScoreStudents(sid, gpa) AS SELECT S.sid, S.gpa FROM Students S WHERE S.gpa >3.5;HighScoreStudents라는 View를 생성한다. 구체적으로 S.gpa > 3.5일 경우에 대해 S.sid, S.gpa column을 보여준다. View에 query를 날리는 과정을 살펴보자.다음과 같이 query를 날렸다 하자.SELEC..

Computing 2025.03.18

[빅데이터 및 지식관리시스템] Relational Data Model/Database 알아보기

What is (Relational) Data Model?Relational database를 위한 이론적인 개념이다.relation, attribute, tuble, key 등으로 구성되어 다음과 같은 특징을 가진다.Structure: DDL(Data definition language)를 사용하여 데이터 베이스 구조를 정의한다.(테이블 생성, 수정, 삭제를 수행하는 SQL언어 같은 거)CREATE TABLE Students(sid: CHAR(20),name: CHAR(20),login: CHAR(10),age: INTEGER, gpa: REAL)Operations: DML(Data Manipulation language)를 사용하여 데이터를 관리한다.(삽입, 수정, 삭제, 조회 등)INSERT INT..

Computing 2025.03.15