본문 바로가기

CS/데이터베이스9

[Database] INSERT문 / UPDATE문 / DELETE 문 INSERT 기존의 릴레이션에 투플을 삽입 UPDATE 기존의 릴레이션에 애트리뷰트 값을 수정 DELETE 기존의 릴레이션으로부터 한개 이상의 튜플을 삭제 2021. 10. 22.
[Database] 무결성 제약조건 데이터 무결성 데이터베이스가 갱신될 때 DBMS가 자동적으로 일관성 조건을 검사한다 데이터의 정확성 또는 유효성을 의미 도메인 제약조건 각 애트리뷰트의 값이 원자값이어야함 CHECK 제약조건을 통해 값의 범위를 제한할수 있음 CONSTRAINT 키워드 사용 키 제약조건 키 애트리뷰트의 중복된 값을 막기 위해 UNIQUE 사용 기본키와 엔티티 무결성 제약조건 기본 키가 각 튜플들을 식별하기 위하여 사용되기 때문에 릴레이션의 기본 키를 구성하는 어떤 애트리뷰트도 널값을 가질 수 없다는 제약조건 외래키와 참조 무결성 제약조건 두 릴레이션의 연관된 투플들 사이의 일관성을 유지하는데 사용 CONSTRAINT , REFERENCES 사용하여 외래키 명시 B가 A의 애트리뷰트를 참조하는 상태이면 B가 참조하는 릴레이.. 2021. 10. 22.
[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.
[Database] 관계 대수와 SQL (2) 추가된 관계 대수 연산자 집단(aggregation) 함수 : AVG, SUM, MIN, MAX, COUNT 그룹화 : 각 그룹에 대해 집단 함수를 적용 외부조인 : 상대 릴레이션에서 대응되는 투플을 갖지 못하는 투플이나 조인 애트리뷰트에 널값이 들어 있는 투플들을 다루기 위해서 조인 연산을 확장한 조인 1. 왼쪽 외부 조인(left outer join) : 릴레이션의 모든 투플들을 결과에 포함시키고, 만일 릴레이션 S에 관련된 투플이 없으면 결과 릴레이션에서 릴레이션 S의 애트리뷰트들은 널값으로 채움 2. 오른쪽 외부 조인(right outer join) : S의 모든 투플들을 결과에 포함시키고, 만일 릴레이션 R에 관련된 투플이 없으면 결과 릴레이션에서 릴레이션 R의 애트리뷰트들은 널값으로 채움 3... 2021. 10. 8.
[Database] 관계대수와 SQL 관계 데이터 모델의 두가지 언어 1. 관계 해석 : 원하는 데이터만 명시하고 질의를 어떻게 수행할 것인가는 명시하지 않는 선언적 언어 2. 관계 대수 : 어떻게 질의를 수행할 것인가를 명시하는 절차적 인어 관계 대수 기존의 릴레이션으로 부터 새로운 릴레이션을 생성 기본적인 연산자들이나 집합으로 구성 결과 릴레이션은 또다른 관계 연산자의 입력으로 사용가능 관계 연산자 셀렉션 : 한 릴레이션에서 셀렉션 조건을 만족하는 튜플들의 부분집합으로 중복된 튜플들이 존재할 수 없다. 프로젝션 : 한 릴레이션에서 애트리뷰트 리스트에 해당하는 애트리뷰트들의 부분집합으로 중복된 튜플이 존재할 수도 있다. 합집합 : 두 릴레이션의 합집합 차집합 : 두 릴레이션의 차집합 카티션 곱 : 두 릴레이션에서의 튜플들로 만들수 있는 모.. 2021. 9. 23.