MySQL 문법을 기준으로 서술한다. unrecoverable schedule schedule 내에서 commit된 transaction이 rollback된 transaction이 write 했었던 데이터를 읽은 경우 이러한 경우는 rollback을 해도 이전 상태로 회복 불가능할 수 있기 때문에 이런 schedule은 DBMS가 ...
Database 13. concurrency control 기초(recoverability)
Database 12. concurrency control 기초(scheduling과 serialization)
MySQL 문법을 기준으로 서술한다. Schedule 여러 transaction들이 동시에 실행될 때 각 transaction에 속한 operation들의 실행 순서 이때 각 transaction 내의 operations들의 순서는 바뀌지 않는다. Serial schedule transact...
Database 11. Transaction과 ACID
MySQL 문법을 기준으로 서술한다. Transaction 이란? 단일한 논리적인 작업 단위(a single logical unit of work) 논리적인 이유로 여러 SQL문들을 단일 작업으로 묶어서 나눠질 수 없게 만든 것 transaction의 SQL 문들 중에 일부만 성공해서 DB에 반영되는 일은 일어나지 않는다. ...
Database 10. Trigger
MySQL 문법을 기준으로 서술한다. SQL에서 Trigger란? 데이터베이스에서 어떤 이벤트가 발생했을 때 자동적으로 실행되는 프로시저(procedure) 데이터에 변경이 생겼을 때. 즉, DB에 insert, update, delete가 발생했을 때 이것이 계기가 되어 자동적으로 실행되는 프로시저(procedure)를 의미 ...
Database 9. stored procedure
MySQL 문법을 기준으로 서술한다. stored procedure 사용자가 정의한 프로시저 RDBMS에 저장되고 사용되는 프로시저 구체적인 하나의 태스크(task)를 수행한다. stored procedure 예제 1 delimiter $$ CREATE PROCEDURE product(IN a int, IN b int, O...
Database 8. stored function
MySQL 문법을 기준으로 서술한다. stored function 사용자가 정의한 함수 DBMS에 저장되고 사용되는 함수이다. SQL의 select, insert, update, delete statement에서 사용할 수 있다. stored function 예제1 임직원의 ID를 열자리 정수로 랜덤하게 발급하고 싶다...
Database 7. group byaggregate functionorder by
MySQL 문법을 기준으로 서술한다. ORDER BY 조회 결과를 특정 attribute(s) 기준으로 정렬하여 가져오고 싶을 때 사용한다. default 정렬 방식은 오름차순이다. 오름차순 정렬은 ASC로 표기한다. 내림차순 정렬은 DESC로 표기한다. SELECT * FROM employee ORDER BY salar...
Database 6. join과 관련 지식 정리
MySQL 문법을 기준으로 서술한다. SQL에게 JOIN이란? 두 개 이상의 table들에 있는 데이터를 한 번에 조회하는 것 여러 종류의 JOIN이 존재한다. implicit join vs explicit join Implicit join SELECT D.name FROM employee AS E, department AS...
Database 5. SQL로 데이터 조회 및 관련 키워드 학습
MySQL 문법을 기준으로 서술한다. Select Statement SELECT name, position FROM employee WHERE id = 9; SELECT employee.id, employee.name, position FROM project, employee WHERE project.id = 2002 and project...
Database 4. SQL를 활용한 추가삭제수정
Insert Statement INSERT INTO employee VALUES(1, `MESSI`, `1987-02-01`, 'M', 'DEV_BACK', 1000000, null); 이때 table에 정의된 attribute의 순서에 맞게 값을 적어주는 것이 중요하다. 또한 모든 값에 대응하는 값을 넣어주는 것이 중요하다. 마지막...