본문 바로가기

전공

(37)
[데이터베이스] SQL - (1) 개요 - SQL언어는 세 종류의 명령어로 이루어진다. 1. DDL(Data-definition language): relation schema를 정의하고, relation을 삭제하고, relation schema를 수정하는 명령어를 제공한다. 예시) CREATE, INDEX, DROP 등 2. DML(Data-manipulation language): 정보를 찾기 위해 데이터베이스에 질의하고, 튜플을 삽입, 삭제, 수정하는 명렁어를 제공한다. 예시) SELECT, INSERT, UPDATE, DELETE 등 3. DCL(Data-control language): 데이터베이스에 접근하거나 객체에 권한을 주는 등의 기능을 제공한다. 예시) START, COMMIT ROLLBACK 등 - 관계형 모델(rela..
[데이터베이스] 관계형 모델 - (4) 관계 대수(Relational Algebra) - 추가 연산자(additional operations) 1. 교집합 연산(set-intersection operation): 호환 가능(compatible)한 두 개의 입력 릴레이션에 모두 출현하는 튜플을 찾는 연산이다. 표기법(notation): $ r \cap s $ 예시) $ r \cap s $ : r과 s에 동시에 출현하는 튜플을 포함하는 릴레이션을 반환한다. 2. 자연 조인 연산(natural-join operation): 선택 연산(select operation)과 카티션 곱 연산(cartesian-product operation)을 하나로 합친 연산이다. 두 개의 입력 릴레이션이 중복된 attribute가 존재하지 않는다면, 자연 조인 연산의 ..
[데이터베이스] 관계형 모델 - (3) 관계 대수(Relational Algebra) - 기본 연산자(basic operators) - 관계 대수(relational algebra)는 한 개 혹은 두 개의 릴레이션을 입력으로 받아 그 결과로 새로운 릴레이션을 생성하는 연산들의 집합으로 구성된다. - 단항 연산(unary operation): 한 릴레이션에 대해 수행되는 연산 1. 선택 연산(select operation): 주어진 술어(predicate)를 만족하는 튜플을 선택해 주는 단항 연산이다. 선택 술어 내에서 =, ≠, ≤, ≥, 등의 기호를 사용한 비교 연산이 허용된다. 또한 and($ \land $), or($ \lor $), not($ \neg $) 등의 연결 기호를 사용하면 여러 개의 술어를 하나의 큰 술어로 결합할 수 있다...
[데이터베이스] 관계형 모델 - (2) 키(Key) - 키(Key)는 주어진 릴레이션 내에서 특정 튜플을 유일하게 식별할 수 있는 기준이 되는 속성(attribute)들의 집합이다. (이때, 릴레이션 내에는 중복되는 튜플이 존재하지 않는다.) - 키(Key)의 종류 1) 수퍼 키(superkey): 한 릴레이션에서 그 튜플을 유일하게 식별할 수 있도록 해주는 하나 혹은 그 이상의 속성들의 집합이다. 예시) 그림 1에서 가능한 모든 수퍼 키(superkey)는 {ID}, {name, street}, {ID, name}, {ID, street}, {ID, city}, {ID, name, street}, {ID, street, city}, {ID, name, city}, {name, street, city}, {ID, name, street, ci..
[데이터베이스] 관계형 모델 - (1) 관계형 데이터베이스(relational database)의 구조 - 릴레이션(relation): 관계형 데이터베이스에서 테이블을 의미하는 단어로 사용된다. 주어진 집합 D1, D2, ..., Dn에 대해서 relation r은 D1 x D2 x ... x Dn의 부분집합이다. 예시) 그림 1에서 주어진 집합은 다음과 같다. D1: customer-name = {Jones, Smith} D2: customer-street = {Main, North} D3: customer-city = {Harrison, Rye} D1 x D2 x D3 즉, 가능한 모든 튜플 2 * 2 * 2 = 8개 중 부분집합(subset)인 relation r은 아래와 같다. r = { (Jones, Main, North), (Smi..