728x90
반응형

컴퓨터(Computer Science) 205

데이터베이스의 논리적 설계~최종 테이블 스키마

개념적 설계 이후의 과정이다. 우선 논리적 설계부터 설명하겠다. 논리적 설계란 개념적 설계에서 만들어진 ERD로부터 테이블 스키마를 생성하는 것이다. 모든 논리적 설계는 개념적 설계의 산출물로 진행한다. ** 그림을 이제 테이블로 바꾸는 과정이라고 보면 되겠다. - 강성 개체집합을 관계형 테이블로 변환 -약성 개체집합을 관계형 테이블로 변환 -관계집합을 관계형 테이블로 변환 -중복되는 테이블 제거 -가능한 테이블들 결합 위에 말한 사항들을 하나씩 자세히 살펴보자 강성 개체집합의 변환 -하나의 강성 개체집합은 하나의 테이블이 된다. -강성 개체집합의 속성은 테이블의 필드가 된다. -테이블의 기본키는 개체집합의 기본키를 그대로 사용한다. ** 강성 개체집합 = 테이블 and 강성 개체집합의 속성 = 테이블의..

데이터베이스의 개념적설계(Conceptual Design)

여기서는 앞서 말했듯이 개체관계 모델을 사용한다. E-R // Entity Relaion 다이어그램으로 표현하고는 한다. 최종목표는 ERD를 만드는 것이라고 할 수 있다. 개체, Entity -현실 세계에서 물리적 또는 추상적으로 존재하는 실체 -ex 사람, 자동차, 집, 돈 개체 집합, Entity Set -동일한 특성을 갖는 개체들의 모임 ex 학생 -> 학생들, 사원 -> 사원들 속성, Attribute -개체의 특성을 나타냄 -관계형 데이터 모델의 필드(field)와 같은 개념 또는 column -동일한 특성을 가진다는 것은 속성이 동일하다는 말과 같다. ** 필드와 속성의 차이점도 읽어보고 가자 관계, Relation -개체 간의 대응성을 표현함 -개체 간의 관계를 통해 의미를 이끌어냄. 관계집..

데이터베이스의 설계( Database Design)

설계에 관해서 단계적으로 알아보자. 데이터베이스 설계의 뜻은 무엇일까? 현실 세계의 정보를 컴퓨터의 데이터 체계로 변환하기 위한 모델링 과정 중 하나이다. 현실의 엔티티를 요구 사항 분석 단계를 거쳐 컴퓨터에 이식한다. 데이터베이스 설계 과정에서 우리는 앞서 배운 테이블, 뷰 등의 구조로 디자인 + Key를 이용해 컴퓨터가 잘 처리할 수 있게 만든다. -> 어떠한 필드로 구성된 테이블을 어떠한 물리적 형태의 데이터베이스로 구성할 것인가를 결정 위의 그림을 조금 더 세분화 하자면 4가지로 나눌 수 있다. 1. 요구사항 분석 DB 사용환경 분석 후 대상 및 제한 조건을 도출한다. (사용환경이란 현재 시스템의 운영상태와 사용자의 요구사항을 말한다) -> 요구 조건 명세서와 같은 것들을 작성 (소프트웨어 공학에..

SQL(Structured Query Language) + 보충내용(NULL처리, 중첩질의, 뷰(VIEW))

++이전 글에 더 첨언해서.. 글을 써보자 NULL의 처리는 어떻게 할까? NULL을 검색하는 방법 SQL is null is not null grade 필드 값이 NULL인 경우 질의 결과에 포함되지 않는 경우가 있다. * 하지만 COUNT의 경우 NULL의 존재와 무관하게 레코드 전체에 조사하기 때문에 상관없다. 중첩 질의(Nested query) :SQL 문 안에 다른 SQL 문을 중첩하여 사용하는 질의를 말한다. -> 복잡한 질의를 쉽게 표현하기 위해서 만듬 쓰이는 용어로는 1. 내부 질의(inner query) 2.부질의(sub query) 3. 외부 질의(outer query)가 있다. -> 내부질의는 내부에 포함된 SQL문을 말하며, 외부 질의는 부 질의를 내부적으로 갖는 SQL문을 말한다...

SQL(Structured Query Language)이란?

**1974년 IBM의 어쩌구저쩌구 Sequel에서 기초로 하여 ~~~ 이런 구구절절은 그만하고 직역해보면 구조적 질의 언어라고 할 수 있다. 그래서 대체 뭔데???++ 한마디로 말하자면 SQL이란 데이터베이스 시스템을 조작하기 위한 문법이라고 할 수 있다. -> 관계형 데이터베이스 시스템에서는 SQL이라는 공통된 언어를 사용한다. -> 때문에 어떤 Application Program을 쓰더라도 호환이 가능하다 ** nosql이라는 것도 있다. sql이 필요없는 것을 말한다. ex) mongodb(몽고디비) SQL은 표준 질의어가 되었다. 관계 대수나 관계 해석은 확실한 이론 배경이 있지만 기호가 너무 복잡해서 솔직히 외우기 싫었다. 하지만 SQL은 우리가 쓰는 언어인 자연어와 비슷해서 쓰이는데 거부감도..

