basic relation model (기본 관계 모델)

3.1 관계모델은 DB relation들의 모임으로 표현


3.1.1 domain, attribute, tuple, relation


Domain :
원자값(더 이상 나눠질수 없는 것)들의 집합, 해당 Domain이 속하는 값들의 datatype을 명시

NULL은 모든 domain의 멤버, 다른 attribute가 같은 domain을 갖을 수 있다. 구성요소 : 데이터타입, 형식, 이름


릴레이션 스키마 : R이라는 릴레이션 이름과, A_1 이라는 에티르뷰트(도메인과 같은 역할)들로 이루어진다.


릴레이션스키마의 릴레이션(relation state) : n-tuple들의 집합, 실세계의 특정상태에서 해당되는 tuple들만 반영


3.1.2 릴레이션의 특성


릴레이션에서 투플들의 순서는 존재하지 않지만 저장 순서는 존재한다.


투플 내에서의 값들과 순서와 릴레이션의 또 다른 정의 : 투플 내에서 값들의 순서는 중요하지 않다.


투플 내의 각 값은 원자값이다 => 1 정규형


NULL :
값을 모를 때, 가능하지 않은 값일 때,  이 투플에 그 attribute를 적용할수 없을 때 사용한다.


3.2 관계 모델 제약조건과 관계 DB 스키마


본질적 모델 기반 제약조건 : data model 자체에 존재하는 제약조건


스키마 기반 제약조건 : data modelschema에서 직접 표현 가능한 제약조건으로 DDL로 명시


응용 기반 제약조건 : schema에서 표현이 불가능한 제약조건으로 응용프로그램에 의해 표현


3.2.1 도메인 제약조건 : 각각의 투플 내에서 각각의 attribute의 값이 반드시 도메인에 속하는 원자값이여야 함


3.2.2 키 제약조건과 널 제약조건


형식 관계 모델에서 relation tuple들의 집합으로 정의


releation
의 모든 tuple도 중복되지 않아햐 한다. tuple마다 갖는 uniqueattributesuperkey라 한다.


유일성 제약조건 : super key가 같은 tuple은 존재하지 않는다.


모든 relation은 적어도 하나의 superkey를 갖는다.


KEY :
최소의 superkey


3.2.3 관계 DB, 관계 DB schema


관계DB는 서로 연관된 다수의 relation을 갖는다.


관계DB schema : relation schema들의 집합과 무결성 제약조건들의 집합이다.


관계DB state : relation state들의 집합


무결성 제약조건을 준수하면 유효한 상태 아니면 유효하지 않은 상태


무결성 제약조건은 DB schema에 명시되어있다


3.2.4 엔티티 무결성 제약조건, 참조 무결성 제약조건, 외래키


엔티티 무결성 제약조건 : 기본키는 null값이 될 수 없다. (기본키는 tuple들을 구별하는데 사용하기 때문)


참조 무결성 제약조건 : 두 릴레이션 사이에 명시되는 제약조건, relation에 있는 tuple이 다른 relation의 

tuple을 참조하려면 반드시 참조되는 tuple이 그 relation안에 존재 해야한다.


foreign key :
외래키가 되기 위해서는 참조 무결성 제약조건이 만족되어야 한다. 동일한 relation을 참조할 수 없다. 외래키는 자신의 relation을 참조할 수 있다.


외래키의 attribute는 기본키의 attribute와 동일한 doamin을 갖는다. -> 외래키는 참조한다.


현재 상태의 한 tuple 내의 외래키의 값은 현재상태의 어떤 tuple 내의 기본키와 일치하거나 null값을 가져아한다.


3.3 갱신 연산과 트랜잭션 그리고 제약조건 위반의 처리


관계 모델의 연산은 추출과 갱신(삽입, 삭제, 갱신 또는 수정)으로 나누어진다.


3.3.1      


삽입 연산은 relation R에 삽입한 tuple t에 대한 attribute값들의 리스트를 제공한다.


도메인 제약조건, 키 제약조건, 엔티티제약조건, 참조 제약조건 4가지를 위반할 수 있다. 기본은 거부


3.3.2 삭제 연산


참조무결성 제약조건 1개만 위반할 수 있다. 기본은 거부


3.3.3 갱신 연산


relation R
에 있는 tuple들 중에서 하나 이상의 attribute값을 변경하는데 사용



기본키나 외래키가 아닌 attribute의 갱신에는 아무런 문제가 없다, 데이터타입과 도메인이 정확한지 확인


3.3.4 트랜잭션 개념 : DB로부터 읽기, 삽입, 삭제, 갱신 같은 DB 연산을 수행하는 program

