728x90

개발 보안

- 데이터 가용성, 무결성, 기밀성 목표

 

SDLC Softwere Development Life Cycle

- 소프트웨어 개발 생명 주기

 

Secure SDLC

- SDLC에 보안 프로세스 추가

- 요구사항 분석, 설계, 구현, 테스트, 유지보수 등 SDLC 전단계에 필요한 보안활동 제시

 

보안 활동

- 요구사항 분석 단계 : 보안 요구사항 확인

- 설계 단계 : 보안 요구사항 설계서에 반영 및 설계서 작성

- 구현 단계 : 설계서에 따라 보안 요구사항 구현

- 테스트 단계 : 보안 사항 반영 확인

- 유지보수 단계 : 발생 가능한 보안 사고 고려, 발생시 보안 패치

 

secure coding 시큐어 코딩

- SW 구현 중 보안 취약점 최소화 하도록 코딩

 

세션

- 서버와 클라이언트 연결

 

세션 통제

- 세셜 연결 + 연결 후 정보 관리

- 요구사항 분석, 설계 단계서 진단해야함

 

불충분한 세션 관리

- 세션 ID가 일정 규칙으로 만들거나, 타임아웃이 길어 발생하는 문제 -> 허가되지 않은 세션으로 접근가능

 

잘못된 세션에 의한 정보 노출

- 싱글턴 패턴의 race condition으로 오류 발생 -> 정보 노출 -> 지역 변수로 변수 범위 제한

 

singleton 싱글턴

- 하나의 객체로 여려곳에서 사용

 

race condition

- 두 프로세스가 공유 자원쓰기위해 경쟁

300x250

'컴퓨터과학 > SW, DB' 카테고리의 다른 글

시간 및 상태, 에러 처리  (0) 2020.05.16
보안 약점  (0) 2020.05.16
DML  (0) 2020.05.16
DCL  (0) 2020.05.16
DDL  (0) 2020.05.16
728x90

DML Data Manipulation Language

- 데이터 조작어

 

검색문

select [속성] from 테이블명 [where 조건] [group by 속성명,...] [having 조건] [order by 속성명 [asc | desc]];

- group by : 해당 속성들을 그룹

- having : group by와 같이 사용 그룹 조건

- order by : 정렬. 디폴트 asc 오름차순

 

삽입문

insert into 테이블명([속성명, ...]) values (데이터, ...);

 

삭제문

delete from 테이블명 [where 조건];

 

갱신문

updaete 테이블 set 속성=속성값 [where 조건];

 

300x250

'컴퓨터과학 > SW, DB' 카테고리의 다른 글

보안 약점  (0) 2020.05.16
개발 보안  (0) 2020.05.16
DCL  (0) 2020.05.16
DDL  (0) 2020.05.16
형상 관리  (0) 2020.05.15
728x90

DCL Data control Language

- 데이터 제어어

- 데이터 보안, 무결성, 병행제어, 복원 등 정의

 

grant/revoke

- 권한 부여 혹은 취소

1. 사용자 등급 지정 및 해제

- 사용자 등급 : DBA(데이터베이스 관리자), resource(데이터베이스, 테이블 생성 가능), connect(단순 사용자)

grant 사용자등급 to 사용자id [identified by 암호];

revoke 사용자등급 from 사용자id;

 

2. 테이블 속성 권한 부여/취소

- 권한 목록 : all, select, insert, delete, update, alter 등

- with grant option, grant option for : 타사용자에게 권한 부여

- casecade : 타 사용자에게 부여한 권한도 같이 삭제

grant 권한목록 on 테이블명 to 사용자 [with grant option]];

revoke [grant option for] 권한목록 on 테이블명 from 사용자 [cascade];

 

commit

- 데이터베이스 변경내용 반영하는 명령

- commit 없이 dml 성공 후 자동 커밋 혹은 롤백하도록 자동 커밋 설정 가능

commit;

 

rollback

- commit 되지 않는 변경내용 취소

- rollback [to 세이브포인트명];

 

savepoint

- 롤백 할 시점 지정 명령

savepoint [세이브포인트명];

300x250

'컴퓨터과학 > SW, DB' 카테고리의 다른 글

개발 보안  (0) 2020.05.16
DML  (0) 2020.05.16
DDL  (0) 2020.05.16
형상 관리  (0) 2020.05.15
무결성  (0) 2020.05.15
728x90

DDL Data Define Language

- 데이터 정의어

- 데이터베이스 테이블 구조, 형식 등 정의

 

create table

- 테이블 정의 명령어

- primary key : 기본키 설정

- unique : 대체키 지정

- foreign key : 참조 설정 

- constraint : 제약조건명 설정. constraint [제약조건명] foreign key(속성명) references 타테이블명(타테이블기본키)

