3-2/데이터베이스시스템 19

[DB16] Query Processing, Query Optimization

* 12.18 업데이트해당 게시물은 한양대학교 컴퓨터소프트웨어학부 김상욱 교수님 데이터베이스시스템 온라인 강의를 듣고 정리한 자료입니다.오류가 있다면 언제든 알려주세요! ● 해당 강의의 목표1. Algorithms for Query Processing2. Query Optimization query는 처리할 수 있는 방법이 굉장히 많다. 이를 execution plan이라고 한다. 어떠한 방법으로 처리할 것인가 결정하는 과정을 query optimization이라고 한다. ◆ Query optimizaiton◆ 주어진 query를 처리하기 위한 적절한 execution plan을 고르는 과정이다.query는 다양한 방법으로 처리될 수 있다. SQL이 declarative language이기 때문에 어떠한..

[DB15] Transaction, Concurrency control

* 12.18 업데이트해당 게시물은 한양대학교 컴퓨터소프트웨어학부 김상욱 교수님 데이터베이스시스템 온라인 강의를 듣고 정리한 자료입니다.오류가 있다면 언제든 알려주세요! ● 해당 강의의 목표1. Transaction과 concurrency control(동시성 제어)에 대해 배운다.▪ Transactions▪ Concurrency control▪ Serializability ◆ Transactions◆ 사용자 또는 application에 의해서 수행되는 데이터베이스 content에 접근하고 바꾸는 action들의 series이다. 예를 들어, 은행의 db에 A, B의 data가 있다. 계좌이체는 A에서 10000을 빼서 B로 10000을 집어 넣는 행위이고 이것이 하나의 transaction이다. db를..

[DB14] Relation Decomposition과 Algorithms

* 12.18 업데이트해당 게시물은 한양대학교 컴퓨터소프트웨어학부 김상욱 교수님 데이터베이스시스템 온라인 강의를 듣고 정리한 자료입니다.오류가 있다면 언제든 알려주세요! ● 해당 강의의 목표1. formal한 relation database design algorithms를 알아본다.▪ relational decompositions의 properties▪ relational database design algorithms ◆ Relation Decomposition◆ Relational database design by decompositon (ER model -> Relation mapping으로 해도 가능하다.)1. Universal relation schema에서 시작한다.▪ Univeral rel..

[DB13] Normal Form과 Normalization

* 12.18 업데이트해당 게시물은 한양대학교 컴퓨터소프트웨어학부 김상욱 교수님 데이터베이스시스템 온라인 강의를 듣고 정리한 자료입니다.오류가 있다면 언제든 알려주세요! ● 해당 강의의 목표1. normal form과 normalization에 대해 배운다.▪ normalization의 개념 (바람직하지 않은 상태에서의 table을 바람직한 형태로 바꾸는 것)▪ Normal forms (바람직한 table의 형태)- 1NF, 2NF, 3NF, BCNF ◆ Normalization◆ Normal Forms▪ table의 바람직한 형태를 정의하는 것어떤 table이 normal form이면 좋은 것이고 normal form이 아니면 좋은 것이 아니다.◆ normalization▪ 어떤 relation sch..

[DB12] Relation Schema를 평가하는 Guideline, Functional Dependency

* 12.18 업데이트해당 게시물은 한양대학교 컴퓨터소프트웨어학부 김상욱 교수님 데이터베이스시스템 온라인 강의를 듣고 정리한 자료입니다.오류가 있다면 언제든 알려주세요!● 해당 강의의 목표1. Relation Schema를 design하기 위한 guideline과 functional dependency의 개념을 배운다.▪ database schema가 잘 되었는지 확인하는 기준▪ 잘된 db schema를 design하는 방법▪ functional dependency의 개념 ◆ Informal Design Guidelines for Relation Schema◆ Relational database를 design한다는 것은?▪ 주어진 application을 위한 좋은 table schema들을 define하..

[DB10] INSERT, DELETE, UPDATE SQL 파헤치기