'SW > Database MySQL' 카테고리의 다른 글

Entity-relation을 사용한 conceptual data modeling  (0) 2017.09.05
sql의 데이터 정의와 타입  (0) 2017.09.05
Data model, schema, instance  (0) 2017.09.05
database 기초상식  (0) 2017.09.05
JOIN  (0) 2017.09.05

Data model, schema, instance

데이터 모델, 스키마, 인스턴스

2.1 데이터 모델, 스키마, 인스턴스
데이터 모델 : 필수적인 특징만을 강조하는 추상화를 위한 도구데이터 구조를 명시하기 위해 사용할 수 있는 개념들의 집합으로 대부분 검색과 갱신을하는 기본연산들을 포함한다.
DB
구조 : 데이터 타입, 관계, 제약조건을 의미

2.1.1 데이터 모델의 분류
저수준(물리적)데이터 모델 : 어떻게 데이터가 저장되는지를 제공
표현(구현)데이터 모델 : 사용자들이 쉽게 이해할 수 있는 개념을 제공
고수준(개념적)데이터 모델 : 많은 사용자들이 데이터를 인식하는 방식에 대한 개념 제공
고수준(개념적)데이터모델 : entity(사원이나 프로젝트 같은 실세계의 객체나 개념을 나타냄), attribute(사원이 이름이나 급여 같은 entity의 특성), relationship(사원과 프로젝트 사이의 관계처럼 entitiy들 사이의 연관성)

2.1.2 스키마, 인스턴스, 데이터베이스 상태
DB schema : DB
기술(description)으로 자주 변경되지 않는다. 대부분은 도식적으로 스키마를 표현하는 표기법을 갖는데 이를 스키마 다이어그램이라 한다.(실제 인스턴스는 표현하지 않고 레코드 타입의 구조를 나타냄)
DB
상태 : 어떤 특정 시점에 DB에 들어있는 data(레코드를 변경할 때 DB는 다른 상태로 바뀜)
새로운 DB를 정의할 때 DB schemaDBMS에 명시, DBdata가 처음으로 적재될 때 초기상태로 됨

2.2 3단계-스키마 아키텍처와 데이터 독립성
2.2.1 3
단계-스키마 아키텍처
내부단계(internal level) : 내부 스키마를 가지며 이 스키마는 DB의 물리적 저장 구조 기술
개념단계(conceptual level) : 개념 스키마를 가지며 이 스키마는 모든 사용자를 위한 DB구조 기술(제약조건 등)
외부단계(external level) : 외부 스키마와 사용자 view를 가지며 이 스키마는 특정 user group이 관심을 갖는 DB 기술(나머지은폐)
사상(mapping) : 단계들 간 요구와 접근 결과를 변환하는 과정

2.2.2 데이터 독립성 : 고수준의 스키마를 변경할 필요없이, DBS의 어떤 단계에서 스키마를 변경할 수 있는 능력
논리적 데이터 독립성 : 외부스키마나 응용 프로그램들을 변경하지 않으면서 개념 스키마를 변경
물리적 데이터 독립성 : 개념스키마를 변경하지 않으면서 내부스키마를 변경
DBMS
catalog는 여러 단계 사이에서 요구와 데이터를 mapping하는 방법에 대한 정보 포함

2.3 DB언어와 interface
2.3.1 DBMS
언어
DDL(data definition language) :
스키마들을 명시
SDL(storage Defintion Language) :
내부스키마를 나타냄 (오늘날의 DBMS SDL이 거의 없다)
VDL(View Defintion Language) : 3
단계-스키마 아키텍처를 이용하여 사용자 뷰를 명시, 개념스키마들 사이의 맵핑
대부분의 DBMS DDL이 개념 스키마와 외부 스키마를 정의하는데 사용

DML(data manipulation language) : 데이터의 검색 삽입 삭제 수정 조작하는 언어
고수준(비절차적) DML : 복잡한 DB 연산을 간단하게 나타냄, 한번에 레코드 집합(선언적)
저수준(절차적) DML : 범용 프로그래밍 언어에 삽입하여 나타냄, 한번에 한 레코드
DML모두 범용 프로그래밍 언어 내에 DML이 삽입된 경우 프로그래밍 언어는 호스터언어, DML은 데이터 부속어라 하며 고수준 데이터 조작어가 대화식으로 진행되면 질의어라고 부른다

SQL(Structure Query Language) : DB와의 소통 수단으로 DDL DML의 융합, 제약조건 명시 외에 많은 기능

