
ISO 26262
INDEX
1.ISO 26262 서론
1-1.ISO 26262의 정의
1-2.ISO 26262의 목표
2.ISO 26262의 구성
3.자동차 안전 무결성 레벨 ASIL(Automotive Safety Integrity Level)
3-1.ASIL
3-2.안전 분석
4. 하드웨어 컴포넌트의 조건
5. 소프트웨어 컴포넌트의 조건
6. 테스트 툴 조건
6-1.Tool Confidence Level(TCL)
6-2.툴 조건 프로세스
6-2.1)소프트웨어 툴 검증계획(STQP, Software Tool Qualification Plan)
6-2.2)소프트웨어 툴 문서
6-2.3)소프트웨어 툴 등급 분석(STCA, Software Tool Classification Analysis)
6-2.4)소프트웨어 툴 검증 보고서
1.ISO 26262 서론
1-1.ISO 26262의 정의
ISO 26262는 총 중량이 3.5 톤 이하인 승용차에 설치된 소프트웨어와 하드웨어를 포함하며, 모든 전기/전자(E/E, Electric & Electronic) 안전관련 시스템에 적용되는 IEC 61508를 자동차 전기/전자 시스템에 적응시킨 것으로써 전기·전자 시스템의 오류로 인한 사고방지를 위해 (ISO)에서 제정한 자동차 기능안전성 국제 표준이다.
1-2.ISO 26262의 목표
⓵자동차 안전 수명주기 (관리, 개발, 생산, 운영, 서비스, 폐기 )를 제공하고 수명주기 단계에서 필요한 활동을 지원
⓶요구 사항 명세, 설계, 구현, 통합, 검증, 검증 및 구성과 같은 활동을 포함하여 전체 개발 프로세스의 기능적 안전 측면을 고려
⓷위험 등급 ( 자동차 안전 무결성 레벨 , ASIL)을 결정하기 위한 자동차 별 위험 기반 접근 방식을 제공
⓸잔여 위험을 수용하기 위해 필요한 안전 요구 사항을 지정하기 위해 ASIL을 사용
⓹충분하고 허용 가능한 수준의 안전성을 확보하기 위한 유효성 확인 및 확인 조치에 대한 요구 사항을 제공
2.ISO 26262의 구성
ISO 26262는 9 개의 규범적인 부분과 10 번째 부분 인 ISO 26262의 지침으로 구성된다.
ISO 26262의 구성요소 | 규정 |
1.어휘 | ISO 26262의 모든 부분에 적용되는 용어, 정의 및 약어를 기술
⓵요소: 구성 요소, 하드웨어, 소프트웨어, 하드웨어 부품 및 소프트웨어 장치를 포함하는 시스템 또는 시스템의 일부 등 효과적으로 시스템에서 식별되고 조작 될 수 있는 모든 것을 지칭
⓶결점: 요소 나 항목 이 실패 할 수 있는 비정상적인 조건
⓷오류: 계산 된 값, 관측 된 값 또는 측정 된 값 또는 상태와 실제 값, 명시된 값 또는 이론적으로 올바른 값 또는 조건 간의 불일치를 의미
⓸실패: 필요에 따라 기능을 수행하는 요소 의 기능 종료.
⓹작동 불량: 설계 의도와 관련하여 항목 의 실패 또는 의도하지 않은 동작.
⓺위험: 품목의 오동작으로 인한 잠재적 피해 |
2.기능 안전 관리 | 개별 자동차 제품의 개발 및 생산을 위한 안전 수명주기 표준뿐만 아니라 전반적인 조직 안전 관리 표준을 정의
⓵위험한 사건 적시의 운전자 행동에 의해 통제되지 않으면 사고로 이어질 가능성이 있는 차량의 위험 상태 와 운전 상태의 적절한 조합을 의미
⓶안전 목표 하나 이상의 위험한 사건 의 위험을 허용 수준까지 줄이기 위한 목적으로 시스템에 할당 된 최상위 수준의 안전 요구 사항
⓷자동차 안전 무결성 레벨 ASIL 안전 목표의 자동차 별 위험 기반 분류는 물론 표준 달성에 필요한 검증 및 확인 조치를 나타냄
⓸안전 요구 사항 모든 안전 목표와 안전 목표에서 하드웨어 및 소프트웨어 구성 요소에 할당 된 최저 수준의 기능 및 기술 안전 요구 사항을 포함한 모든 수준의 요구 사항이 포함
⓹안전 수명주기 ISO 26262 안전 수명주기 내의 프로세스는 위험 (안전 위험)을 식별 및 평가하고, 그러한 위험을 허용 가능한 수준으로 줄이기 위한 특정 안전 요구 사항을 수립 |
3.개념 단계 | 항목 정의, 안전 수명주기의 시작, 위험 분석 및 위험 평가, 기능적 안전 개념을 규정 |
4.시스템 수준에서의 제품 개발 | 시스템 수준에서 제품 개발을 시작하기 위한 요구 사항으로써 기술적 안전 요구 사항의 명세, 기술 안전 개념, 시스템 디자인, 항목 통합 및 테스트, 안전성 검증, 기능적 안전성 평가, 제품 출시를 규정 |
5.H/W 수준의 제품 개발 | 하드웨어 수준에서 제품 개발을 시작하기 위한 요구 사항으로써 하드웨어 안전 요구 사항의 명세, 하드웨어 설계, 하드웨어 아키텍처 측정 항목 및 무작위 하드웨어 고장 및 하드웨어 통합 및 테스트로 인한 안전 목표 위반 평가를 규정 |
6.S/W 수준의 제품 개발 | 소프트웨어 수준에서 제품 개발을 시작하기 위한 요구 사항으로써 소프트웨어 안전 요구 사항의 명세, 소프트웨어 아키텍처 설계, 소프트웨어 유닛 설계 및 구현, 소프트웨어 유닛 테스트, 소프트웨어 통합 및 테스트, 소프트웨어 안전 요구 사항 검증을 규정 |
7.생산 및 운영 | 생산, 운영, 서비스 및 폐기에 대한 요구 사항을 규정 |
8.지원 프로세스 | 분산 개발 환경 내의 인터페이스, 안전 요구 사항의 전반적인 관리, 구성 관리, 변경 관리, 확인, 선적 서류 비치, 소프트웨어 도구 사용에 대한 자신감, 소프트웨어 구성 요소의 자격, 하드웨어 구성 요소의 자격 ,입증 된 사용 인수를 규정 |
9.자동차 안전 무결성 레벨 (ASIL) | ASIL 테일러링과 관련된 요구 사항 분해, 요소의 공존 기준, 종속적 인 실패에 대한 분석, 안전 분석을 규정 |
10.ISO 26262 가이드 라인 | ISO 26262의 개요를 제공하고 추가 설명을 제공하며 ISO 26262의 다른 부분에 대한 이해를 높이기 위해 규정 |
3.자동차 안전 무결성 레벨 ASIL(Automotive Safety Integrity Level)
3-1.ASIL
ASIL이란 자동차 시스템 요소에서 고유한 안전 위험을 추상 분류하는 것을 의미하며 특정 위험을 예방하는 데 필요한 위험 감소 수준을 표현하기 위해 사용된다. ASIL의 평가에서 위험은 시스템과 관련된 위험 영향의 상대적인 영향에 근거하여 평가되고, 이러한 영향을 나타내는 위험의 상대 가능성을 고려하여 조정된다. 구체적으로는 위험의 노출,제어 가능성,심각도에 따른 함수라고 볼 수 있다.(즉, ASIL => = f(E, C, S) )
⓵노출 등급 분류: 노출은 분석 대상 고장 모드와 동시에 발생할 경우 위험할 수 있는 작동 상황이 되는 상태로 분류된다. 즉, 상해가 발생할 수 있는 작동 조건의 상대 예상 빈도를 뜻한다.
⓶심각도 등급 분류: 심각도는 위험할 수 있는 상황에서 한 명 이상의 사람에게 발생할 수 있는 위해 범위의 예상치를 뜻한다.
⓷제어 가능성 등급 분류: 제어 가능성이란 관련 당사자가 시기적절한 대응을 통해 지정된 위해 또는 피해를 방지할 수 있는 역량을 뜻한다. 이는 곧,운전자가 부상을 방지하기 위해 행동 할 수있는 상대적인 가능성을 뜻한다.
ASIL는 ASIL A ,ASIL B ,ASIL C ,ASIL D의 범주로 나누어지고 ASIL D가 가장 높은 단계이며 ASIL A가 가장 낮은 단계이다. ASIL A 아래의 ASIL 수준은 최저 수준 인 QM 이라고 하며 QM은 안전 관련성이 없고 표준 품질 관리 프로세스 만 필요하다는 표준의 고려 사항을 나타낸다.
ASIL 범주의 예시1
ASIL 범주의 예시2
이러한 평가(ASIL A ,ASIL B ,ASIL C ,ASIL D)는 다음과 같은 의미를 가진다.
⓵ASIL 수준에 따른 고장 상황에서도 설계자 및 시스템 엔지니어가 실현해야 할 안전 요구 사항을 정의
⓶ASIL 수준은 특정 모듈에 결부되는 것이 아니라 특정 기능에 결부
⓷ASIL 수준은 감지 가능성 향상 및 대응 조치 실행과 같이 동일한 기능을 수행하는 두 가지 개별적인 요소의 분리를 통해 낮출 수 있음
⓸구현된 방식 그대로 안전 핵심 기능의 추적 가능성을 입증할 수 있으려면 설계 사이클의 각 단계에서 적절한 증거를 유지해야함
3-2.안전 분석
안전 분석의 목표는 다음과 같다,
⓵품목의 기능, 작동 상태, 설계를 고려하여 고장 및 장애의 결과를 검사
⓶안전 목표 또는 요구사항 위반으로 이어질 수 있는 상황과 원인에 대한 정보도 제공
⓷위해성 분석 및 위험 평가 도중 발견되지 않은 새로운 위험에 대해 알림
4. 하드웨어 컴포넌트의 조건
하드웨어 컴포넌트의 검증는 부품이 전체 시스템과 잘 맞는지 확인하는 것과 실패 모드를 평가하기 위해서 필요하다. 하드웨어 컴포넌트는 다양한 환경 및 운영 조건에서 부품들을 테스트하여 등급을 부여 받으며 그 결과를 그 다양한 수치적 방식으로 분석되고 테스트 절차, 가정 및 입력 기준과 함께 조건 보고서로 표현된다.
5. 소프트웨어 컴포넌트의 조건
소프트웨어 컴포넌트의 검증에는 기능 요구사항 정의, 리소스 사용률, 실패 및 오버로드 상황에 따른 소프트웨어 작동 예측 활동 등이 있다. 검증된 소프트웨어는 재사용될 수 있으며 이러한 소프트웨어에는 라이브러리, 운영체제, 데이터베이스 및 드라이브 소프트웨어가 이에 해당된다.
6. 테스트 툴 조건
여러 가지 환경상황에 따른 오류를 발견하기 위해 테스트가 필요하며 이는 비용절감 및 문제 발생률를 낮추고 품질과 안정성을 높인다. 이러한 테스트를 위한 테스트 툴 검증에는 Tool Confidence Level을 정의하는 것이 중요하다.
6-1.Tool Confidence Level(TCL)
소프트웨어 툴에 필요한 조건의 등급 수준을 결정되며 다음과 같은 분야가 평가된다.
⓵소프트웨어 툴의 오작동 및 잘못된 출력 가능성은 안전 관련 구성요소에 할당된 안전 요구사항 위반으로 이어짐
⓶출력에서 이 같은 에러를 예방하거나 감지할 가능성
Tool Confidence Level은 TCL1, TCL2, TCL3 또는 TCL4로 구성되며, 전자가 가장 낮은 단계고 후자가 가장 높은 단계이다.
6-2.툴 조건 프로세스
ISO 26262는 툴 검증 작업이 필요하며 다음과 같이 구성된다.
6-2.1)소프트웨어 툴 검증계획(STQP, Software Tool Qualification Plan)
안전 관련 항목의 개발 생명주기의 초기에 생성되며 소프트웨어 툴 조건에 대한 계획 수립과 요구되는 레벨로 툴이 분류되는 것을 도식화한 사용 사례 리스트이다.
6-2.2)소프트웨어 툴 문서
소프트웨어 툴의 적절한 사용을 보장하기 위해서는 여러 부분의 정보가 반드시 제공되며 그 구성은 기능,설치과정,사용자 매뉴얼,동작 환경,비정상적인 상태에서의 예상 동작이다.
6-2.3)소프트웨어 툴 등급 분석(STCA, Software Tool Classification Analysis)
툴의 신뢰성 등급을 결정,TCL는 Tool Impact (TI)과 Tool Error Detection (TD)으로 결정을 되며 요구되는 신뢰 레벨에 따라 TCL1부터 TCL4까지의 값이 주어진다.(다양한 사용 사례가 있을시 가장 높은 TCL가 적용)
6-2.4)소프트웨어 툴 검증 보고서
툴 검증이 완료되었고, 모든 요구조건이 충족되었다는 결과와 관련 증거가 포함되며 검증 동안의 발생하는 모든 오작동이나 잘못된 출력들은 이곳에 분석되고 문서화되어야 한다.
'자동차' 카테고리의 다른 글
배기가스 법규(Emission regulation) (0) | 2018.06.07 |
---|---|
조향 장치 (0) | 2018.05.10 |
사용연료에 따른 엔진 분류 및 분석 (0) | 2018.05.10 |
자동차 시스템의 발전방향 (0) | 2018.05.10 |

