저장
밀집시켜야 사용가능
디비 개념 / sql 언어- 문법쉽고 디비를 제어함
-
ㅇ데이터의 정확성
데이터를 가공했을때 여러 정보를 추출할때
신뢰성, 정확성이 높을수록 가치가 높다
=데이터 무결성 ( 결점이 없다)
데이터가 정확해야하는 방법 > 가공방법(분석법,예측법,모델적용법)
ㅇ데이터베이스
데이터를 모아둔 집합
구조가 없어 현실세계에 존재하지않음
등장전에는 파일처리시스템으로 이용(데이터를 파일형태로 관리)
-종속성, 중복성 이라는 두 가지 문제가 존재
-종속성 : 응용프로그램(인터페이스의 역할을 하는)이 독점한다
동시성이 떨어진다.
<한가지 더 있는 것 같은데 녹음듣기>
ex 한글프로그램엔 한글문서작업만 가능하고 포토샵은 사용 못 하는 것
-중복성 : <웅엥웅>
관리자가 모든 응용프로그램에 이해를 해야한다
공간의 낭비가 발생한다
ㅇ데이터베이스의 최종목적
데이터의 중복성을 최소화 시켜서 사용자들의 동시성을 보존해주고
데이터의 무결성을 보존하기위한 방법
ㅇ컴퓨터에서 작업을 할 때 '재료', '도구', '공간' 이라는 세가지 베이스를 필요함
ram -공간
process - 도구
disk - 재료
disk의 재료들이 process(도구)에 의해 ram에 저장된다
물리적인 작업
ex 아파트201호, 202호
논리적인 작업
ex 아파트 201호의 구성원, 구성원이름, 구성원 특징 등
정보처리
-일괄처리, 실시간처리, 분산처리
-일괄처리
특정작업을 몰아두고 한 번에 다 처리
장 : 안정된 시스템 ( 한 번에 하나만 처리하기때문에 )
단 : 고객의 요청에 맞게 실시간으로 바로 처리하지 못 한다 > 실시간처리로 보안
ex 은행업무
-실시간처리
장 : 빠르다
단 : 불안정한 시스템 ( 동시에 여러 요청이 오기에 )
시스템 과부하가 일어날 가능성이 높다
현업 - 하이브리드 처리를 사용 (실시간처리+일괄처리)
-분산처리
데이터베이스
정의
통합 데이터, 저장데이터, 운영 데이터, 공용 데이터
특징
실시간 접근성
계속적인 변화
동시 공유(=공용데이터)
내용으로 참조
-파일처리시스템은 --
디스트는 여러개의 block 으로 구성되어있다
-block = header / data
-하나의 디스크에 여러개의 block이 존재하고 block 안에 헤더(주소)와 데이터가 저장되어있음
ex 101동 아파트(디스크)에 101호 , 102호 ... 202호 등 여러 block 이 존재하고
block 의 헤더는 101호 , 데이터는 내용
-데이터베이스는 주소(header)를 보고 찾아가는게 아니라 data를 보고 찾아간다
데이터베이스의 시스템
관리시스템 = DBMS (ex oracle)
-사용자와 디비사이에서 중간매체에서 데이터를 관리해주고 사용자의 요청에 의해
데이터를 처리해주는 매개체
-필수기능 ( 세가지 전부 sql로 조작한다 )
정의기능
조작기능
제어기능- 보안관련 / 세가지로 나눠져있다
-장/ 단
#아이티기업
#융합파티 - 전기회사 등
#공용기업 ? - 정처기 있냐 없냐 를 제일 따지는 곳
___________________________________________________________3교시
스키마
데이터베이스에 관련된 모든 정보들이 저장된 형태
스키마는 메타데이터 ( 데이터의 데이터 ) 형태로 저장된다
외부스키마
각 응용프로그램이 디비에 접근했을때의 정보를 저장함
독립적
개념 스키마 (=데이터베이스 라 생각해도 무관)
디비의 전체 내용
디비의 구조와 제약조건의 명세가 저장됨
무결성을 지키기위한 어쩌고
내부 스키마
데이터베이스의 물리적인 저장장치
데이터베이스 언어 ( sql )
데이터 정의어
스키마를 정의, 수정, 삭제 시 사용 ( insect , delect 등 )
디비에이
업글시 접속
엔드유저
응용프로그래머
사용하는 언어가 dm의 언어
제일 많이 db를 접근함
data
db
dbs
dbms
data > db > dbs > dbMS (데이터를 관리해주는 시스템)
dbs에 dbMS가 포함되있는경우가 대부분
-
데이터베이스 설계 단계
요구 사항 > 개념 > 논리 > 물리 > 구현
추상화 = 모델링
데이터를 넣을때 컴퓨터 속성에 맞춰 변환시키는 것
1. 개념적설계
>무엇을 저장할까냐에 따라 개체 속성 관계로
-개념적 모델링이 설계되는 단계
-무엇을 넣을건가에 대해 설정
-개체, 속성, 관계를 추출하는 단계
-e-R 이라는 도형의 형태로 추출
-아픈상태 = 나쁜상태 로 추출된다 > 상태가 변할 수 있다
-여러가지 테이블을 가진 큰
1-1 ( 개념적설계 > 논리적 설계 )하는 과정 : 정규화
-정규화 과정이 잘 되면 아픈 상태가 없어짐
-잘게 찢어짐 (중복성 하락)
-무결성이 지켜짐 (정확성올라감)
-정규화가 잘 되어서 효율성이 좋은건 테이블이 여러개가 많들어져서
조인이 어쩌고해서 성능이 떨어진다
2. 논리적 설계
> 논리적으로 웅엥 하기 위해 RDB
-table 실제 데이터를 저장하는 가장 작은 단위/ 행과열로 구성된 <웅엥>
-효율적인 table을 가진것
-정규화가 잘 될경우 개념적 설계가 <웅엥>
-관계형 데이터베이스 모델형을 사용 (RDB)
-RDB가 table로 만듦
2-1 정규화
2-2 역 정규화
3. 물리적 설계
-DB성능(
___________________4교시
primary key (PK)
기본키 / 테이블을 대표하는 키
null값이 있으면 안된다
null > 구조는 있지만 값이 없는것 ( 공간은 있지만 그 안이 빈 것 = 사이즈가 없음 )
foreign key (FK)
참조키 (연결고리)
다른테이블의 값을 참조할때 사용
참조되는 기본키와 대응되어 대응되어 참조관계를 표현하는 도구
연결시 다른쪽에 업뎃 안된것은 업뎃 못 함
+관계
1:1 관계
1:n 관계 ( 1 : 다 )
ex 학생- 지도교수
n:m 관계 ( 다 : 다 )
ex 책 - 고객
무결성
개체 무결성
null 값이나 중복딘 값을 가질 수 없다
제약조건을 통해서 데이터의 무결성을 지켜줌
참조 무결성
참조한 값만 사용할 수있다
참조 값 외의 외래키는 사용 불가능 > 데이터의 무결성을 지켜줌
트랜잭션
-작업단위 ( 시작단위 ~ 끝 단위 )
-트랜잭션이 종료 할 시 두가지 현상이 일어난다
-commit
정상종료되어 모든 내용을 데이터베이스에 영구보존&저장함
메모리 특성상 마지막 한번 commit 되면 메모리잔재가 남아있다
-Rollback 트랜잭션시도 중 오류시 트랜잰션 시도 전으로 전체 취소를 하는 기능
-수행하다 문제가 생긴상태로 저장(COMMIT) 시 데이터베이스의 무결성이 깨져버리니
그 전으로 저장한다. (데이터의 손실이 일어난다)
-트랜잰션의 크기가 커지면 데이터베이스의 동시성이 낮아진다. (트랜잰션과 디비 동시성은 반비례)
성능상으로 트랜잰션은 잘게 쪼개쓰는걸 추천함
-특성 : 원자성, 일관성, 격리성, 지속성
a트랜젼션을 시동시 rock을 하면 a때문에 다른 트랜잰션이 깨지지않도록 함
(지속성) 메모리 특성상 마지막 한번 commit 되면 메모리잔재가 남아있다
-부분완료
트랜젼션 실행을 한 후 종료를 안 하면 트랜잰션이 계속 잔류하고있음 > 초보자의 실수
-저장하기위한 기능이지만, 취소하기위한 기능
SQL 분류
DML
DDL
DCL
[Data Base] 2019.06.24. 기록 (0) | 2019.08.24 |
---|---|
[Data Base] 2019.06.22. 기록. 실습내용 (0) | 2019.08.23 |
[Data Base] 2019.06.21. 기록 (0) | 2019.08.22 |
[Data Base] 2019.06.20. 기록 (0) | 2019.08.22 |
[Data Base] 2019.06.19. 기록 (0) | 2019.08.21 |
댓글 영역