Infor와 Data 내가 사용할 데이터에 쉽게 접근할 수 있는지(가공했는지 =정리=표를 만드는 행위)로 구분
인포 : 가공되어있는 자료. (표를 만드는 행위). 데이터 : 가공되어 있지 않은 자료.
데이터베이스는 이전에 데이터를 저장하기 위해서 사용했던 파일시스템에 다음과 같은 문제점이 대두되면서
새로운 시스템에 대한 요구가 생기면서 등장하였다.
파일시스템 : 저장만 할 수 있다면 파일 시스템이다.
문제점 1. 일관성 : 여러 개의 데이터가 모두 하나의 사실을 나타낸다면 논리적으로 그 내용이 모두 동일하나, 데이터 중복이 있으면 그 동일성을 유지하기가 어렵다. 이것을 데이터의 불일치성, 모순성이라고 한다.
문제점 2. 보안성 : 동일 수준의 보안이 유지되어야 함에도 같은 데이터가 중복되어있다면 모두 똑같은 수준의 보안을 유지한다는 것이 현실적으로 어렵다.
문제점 3. 경제성 : 데이터를 중복해서 저장하기 위해서는 추가적으로 저장 공간에 대한 비용이 더 들게 된다.
문제점 4. 무결성 : 데이터가 만족해야 할 제약 조건이 정확성을 유지해야 한다.
데이터베이스의 정의 1. 통합된 데이터 (integerated data) 2. 저장된 데이터 (stored data) 3. 운영 데이터 (operational data) 4. 공용 데이터 (shared data)
데이터 베이스의 특징
1. 실시간 접근성 (Real-time accessability)
2. 지속적인 변화 (Continuos evolution)
3. 동시 공유 (Concurrent sharing)
4. 내용에 대한 참조 ...RDBMS
데이터베이스 관리 시스템(DBMS)를 이용하여 데이터베이스 조작.
관계형 데이터베이스 -오라클, 사이베이스, 인포믹스 등등...
SQL이란?
RDB에서 데이터베이스에 질의, 수정, 삭제 등 사용하는 언어의 표준으로 채택(만국공통언어)
1. 데이터 정의어 2. 데이터 조작어 3. 데이터 제어어
요소가 모여 로우(=레코드)
로우들이 모여 테이블
테이블이 모여 데이터베이스
1. 계정에 등록되어 있는 테이블 목록 확인. (select *from tab)
2. 데이터의 구조를 살펴보기 위한DESC (어떤 데이터들이 되어있는지 요소 확인.)
기본형식 : DESC 테이블명
ex) desc emp
데이터베이스 3대 자료형: 수치, 문자, 날짜
1.수치형 오라클 실수와 정수를 NUMBER로 통합하여 사용한다. / byte크기가 아닌 자리수를 표현
NUMBER(자리수) = 내가 최대 자리수 자리까지표현 가능. NUMBER(자리수, 소수점 자리수)
2. 문자형
1)
- varchar2( ) : 입력 값이 설정 크기( )를 넘어서면 넘어선 크기만큼 자료형의 크기가 늘어나지는 않는다.
- 입력 값이 지정된 크기보다 작으면 입력값 크기만큼 메모리를 사용
- 기억 장소가 절약되는 장점
2)
- CHAR() : 데이터를 넣지 않아도 공간이 존재.
- char( )으로 만들어진 입력된 값과 상관없이 고정형으로 ( )byte가 저장
*오라클은 한글을 표현할때 한글자에 3자리 공간차지
기본적인 SELECT문 기본형식 = 가장 기본적인 조회 SELECT [DISTINCT] {* (모든데이터),column[Alias](몇개의 지정 컬럼)} FROM 테이블명;
****물리 / 논리 물리= 고정 : 실제 디스크에 저장되어있는 시점부터 논리 : 디스크에는 작성되어있지 않지만 메모리 위에서만 존재하는 데이터 데이터베이스 장점 : 물리 데이터를 이용한 논리데이터의 가공할 수 있다. (가상컬럼을 만들 수 있다.)
좋은 프로그램 > 데이터의 가공을 프로그램이아닌 데이터베이스에서 하는것
****NULL도 데이터이다. 1. 0(zero)도 아니고 2. 빈 공간도 아니다. 3. 미확정( 해당 사항 없음), 알 수 없는 (unknown)값을 의미한다. 4. 어떤 값인지 알 수 없지만 어떤 값이 존재하고 있다. 5.? 혹은 ∞의 의미이므로 6. 연산, 할당, 비교가 불가능하다.
***제1정규화 : 빈칸을 만들지 말아야한다.
별칭 : 컬럼을 인위적인 이름으로 재세팅하는것. 1. 대문자 소문자를 구분하지만 결과는 대소문자를 구분하지 않고 출력한다. 2. "" 사이에는 공백문자, _,# 가능하다. 대소문자 구분되어 출력된다. 3. 한글 사용이 가능하다.(추천은 하지 않는다.) 4. AS를 사용하여 별칭을 부여하는 경우 (AS는 생략 가능하다) ex연봉을 띄어쓰기 하고 싶을때 칼럼 뒤에 한칸 뛰면 별칭으로 인정한다. 공백을 구분자로 인지하는데 연 봉은 00923 오류 문법적 오류로 에러메시지가 나온다.
데이터베이스는 문자와 문자열에 대한 구분이 없으며 ' ' 로 표현한다. " "는 별칭을 할때만 사용한다.
Concatenation연산자의 정의와 사용 <- !사용하지 말것.! - 컬럼과 컬럼을 연결해 주는 연산자이다. ( || ) - 메모리를 엄청나게 잡아먹기에 사용하지 않는것이 좋다.
중복되는 컬럼을 한 번씩만 보여주기 위한 DISTINCT키워드 select distinct deptno from emp - 그룹 컬럼에서 효과 볼 수 있음.
ㄴselect distinct deptno from emp
select * from tab
desc emp
select empno ,ename,job,mgr,hiredate,sal,comm,deptno
from emp
select empno, ename,hiredate
from emp
select *
from emp
select empno,ename,hiredate
from emp
select empno,ename,sal
from emp
select empno,ename,sal,sal*12
from emp
select empno,ename,sal,sal*12 as "연봉",comm,sal*12*comm
from emp
select ename||'의 직무는'||job||'입니다' as msg
from emp
select distinct deptno from emp