일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- level2
- 딕셔너리
- DP
- 백준
- MYSQL
- 그리디
- 구현
- level0
- 가상메모리
- BOJ
- 브루트포스
- 에라스토테네스의 체
- 수학
- level3
- 재귀
- 스택
- 다익스트라
- 프로그래머스
- 운영체제
- 힙
- python
- level1
- 파이썬
- dfs
- 코딩테스트
- 가상메모리 관리
- 다이나믹 프로그래밍
- BFS
- programmers
- N과M
- Today
- Total
목록CS/데이터베이스 (5)
동캄의 코딩도장
create table --> 새로운 attribute를 생성 create view --> 기존의 table을 이용하여 새로운 table 생성 view를 사용하는 이유 - 사용자에게 데이터를 숨길 수 있다. - 쿼리를 더 간단하게 생성할 수 있다. - 데이터베이스 접근을 제어할 수 있다. view특성 - view는 I/U/D가 적용되지 않는다. 따라서 view가 참조한 table을 수정해야한다. - 만약 view의 primary key값이 참조한 table의 primary key 값과 같다면, view를 I/U/D 할 수 있다. - 여러개의 Join으로 이루어진 view는 insert는 가능하지만, delete는 불가능하다. materialized views - 기존의 view는 논리적으로만 존재 -->..
trigger를 이용하여 self-triggering이 가능하다. 즉, cycle 형성이 가능하다. trigger를 이용하기 위해서는 프로시져를 같이 정의하고 사용하는데, ex) create or replace function test() returns trigger as $$ begin insert into Apply values(New.sID, 'Stanford', 'geology', null); insert into Apply values(New.sID, 'MIT', 'biology', null); return New; end; $$ language 'plpgsql'; create trigger R1 after insert on Student for each row when (New.GPA > 3...
trigger란 어떤 조건이 발생했을 때 old row/table 또는 new row/table에 대해 특정한 조건에 대해 테이블을 update,insert,delete 하는 함수를 의미한다. new는 새롭게 들어온 데이터나 수정된 데이터를 의미하고, old는 삭제 혹은 수정되기 전 데이터를 의미한다. ex) create trigger R1 after insert on Student for each row when New.GPA>3.3 and New.GPA
references란 자기자신 또는 다른 테이블의 attribute값을 참조하는 것을 의미한다. refereces를 이용하여 constraints 또는 cascade의 목적을 달성할 수 있다, ex) create table T(A int, B int , C int, primary key(A,B), foreign key(B,C) references T(A,B) on delete cascade); insert into T values (1,1,1); insert into T values (2,1,1); insert into T values (3,2,1); insert into T values (4,3,2); insert into T values (5,4,3); insert into T values (6,5,..