2.4 데이터베이스 시스템 환경

2.4.1 DBMS 구성 모듈
DB
DBMS catalog는 디스크에 저장되어 있으며 OS로 디스크에 접근
buffer
관리 모듈 : 많은 DBMS는 성능에 영향을 미치기 때문에 디스크 입출력을 스케쥴
저장 데이터 관리자 모듈 : 디스크에 저장되어 있는 DBMS의 정보(DB, catalog)에 대한 접근 제어
DDL compiler : DDL
로 명시된 스키마 정의들을 처리, 스키마들에 대한 정보(meta-data)DBMS catalog에 저장
catalog : DBMS
모듈들이 필요로 하는 파일의 정보, 제약조건을 포함(DBMS가 정보가 필요할 때 접근하는곳)
대화식질의 interface : 질의 컴파일러(질의들을 파싱하고 데이터원소들이 정확한가 입증하고 내부 형태로 컴파일 + 질의 최적화기(연산들을 재배치하고 중복제거, 적절할 알고리즘과 인덱스를 선택)
precomiler :
호스트 언어로 작성된 응용프로그램에서 DML 명령들을 추출하여 DB접근을 위한 목적코드(object code)로 컴파일 하기 위해서 DML compiler로 보내고 프로그램에서 DML 명령을 제외한 나머지 부분은 호스트언어 compiler로 보낸다.
Runtime DB processor :
특권 명령, 실행가능 질의 계획, 미리 작성된 트랜잭션등을 수행, system catalog, 저장데이터 관리자와 함께 작동)
동시성 제어 모듈 : 제약조건을 침해하지 않으면서 트랜잭션이 잘 수행되도록 한다.
회복 모듈 : DB의 일관성, 트랜잭션의 원자성, 지속성을 유지
동시성 제어 모듈과 회복 모듈은 TR관리를 위해서 runtrim DB processor와 통합하여 동작한다.

2.4.2 DBS utilities : DBA DBS를 관리하는 것을 도와줌
적재(loading) : 기존의 data file DB에 적재
백업(backup) : 저장매체에 DBcopy를 만듦
파일 재조직(file reorganization) : DB의 파일 구조를 다른 파일 구조로 재조직, 새로운 접근경로 형성(성능향상)
성능 모니터링(performance monitoring) : 사용통계를 DBA에게 전달

2.4.3 도구, 응용, 환경, 통신 장비
케이스 도구 : DBS를 설계하는 과정에 사용
데이터 사전(저장소) 시스템 :
응용개발환경, 통신 소프트웨어가 있다.

2.5 DBMS를 위한 중앙집중식과 클라이언트/서버 아키텍처

2.5.1 중앙집중식 DBMS 아키텍처

2.5.2 기본적인 client/server 아키텍처
client :
사용자 인터페이스와, 자체 처리 능력을 제공
server :
클라이언트 컴퓨터에게 서비스들을 제공할 수 있는 hw, SW

2.5.3 DBMS를 위한 2- client/server architecture : client handles, server handles, API 제공

2.5.4 웹 응용들을 위한 3-client/server architecture

2.6 DBMS의 분류 (DBMS를 분류하기 위해 여러 기준이 사용)
1. data model :
가장 많이 사용하는건 관계 데이터모델,
2.
사용자 수
3.
사이트 수
4.
비용
5.
범용, 특수목적 DBMS 

'SW > Database MySQL' 카테고리의 다른 글

Entity-relation을 사용한 conceptual data modeling  (0) 2017.09.05
sql의 데이터 정의와 타입  (0) 2017.09.05
basic relation model (기본 관계 모델)  (0) 2017.09.05
database 기초상식  (0) 2017.09.05
JOIN  (0) 2017.09.05

database 기초상식

1

1.1

DATA = 알려진 사실로부터 의미를 가지고 기록될 수 있다, 가공되기 전의 정보


INFORMAITION = DATA
를 가공한것


DB = 서로 연관된 데이터들의 모임, 특정한 의미를 가짐, 실세계의 일부분


DBS = DB + DBMS + USER&APLLICATION PROGRAM


DBMS = DB를 정의 구축 조작 공유


정의 : DB에 저장되는 DATA에 필요한 데이터 타입, 구조, 제약조건들을 명시
->DB
의 정의, 설명하는 정보는 DBMS에 의해 meta-data(카탈로그 형태)로 저장


구축 : DBMS가 관리하는 저장소에 데이터를 저장하는 과정


조작 : 데이터를 검색하기 위한 질의, 갱신, 리포트 생성 기능 포함