관계형 데이터베이스, Relation Database 란?

우선 필요한 용어들을 알아보자 데이터 모델이란 물리적 혹은 추상적으로 존재하는 현실세계를 단순화되고 정형화된 형태로 표현하는 하나의 방식 또는 규범을 말한다. -> 즉, 컴퓨터에 넣기 위해 현실의 것들을 바꾸어서 집어넣은 것을 말한다. (컴퓨터가 잘 알아들을 수 있도록) 관계형 데이터 모델 (Relational data model)이란 테이블 형식을 사용하여 데이터들을 정의하고 설명한 모델이다. 현실의 데이터를 누구나 직관적으로 이해할 수 잇는 형태로 보여줌 (like table) **테이블을 Relation이라고 부름. ** Relation은 수학적으로 수학적으로 두 개 이상의 집합으로부터 각 집합을 구성하는 원소들의 순서쌍에 대한 집합을 의미 (이산수학에서 배운다) 테이블에 대한 개념 1. 속성(= ..

데이터베이스에서의 키(Key)

데이터베이스를 다룰 때 항상 우린 키를 이용한다. 왜인지 알아보자 키가 필요한 이유? 저번에 글에서 레코드 간의 순서가 의미가 없다고 했다. 그렇다면 레코드의 무엇이 의미가 있을까 생각해봤더니 레코드를 고르는 방법이다. 데이터베이스에서 레코드의 순서는 의미가 없다. 하지만 우리가 사용하려는 것은 레코드다! 그러므로 레코드를 구분해주는 무엇인가가 필요한데 그것이 바로 키(key)이다. 키의 특징으로는 필드들의 일부로 각 레코드들을 유일한 식별자(identifier) 역할 일반적으로 하나의 필드를 지정하여 key로 정한다 (대부분 id를 키로 가짐) +여러 개의 필드를 키로 구성할 수 있음 (복합 키 composite key)라고도 부름 레코드 간의 서로 같은 값이 있으면 키가 될 수 없음 -> identi..

응용(Application Layer)계층에 관한 필수 지식

응용계층을 배웠다면 대답할 수 있는 지식에 대해서 알아보자 DHCP의 메커니즘에 대해서 설명하시오 Dynamic Host Configuration Protocol이다. 각각의 컴퓨터는 DHCP client를 수행한다. 이는 컴퓨터에게 IP address를 요구하는 것과 같다. 모든 네트워크는 배치를 책임지는 DHCP 서버를 가지고 있다. DHCP 서버는 IP 주소가 관리되는 공간이고 라우터나 서버에서 작동한다. 컴퓨터가 시작될 때 컴퓨터는 이더넷을 설정하거나 또는 IP 주소 없이 다른 링크 계층 주소를 NIC에 임베디드한다. 그 이후, 컴퓨터는 마치 ARP와 같이 네트워크 상에 있는 IP 주소에 대해 요구를 브로드 캐스트한다. + 브로드캐스트 메세지를 네트워크 상에 보낸다. (이를 DHCP Discove..

트랜스포트(Transport Layer)계층에 관한 필수 지식

트랜스포트 계층을 배웠다면 대답할 수 있는 지식에 대해서 알아보자 트랜스포트 레이어의 역할을 설명하시오 물리적인 네트워크에 관계없이 근원지 컴퓨터에서 목적지 컴퓨터 간에 신뢰할 수 있고 저렴한 데이터 전송을 하고자함. Application 이 네트워크를 사용하는 데 필요한 추상화도 제공함. TCP/IP를 배우면 트랜스포트의 역할을 진정으로 알 수 있다. 통신의 최종책임을 진다고 보면 된다. Addressing(주소 지정), Connection Establishment(연결 설정), Connection Release, Flow control and buffering Multiplexing, Crash Recovery등 많은 역할 또한 하고 있다. 그림에서 3단계 핸드셰이크가 무엇인지 설명하고 왜 필요하고 ..

네트워크(Network Layer)계층에 관한 필수 지식

네트워크 계층을 배웠다면 대답할 수 있는 필수 지식에 대해서 알아보자 Network Layer 또 게임 서버 프로그래밍에 좋은 비유가 있더이다. (Data Link를 보고 오면 더 이해가 잘될 것이다.) [컴퓨터(Computer Science)/네트워크, Network] - 데이터링크(Data Link Layer) 계층에 관한 필수 지식 **여기서 마을은 LAN, 도시는 WAN (WAN은 모여도 WAN임) 마을이 커져서 도시가 되었다. 그러면 집마다 번호를 매기는 방식으로는 한계가 생긴다. (왜냐하면 겁나 많아지기 때문에... 숫자도 겁나 커지겠다) 마을을 서로 다른 이름의 구역으로 나눈다. EX) OO구 OO동 XX호 그러면 번지 값이 같아도 구역 이름이 다르면 고유한 주소 값이 보장된다. 도시를 넘어..

728x90
반응형