database 9

[database] Advanced SQL(Assertions, Triggers, Data Cube, and Pivoting and Cross-Tab)

본 게시글은서울대학교 데이터사이언스대학원 이상원 교수님의데이터사이언스 응용을 위한 빅데이터 및 지식기반시스템 강의를학습을 목적으로 재구성하였습니다이번 시간에는 Assertion과 Trigger에 대해서 잠깐 살펴보고그 이후에는 SQL에서의 한계를 극복하기 위한Data Cube와 Pivoting and Cross-Tab과 같은advanced SQL에 대해서 배워본다  좀 더 복잡한 Integrity Constraint에 대해 알아보자지금까지 우리는 primary key, foreign key를 배웠는데이번에는 general constraint를 배워보자   General Constraint 에서 table을 만들 때 CHECK로 column의 데이터에 제약조건을 줄 수 있다 위 예시에서CHECK (rati..

강의/database 2025.04.05

[database] benchbase를 이용한 TPC-C postgreSQL 실습

본 게시글은서울대학교 데이터사이언스 대학원 이상원 교수님의데이터사이언스 응용을 위한 빅데이터 및 지식관리시스템 수업을학습을 목적으로 재구성하였습니다이번 시간은 실습 + 과제 시간이었다benchbase를 이용하여 TPC-C라는 유명 benchmark 예제를 활용해postgreSQL을 실습하는 수업이었다 본격적으로 실습 시작 전에benchmark는?benchbase는?TPC-C는?어떤 개념인지 간단하게 살펴보자  Benchmark라는 말은 정말 많이 들어봤을 것이다나도 이전회사에서 자연어 모델을 다룰 때처음 들어봤던 용어였던 것 같다 benchmark는 특정 시스템, 제품, 프로세스의 성능을측정하고 평가하는 과정을 말한다어떤 주어진 workload scenario 아래에서성능을 측정한다 따라서 다양한 프로세..

강의/database 2025.04.04

[database] SQL representation (group by와 having, aggregation, null values 처리)

본 게시글은서울대학교 데이터사이언스대학원 이상원 교수님의데이터사이언스 응용을 위한 빅데이터 및 지식기반시스템 강의를학습을 목적으로 재구성하였습니다저번시간에 이어서 계속해서SQL의 표현법에 대해서 알아보자  첫 번째로 나오는 개념은 subquery(혹은 nested query)이다nested query는 쿼리가 안에 있는데그 안에 또 다른 쿼리가 nesting된다는 뜻으로main query와 그 아래에 subquery가 있는 것이다 왼쪽이 그냥 일반 main query만 있는 것이고오른쪽이 subquery로 where의 조건절을 만든 것이다 그렇다면 둘 중에 어떤 것이 더 효과적일까?교수님 말씀에 따르면 오른쪽의subquery를 이용한 쿼리가 더 효율적이라고한다 왼쪽은 그냥 join을 사용한 것이고DBMS..

강의/database 2025.03.31

[database] Relational Algebra (Division과 Query 예시)

본 게시글은서울대학교 데이터사이언스대학원 이상원 교수님의데이터사이언스 응용을 위한 빅데이터 및 지식기반시스템 강의를학습을 목적으로 재구성하였습니다 DB에서 Set과 Bas Semantics의 개념을 알아보자이 두 개념의 가장 큰 차이는중복 허용 여부이다 Relational Algebra는 보통 Set을 따르고SQL은 보통 기본적으로 bag semantics을 따르는데set은 우리가 흔히 수학에서 말하는 집합으로중복을 허용하지 않는 것이고bag semantics는 한국어로 멀티셋 의미론이라고 하며중복되는 튜플도 허용을 한다 SQL에서는 기본적으로 중복을 허용해서튜플 쿼리 결과를 내놓지만DISTINCT를 명시해주면 중복을 제거해서 보여준다   이번 수업 시간의 주요 내용인Divison 연산인다 앞에서 배웠던..

강의/database 2025.03.31

[database] Relational Algebra (selection, projection, cross-product, set-difference, union)

본 게시글은서울대학교 데이터사이언스대학원 이상원 교수님의데이터사이언스 응용을 위한 빅데이터 및 지식관리시스템 강의를학습을 목적으로 재구성하였습니다오늘 강의는 Relational Database에서SQL의 기본 원리가 된Relation Algebra에 관한 내용이다   우선 RDB의 쿼리 언어인 SQL의역사에 대해 잠깐 알아보자 E. F. Codd 박사가 제안한Relational Algebra를 기반으로IBM의 SystemR팀에서 개발한 것이 SEQUEL이고이것이 발전을 거쳐 지금의 SQL이 되었다   SQL은 2가지 수학적 쿼리 언어로부터 형성되었는데Relational Algebra(RA)와 Relational Calculus(RC)이다 위 두 언어는 둘다 Relational Database의 쿼리 언어..

강의/database 2025.03.24

[database] View와 Materialized View

본 게시글은서울대학교 데이터사이언스대학원 이상원 교수님의데이터사이언스 응용을 위한 빅데이터 및 지식관리시스템 강의를학습을 목적으로 재구성하였습니다앞의 수업 내용에서 DB의 개념적, 논리적 스키마와data independence 개념에 대해 공부하며view에 대한 내용을 배웠었다 오늘은 View와 view의 종류 중 하나인materialized view에 대해 수업을 진행했다 우선 view에 대해서 다시 한 번 보자view를 만들기 위해서는 SQL문으로CREATE VIEW를 해주면 된다 view를 처음에 만들어줄 때 사용하는 table을기본 table이라고 해서Base Relation이라고 한다 base table은 우리가 일반적으로 생각하는 table이므로물리적으로 storage에 저장되어있다하지만 vi..

강의/database 2025.03.24

[database] Relational Database(Primary key와 Foreign key)

본 게시글은서울대학교 데이터사이언스대학원 이상원 교수님의데이터사이언스 응용을 위한 빅데이터 및 지식관리시스템 수업을학습을 목적으로 재구성하였습니다저번 시간 수업에 이어서DDL과 DML을 잠깐 살펴본 뒤Primary key와 Foreign key에 대해서 자세하게 살펴본다   DDL은 table을 만드는 등의역할을 하는 언어다 CREATE TABLE, CREATE VIEW, CREATE INDEX와 같은 것들이DDL에 속한다   DML은 table 내의 데이터들을 조작하는 언어이다Insert, Delete, Update와 같은 것들이 있다  특정 조건을 filter 걸어 데이터들을 조회하는select문도 대표적인 DML이다   Integrity Constraint, 줄여서 IC에 대해서 알아보자 한국어로는..

강의/database 2025.03.16

[database] DB는 왜 배우는가 + 데이터베이스의 역사

본 게시글은서울대학교 데이터사이언스 대학원 이상원 교수님의데이터사이언스 응용을 위한 빅데이터 및 지식관리시스템 수업을학습을 목적으로 재구성한 글입니다본 수업에서는 중간고사 이전까지는DB users로써 알아야 할 기본적인 내용에 대해 배운 다음중간고사 이후부터는DBMS라는 것이 내부적으로 어떻게 동작하는지와인공지능 시대에 hot한 vectorDB,그리고 NL2SQL의 개념에 대해서도 배운다고한다  OT 수업인만큼 DB는 왜 배우며DB의 역사에 대해서 강의해주셨다  DB는 왜 배울까?Data Processing은 인류에게 왜 중요할까? 농경사회에서는 이미지나 패턴을 파악하는 것이 중요했다고한다그러나 농경사회가 끝난 이후에는숫자를 기반으로 하는 어떤 data가 중요해졌고이러한 숫자 기반의 data proces..

강의/database 2025.03.04

[논문 리뷰] The Case for Learned Spatial Indexes (2020.08.24)

The Case for Learned Spatial Indexes논문 정보제목The Case for Learned Spatial Indexes저자Varun Pandey, Alexander van Renen, Andreas Kipf, Ibrahim Sabek, Jialin Ding, Alfons Kemper소속TUM, MIT CSAIL저널AIDB(AI Database), VLDB(Very Large Database)주제Computer Science > Databases논문제출일2020.08.24인용수53회 (2024.12.03 기준) https://arxiv.org/abs/2008.10349 The Case for Learned Spatial IndexesSpatial data is ubiquitous. ..