CS/DataBase

· CS/DataBase
Null value SQL문에서 Null이란 '값이 없음' 또는 '알 수 없는 값' 으로 두가지 의미를 가집니다. 만약 5 + null 이라는 식이 있다면 리턴값은 5가 아니라 5와 모르는 값의 합을 반환해야 하므로 다시 Null을 반환하게 됩니다. ID = null 이라는 식에서도 (=)기호는 대입이 아니라 비교 연산자이기 때문에 존재하는 값들끼리 비교를 하지 않고 특정 값을 null과 비교 하게되면 오류를 발생시킵니다. 만약 특정 tuple의 atrribute값이 null값인지 확인하고 싶다면 is null이라는 키워드를 사용하면 됩니다. 위 sql문은 월급이 기재가 되어있지 않은 교수들의 이름을 반환합니다. 하지만 위의 sql의 교수(instructor) 테이블에서 salary가 null값인 tup..
· CS/DataBase
SELET, FROM, WHERE - join 위의 SQL문을 해석하자면, instructor라는 relation에서 (from) dept_name이라는 attribute의 값이 Comp.sci이고 salary라는 attribute의 값이 80000이상인 tuple들의 (where) name이라는 attribute의 값을 모든 tuple에서 가져와라 (select) 가 됩니다. 반환되는 relation은 attribute가 name 하나이고 where 조건에 부합하는 tuple들의 집합일 것입니다. 여기서 지난번 살펴본 relation algebra와는 다르게 받아온 relation의 중복은 사라지지 않습니다. sql은 실제 컴퓨터에서 실행되는 언어이기 때문에 중복처리에서 오는 비용을 부담하지 않고, 중..
· CS/DataBase
Relational algebra algebra는 대수라는 뜻으로 수 대신 문자를 사용하는 학문에서 유래된 말입니다. Relational algebra는 데이터베이스의 relation 연산에 사용되는 문자 또는 기호를 말합니다. relation연산은 relation, attribute, tuple의 값을 이용하여 또다른 relation을 만들어 내어 사용자에게 출력하는 연산입니다. Declarative vs Dunctional language Relational algebra는 기본적으로 functional language입니다. functional language란 declarative language와 같이 A = B + C 정의 하는 언어가 아니라 모두 함수 식으로 작동되는 언어입니다. 위 식을 f..
· CS/DataBase
Relational model 데이터들을 어떻게 조직, 생성, 조작하는가 또한 어떻게 규칙을 줄 것인가에 따라 사용하는 데이터베이스가 사용하는 모델이 달라집니다. 우리가 보통 알고 있고, 사용하는 데이터베이스는 Relational model입니다. 추가적으로 Relation model을 생성하기 전에 디자인 단계의 모델을 Entity-Relationship data model(E-R model)이라고 합니다. C의 UML과 비슷한 개념이라고 생각하면 될 것 같습니다. . . . 이제 Relational model의 특징을 알아보겠습니다. 데이터는 relation이라고 불리는 테이블에 저장할 수 있습니다. tuple 하나의 튜플은 각 attribute를 나타내는 요소들의 집합을 말합니다. 집합이라고 해서 ..
· CS/DataBase
Key 중복 되지 않는 Attribute DDL과 DML DDL(Data Definition Language) - 스키마를 정의 ex) 테이블 생성, 삭제 - create table instructor - drop table instructor DML(Data Manipulation Language) - 데이터 조회, 수정 query 문 ex) select (attribute1, attribute2, , ,) from (relation1, relation2, , , ) where (condition1, condition2 , , ,) Clause(select, from, where) select (attribute1, attribute2, , ,) from (relation1, relation2, , ,..
· CS/DataBase
데이터베이스는 데이터를 저장하는 하나의 시스템(구조)입니다. 데이터베이스를 사용하기 이전에는 파일 시스템으로 데이터를 저장해왔습니다. 파일 시스템의 한계 Redundancy(중복성) 파일 시스템에서 특정 데이터가 한 폴더가 아니라 다른 폴더에서 참조하고, 사용하고 싶다면 한 개의 파일이 다른 폴더에서 동시에 중복으로 존재해야 합니다. 같은 데이터를 가지고 있는 폴더가 늘어나는 만큼 저장 용량의 낭비가 일어납니다. Inconsystency(불일치) 위와 같은 중복성 때문에 하나의 데이터가 여러 폴더에 동시에 존재한다면 그 데이터를 수정할 때 모든 폴더에서 똑같은 작업을 수행해야 하고, 각 데이터가 업데이트되는 정보량만큼 낭비도 늘어나게 됩니다. 그 데이터를 삭제하고 싶을 때도 마찬가지입니다. Accessi..
reko_
'CS/DataBase' 카테고리의 글 목록