- not null : 널 허용 x

- on delete, update : 삭제, 업데이트시 옵션 지정 가능

 -> no action : 테이블 변화시 행동 x

    casecade : 참조테이블 튜플 삭제시 관련 튜플 삭제

    set null : 참조 테이블 변화시 기존 속성 null로 변경

    set default : 참조 테이블 변경,삭제시 기존 속성을 기본값으로 변겅

create table 테이블명

(

    속성명 데이터타입 [default 값] [not null] [primary key] [unique],

    primary key(속성명)

    foreign key(속성명) references 타테이블명(타테이블의 기본키)

);

 

 

create view

- 뷰 정의 명령

- select 문 서브쿼리로 select 결과를 뷰로 설정

create view 뷰명(속성명,[,속성명]) as select 문;

 

 

 

 

create index

- 검색시간 단축을 위한 자료구조인 인덱스 정의

- 정렬 미지정시 기본으로 오름차순 정렬

create [unique] index 인덱스명 on 테이블명(속성명 [asc | desc]);

 

 

 

 

alter table

- 테이블 정의 변경

alter table 테이블명 add 속성명 데이터타입 [not null];

alter table 테이블명 alter 속성명 데이터타입 [set default 기본값];

alter table 테이블명 drop column 속성명 [cascade];

 

 

 

 

 

drop

- 테이블, 뷰, 인덱스, 스키마, 도메인, 제약조건 등 제거하는 명령어

- casecade : 참조하는 다른 개체도 함께 제거

- restricted : 타 개체가 삭제하는 개체를 참조시 제거 취소

drop table 테이블명 [cascade | restricted];

drop view 뷰명 [cascade | restricted];

drop index 인덱스명 [cascade | restricted];

drop domain 도메인명 [cascade | restricted];

 

300x250

'컴퓨터과학 > SW, DB' 카테고리의 다른 글

DML  (0) 2020.05.16
DCL  (0) 2020.05.16
형상 관리  (0) 2020.05.15
무결성  (0) 2020.05.15
  (0) 2020.05.15
728x90

형상 관리 SCM Software Configuration Management

- 소프트웨어 변경 사항, 버전 관리

- 형상 식별 : 계층 구조로 수정 및 추적 용이

- 버전 제어 : 버전의 형상 관리

- 형상 통제 : 형상에 대한 변경 요구 검토, 기준 반영 조정

- 형상 감사 : 무결성 평가

- 형상 기록 : 형상 식별, 통제, 감사 등 기록

 

버전 등록과정

1. 가져오기 import : 저장소에 신규 파일 추가

2. 인출 check out : 수정 작업 담당자가 저장소에 추가된 파일을 인출함

3. 예치 commit : 수정 후 저장소에 커밋 

4. 동기화 update : 새 개발자가 작업공간 동기화. 수정사항 반영

5. 차이 diff : 수정기록으로 변경 파일 차이 확인

300x250

'컴퓨터과학 > SW, DB' 카테고리의 다른 글

DCL  (0) 2020.05.16
DDL  (0) 2020.05.16
무결성  (0) 2020.05.15
  (0) 2020.05.15
RDB 모델  (0) 2020.05.15
728x90

무결성 제약조건

- 부정확한 데이터의 저장 방지

- 개체 무결성 : 기본키는 null이나 중복값 안됨

- 도메인 무결성 :  속성 도메인에 속한 값만 가능

- 참조 무결성 : 외래키는 참조가능한 값만 가짐

- 사용자 정의 무결성 : 사용자 정의 제약조건을 지켜야함

- null 무결성 : 특정 값이 null이 되선 안됨

- 고유 unique 무결성 : 튜플의 속성 값이 같아선 안됨

- 키 무결성 : 하나의 릴레이션에 적어도 하나의 키가 존재해야함

300x250

'컴퓨터과학 > SW, DB' 카테고리의 다른 글

DDL  (0) 2020.05.16
형상 관리  (0) 2020.05.15
  (0) 2020.05.15
RDB 모델  (0) 2020.05.15
개체 관계 모델  (0) 2020.05.15
728x90

키 key

- 데이터베이스 검색 조건, 정렬 시 기준

 

슈퍼키 super key

- 각 행을 유일하게 식별할 수 있는 속성 하나 또는 집합

 

후보키 candidate key

- 슈퍼키의 부분 집합

 

복합키 composit key

- 2개 이상 속성으로 만든 키

 

기본키 primary key

- 튜플을 식별하기 위한 키. NULL 값있어선 안됨

 

대체키 alternate key

- 후보키 중 기분키를 제외한 나머지 후보 키 

 

외래키 foreign key

- 다른 릴레이션 기본키 참조하는 속성