공유 : 여러 userprogram data에 동시 접근



1.2 DB 설계 단계


요구사항 분석 -> 개념설계 -> 논리적 설계 -> 물리적 설계 -> 수행 


(
개념설계에서 논리적설계로 가는데에는 정규화가 필요)


DB는 여러 개의 파일로 구성되며, 각 파일은 동일한 유형의 data record들을 저장


DB
를 정의 하기 위해서는 각 파일의 레코드 구조를 명시 각 레코드에 저장되는 데이터 항목의 타입을 지정



1.3 DB의 특징


파일처리방식 : 중복이 있다(memory낭비, 중복된 항목을 고칠땐 일일히 고쳐하기에 overhead발생)


DB : data를 한번만 저장, DBS의 자기기술성, program-data 격리, 추상화, data의 다중 view, 공유, 다수트랜잭션


1.3.1 DBS의 자기 기술성


DBS
DB뿐 아니라, DB에 대한 구조와 제약조건에 대한 완전한 정의를 가짐


DB
에 대한 정의는 DB에 속하는 각 파일들의 구조, 타입, 제약조건 명시


이 정의는 DBMS catalog에 저장되며 저장된 정보를 meta-data라 함 =>DB의 구조 기술


1.3.2 program-data의 격리, 데이터 추상화


데이터 파일의 구조가 응용 프로그램과 분리되어 DBMS catalog에 저장되어있어 DBMS를 접근하는 프

로그램은 고칠 필요가 없다. => program-data의 독립성


객체지향DB, 객체관계DB는 데이터에 대한 연산(함수orMETHOD)까지 DB 정의의 일부로 나타냄


연산 = 인터페이스(연산의 이름, 매개변수의 데이터타입) + 구현(인터페이스와 별도)


프로그램에서는 연산의 구현 내용을 몰라도 연산의 이름과 매개변수들을 사용하여 연산을 수행할 수 있다. =>program-opertaion 독립성


데이터 추상화 : 위의 두개의 독립성을 제공하는 성질을 의미


DBMS
는 사용자에게 데이터에 대한 개념적인 표현을 제공


data model :
추상화의 한 종류(상세정보를 숨김)


1.3.3 데이터에 대한 다중 뷰의 제공


VIEW : DB의 일부이거나, DB로부터 유도되는 가상 데이터이지만 실제로 DB에 저장되진 않는다.


다수사용자용 DBMS는 여러 사용자들이 자신의 뷰를 정의할 수 있도록 하는 기능을 제공


1.3.4 데이터의 공유와 다수 사용자 트랜잭션 처리


다수사용자용 DBMS는 여러 사용자가 동시에 DB에 접근할 수 있는 DB이다.


동시성제어 소프트웨어가 데이터를 동시에 변경할때에도 데이터 일관성을 유지시켜준다.


트랜잭션 : 한 번 이상의 DB접근을 포함하는 프로그램이나 프로세스를 수행하는 것


DBMS
는 트랜잭션의 몇가지 성질(고립성, 원자성)을 강제로 지킴


고립성 : 트랜잭션끼리 고립되어 수행되는것처럼 보이도록


원자성 : 트랜잭션 내의 모든 DB연산들이 수행완료 아니면 수행되지 않음



1.4 DBMS의 장점


1.4.1 중복성 제어


중복성은 논리적으로는 한번의 변경이지만 중복된 횟수만큼 반복해서 변경해야하므로 메모리의 낭비를 초래한다

또한 데이터의 불일치(실수할가능성) -> data DB에 한번만 저장되어야 한다.(정규화)


1.4.2 권한이 없는 접근의 통제


DBMS
는 이를 위하여 보안과 권한이라는 서브시스템을 가진다.


1.4.3 프로그램 객체를 위한 지속성 기억 공간 제공


지속성 객체란 프로그램의 수행이 끝난 후에도 DB에 영구적으로 남아있는 것.


1.4.4 효율적인 질의 처리를 위한 저장구조와 탐색기법 => 인덱스, 버퍼링, 캐쉬, 질의처리 최적화


1.4.8 무결성 제약조건의 시행


DBMS
는 무결성 제약조건들을 정의하고 검사하는 기능을 갖는다.


참조 무결성 제약조건 : 다른 파일의 레코드끼리 연관성을 갖는다.


키 제약조건 : 데이터 항목의 값들이 유일해야 한다.


이런 제약조건을 비즈니스룰 이라 부른다.


1.4.9 규칙을 사용한 추론과 수행