* 12.18 업데이트해당 게시물은 한양대학교 컴퓨터소프트웨어학부 김상욱 교수님 데이터베이스시스템 온라인 강의를 듣고 정리한 자료입니다.오류가 있다면 언제든 알려주세요! ● 해당 강의의 목표1. 다른 SQL commands에 대해 배운다.▪ INSERT▪ DELETE▪ UPDATE▪ Views and indexes ◆  INSERT Statement◆ table에 새로운 tuple을 넣는데 사용된다.▪ table의 상태를 변경시킨다. ◆ Types▪ 하나의 tuple을 집어넣는 방법▪ 여러 tuple들의 set을 집어넣는 방법 ◆ 하나의 tuple을 집어넣는 방법▪ INSERT INTO   VALUES ();▪ list of attributes values는 CREATE TABLE할 당시에 작성했던 a..

[DB09] Nested query, Aggregate function, Grouping등 SQL 파헤치기

* 12.18 업데이트해당 게시물은 한양대학교 컴퓨터소프트웨어학부 김상욱 교수님 데이터베이스시스템 온라인 강의를 듣고 정리한 자료입니다.오류가 있다면 언제든 알려주세요!  하하 다시 오랜만입니다... 여러모로 바쁜 시기라서 늦게 왔어요>!ㅠㅠ 다시 시작해 봅시당... ● 해당 강의의 목표1. 복잡한 SQL query에 대해 배운다.▪ Nested queries▪ Aggregate functions▪ Grouping ◆  Nested Queries▪ Query: DBMS한테 내가 원하는 것이 이런 것인데 가져다달라고 질의하는 것Nested Queries: Query 안에 query가 있다. 즉, 하나의 select-from-where라는 완전한 형태의 block이 다른 query의 WHERE clause안..

[DB08-2] SQL 알아보기_SELECT/FROM/WHERE

* 12.03 업데이트해당 게시물은 한양대학교 컴퓨터소프트웨어학부 김상욱 교수님 데이터베이스시스템 온라인 강의를 듣고 정리한 자료입니다.오류가 있다면 언제든 알려주세요!  오오랜만입니다... 중간고사를 마치고 드디어 돌아왔어요..! 다시 강의를 들어보도록 합시당..   ● 해당 강의의 목표1. SQL의 기초 개념에 대해서 배운다. ▪ data retrieval queries에 대해 배운다. ◆  SELECT Query Basics지금까지 DDL에 해당되는 부분을 배웠다. 이는 스키마와 관련되어 전체 데이터베이스 스키마, 테이블을 create, drop하고 테이블 구조를 변경하는 등과 같은 구조와 관련된 것이다. 이제부터 instance에 대한 연산들인 DML에 대해 배워보자. SQL은 real DBMS에..

[DB08-1] SQL 알아보기_SELECT문

* 12.01 업데이트해당 게시물은 한양대학교 컴퓨터소프트웨어학부 김상욱 교수님 데이터베이스시스템 온라인 강의를 듣고 정리한 자료입니다.오류가 있다면 언제든 알려주세요!● 해당 강의의 목표1. SQL(Structured Query Language)의 기초 개념에 대해서 배운다. ▪ SQL을 위한 데이터 정의▪ data retrieval queries에 대해 배운다. ◆  Introduction to SQL◆ History▪ IBM 연구소에서 개발한 언어 - 데이터베이스를 다루는 특별한 언어이고 procedure한 언어와 다르게 내가 원하는 것이 무엇이다 선언을 하는 declarative programming language이다.  - IBM의 첫 DBMS인 System R을 위한 language로 만들어..

[DB07] Relational Algebra_SELECT, JOIN, PROJECT 등

* 10.17 업데이트해당 게시물은 한양대학교 컴퓨터소프트웨어학부 김상욱 교수님 데이터베이스시스템 온라인 강의를 듣고 정리한 자료입니다.오류가 있다면 언제든 알려주세요!● 해당 강의의 목표1. relational algebra에 대해 배운다.▪ relational algebra는 relational database로부터 원하는 정보를 끌어내는데 사용되는 operator 집합이다.▪ relational algebra에 있는 operator에 대해 알아본다. ▪ relational algebra에서 query를 어떻게 쓰는지 알아본다.  ◆  Relational Algebra▪ relational model에서 사용되는 operation들의 집합이다.▪ relational database에서 정보들을 ret..