데이터베이스란?
데이터들을 모아놓은 것!!
정확한 데이터를 이용해서 정확한 정보를 얻기 위해 사용된다.
데이터와 정보
데이터 : 객관적 수치나 문자등을 말한다.
정보 : 데이터를 가공(수정, 작업 등)하여 얻어진 것.
ex) 1 +1 = 3
여기서 1과 + 는 데이터.
3은 정보이다.(잘못된 정보이지만 정보는 정보다.)
데이터베이스의 정의
-통합된 데이터
데이터들을 모아 놓는 역할.
-저장된 데이터
하지만 단순히 저장만 하기에는 그 가격이 너무 비싸므로 이 한가지의 목적만으로는
부족하다.
-운영 데이터
데이터의 변경을 끊임없이 반영할 수 있다.
-공용 데이터
많은 사람들이 동시 접속, 동시 작업할 수 있다.
데이터베이스의 가장 큰 목적 : 데이터를 얼마나 안전하게 보관할 수 있는가!
데이터베이스와 파일시스템의 차이점
파일시스템은 프로세스가 파일을 독점함으로써 한가지 파일을 한번에 여러명이 작업할 수가 없지만 데이터베이스는 프로세스가 데이터(더 정확히 말하자면 record)를 독점하기 때문에 동시에 data를 접근할 수 있다.
sql : db마다 접근할 수 있는 방법이 가지각색인데 이를 통합적으로 묶어준다.
table : 데이터를 저장하는 단위. record(row)와 column으로 이루어져 있다.
column : 열
row : 행
record : row를 묶어놓은 것.
데이터 무결성
Key : Tuple을 유일하게 식별할 수 있는 Attribute의 집합
-유일성
-최소성
Primary Key : 테이블이 각 Row을 Unique 하게 하는 Column들의 집합
-모든 테이블은 Primary Key를 가져야 한다.
-Primary Key는 Null을 허용하지 않는다.
Foreign key : 같은 테이블이나 다른 테이블의 PK를 참조
-FK는 참조하는 테이블의 PK와 반드시 연결되거나 NULL이어야 한다.
-FK가 PK의 일부라면 NULL을 허용하지 않는다.
-FK가 PK의 일부라면 NULL을 허용하지 않는다.
무결성 규칙
-Entity : PK) Primary Key가 없거나 중복되면 안된다.
-reference : FK) 반드시 참조하고 있는 값만 사용 가능하다.
-column : 규격에 맞는 데이터만 입력해야 한다.(숫자를 char(5)에 넣으면 안됨)
-user-define : 조건을 줘서 그 조건에 위배되지 않는 것들만 받아들인다.