목록정보처리산업기사/정보처리산업기사 필기 (37)
판봉 개발 일기
SQL(Structured Query Language)의 개요 1974년 IBM 연구소에서 개발한 SEQUEL에서 유래 국제표준 데이터베이스 언어이며, 많은 회사에서 관계형 데이터베이스(RDB)를 지원하는 언어로 채택중 관계대수와 관계해석을 기초로 한 혼합 데이터 질의어지만 질의 기능만 있는게 아니고 데이터 구조의 정의, 데이터 조작, 데이터 제어기능을 갖추고있음. *질의어 : 사용자들이 쉽게 DB를 통해서 이용할수있게 하는 비절차어의 일종 SQL의 분류 DDL(데이터 정의어) DDL(Data Define Language)은 SCHEMA, DOMAIN, TABLE, VIEW, INDEX를 정의하거나 변경 또는 삭제할 때 사용하는 언어 논리적 데이터 구조와 물리적 데이터 구조의 사상을 정의 데이터베이스 관..
정규화 함수적 종속성 등의 종속성 이론을 이용하여 잘못 설계된 관계형 스키마를 더 작은 속성의 세트로 쪼개어 바람직한 스키마로 만들어가는 과정 하나의 종속성이 하나의 릴레이션에 표현될 수 있도록 분해해가는 과정이라 할 수 있다. 정규형에는 제1,2,3,BCNF,제4,제5규형이 있고 차수가 높아질수록 만족시켜야할 제약 조건이 늘어남 데이터베이스의 논리적 설계 단계에서 수행 정규화는 논리적 처리 및 품질에 큰 영향을 미침 정규화의 목적 데이터 구조의 안정성 최대화 어떤 릴레이션이라도 데이터베이스 내에서 표현 가능하게 만듬 효과적인 검색 알고리즘 생성가능 중복을 배제하여 삽입,삭제,갱신 이상의 발생을 방지함 데이터 삽입 시 릴레이션을 재구성할 필요성을 줄임 Anomaly(이상)의 개념 및 종류 정규화를 거치지..
관계대수의 개요 관계대수는 관계형 데이터베이스에서 원하는 정보와 그 정보를 검색하기 위해서 어떻게 유도하는가를 기술하는 절차적인 언어 릴레이션을 처리하기 위해 연산자와 연산규칙을 제공하는 언어로 피연산자가 릴레이션이고 결과도 릴레이션이다. 질의에 대한 해를 구하기 위해 수행해야 할 연산의 순서를 명시 순수 관계 연산자 : Select, Project, Join, Division 일반 집합 연산자 : UNION(합집합), INTERSECTION(교집합), DIFFERENCE(차집합), CARTESIAN PRODUCT(교차곱) 순수 관계 연산자 순수 관계 연산자란 관계 데이터베이스에 적용할 수 있도록 특별히 개발한 관계 연산자입니다. Select 릴레이션에 존재하는 튜플 중 선택 조건을 만족하는 튜플의 부분..
제약 조건이란 데이터베이스에 저장되는 데이터의 정확성을 보장하기 위해 키를 이용하여 입력되는 데이터에 제한을 주는 것으로 개체 무결성 제약, 참조 무결성 제약 등이 해당됨 키(Key)의 개념 및 종류 키는 데이터베이스에서 조건에 만족하는 튜플을 찾거나 순서대로 정렬할 때 튜플들을 서로 구분할 수 있는 기준이 되는 애트리뷰트를 말합니다. 후보키(Candidate Key) 후보키는 릴레이션을 구성하는 속성들 중에서 튜플을 유일하게 식별하기 위해 사용하는 속성들의 부분집합, 즉 기본키로 사용할 수 있는 속성들입니다. 하나의 릴레이션내에서는 중복된 튜플들이 있을 수 없으므로 모든 릴레이션에는 반드시 하나 이상의 후보키가 존재 후보키는 릴레이션에 있는 모든 튜플에 대해서 유일성과 최소성을 만족시켜야합니다. 유일성..
관계형 데이터베이스의 개요 1970년 IBM에 근무하던 코드에 의해 처음 제안되었습니다. 관계형 데이터베이스를 구성하는 개체(Entity)나 관계를 모두 릴레이션(Relation)이라는 표(Table)로 표현한다. 릴레이션은 개체를 표현하는 개체 릴레이션, 관계를 나타내는 관계 릴레이션으로 구분가능 장점 : 간결하고 보기편하고, 다른 데이터베이스로의 변환이 용이함 단점 : 성능이 다소 떨어집니다. 관계형 데이터베이스의 Relation 구조 릴레이션은 데이터들을 표(Table)의 형태로 표현한 것으로 구조를 나타내는 릴레이션 스키마와 실제 값들인 릴레이션 인스턴스로 구성됩니다. 튜플(Tuple) 튜플은 릴레이션을 구성하는 각각의 행을 말함 튜플은 속성의 모임으로 구성 파일 구조에서 레코드와 같은 의미 튜플..
데이터베이스 설계의 개념 및 고려 사항 데이터베이스 설계란 사용자의 요구를 분석하여 그것들을 컴퓨터에 저장할 수 있는 데이터베이스의 구조에 맞게 변형한 후 특정 DBMS로 데이터베이스를 구현하여 일반 사용자들이 사용하게 하는 것입니다. 데이터베이스 설계 시 고려사항 무결성 : 삽입, 삭제, 갱신 등의 연산 후에도 데이터베이스에 저장된 데이터가 정해진 제약 조건을 항상 만족해야함 일관성 : 데이터베이스에 저장된 데이터들 사이나, 특정 질의에 대한 응답이 처음부터 끝까지 변함없이 일정해야함 회복(Recovery) : 시스템에 장애가 발생할 경우 장애 발생 직전의 상태로 복구할 수 있어야 함 보안 : 불법적인 데이터의 노출 또는 변경이나 손실로부터 보호할 수 있어야 함 효율성 : 응답시간의 단축, 시스템의 생..
망형 데이터 모델(Network Data Model)의 개요 CODASYL이 제안한 것으로 CODASYL DBTG 모델 이라고도 합니다. 그래프를 이용해서 데이터 논리 구조를 표현한 데이터 모델입니다. 상위(Owner)와 하위(Member) 레코드 사이에서 다 대 다(N:M) 대응 관계를 만족하는 구조입니다. 레코트 타입 간의 관계는 1:1, 1:N, N:M 이 될 수 있습니다. 대표적인 DBMS는 DBTG, EDBS, TOTAL이 있습니다. 망형 데이터 모델의 표현 Entity군 Entity SET : 주종 관계의 Entity군들의 그룹 SET Membership Type : 일 대 다 관계에 연관된 레코드 오너(Owner) : 트리 구조에서의 Parent와 같은 개념입니다. 멤버(Member) : 트..
계층형 데이터 모델은 트리 구조를 이용해서 데이터의 상호관계를 계층적으로 정의한 구조입니다. 계층형 데이터 모델(Hierarchical Data Model)의 구성 형태 계층형 모델은 데이터의 논리적 구조도가 트리 형태이며, 개체가 Tree를 구성하는 노드 역할을 합니다. 개체 집합에 대한 속성 관계를 표시하기 위하여 개체를 노드로 표현하고 개체 집합들 사이의 관계를 링크로 연결함 개체 간의 관계를 부모와 자식 간의 관계로 표현합니다 계층형 DB를 구성하는 관계의 유형은 2가지가 있습니다. 속성 관계(Attribute Relation) : 세그먼트(개체)를 구성하는 속성들의 관계 개체 관계(Entity Relation) : 개체와 개체 간의 관계를 링크로 표시합니다. 계층형 데이터 모델의 특징 개체 타입..
관계형 데이터 모델(Relational Data Model)의 개념 가장 널리 사용되는 데이터 모델로, 계층 모델과 망 모델의 복잡한 구조를 단순화 시킨 모델 2차원적인 표(Table)를 이용해 데이터 상호 관계를 정의하는 DB구조를 말하는데, 파일 구조 처럼 구성한 테이블들을 하나의 DB로 묶어서 테이블 내에 있는 속성들 간의 관계를 설정하거나 테이블 간의 관계를 설정하여 이용함 기본키(Primary Key)와 이를 참조하는 외래키(Foreign Key)로 데이터 간의 관계를 표현함. 대표적인 언어는 SQL입니다. 1:1, 1:N, M:N 관계를 자유롭게 표현이 가능함 E-R 모델을 관계 모델의 테이블로 변환 다음은 개체 A, B와 관계 Y로 이루어진 E-R 모델을 관계 테이블로 변환을 하는 방법입니다..
개체-관계(Entity-Relationship) 모델의 개요 E-R 모델은 개념적 데이터 모델의 가장 대표적인 것으로, 1976년 피터 첸에 의해 제안됨 개체와 개체 간의 관계를 기본 요소로 이용하여 현실 세계의 무질서한 데이터를 개념적 논리 데이터로 표현하기 위한 방법으로 많이 사용됨 개체 타입과 이들 간의 관계 타입을 이용해 현실 세계를 개념적으로 표현 데이터를 개체, 관계, 속성 으로 묘사함 특정 DBMS를 고려한 것은 아닙니다. 다이어그램으로 표현하며 관계유형을 제한없이 나타낼 수 있습니다. 나중엔 일반화 계층 같은 복잡한 개념들이 첨가되어 확장된 모델로 발전함. E-R 다이어그램 E-R 모델의 기본 아이디어를 시각적으로 표현하기 위한 그림으로서, 실체 간의 관계는 물론 조직, 사용자, 프로그램,..