300x250

'컴퓨터과학 > SW, DB' 카테고리의 다른 글

형상 관리  (0) 2020.05.15
무결성  (0) 2020.05.15
RDB 모델  (0) 2020.05.15
개체 관계 모델  (0) 2020.05.15
데이터베이스  (0) 2020.05.15
728x90

관계형 데이터베이스 구조

- 릴레이션 relation : 데이터베이스 테이블

- 릴레이션 스키마 relation schema : 릴레이션 구조 정의

- 릴레이션 인스턴스 relation instance : 릴레이션들의 실제 값들

- 속성 attribute : 릴레이션의 열

- 차수 디그리 degree : 속성 갯수 

- 행 튜플 tuple : 릴레이션의 행

- 카디널리티 cardinality : 튜플의 갯수

- 도메인 domain : 한 속성에 사용가능한 값들의 집합

- 외래키 foreign key : 타 릴레이션의 기본키를 참조하는 속성

릴레이션 예시

 

ERD를 릴레이션 스키마 변환

- 학생과 반 개체의 1:N 관계를 릴레이션 스키마로 표현

 

릴레이션 스키마 관계 표현

릴레이션간 관계 표현

- 위 릴레이션간 관계표현 방식을이용해 반과 학생의 1:N 관계를 아래와 같이 릴레이션 스키마로 나타낼 수 있다.

릴레이션 스키마 2

 

300x250

'컴퓨터과학 > SW, DB' 카테고리의 다른 글

무결성  (0) 2020.05.15
  (0) 2020.05.15
개체 관계 모델  (0) 2020.05.15
데이터베이스  (0) 2020.05.15
프로세스 관리  (0) 2020.05.15
728x90

ER 모델 Entity Relation model

- 개체, 속성, 관계 등표현

- ERD Entity Relationship Diagram 개체 관계 모델로 표현

 

ER 도형

 

 

ERD 예시

- 선생님 개체와 학생 개체는 1:N 담당 관계

- 선생님 : 선생번호 기본키, 이름

- 학생 : 학번 기본키, 이름

- 한명의 선생님이 여러 학생 담당

 

 

개체와 개체 어커런스

- 개체 타입 Entity Type : 개체 인스턴스들의 집합.  ex)선생님, 학생 -> 개체 타입

- 개체 인스턴스 Entity Instance : 하나의 개체를 개체 인스턴스. ex) 홍길동 선생님, 김길동 선생님

 

 

릴레이션 relation : 테이블

튜플 tuple : 한행

어트리뷰트 attribute 속성 : 한 열

카디널리티 cardinality : 튜플 수

도메인 domain : 가능한 속성 값 집합 (ex. 학생 개체가 반 속성을 갖는 경우, 반 속성의 도메인으로 1~6반)

기본키 primary key : 모든 개체 타입은 한 개체를 유일하게 식별할수있는 기본키 속성 가짐

 

 

관계 타입

- 차수 : 관계에 참여하는 개체 타입 개수에 대한 관계 종류

-> 단항, 이항, 삼항, n항 관계

- 대응수에 대한 관계 종류

-> 1:1, 1:N, N:M 관계

차수에 대한 관계 종류
1 대 1 관계
1: N 관계
N:M 관계

 

 

 

 

 

 

 

300x250

'컴퓨터과학 > SW, DB' 카테고리의 다른 글

  (0) 2020.05.15
RDB 모델  (0) 2020.05.15
데이터베이스  (0) 2020.05.15
프로세스 관리  (0) 2020.05.15
기억장치 관리  (0) 2020.05.15
728x90

데이터베이스

- 데이터 모임

 

 

DBMS DataBase Management System 데이터베이스 관리 시스템

- 데이터 베이스 관리 SW

- 정조제 -> 정의, 조작, 제어 기능

- 정의 : 데이터베이스 테이블, 제약조건, 구조 정의

- 조작 : 데이터 검색, 갱신, 삭제 등 조작

- 제어 : 데이터베이스 무결성, 롤백 등 관리 목적으로 제어

 

DBMS 종류

- 계층형 DBMS : 트리 구조

- 망형 DBMS : 그래프 구조

- RDB Relational Database 관계형 데이터 베이스 : 테이블에 DB 묶어 관리. 속성/테이블 간 관계 설정

- NoSQL 비관계형 DB : 데이터 무결성 덜지킬수 있어 비구조적 데이터 저장

 

300x250

'컴퓨터과학 > SW, DB' 카테고리의 다른 글

RDB 모델  (0) 2020.05.15
개체 관계 모델  (0) 2020.05.15
프로세스 관리  (0) 2020.05.15
기억장치 관리  (0) 2020.05.15
OS 명령어  (0) 2020.05.15

+ Recent posts