분류 전체보기
데이터 모델링 기초 설명
명칭 설명엔티티 -> 테이블속성 -> 컬럼인스턴스 -> 행 관계도1 대 N 1 대 1 M:N=> 모델링에서 M대 N은 아직 완성되지 않은 모델로 간주하여 1:N으로 전환시키는 작업을 진행하여야 한다. 참여도 표시|| 필수O 선택 => 사원은 부서를 필수로 포함해야하지만, 부서는 사원이 선택이다. 키 표시PK는 ◆ID 또는 ID(PK)와 같이 기재 (주 식별자)FK는 ID(FK)로 기재 Identifying과 Non-Identifying외래 식별자가 관계에 있는 다른 엔티티의 주 식별자의 일부일 경우 Identifying이라 하고 별도일 경우Non-Identifying 이라고 한다. => Identifying => Non-Identifying 요구사항을 통해 엔티티 정의 만들기 엔티티 정의 -> 먼저 명사..
엔티티 관계와 속성 추출 방법
새로운 속성으로 주 식별자 선정의 장 단점대출일, 회원번호, 도서관리번호를 주식별자로 가져야 하는 경우, 너무 많은 속성이 주 식별자가 되어 구별하기 어려울 때, 대출 번호라는 새로운 주 식별자를 도입할 수 있다.-> 하지만 새로운 주 식별자를 도입한경우, 다음과 같은 문제가 발생할 수 있다.-> 대출번호가 키가 되는경우 대출일, 회원번호, 도서관리번호가 중복된 데이터가 있을 수 있다.-> 새로운 개념의 속성을 만들어 주식별자로 지정할 경우 단점과 장점이 있으니 잘 사용해야 한다. 필요없는 속성을 주 식별자로 지정하는 경우.필요없는 속성이 주 식별자가 되는 경우, 문제가 발생할 수 있다.제품번호와 제품가격이 주 식별자가 되었을 때, 제품번호별로 제품가격은 하나여야 하는데 서로 다른 데이터가 존재할 수 있..
정규화를 고려한 모델링
정규화정규화는 ERD 내에서 중복을 찾아 제거해 나가는 과정을 말한다. 관계형 데이터베이스 모델의 기본은 동일한 정보는 한곳에서만 관리하는 것이다. 제 1정규화엔티티에서 하나의 속성이 복수의 값을 갖도록 설계 되었을 때 이를 단일 값을 갖도록 하는 것이다. 정규화 전.사원번호 취미1001 등산, 낚시1002 테니스, 등산 정규화 후사원번호 취미1001 등산1001 낚시1002 테니스1002 등산 다음과 같은 사유도 동일하게 제 1정규화 대상이 된다.사원번호 취미1 취미2 취미31001 등산 낚시 1002 테니스 1003 테니스 운동 독서 해당 테이블 구조는 단일 값을 가지고 있기 때문에 아무 문제가 없어보이지만, 동일한 성격을 가지는 데이터를 다른 속성에 저장하는 것도 문제가 된다. 제 2정규화제 2정규..
설계시 도메인 고려 방법 및 완성된 ERD 검토
도메인도메인은 엔티티의 속성들이 가질 수 있는 값들의 집합.DBMS에서 도메인이란 엔티티와 속성에 대응하는 테이블의 컬럼에 대한 데이터 타입과 길이를 의미 도메인 추출 및 데이터 타입 추출방법1. 테이블에 구성될 컬럼들을 나열한 후 테이블의 도메인을 먼저 지정한다.대출일 - 날짜우수회원여부 - 예아니오회원이름 - 회원이름 2. 도메인에 맞는 데이터 타입을 지정한다.대출일 - date우수회원여부 - char(1)회원이름 - varchar(20) ERD 검토 1. 엔티티 검토 1) 엔티티가 적절히 구성되었는지의 여부 2) 엔티티의 주 식별자가 적절히 선정되었는지 여부 -> 주식별자에 불필요한 요소가 없는지 -> 인스턴스의 유일성을 보장해 주는지 3) 유사한 내용을 관리하는 엔티티가 없는지 -> 분리, 통합이..
sqlite 날짜비교
sqlite는 date type이 존재하지않아 날짜 비교를 할 때 다음과 같이 지정해야 한다. 테이블 생성 CREATE TABLE `test` ( `starttime` TEXT, `endtime` TEXT ) strftime() 함수는 날짜를 첫 번째 파라미터에 정의된 형식으로 변형하여 반환하여 준다. 해당 파라미터의 정의할 수 있는 format 리스트는 다음과 같다. 위의 파라미터를 사용해서 원하는 형식으로 변형을 하여 날짜비교에 사용한다. 위의 테이블에서 날짜비교하기위해서 다음과 같이 사용한다. select * from test where CAST(strftime('%s', starttime) AS integer ) > CAST(strftime('%s', '2017-05-27') AS integer);
프록시 서버(proxy server)
프록시 서버(proxy server) - 프록시 서버는 방화벽과 관련이 있다. 방화벽이 로컬 네트워크 안의 호스트가 외부 세상으로 직접 연결 하는 것을 금지한다면, 프록시 서버는 내부와 외부사이의 중계자 역할을 한다. - 방화벽에 의해 외부 네트워크로 연결이 금지된 장비는 외부에 있는 원격 웹 서버에 직접 요청을 하는 대신 로컬 프록시 서버로 부터 웹 페이지를 요청할 수 있다. ( 프록시 서버는 해당 요청을 외부의 원격 웹 서버에 요청하고, 요청을 보낸 로컬 장비로 응답을 전달한다.) 단점- 프록시 서버 사용 시 가장 큰 문제점은 모든 프로토콜이 아닌 일부 프로토콜만 지원한다는 것이다. 일반적으로 HTTP, FTP, SMTP 같은 TCP 연결 기반의 프로토콜들을 처리할 수 있지만 최신 프로토콜은 지원하지..
TCP/IP 정의와 전송과정 정리
TCP/IP(Transmission Control Protocol / Internet Protocol)란?- 네트워크와 네트워크를 연결하기 위한 포로토콜.. 여러 개의 네트웍을 연결해서 데이터를 서로 주고 받기위해, 서로 상호연결하기위한 프로토콜이다. 데이터가 생성 되면 각각의 계층에서는 각각의 헤더(Header)를 붙이게 된다. 헤더라는 것은 각 계층에서 해야 할 일들을 정의한 오버헤드(Overhead)라고 할 수 있는데, 각 계층을 지나면서 각 계층에서 해야 할 일을 헤더에 붙이는 작업을 데이터 캡슐화(Data Encapsulation)라고 한다. - 역 다중화(Demultiplexing) : 수신 측 입장에서 데이터 생성과정. 전송과정 1. 데이터링크 계층- 패킷을 전달하는 물리적 인터페이스와 관련..
네트워크 기타지식
Sniffing(IP)Sniffing 이란 네트워크 상의 떠다니는 데이터를 도청하는 행위를 일컫는 말로 이때 이용하는 스니퍼는 일종의 네트워크 도청 장치라고 할 수 있다. 게이트웨이게이트웨이(gateway, 문화어: 망관문)는 컴퓨터 네트워크에서 서로 다른 통신망, 프로토콜을 사용하는 네트워크 간의 통신을 가능하게 하는 컴퓨터나 소프트웨어를 두루 일컫는 용어, 즉 다른 네트워크로 들어가는 입구 역할을 하는 네트워크 포인트이다 mac주소- 하드웨어를 n이한주소, 물리주소라고 한다. (랜카드에 저장된 주소):, - 으로 구분되는 16진수로 구성되어있고 총 48비트로 구성되어 있다.00:50:56:3e:3c:fe앞에 24비트는 제조사, 뒤에 24비트는 일련번호ex)00:50:56:3e:3c:fe (앞 3개는 ..
NAT와 DHCP설명 및 차이점
NAT : Network address translation(네트웍 주소 변환) IPv4에서는 IP주소가 부족하고 보안상에 몇가지 문제가 있어서, 점점 더 많은 네트웍에서 인터넷에서 사용할 수 없는 사설 IP(10.0.0.0/255.0.0.0, 172.16.0.0/255.240.0.0 , 192.168.0.0/255.255.0.0)를 사용하고 있다. 사설망에 있는 호스트에서 인터넷에 접속을 하거나 인터넷망에서 사설망의 호스트에 접속하기 위해서 NAT(network address translation)기능이 필요하다. NAT는 특정한 IP 주소를 한 그룹에서 다른 그룹으로 매핑하는 기능이다. 주소를 N-to-N 형태로 매핑하는 경우를 정적 NAT라 하고 M-to-N(M>N)를 동적 NAT라고 한다. 네트웍..
라우팅 프로토콜 종류 소개
rip- 동적라우팅 중 가장 단순하고 이해가 쉽지만, 주로 소규모 망에서 사용(hop count 사용 - 최대 15개 가능)- 매 30초마다 자신의 거리정보를 모든 라우터에 Brodcasting- 거리벡터로 구현됨(라우팅에 사용) ospf- link 상태의 변화가 생길때마다 각 라우터가 자기를 기준으로 독립적으로 경로를 설정한 테이블 소유- 인접 라우터까지의 링크 비용을 라우팅 정보로 사용- 지연시간이나 대역폭의 의미를 가지고 라우팅에 사용 AS AS는 소규모 네트워크 조직을 말하고 그곳에서 사용되는 경로제어 프로토콜이 IGP서로 다른 AS간의 경로정보를 주고받는 프로토콜이 EGP(bgp는 egp의 한종류)