배기가스 법규
INDEX
1.배기가스 규제의 배경
2.각 국의 배기가스 진단 법규
2-1.Japan
2-2.Europe
2-2.1)ECE
2-2.2)EURO
2-3.US
2-3.1)EPA(Environmental Protection Agency, 미국환경청)
2-3.2)CARB(California Air Resources Board)
1.배기가스 규제의 배경
배기가스 규제의 배경이 되는 국제 환경 협약으로는 오존층 보호를 위한 국제환경협약인 ‘몬트리올 의정서’, 유해폐기물의 국가 간 이동 및 처리에 관한 국제협약인 ‘바젤협약’,지구의 온난화를 규제·방지하기 위한 국제협약인 ‘기후변화협약(리우환경협약)’이 있다. 이러한 환경 협약을 배경으로한 세계적인 배기가스 진단 법규는 아래와 같이 정리된다.
2.각 국의 배기가스 진단 법규
2-1.Japan
일본의 배기가스 규제 방식은 배기가스의 테스트를 통한 수치 값을 규제하며 일본에서의 배기가스 테스트는 10/15모드와 11모드가 있다.
⓵11모드:Cold test로써 냉시동 후, 5초 동안 공운전한 다음, 테스트 사이클을 4회 반복하며, 4회 모두 배기가스를 측정한다. 최고속도 60km/h, 평균속도 30.6km/h의 값을 가진다.
⓶10/15모드:Hot test로써 60km/h 속도로 15분간 운전하여 기관이 정상 작동 온도에 도달하게 한 후, 공전상태에서 배기가스를 측정한다. 이후 다시 15분간 시속60의 속도로 정속 운전한 다음, 10모드 3회+15모드 1회를 연속적으로 운전하여 배기가스를 측정한다. 최고속도 70km/h, 평균속도 22.7km/h의 값을 가지며 소요시간은 660초이다.
10/15모드 11모드
그러나 미쓰비시 자동차의 연비조작과 관련하여 측정된 배기가스가 실제와 차이가 크다는 비판을 받아 실제 주행여건을 고려하여 보다 현실적인 연비측정이 가능하도록 10/15모드에서 JC08 사이클로 대체되었다. (기존의 방법은 가속이 너무 완만하거나 측정 속도가 일반 도로 보다 느려, 기대 수치와 실주행간의 차이가 존재했다.) JC08의 특징으로는 증가된 측정시간(측정에 필요한 평균속도와 최고속도를 높임)과 콜드 스타트(엔진시동 직후의 엔진상태)시의 측정이 추가된 점이다. 기존의 방식(10/15모드)은 엔진이 정상온도에 도달한 핫 스타트 상태였다. JC08모드의 산출은 평지 직진도로에서 에어컨을 시동하지 않은 채 달리는 상황을 가정하므로 실제 연비와 표시연비의 차이가 존재한다.(다만, 10/15모드보다는 그 차이가 적다.) 이렇게 측정된 연비는 카탈로그에서 표시되며 목표연비 대비 제로에 따라 향상된 비율을 반영하여 라벨에 부착한다.
2-2.Europe
유럽의 배기가스 법규는 ECE-15모드와 EUDC-모드를 기준으로 배기가스를 측정하고 ECE 또는 EURO에 따라 규정을 정한다. ECE(=ECE/EC-모드)란 Economic Commission of Europe로써 유럽 공동체를 뜻하며 ECE가 정한 배기가스 시험법이 ECE측정이다. 이는 곧 Urban Driving Cycle(도시운전 사이클)를 뜻한다. 도시에서의 운전 특징(저속, 낮은 엔진 부하 및 배기가스 온도)을 가진다. 이와는 대조되는 EUDC는 Extra Urban Driving Cycle(시외 주행 사이클)를 뜻한다.
1(city):ECE/EC 테스트 모드는 최고속도 50km/h, 평균속도 18.7km/h, 공운전비율 31%
2(EUDC):새 ECE/EC 테스트 모드는 최고속도 120 km/h, 평균속도 35.2km/h
2002년 1월 1일부터 새롭게 도입되었다.(콜드 스타트 테스트의 정의는 일본 JC08에서 언급), 도시 부분에서만 측정 | |
⓵Directive 1999 / 102 / EC -OBD 요구 사항과 관련한 기술적 적응
⓶Directive 2001 / 1 / EC - 가스 연료 (LPG or NG)를 사용하는 차량에 OBD를 적용
⓷지침 2001 / 100 / EC - 카테고리 N1 차량, 클래스 II 및 III의 cold start 배출 제한치 규정
Euro 1 & Euro 2:승용차와 대형 승용차 및 경량 트럭 적용
유로1:승용차에만 적용 Directive 91 / 441 / EEC 적용
승용차와 경트럭을 모두 포함-Directive 93 / 59 / EEC 적용
유로2: Directives 94 / 12 / EC 또는 96 / 69 / EC 적용
Euro 3 & Euro 4:승용차 및 경량 트럭의 배기 및 증발 가스 배출량 시험 개정
유로3,4:Directive 98 / 69 / EC와 Directive 2002 / 80 / EC 적용
Euro5 & Euro6:차량을 M,N,O로 분류하여 규제를 실시했으며 기준은 다음과 같다.
유로 6은 유로 엔진 5b와 동일한 PN(입자상 물질-개수기준) 한계를 요구하였고 또한 디젤 차량에 대한 동일한 PN 배출 제한이 가솔린 차량에도 적용되었다.
유로 5와 유로 6의 규제를 충족시키기 위해 디젤 연료 차량에 디젤 미립자 필터 (DPF) 기술이 적용되었다.
미국 로스앤젤레스(Los-Angeles)시의 아침 출근길, 혼잡한 교통상태에서 실제로 측정한 주행곡선으로써 과도기간(transientphase:0~505초)과 안정기간(stabilizedphase:506~1372초)으로 구성된다.(평균속도 31.67km/h, 최고속도 91.20km/h, 공운전 비율 17.9%)
⓶FTP 75 Test Mode (승용차 및 소형 화물 자동차)
FTP 75 테스트 모드는 한 사이클을 운전한 다음에 짧은 휴식시간(10분)동안 기관을 정지시켰다가 다시 가동시키며 과도기간 사이의 주행곡선에 따라 기관을 다시 운전하는 방법이다.
⓷SFTP(SupplementalFederalTestProcedure) → CO 규제
실제 운전상태와 측정된 수치의 차이점을 보완하기 위한 방법으로 차대동력계를 2-roll 형식에서 48인치 single-roll 형식으로 바꾸고, FTP-75모드 외에 새로이 2개의 single-bag 운전모드를 추가한 보완된 FTP-모드를 도입하였다.(*SFTP 모드에서는 CO 규제값만 적용)
※US06 운전 모드(US06 driving schedule):고속, 급 가/감속 운전모드로서, 기관이 충분히 가열된 상태에서 에어컨을 작동하지 않고 10분간 운전한다.
※SC03 운전 모드(SC03 driving schedule):자동차의 발진 직후의 전형적인 운전상태(예:기어 변속)를 나타내는 운전모드로서 표준시험모드에 에어컨 부하가 적용된다.
2-3.1)EPA(Environmental Protection Agency, 미국환경청)
EPA는 Tier라는 이름의 규정을 통해 배기가스 배출을 규제한다.
'자동차' 카테고리의 다른 글
ISO 26262(자동차 기능 안전성) (0) | 2018.06.07 |
---|---|
조향 장치 (0) | 2018.05.10 |
사용연료에 따른 엔진 분류 및 분석 (0) | 2018.05.10 |
자동차 시스템의 발전방향 (0) | 2018.05.10 |

