서브쿼리 SQL문 안에 포함된 SQL문 ex) 신장이 가장 큰 선수의 정보 조회 SELECT PLAYER_NAME, POSITION, HEIGHT FROM PLAYER WHERE HEIGHT = (SELECT MAX(HEIGHT) FROM PLAYER); 기준 > 결과 칼럼 / 행의 수 단일행 서브쿼리 / 다중행 서브쿼리 단일칼럼 서브쿼리 / 다중칼럼 서브쿼리 단일행 서브쿼리 서브쿼리의 결과 건수가 반드시 1건 이하이다. 단일행 비교 연산자(=, =, ) 와 함께 사용한다. 결과가 2건 이상이면 오류 발생한다. ex) '2007182'번 선수와 같은 팀에 속하는 선수의 이름, 포지션, 팀ID 출력 SELECT PLAYER_NAME, POSITION, TEAM_ID FROM PLAYER WHERE TEAM..
정규화와 JOIN 정규화 이상현상 발생을 피하기 위해 테이블을 분할 학계 / 실무에서 주로 3차 정규형을 사용한다. JOIN 데이터의 통합 조회를 위해 여러 테이블들을 연결한다. 실제 JOIN 연산은 두 개의 테이블에 대해서만 적용된다. 일반적인 경우 PK / FK의 연관에 의해 JOIN이 성립한다. 우선 EMP 테이블 (직원) DEPT 테이블 (부서) SALGRADE 테이블 (급여 등급) 이 세 가지 테이블을 이용해 실습하자 JOIN의 유형 1) 동등 조인 / 비동등 조인 2) 내부 조인 / 외부 조인 / 크로스 조인 / 셀프 조인 3) 암시적 조인 / 명시적 조인 1) 동등 조인 / 비동등 조인 동등 조인 조인 조건으로 Equal 연산 사용한다. 중복 칼럼의 경우, 칼럼명 앞에 테이블을 붙여야 한다...
객체지향 분석 객체지향 특정 기능을 수행하기 위한 데이터와 데이터를 사용하는 연산을 하나로 묶어 객체로 표현하는 접근 방법 클래스와 오브젝트 클래스는 실세계의 사물을 정의하기 위한 틀을 제공한다. 클래스로부터 생성되는 인스턴스가 객체(오브젝트)이다. 객체는 클래스 하나에서 여러 개가 생성될 수 있으며, 실제 연산에 사용된다. 캡슐화와 정보 은닉 클래스는 속성과 연산으로 정의,포장된다. 이렇게 포장하는 것을 캡슐화라고 한다. 캡슐화로 인해 클래스의 속성과 연산이 감춰진다. 필요한 최소한의 정보만 외부에 공개된다. 상속 구체 클래스들의 공동 속성과 공통 연산을 뽑아내어 추상 클래스로 선언한다. 추상 클래스에 정의된 속성은 구체 클래스에서 정의하지 않고 추상 클래스로부터 상속받는다. 다형성 클래스에 정의된 요..
UTP 케이블링 방법 UTP케이블은 케이블링 방법에 따라 다이렉트 케이블과 크로스 케이블이 있다. 다이렉트 케이블이란 양 케이블 끝을 그대로 연결한 것으로 허브에서 PC로 연결될 때 쓰여진다. 반대로 크로스 케이블은 허브에서 허브, PC에서 PC로 연결될 때 쓰여진다. 오류 오류 검출 패리티 검사, 블록 함 검사, 순환 중복 검사, 체크섬 등 - 패리티 검사 : 한 블록의 데이터 끝에 한 비트를 추가한다. - 블록 합 검사 : 이차원 패리티 검사이다. 가로와 세로로 두 번 관찰한다. - 순환 중복 검사 : 이진 나눗셈을 기반으로 전체 블록을 검사한다. - 체크섬 : 전송 데이터 맨 마지막에 앞서 모든 데이터를 다 합한 합계를 보수화하여 전송한다. 오류 복구 > 자동반복요청(ARQ) 순환 중복 검사, 패리..
#6 소프트웨어 비용 산정 기능점수 코드의 라인 수 기반 비용 산정의 문제점을 완화하기 위한 기능 중심의 비용 산정 기법이다. 소프트웨어에 있는 기능의 양과 복잡한 정도를 기준으로 규모를 산정한다. 기능 점수 산정의 구성 요소 데이터 기능 = 내부 논리 파일 + 외부 인터페이스 파일 처리 기능 = 외부 입력 + 외부 출력 + 외부 질의 기능 점수 산정 : 각 기능의 양을 count한 후 각 기능을 정의한 복잡도의 가중치를 곱한다. 기능 점수 산정 절차 단계1 : 기능 점수 산정 유형 결정 // 개발 프로젝트, 개선 프로젝트, 유지보수 프로젝트 단계2 : 범위 및 경계 선정 // 산출 범위, 획득 방법, 대상 시스템 세부 내용 정의 단계3 : 데이터 기능 산출 및 복잡도 식별 // 내부 논리 파일과 외부 ..
유선 매체와 무선 매체 유선 매체 > 트위스티드 케이블 두 개 이상의 꼬아진 구리도선으로 구성되고 색깔 있는 플라스틱으로 피복된다. 디지털과 아날로그 전송에 사용될 수 있으며 전화선과 건물내 통신회선에 널리 사용된다. (전선을 꼬는 이유 : 외부의 전기적 잡음으로부터 케이블이 영향을 덜 받게 하기 위해) 트위스티드 케이블의 종류로 UTP 케이블과 STP 케이블이 있다. >> UTP 케이블 네 쌍 이상의 꼬인 선을 금속 박막에 의한 차단 없이 최종 외부 피복으로 감싼 구조 유연하고 설치가 쉽다. 가격이 싸고 사용하기 쉽다. >> STP 케이블 UTP 케이블의 외부 피복 내에 각 쌍들마다 얇은 금속 박막으로 감싼 구조이다. UTP에 비해 비싸다. 금속 박막에 의해 외부로부터의 간섭을 거의 받지 않는다. >>..
트랜잭션 : 데이터베이스의 논리적 연산 단위 - 의미적으로 분할할 수 없는 최소 단위 - 일반적으로 하나의 트랜잭션은 여러 SQL 문장을 포함한다. - 성공시 모든 연산을 반영, 취소시 모든 연산을 취소한다. 트랜잭션 예시) 도서 주문 (재고 수량 감소, 주문 내역 생성, 결제 등) 계좌 이체 (원 계좌의 잔액 감소, 다른 계좌의 잔액 증가 등) 교통카드 충전 (잔액 증가, 결제 등) 트랜잭션의 특성 (ACID : Atomicity, Consistency, Isolation, Durability) // 원일고지 원자성 : 트랜잭션에서 정의된 연산들은 모두 성공적으로 실행되던지 아니면 전혀 실행되지 않은 상태로 남아 있어야 한다. 일관성 : 트랜잭션 실행 전의 데이터베이스 내용이 잘못되어 있지 않다면 트랜..
다중 행 함수 (Multi-row Function) : 여러 행의 그룹에 대해 적용되는 함수 다중 행 함수의 종류 > 그룹 함수 - 집계 함수 : COUNT, SUM, AVG, MAX / MIN 등 - 고급 집계 함수 (행별 소계 냄) : ROLLUP, CUBE, GROUPING SETS > 윈도우 함수 집계 함수 집계 함수 - 여러 행의 그룹에 대한 연산을 통해 하나의 결과를 반환 - SELECT, HAVING, ORDER BY 절에 사용 - GROUP BY 절을 통해 그룹핑 기준 명시 - NULL을 제외하고 계산 집계함수 사용 예시 SELECT COUNT(*) AS CNT FROM PLAYER; -- 481 : NULL 제외 전체 행의 수 출력 -- 111 : 컬럼 조건 걸어주고 THEN 사용해 일치..