본문 바로가기

CS34

[Database] INSERT문 / UPDATE문 / DELETE 문 INSERT 기존의 릴레이션에 투플을 삽입 UPDATE 기존의 릴레이션에 애트리뷰트 값을 수정 DELETE 기존의 릴레이션으로부터 한개 이상의 튜플을 삭제 2021. 10. 22.
[Database] 무결성 제약조건 데이터 무결성 데이터베이스가 갱신될 때 DBMS가 자동적으로 일관성 조건을 검사한다 데이터의 정확성 또는 유효성을 의미 도메인 제약조건 각 애트리뷰트의 값이 원자값이어야함 CHECK 제약조건을 통해 값의 범위를 제한할수 있음 CONSTRAINT 키워드 사용 키 제약조건 키 애트리뷰트의 중복된 값을 막기 위해 UNIQUE 사용 기본키와 엔티티 무결성 제약조건 기본 키가 각 튜플들을 식별하기 위하여 사용되기 때문에 릴레이션의 기본 키를 구성하는 어떤 애트리뷰트도 널값을 가질 수 없다는 제약조건 외래키와 참조 무결성 제약조건 두 릴레이션의 연관된 투플들 사이의 일관성을 유지하는데 사용 CONSTRAINT , REFERENCES 사용하여 외래키 명시 B가 A의 애트리뷰트를 참조하는 상태이면 B가 참조하는 릴레이.. 2021. 10. 22.
[알고리즘] 여러가지 정렬과 시간복잡도 (선택정렬 / 삽입정렬 / 버블정렬 / 퀵정렬 / 힙정렬 / 합병정렬) 선택정렬 맨 앞에서부터 차례대로 정렬하는 방법 주어진 리스트 중에 최소값을 찾고 그 값을 맨 앞부터 차례대로 에 위치한 값과 교체하는 방식 시간복잡도 : O(N^2) 삽입정렬 맨 앞에서부터 차례대로 정렬하는 방법 앞에서부터 차례대로 이미 정렬된 배열 부분과 비교해서 현재 선택된 숫자의 위치를 찾아 삽입해주는 방식 시간복잡도 : O(N^2) 버블정렬 첫번째 원소부터 인접한 원소끼리 비교하면서 계속 자리를 교환하면서 맨 끝부터 정렬하는 방식 시간복잡도 : O(N^2) 합병정렬 작은 단위로 잘게 쪼개서 작은 단위부터 정렬해서 정렬된 단위들을 계속 병합해가면서 정렬하는 방식 시간복잡도 : O(NlogN) 퀵 정렬 처음 하나의 피봇(Pivot)을 정해서 이 피봇보다 작은 값은 왼쪽, 큰 값은 오른쪽에 위치시킨 뒤.. 2021. 10. 21.
[알고리즘] MST - 프림 알고리즘 (Prim Algorithm) 복습 Spanning Tree 그래프 내의 모든 정점을 포함하는 트리를 의미한다. Spanning Tree의 특징 Tree의 특수한 형태로 모든 정점이 연결되어 있어야 한다. 하나의 그래프에 여러개의 스패닝 트리가 존재할 수 있다. 사이클이 존재하면 안된다. N개의 정점을 정확히 N-1개의 간선으로 연결해야한다. Minimum Spanning Tree (MST) 사용된 간선들의 가중치 합이 최소인 Spanning Tree를 의미한다. 프림 알고리즘 ( Prim Algorithm) 무방향 그래프가 주어졌을 때 최소 스패닝트리 (MST)를 찾는 대표적인 알고리즘으로 시작 정점을 기준으로 가중치가 가장 작은 간선과 연결된 정점을 선택하며 신장 트리를 확장 시킨다 동작 방법 1. 임의의 정점을 선택 (어떤 정점.. 2021. 10. 20.
[Database] SELECT SELECT SELECT절과 FROM절만 필수이고 나머지는 선택사항이다. GROUP BY 뒤의 HAVING은 그룹화된 결과에 조건을 줄때 사용한다. 별칭 서로 다른 릴레이션에 동일한 이름을 가진 애트리뷰트가 속해있거나 셀프 조인 시, 애트리뷰트의 이름을 구분하는 방법이다. 포맷 : SELECT ~ FROM [TABLE이름] AS [별칭] SELECT 문 기능 1. 문자열 비교 WHERE TITLE LIKE 'ABC%' #TITLE이 ABC로 시작하는 WHERE TITLE LIKE '%ABC' #TITLE이 ABC로 끝나는 WHERE TITLE = 'ABC' #TITLE이 ABC인 WHERE TITLE LIKE 'ABC_' #TITLE이 ABC다음 한글자로 끝나는 [NOTE] % : 0개이상 문자열이 매칭.. 2021. 10. 8.
[Database] SQL SQL 개요 SQL은 비절차적언어(선언적언어)이므로 사용자는 자신이 원하는 바만명시하며, 원하는 것을 처리하는 방법은 명시할 수없다 데이터 정의어 스키마의 생성과 제거를 담당 릴레이션 정의에 사용되는 오라클의 데이터 타입 고정길이 문자열 : 지정된 문자열 길이만큼 저장공간 확보하는 것으로 실질적 공간을 낭비할 수 있지만 가변길이에 비해 빠르게 처리가능하다. 키나 인덱스의 키로 사용되는경우 고정길이 문자열 사용이 좋다. 가변길이 문자열 : 꼭 필요한만큼만 할당하는 것으로 공간을 낭비하진 않지만 내부 처리로 성능 저하 될 수 있다. 데이터 무결성 제약조건 NOT NULL, UNIQUE, CHECK, ON DELETE 등등 - not null, check는 범위지정 - ON DELETE CASCADE : 특정.. 2021. 10. 8.