★특정 대상만 공부한다는 생각을 버릴것
파트1.알고리즘
단순 합/사이 정수합/가장 큰 또는 작은값/팩토리얼/반복구문 함수호출/재귀 함수호출
유클리드 호제법에 의한 최대공약수+결과추론[누산]
알고리즘의 이해,처리조건&표기형태와 변수 적용,대칭구조,변수를 쓴 이유추론
선택정렬:1번자리 리더/버블정렬:인접돌리기/삽입정렬:인접돌리기+Back/병합:일반
퀵정렬:?/이분검색
반드시 디버깅(>,<,==,>=,<=)
챕터7.알고리즘과 소프트웨어 개발
1.소프트웨어 생명주기
타당성 검토-계획 수립-요구수항 분석-SW 설계-SW구현-테스트-운용-유지보수
2.소프트웨어 관리
요구관리:고객의 요구를 정확하게 추출하고 이를 문서화하며 고객과 개발자가 상호 동의하는 과정에 대한 관리
형상관리:소프트웨어를 개발하는 전체 과정에서나 유지보수 과정 중에서 발생하는
각종 산출물들을 중심으로 시간 흐름에 따라 시스템 형상을 만들어 가면서
소프트웨어 버전을 체계적으로 관리
유지관리:소프트웨어가 개발되어 고객이 사용하는 과정 중에서 변경 사항이 발생할 경우
이를 수용하여 소프트웨어를 수정함으로써 고객이 소프트웨어를
지속적으로 잘 사용하도록 하는 소프트웨어 관리
품질관리:개발된 소프트웨어가 원래의 개발 목적에 부합하며 요구를 만족하는지 검증
3.소프트웨어 품질관리
기능성:요구기능 제공하는가?
사용성:인터페이스/사용하기에 어렵지 않는가?
신뢰성:크고 작은 오류가 발생하지 않는가?
유지보수성:업그레이드가 꾸준히 제공되는가?
이식성:시스템 환경르 바꾸어도 소프트웨어는 여전히 운용될 수 있는가?
효율성:반응시간/소비하는 컴퓨팅 자원이 효율적인가?
4.알고리즘의 효율성
공간 효율성:알고리즘을 실행하는 동안 알고리즘이 필요로 하는 메모리공간의 효율성
시간 효율성:알고리즘을 실행하여 종료하기까지 걸리는 시간의 효율성
실행 시간의 효율성[빅오 표기법]:어떤 알고리즘이 처리할 입력 값의 개수가 점차 커지면
커질수록 실행시간이 어떤 형태로 늘어나는지를 가지고 측정
ex)로그n n n*로그n n² 2ⁿ
5.소프트웨어 아키텍쳐:개발하려는 소프트웨어의 전체 골격에 대한 논리적 구조
6.MVC 구조(어플리케이션 개발 모델 유형1)
구현하려는 전체 어플리케이션을 Model,View,Control로 구분하여
사용자 인터페이스와 비즈니스 로직을 상호 분리하여 개발하는 구조
*인터페이스와 논리를 상호 독립적으로 구성요소를 변경할 수 있음
7.C/S 구조(어플리케이션 개발 모델 유형2)
서비스를 요구하는 클라이언트와 서비스를 제공하는 서버로 구성
8.다층 구조(어플리케이션 개발 모델 유형3)
클라이언트/서버 구조의 단점을 극복하기 위하여,클라이언트에 해당하는
최상위 계층과 서버에 해당하는 최하위 계층 사이에 비즈니스 로직을 전담하는
중간계층을 둠으로써 비즈니스 로직을 완전히 분리시켰다.
*중간계층은 데이터베이스 서버의 다단계 처리를 지원하거나,또 다른 어플리케이션 프로그램을 실행시켜주며,클라이언트의 다양한 요구에 대한 분산처리를 지원할 수 있다.
9.저장소 구조(어플리케이션 개발 모델 유형4)
소프트웨어 아키텍쳐가 다수의 서브 시스템들로 구성되어 있을떄,
특정한 서브시스템에 공유저장소를 두고 나머지 서브시스템들이
이곳을 통해 데이터를 공유하며 효율적으로 관리하고 서비스를 제공하는 구조
10.객체지향설계의 개념과 원리
객체-현실 세계에 독립적으로 존재하는 사물 또는 대상
속성-객체가 가지고 있는 특징이나 성질
클래스-같은 속성을 갖는 객체들의 집합
분류화-비슷한 객체들을 묶어내는 작업
캡슐화-정보은닉
추상화-객체가 어떤 기능을 수행할 것인지를 생각하여
중요하다고 판단하는 속성이나 연산만을 추출해내고 복잡한 내부는 감추는 작업
일반화-같은 속성을 가지고 있는 유사한 클래스들을 분류하여 새로운 클래스를 정의하는 작업
상위클래스&하위 클래스:일반화를 통하여 새로 생긴 클래스,일반화를 통하여 묶인 기존의 클래스들
상속:하위클래스들의 공통된 속성과 연산은 일반화를 통하여 상위클래스의 속성과 연산으로 표시
다형성:여러 클래스들이 공통으로 가지고 있는 동일한 이름의 연산이 각 클래스에 따라 다르게 동작
동적바인딩:실행시간에 하위클래스의 객체 타입에 따라서 하위 클래스의 적합한 동작이 자동으로정해짐
소프트웨어 디자인 패턴:소프트웨어를 설계할 때 특정상황에서
자주 사용하는 패턴 또는 반복되는 솔루션을 일정한 양식으로 형식화
리팩토링:소프트웨어의 수행 결과를 그대로 유지하면서도 소프트웨어를 구성하는
내부코드의 구조를 재조정하는 행위
11.SOLID 객체지향설계의 5대 원칙(로버트 마틴)
단일 책임 원식:하나의 클래스는 하나의 책임을 갖는다
개방 폐쇄 원칙:변경/소프트웨어의 각 요소는 확장에 열려있고 변경에는 닫혀 있어야 한다
리스코프 교환 법칙:상속은 다형성을 통하여 확정성을 극대화
인터페이스 분리 원칙:필요한 메스드만 인터페이스로 제공하고 사용하지 않는 메서드와는
연결 관계를 제공하지 말아야한다
의존관계 역전 원칙:구체적인 클래스에 의존하지 말고,추상화된 것에 의존하여 설계
12.소프트웨어 테스트기법
화이트박스 | 블랙박스 |
소스코드 기반 | 요구명세서 기반 |
단위 테스트 | 시스템 테스트 |
정적 분석과 동적 분석 | 요구사항 명세와 외부 인터페이스 |
구조적 기법과 루프테스트 | 동등 분할,경계 값 분석,경험기반오류예측, 원인과 결과 그래프 |
13.소프트웨어 검증과 확인
검증:개발 규격과 요구를 충족하는지를 입증
확인:사용자의 요구를 제대로 반영하였음을 입증
14.소프트웨어 3R
재공학:기존 소프트웨어의 데이터와 기능들을 변경하거나 계산하는 작업
역공학:현재 운영중인 소프트웨어를 분석하여 소프트웨어 생명 주기 앞 단계의 산출물을
최대한 추정하여 만들어내는 작업
재사용:소프트웨어 개발 지식을 표준화함으로써 이미 개발한 소프트웨어를
나중에 반복하여 다시 사용할 수 있도록 함
15.소프트웨어 개발 프로젝트 방법론
폭포수 방법론:처음부터 완벽하게 프로젝트 일정계획을 수립
애자일 방법론:고객중심으로 계획을 융통성 있게 변경
16.스크럼-소프트웨어 개발 프로젝트 방법론1
경험적 관리기법의 일종
제품 백로그,스크럼(개발팀),스프린트,스프린트 백로그,소멸 차트
17.XP-소프트웨어 개발 프로젝트 방법론2
최대한 단순하고 명확한 설계를 추구
객체.length
파트2.데이터베이스(페이지345)
챕터1.데이터베이스의 개요
섹션01.데이터베이스 개념
1.데이터베이스의 정의
특정 조직의 응용 시스템들이 공유하여 사용할 목적으로 통합,저장,관리,운영되는 데이터의 집합
Integrated Data:하나의 주제에 따라 중복을 최소화한 데이터의 집합
Stored Data:사용자나 응용 시스템이 필요시 언제든지 이용할 수 있도록 저장된 데이터의...
Shared Data:여러 사용자와 다수의 응용 시스템이 공유할 수 있도록 만든 데이터의 집합
Operational Data:중복을 최소화하고 여러 사람이 공유함에 있어 문제가 발생하지 않도록 관리를 필요로 하는 데이터로 이용가치가 있는 데이터의 집합
2.데이터베이스의 특징
계속적인 변화:항상 최신 정보를 유지할 수있도록 삽입,삭제,갱신
동시 공유:여러 사용자가 동시에 접근하여 이용
실시간 접근성:질의에 대한 실시간 처리 및 응답
내용에 의한 참조:데이터의 물리적 주소나 위치에 의하지않고 사용자가 요구하는 데이터 내용으로 검색
데이터 중복의 최소화:동일 데이터의 중복성을 최소화
3.데이터베이스의 구성요소
개체:사람이 생각하는 개념이나 정보 단위와 같은 현실 세계의 대상체
속성:데이터베이스를 구축하는 가장 작은 논리적 단위로 개체의 특성이나 혹은 상태 기술
관계:두 개 이상의 개체 사이 또는 속성 간의 상호 연관성
1:1 1:N N:M
*시스템 카탈로그
데이터베이스에 저장되어 있는테이블,인덱스,뷰,제약조건,사용자 등 개체들에 대한 정보와 정보들 간의 관계를 저장한 것
-데이터사전
-시스템 카탈로그에 저장된 데이터를 메타 데이터
섹션02.데이터베이스 관리 시스템
1.DBMS(DataBase Management System):사용자와 데이터베이스 간의 중계역할
2.DBMS의 구조
일반 사용자 응용프로그래머 데이터베이스 관리자
질의어 응용프로그램/DML 스키마/DDL
질의어처리기 DML 컴파일러 DDL컴파일러
트랜잭션 관리자 런타임 DB처리기
저장 데이터 관리자
데이터 사전 데이터베이스
3.DBMS의 필수 기능
정의 기능
저장될 데이터의 형태,구조 등 데이터베이스의 저장에 관한 여러 가지 사항을 정의하는 기능
조작 기능
데이터테이스의 자료를 사용자가 이용할 수 있도록 요구에 따라 검색,갱신,삽입,삭제등을 지원하는 기능
제어 기능
데이터의 정확성과 안정성 유지를 위한 관리 기능으로
데이터의 무결성 유지,보안,병행 수행 제어 등을 제공
*무결성:데이터베이스의 자료가 오류 없이 정확성과 안정성을 유지하기 위한 제약조건&성질
4.DBMS의 장점
데이터의 중복성과 종속성을 최소화/데이터의 일관성과 무결성 유지
많은 운영비,자료 처리 복잡
5.데이터베이스 언어
정의어 DDL:데이터베이스 구조를 정의,수정,삭제 등을 위해 사용되는 언어
CREATE,DROP,ALTER
조작어 DML:데이터베이스 내의 자료를 검색,삽입,갱신,삭제하기 위해 사용되는 언어
SELECT,INSERTMUPDATE,DELETE
제어어 DCL:데이터베이스의 데이터에 대해 무결성 유지,병행 수행 제어,보호와 관리를 위한..
COMMIT,ROLLBACK,GRANT,REVOKE
섹션03.데이터베이스 구조(스키마)
1.데이터베이스의 표현
논리적 구조:사용자 관점에서 본 구조를 나타내며 사용자가 이해하고 생각하는 것을 나타내는
물리적 구조:저장 장치 관점에서 본 구조를 나타내며 기계 처리에 맞는 형태
2.스키마:데이터베이스의 전체적인 구조와 제약조건에 대한 명세를 기술⦁정의한 것
내부 스키마:물리적 저장 장치 관점에서 본 데이터베이스의 물리적 구조
개념 스키마:논리적관점에서 본 전체적인 데이터 구조
외부 스키마:전체 데이터 중 사용자가 사용하는 한 부분에서 본 논리적 구조(=서브스키마)
3.데이터베이스 관리자
데이터베이스 시스템과 관련된 모든 자원에 대해 기획,통제를 하며,데이터베이스 언어를 통해 DBMS를 거쳐 데이터베이스 시스템의 전체적인 관리 운영에 책직음 지는 사람이나 집단
-데이터베이스 구소 요소를 결정,저장 구조와 접근 방법을 선정,스키마를 정의
응용 프로그래머:데이터베이스의 내용을 일반 사용자가 사용할 수 있도록 프로그램을 개발
일반 사용자:데이터베이스의 내용을 실제 사용하는 사람이나 집단
데이터 관리자:기업이나 조직 내에서 데이터 정의와 체계화,감독 및 보안 업무를 담당
-----------------------------------------------------------------------------
챕터2.데이터 모델링
섹션01.데이터베이스 설계
1.데이터베이스 설계:데이터베이스의 스키마를 정의하고,데이터베이스를 구현
요구 조건 분석-설계(개념적,논리적,물리적)-구현-운영 및 개선
개념적 설계:구축하고자 하는 데이터베이스를 개념적으로 표현(E-R 모델)
논리적 설계:개념적 설계에서 만들어진 구조를 논리적으로 구현 가능한 데이터 모델로 변환
물리적 설계:논리적 데이터베이스 구조를 실제 기계가 처리하기에 알맞도록
내부 저장 장치 구조와 접근 경로 등을 설계
데이터 아키텍쳐:기업의 데이터 측면에서 기업 시스템을 처음부터 끝까지
시스템의 본질인 데이터를 구조적⦁체계적으로 관리하고 설계하는 모든 과정
섹션02.개체-관계 모델
1.개체-관계 모델(E-R Model)
데이터베이스에서 사용되는 개체,속성,개체와 개체 간의 관계 등을 약속된 기호로 이용하여 표현함으로써 데이터베이스의 전반적인 구조를 이해하기 쉽도록 표현한 모델
2.E-R Model의 기호
사각형:개체
타원:속성
마름모:관계
타원의 밑줄:키본키
사각형-마름모-사각형:개체와 개체 간의 관계 구조
작은 타원 여러개와 큰 타원:복합 속성
5.데이터베이스 모델:논리적 설계 단계에서 사용되는 모델
관계 데이터 모델:2차원 구조의 표 형태
네트워크 데이터 모델(망 데이터 모델):레코드 타입 간 관계를 도형으로 표현
계층 데이터 모델(트리 데이터 모델):부모-자식 관계,즉 1:N 관계를 타나낸다.
섹션03.관계 데이터 모델
1.관계 데이터 모델:자료의 저장 형태를 2차원 구조의 표로 표현하는 방법
릴레이션:자료 저장의 형태가 2차원 구조의 테이블로 표현
속성:릴레이션을 구성하는 각 열(칼럼,항목)
튜플:릴레이션의 한 행을 구성하는 속성들의 집합(튜플,행,레코드)
도메인;하나의 속성이 가질 수 있는 값들의 범위
릴레이션 스키마:릴레이션의 이름과 속성의 이름 집합
릴레이션 인스턴스:릴레이션에서 어느 시점까지 입력된 튜플들의 집합
차수:릴레이션을 구성하는 속성의 수[열수]
카디널리티:릴레이션에 입력된 튜플의 수[행수<제목제외>]
릴레이션의 특징
튜플들은 모두 상이
튜플들은 유일하며 순서에는 의미없음
속성들 간의 순서는 의미없음
속성값은 원자값으로 구성되며 분해가 불가능
Mapping Rule:개념적 데이터베이스 모델링 결과를 관계형 데이터베이스 이론에 근거하여
데이터베이스 구조를 변환하는 과정
교차 엔티티:N:M관계의 E-R Model을 릴레이션으로 표현하는 경우 보다
정확한 상호 참조를 위해 하나의 릴레이션을 더 만듦
섹션04.키와 무결성 제약조건
2.키의 종류
키:관계 데이터베이스에서 튜플을 식별하기 위해 사용하는 속성이나 속성의 집합
1)후보키:릴레이션에서 각 튜플을 유일하게 식별할 수 있는 속성이나 속성의 집합
2)기본키:후보키 중에서 튜플을 식별하기 위해 특별히 선택된 키
3)대체키:후보키 중에서 기본키를 제외한 속성
4)외래키:하나의 테이블에서 원하는 자료를 얻지 못하는 경우
다른 테이블을 참조하기 위해 사용되는 속성
*식별 관계와 비식별 관계:외래키가 기본키인 경우와 일반 속성인 경우
5)슈퍼키;릴레이션 내의 튜플들을 식별할 수 있는 후보키와 다른 속성들과의 모든 조합
3.무결성 제약조건:데이터베이스 자료의 오류 없는 정확성과 안정성
1)개체 무결성:기본키는 널값이올수없으며,중복될 수 없음을 나타내는 제약조건(튜플유일식별)
2)참조 무결성:외래키는 널 값이 올 수 있으며,참조 릴레이션의 기본키와 같아야하는 제약조건으로 테이블 참조 시 오류가 없도록 하기 위한 제약조건
섹션05.관계 데이터 연산:데이터베이스 구조에서 사용되는 연산
1.관계 대수:릴레이션에서 사용자가 원하는 결과를 얻기 위해 연산자를 표현하는 방법
[순수 관계 연산자와 일반 집합 연산자]
(1)셀렉트(Select,σ):릴레이션에서 조건을 만족하는 수평적 부분 집합을 구하기 위한 연산
σ<선택조건>(테이블 이름)
(2)프로젝트(Project,π):릴레이션에서 수직적 부분 집합을 구하는 연산으로 속성 추출
π<추출 속성리스트>(테이블 이름)
응용) π<추출 속성리스트>( σ<선택조건>(테이블 이름) )
(3)조인(Join,⋈):두 테이블로부터 조건에 맞는 관련된 튜플들을 하나의 튜플로 결합하여
하나의 테이블로 만드는 연산(동일 조인,자연조인,외부조인,세타조인등)
테이블1⋈<조인 조건>테이블2
동일조인:가장 기본이 되는 조인
자연조인:동일 조인한 결과에서 중복되는 속성을 제거하여 표현
외부 조인:조건에 맞지 않는 튜플도 결과 테이블에 포함 NULL
세타조인:세타 연산자 중 ‘=’외의 연산자를 이용해 조건 수식을 표현하여 조인
두 테이블의 모든 속성을 합한 하나의 테이블 구조로 만들어짐
(4)디비전(Division,÷)
테이블1(테이블1속성÷테이블2속성)테이블2
2.관계해석:릴레이션에서 결과를 얻기 위한 과정을 표현하는 것을
연산자 없이 정의하는 방법을 이용하는 비절차적인 언어
{결과값 | 조건}
-----------------------------------------------------------------------------
챕터3.관계 데이터베이스 언어(SQL):관계 데이터베이스에서 사용하는 언어
섹션01.SQL 정의어(DDL)
CREATE TABLE 테이블_이름
({속성_이름 데이터_타입 [NOT NULL],}
[PRIMARY KEY(속성_이름),]
[UNIQUE(속성_이름),] //대체키
[FOREIGN KEY(속성_이름) REFERENCES 참조테이블(속성_이름)]
[ON DELETE CASCADE | SET NULL | SET DEFAULT | NO ACTION]
[ON UPDATE CASCADE | SET NULL | SET DEFAULT | NO ACTION],
[CONSTRAINT 제약조건_이름 CHECK(속성_이름=범위값)]
);
CREATE TABLE 테이블명
(학번 INT, //속성명 데이터타입(크기)
성명 CHAR(5) NOT NULL,
학과 CHAR(10),
학년 INT,
학점 CHAR(1),
PRIMARY KEY(학번),
FOREIGN KEY(학과) REFERENCES 수강(학과) //refer ences
ON DELETE SET NULL
ON UPDATE CASCADE,
CONSTRAINT hak CHECK(학년 <=4)
);
ALTER:기존에 만들어진 테이블에 새로운 속성을 추가하거나 기존 속성을
변경,삭제할 때 사용하는 명령어
ALTER TABLE 테이블이름 <ADD/ALTER/DROP> 속성이름 데이터타입
이후 옵션은 <디폴트,셋 디폴트,연쇄|비연쇄>
DROP:기존에 사용되던 테이블,스키마,도메인,인덱스,뷰,제약조건 등을 제거할 때 사용하는 명령어
DROP TABLE 테이블_이름 [CASCADE |RESTRICT];
DROP SCHEMA 스키마_이름 [CASCADE |RESTRICT];
DROP DOMAIN 도메인_이름 [CASCADE |RESTRICT];
DROP VIEW 뷰_이름 [CASCADE |RESTRICT];
DROP INDEX 인덱스_이름
DROP CONSTRAINT 제약조건_이름
섹션02.SQL 조작어(DML):데이터 검색,삽입,수정,삭제
1.SELECT [DISTINCT] 속성_이름
FROM 테이블_이름
[WHERE 조건]
[GROUP BY 속성_이름 [HAVING 그룹조건]]
[ORDER BY 속성_이름 [ASC | DESC];
//집계함수를 이용한 검색문 [DISTINCT 위치에 삽입] AS 이름 //유도될 속성이름
//부속(하위) 질의문 ~={ } 하나이상을 원하면 IN사용
//부분매치 LIKE 김% 김_
//NULL값 비교 IS와 IS NOT
//JOIN 질의문 FORM 테이블이름 JOIN 조인될 이름 ON(조인속성1=조인속성2)
2.INSERT INTO 테이블_이름[(속성_이름)] VALUES (자료);
3.UPDATE 테이블_이름 SET 속성_이름=변경내용 [WHERE 조건];
4.DELETE FROM 테이블_이름 [WHERE 조건];
섹션03.SQL 제어어(DCL)
1)COMMINT 데이터베이스 내의 연산이 성공적으로 종료되어
연산에 의한 수정 내용을 지속적으로 유지하기 위한 명령어
2)ROLLBACK 데이터베이스 내의 연산이 비정상적을 종료되어나 정상적으로 수행이
되었다 하더라도 수행되기 이전 상태로 되돌리기 위해
연산 내용을 취소할 때 사용하는 명령어
3)GRANT 관리자가 사용자에게 데이터베이스에 대한 권한을 부여
GRANT 권한 내용 ON 테이블_이름 TO 사용자 [WITH GRANT OPTION]; //권한이전 옵션
4)REVOKE 관리자가 사용자에게 부여했던 권한을 취소하기 위해 사용되는 명령어
REVOKE 권한 내용 ON 테이블_이름 FROM 사용자 [CASCADE];
섹션04.뷰와 시스템 카탈로그
1.뷰
하나 이상의 테이블부터 유도되어 만들어진 가상 테이블
CREATE VIEW 뷰_이름[(뷰_속성이름)]
AS SELECT 기본테이블의 속성_이름
FROM 기본테이블_이름
[WHERE 조건]
[WITH CHECK OPTION]; //조건 불만족시에는 수행안함
DROP VIEW 뷰_이름 [RESTRICT | CASCADE];
2.시스템 카탈로그
데이터베이스에 저장되어 있는 테이블,인덱스,뷰,제약조건,사용자 등
개체들에 대한 정보와 정보들 간의 관계를 저장한 것
-----------------------------------------------------------------------------
챕터4.정규화
섹션01.이상과 함수적 종속
1.이상(Anomaly):데이터베이스의 논리적 설계 시 하나의 릴레이션에 많은 속성들이 존재하여,
데이터의 중복과 종속으로 인해 발생되는 문제점
1)삭제이상:테이블에서 하나의 자료를 삭제하고자 하는 경우 그 자료가 포함된
튜플이 삭제됨으로 인해 원하지 않는 자료까지 함께 삭제가 이루어져 발생하는 문제점
2)삽입이상:삽입하는 과정에서 원하지 않는 자료가 삽입된다든지 또는 삽입하는데
자료가 부족해 삽입이 되지 않아 발생하는 문제점
3)갱신이상:관계 데이터베이스의 자료를 갱신하는 과정에서 정확하지 않거나
일부의 튜플만 갱신됨으로 인해 정보가 모호해지거나 일관성이 없어져
정확한 정보의 파악이 안되는 현상
2.함수적 종속 A->B 결정자와 종속자
어떤 릴레이션에서 속성 A,B가 있을 때, 임의 튜플에서 A의 값이 B값을 함수족으로 결졍
1)완전 함수 종속과 부분 함수 종속
릴레이션에서 한 속성이 오직 기본키에만 종속이 되는 경우(기본키로 구분 가능)
릴레이션에서 한 속성이 기본키가 2개 이상 합성키로 구성된 경우(기본키 일부로 구분 가능)
2)이행적 함수 종속
릴레이션에서 A,B,C 세 가지 속성 간의 종속이 A->B,B->C,A->C가 성립이 되는 경우
섹션02.정규화
1.정규화
논리적 설계 단계에서 발생할 수 있는 종속으로 인한 이상현상의 문제점을 해결하기 위해,
속성들 간의 종속 관계를 분석하여 여러 개의 릴레이션으로 분해하는 과정
2.정규형의 종류
제1정규형:한 릴레이션을 구성하는 모든 도메인이 원자값만을 구성되도록 하는 정규형
제2정규형:릴레이션에 존재하는 부분 함수 종속을 제고하고 모든 속성이 기본키에 완전 함수..
제3정규형:릴레이션을 구성하는 속성들 간에 이행적 함수 종속 관계를 분행하여..
BCNF:릴레이션에서 모든 결정자가 후보키가 되도록 하는 과정
제4정규형:릴레이션에서 다치 종속 관계가 성립되는 경우 분해하는 정규형
제5정규형:릴레이션에 존재하는 조인 종속이 후보키를 통해서만 성립이 되도록 하는 정규형
섹션3.역정규화:정규화된 릴레이션을 물리적 데이터 모델링 과정에서 성능을 향상시키기 위해
중복을 허용하고라도 다시 통합하거나 분할하여 구조를 재조정하는 것
-----------------------------------------------------------------------------
챕터5.기타 데이터베이스 실무 응용
섹션01.내장 SQL과 커서
1)내장SQL:일반 응용 프로그램에 SQL을 삽입하여 데이터베이스 자료를 이용하고
다양한 조작을 할 수 있도록 한 것
2)커서:내장 SQL에 의해 얻은 값은 하나의 자료 단위로 처리되며
여러 개의 자료를 그룹으로 처리하기 위해 이용 [DECLARE,OPEN,FETCH,CLOSE]
3.스토어드 프로시저:자주 수행해야 할 SQL 처리과정을 미니 하나의 작은 프로그램으로
작성하여 데이터베이스에 저장해 두었다가 필요한 경우
호출하여 사용하기 위해 만들어 놓은 프로그램
섹션02.트랙잭션:데이터베이스 내에서 한꺼번에 모두 수행되어야 할 연산들의 집합[ACID]
원자성:트랜잭션 내의 연산은 반드시 모두 수행되어야 하며 그렇지 않을 경우 모두 수행되지 않아야함
일관성:트랜잭션이 정상적으로 완료된 후
언제나 일관성 있는 데이터베이스 상태가 되어야하며,결과에 모순이 생겨서는 안됨
격리성:하나의 트랜잭션이 수행 중에는 다른 트랜잭션이 접근할 수 없고 각각의 트랜잭션은 독립적
영속성:트랜잭션이 성공적으로 완료된 후 결과는 지속적으로 유지되어야 함
1)COMMINT 데이터베이스 내의 연산이 성공적으로 종료되어
연산에 의한 수정 내용을 지속적으로 유지하기 위한 명령어
2)ROLLBACK 데이터베이스 내의 연산이 비정상적을 종료되어나 정상적으로 수행이
되었다 하더라도 수행되기 이전 상태로 되돌리기 위해
연산 내용을 취소할 때 사용하는 명령어
트랜잭션 스케줄 :여러 개의 트랜잭션들이 병행 실행되는 경우
트랜잭션의 연산들이 실행되는 순서를 의미
1)직렬 스케줄:각 트랜잭션별로 구분하여 한 트랙잰션을 구성하는 연산들을
연속적으로 모두 실행하고 다른 트랜잭션을 수행하는 방식의 스케줄 기법
2)비직렬 스케줄:트랜잭션들을 병행하여 수행하는 방법으로 인터러브 실행 기법을 이용하여
각 트랜잭션의 연산들을 번갈아가면서 병행 실행하는 방법
섹션03.회복 기법과 병행 제어
1.회복 REDO 재수행과 UNDO 취소
<데이터베이스 수행 시 발생되는 장애의 유형>
트랜잭션 장애:하나의 트랜잭션이 수행되는 과정에서 발생하는 오류
시스템 장애:트랜잭션 장애들로 인해 시스템상의 문제가 발생하여 트랜잭션이 수행되는 못..
미디어 장애:하드웨어적으로 하드디스크 등이 손상되는 경우
2.병행제어
동시에 여러 개의 트랜잭션이 실행되는 경우를 병행 실행
병행 실행 시 트랜잭션 간의 격리성을 유지하여 트랜잭션 수행에 문제가 발생되지 않도록
제어하는 것을 병행제어(로킹 기법)
-로킹:트랜잭션의 병행 실행 시 하나의 트랜잭션이 사용하는
데이터베이스 내의 데이터를 다른 트랜잭션이 접근하지 못하게 하는 것
접근허용:공유 락(읽기만 허용) ,배타 락(모두 불가능)
2단계 로킹 기법
확장 단계:락을 설정
축소 단계:락을 해제
타임스탬프:각 드랜잭션이 데이터에 접근할 시간을 미리 지정하여 기억시킨 뒤
그 시간의 순서에 따라 순서대로 데이터에 접근하여 수행하는 방법
*병행제어를 하지 않았을 때의 문제점:갱신분실,모순성,연쇄 복귀,비완료 의존성
섹션04.인덱스:수 많은 데이터 중에서 원하는 자료를 빠르고 효율적으로 검색하기 위해서..
인덱스 구조)
B-트리:자료의 구조를 균형 있는 트리 구조로 나타내는 방법
B⁺-트리:b트리의 변형으로 인덱스 세트와 순차 세트로 구성
인덱스 기타유형)
클러스터드 인덱스:테이블에서 하나의 속성을 기준으로 정렬시킨 후,
테이블을 재구성하여 인덱스를 만드는 방법
넌 클러스터드 인덱스:테이블을 재구성하지 않고,
데이터 주소를 이용하여 인덱스를 만들어 주소값을 이용하여 검색
섹션05.객체 지향 데이터베이스(OODB)
1)객체:유형이나 무형으로 현실 세계에 존재하는 개체를 추상화 한 것
2)속성:객체의 특성이나 상태
3)메소드:객체에 어떤 처리를 하도록 지시하는 명령
4)클래스:유사한 성격과 공통적인 특성을 갖는 객체들의 모임
5)캡슐화:다른 객체와 정보은페가 이루어지도록 하는 것
6)상속:클래스의 계층구조에서 상위 클래스의 특징과 정보 등을
하위 클래스에서 그대로 재사용할 수 있는 개념
7)다형성:동일한 객체더라도 경우에 따라 다른 의미의 연산으로 사용될 수 있는 개념
섹션06.보안
정보보안의 목표
기밀성:허락되지 않은 사용자나 대상이 정보의 내용을 알 수 없도록 하는 것
무결성:허락되지 않은 사용자나 대상이 정보를 함부로 수정 및 삭제 등 변경할 수 없도록..
가용성:허락된 사용자나 대상이 정보에 접근하고자 할 때 방해받지 않도록 하는 것
대칭키 시스템과 비대칭키[=공개키] 시스템
섹션07.기타 데이터베이스 용어
1.개체의 종류:독립개체와 종속개체 //다른 개체에 종속관계 유무
2.속성의 종류:단순 속성,복합 속성,결합 속성,설계 속성 //더 작은 단위로 나눌수있는지
3.관계의 종류:중복 관계,재귀 관계 //참조가 2개 이상의 속성으로 참조/자기자신
4.분산 데이터베이스:수평 분산과 수직 분산 //여러 대의 컴퓨터에 데이터를 분산
5.튜닝:데이터베이스의 성능 향상과 사용자의 요구에 따라 빠른 검색을 통한 신속한 서비스 제공,
저장 공간의 효율을 향상시키는 등 데이터베이스 시스템을 최적화하기 위해 재조정하는 것
6.CRUD 매트릭스:수행할 프로세스와 프로세스 수행에 사용된 개체 간의
상관관계를 분석하기 위해 2차원 구조의 행렬 구조로 표현
7.트리거:참조 관계에 있는 두 테이블에서 하나의 테이블에 삽입,삭제,갱신 등의 연산을
테이블의 내용이 바뀌었을 떄 데이터의 일관성과 무결성 유지를 위해
이와 연관된 테이블도 연쇄적으로 변경이 이루어질 수 있도록 하는 것
8.행 이주와 행 연결
9.기타 데이터베이스 용어
데이터 웨어하우스:한 조직이나 사용자의 의사 결정에 도움을 주기 위하여,
기간 내의 저장된 대량의 데이터를 공통의 형식으로 변환하여 관리하는 데이터베이스
데이터 마트:데이터의 한 부분에서 사용자가 관심을 갖는 데이터들을 담은 비교적 작은 규모..
데이터 마이닝:대량의 데이터에서 실제로 존재하지 않는 정보를 얻어내기 위해
각 데이터의 상관관계를 통계적 분석,인공지능 기법등을 통해 규칙이나 패턴찾음
OLAP:사용자가 직접 데이터베이스 검색과 분석을 통해 문제점이나 해결책을 찾도록 해주는
분석형 애플리케이션[MOLAP—다차원,ROLAP-관계형DB,HOLAP-다차원&관계형DB]
스타스키마)OLAP와 같은 다차원 분석을 지원하기 위한 데이터 모델링 기법
*사용자가 직접 검색할 수 있음
OLTP:중앙 컴퓨터와 통신회선으로 접속되어 있는 다수의 사용자 단말기에서
요청한 트랜잭션의 처리를 중앙 컴퓨터에서 처리하여 그 처리된 결과를
즉시 사용자 단말측으로 되돌려 보내 주는 처리 형태
'IT' 카테고리의 다른 글
정보처리 산업기사 이론(4과목,5과목) (0) | 2018.06.07 |
---|---|
정보처리 산업기사 이론(1과목,2과목,3과목) (0) | 2018.06.07 |