어떤 DBS에서는 DB에 저장되어 있는 사실로부터 새로운 정보를 추론하는 연역적 규칙을 정의할 수 있

이러한 기능을 가진 DBS를 연역 DBS라 부른다.


트리거 : DB연산이 제약조건을 침해하였을때, 실행되는 SQL


저장된 절차 : 많은 프로그램과 사용자들을 위해 미리 컴파일된 SQL문들


능동 DBS : 어떤 이벤트가 일어났을 때 자동으로 수행되는 능동 규칙


1.4.10 DB사용에 함축된 또 다른 의미


표준강화, 응용 개발 시간의 단축, 융통성, 최신 정보의 가용성, 규모의 경제성

'SW > Database MySQL' 카테고리의 다른 글

Entity-relation을 사용한 conceptual data modeling  (0) 2017.09.05
sql의 데이터 정의와 타입  (0) 2017.09.05
basic relation model (기본 관계 모델)  (0) 2017.09.05
Data model, schema, instance  (0) 2017.09.05
JOIN  (0) 2017.09.05

data link layer (데이터링크층)

1      데이터링크층


1.1  서비스항목 (프레임 짜기, 흐름 제어, 오류 제어, 혼잡 제어 => frame + control)


프레임 짜기 : 각 노드에서 데이터링크층은 다음 노드에게 데이터그램을 전송하기 전에 네트워크층에서 전달받은 패킷인 다이어그램을 프레임에서 캡슐화 해야한다.

흐름제어 : /수신자의 전송능력 차이를 극복


     오류제어


호납제어 : layer2에서 혼잡제어는 포함되지 않는다.


1.2  세 종류의 주소 (windows – ipconfig/all, unix - %ifconfig -a) ->유니캐스트, 멀티캐스트, 브로드캐스트 3종류


유니캐스트 주소 : LAN ETHERNET에서의 유니캐스트 링크계층주소(48bit) ex) A3:34:45:11:92:F1 A3 1byte 1byte6개니까 48bit


1.2.1       주소변환 프로토콜(ARP, Address Resolutuon Protocol) -> 32bit(3계층 IP주소)48bit(2계층MAC주소) 변경


반대는 RARP(MAC주소 -> IP주소)

'SW > 데이터통신' 카테고리의 다른 글

Switching (교환)  (0) 2017.09.05
전송매체  (0) 2017.09.05
주파수 분할 다중화, 반송파  (0) 2017.09.05
아날로그 전송  (0) 2017.09.05
물리층 (Physical layer, OSI-7-Layer  (0) 2017.09.05

data flow (데이터 흐름방향)

데이터 흐름 방향


1. 단방향 방식(simplex mode, unidirectional) : 키보드, 마우스, 모니터 등으로 입력과 출력 둘 중 하나만 할 수 있는 것


2. 반이중 방식(half-duplex mode) : 워키토키 등으로 송신과 수신 모두 가능하지만 동시에는 불가능 하다.


3. 전이중 방식(full-duplex mode) : 전화네트워크, 인터넷 등으로 송수신을 동시에 할 수 있다.

 

'SW > 데이터통신' 카테고리의 다른 글

OSI-7-Layer (OSI 7계층)  (0) 2017.09.05
네트워크 물리적 구조  (0) 2017.09.05
데이터 통신 구성요소 (용어정리)  (0) 2017.09.05
DHCP(Dynamic Host Configuration Protocol)  (0) 2017.09.05
TCP/UDP  (0) 2017.09.05

데이터 통신 구성요소 (용어정리)

1. 메시지 : 통신의 대상으로 데이터를 뜻함(텍스트, 숫자, 그림, 소리 등)


2. 송신자 : 메시지를 보내는 장치 (컴퓨터, 전화기, 비디오 등)


3. 수신자 : 메시지를 수신하는 장치 (전화기, tv, 컴퓨터)


4. 전송매체 : medium으로 메시지가 송신자로부터 수신자까지 이동하는 물리적 경로


5. 프로토콜 : 데이터 통신을 통제하는 규칙의 집합, 통신하고 있는 장치들 사이의 상호합의


      통신절차 : syntax(구문), semantics(의미), timing


      통신규약 : event, action, format(양식)

'SW > 데이터통신' 카테고리의 다른 글

네트워크 물리적 구조  (0) 2017.09.05
data flow (데이터 흐름방향)  (0) 2017.09.05
DHCP(Dynamic Host Configuration Protocol)  (0) 2017.09.05
TCP/UDP  (0) 2017.09.05
IP (Internet Protocol)  (0) 2017.09.05

'data'에 해당되는 글 6건

1 →