반응형
반응형

물리보안

  • 쓰는놈이 책임진다.

-설비, 장치 , 직원, 정보 처리에 수반되는 데이터를 보호 통제하기 위한 프로세스

 

-모든 위협은 발생 가능성의 여부를 떠나서 목록화 되어야 하며 여기에는 반드시 물리적인 위협에 대한 완전한 리스트가 제공되어야 한다.

 

-제일먼저 자산을 분석하고 , 그 자산에 대한 위험을 완화시킨다.

물리적인 환경에서 C.I.A에 대한 위협

가용성: 장치의 파괴나 손실, 절도 ..

기밀성: 허가되지 않은 내부 정보 접근, 폭로..

무결성: 수정할때 정해진사람이 허용된 방법으로만 정보자산을 바꿀수 있는것. - 이렇게 되야 정보가 틀려지지않는다.

 

-물리적인 보안이 대처해야 되는 위협

비상상황 : 화재, 건물붕괴, 전원손상, 에어컨 등의 설비 손상, 수해, 바이러스나 유독물질 확산

자연재해 : 지진, 산사태, 기상 재해

사람 : 테러, 전쟁, 사보타지, 폭력행위, 절도

 

-7가지 물리적인 손실의 원인

: 온도, 가스 , 액체, 유기체, 투사물, 움직임, 에너지 이상

 

 

 

  • 관리적 통제

-컴퓨터를 제외한 모든것을 사용한 통제

 

적절한 비상대응 프로시저와 직원 통제, 계획, 정책 구현등을 통해서 얻어지는 물리적 보안이나 보호영역이다.

 

-관리 통제의 요소

: 설비 요구사항이나 계획, 설비 보안 관리, 관리적 직원 통제

 

데이터 센터나 IS 센터 구축 초기에 필요한 물리적인 보안 통제로 안전한 장소의 선정이나 설계를 포함한다.

--데이터 센터 :  인터넷 연결을 고속화하고 지리적으로 중앙집중화 시킬 필요가 있을 때 설립된다

-- IS 센터 : 인터넷은 수많은 네트워크와 데이터 센터의 모음

  • 안전한 장소 선정

낮은 가시성 : 처리 영역이라는 것에 대한 식별성 (군 부대)

주변 환경 : 지역 범죄율, 범죄 정도, 인구 구성 ( 성별, 학력, 산업 구성..)

자연 재해 -비, 태풍, 지진

교통

공동 소유나 사용 

- 안전한 설계

스프링 쿨러 시스템 : 화재진압

수도나 가스라인

전기 :백업 전원이 필요하며 데이터 센터 등의 경우 독점적인 송전 시설이나 독립적인 임시 발전 설비를 요구

출입문 : 불법 침입 저지를 위한 인증과 식별, 강화가 필요

 

  • 설계를 이용한 범죄 예방 (CPTED)

- 구조화된 건물의 설계와 배치, 환경 구성으로 범죄를 예방하는 기법

- 1960년대 개발

- 개방된 구조의 시설에서 범죄를 예방하는 방법

  • 목표물 강화 기법 (target hardening)

- 보안 시설물의 보호를 강화하는 방법

- 잠금장치, 경보 시스템, 높은 울타리, 노출 억제 ...

 

--감사 : 완성된것에 오류 같은걸 확인

--감리 : 프로세서가 하는도중에 확인

감사 추적과 비상 대응 프로시저로 분류되며 비록 초기 계획은 아니지만 지속적인 구현과 관리 통제를 필요로 한다.

  • 설비에 대한 감사 추적과 로그

- 시스템의 감사 추적은 예방보다는 적발통제에 속한다.

- 사건의 유형, 보안 위반, 성능 , 프로그램의 오류에 초점을 맞춘다.

 

  • 비상 대응 프로시저

교육과 훈련 등 관리적 차원의 물리통제에서 중요한 부분을 차지한다

명확히 문서화 되고 주기적인 갱신이 필요하며 접근성이 원활해야 한다.

 

직원의 채용에서 해고까지 수행되는 관리적인 프로세스

-채용전심사

-지속적인 체크

-해고 후 프로시저

접근 권한 제거 및 패스워드 변경

인터뷰

출구 동행

비품재고 조사 및 반납

 

  • 전력

정전

-전압강하

sag ( 순간 낮은 전압), brown out(지속적인 전압 강하 현상)

fault ( 순간 전력 손실), black out(지속적인 정전)

spike (순간 높은 전압), surge(지속적인 높은 전압)

 

-정전에 대한 대비

과전압 보호기 - 단기적인 전압변경이나 수백분의 1초 이내 정전

UPS - 몇초에서 몇분까지의 정전

발전기 - 수시간에서 수일간의 정전

  • 화재

-화재클래스의 진압

A: 일반 인화물 - 물, 소다산

B: 기름 -CO2,소다산

C: 전기 -CO2,할론

D: 가연성 금속 CO2,분말

K: 상업용 식당을 위한 분류

 

 

-물리보안에서 기술적인 통제는 다음요소들로 분류된다.

설비 접근 통제 요구

침입 탐지와 알람

컴퓨터 인벤토리 통제

저장매체 요구 사항

 

-민간 시설 중에 강력한 물리적인 보안 통제를 강제하는경우

CA, 금융기관, 공항,항만, 전기, 수도, 통신 등 기간 서비스 시설...  (외국에서 더심하다)

 

  • 설비 접근 통제 

 

보안요원

 : 위급상황에서 최고의 수단이 될 수 있다. 즉각적이고 식별력 있는 판단력이 요구되는 상황

  단점 - 가용성,신뢰성, 훈련, 비용

보안견, 울타리

  • 탐지와 알람

탐지 장치 : 주변침입탐지기

동작탐지기: 음파,파장

알람: 로컬 알람 시스템, 중앙 스테이션 시스템, 독점 시스템, 보조 스테이션 시스템

 

 

자택근무가 불가능한이유 - 물리적인 보안 통제가 사실상 불가능하다고 생각하기때문

 

  • 기술적 통제

보안 OS는 사실상 만들기 복구하기 불가능하다.

OS 통한 삭제는 물리적인 삭제가 아니다.

삭제용 자성 소자나 운영자 미숙으로 부적절한 삭제가 초래될 수 있다.

민감한 정보가 포함된 미디어 최소 7번 이상 포맷한다.- 물리적인 파괴가 가장 안전

 

물리적인 보안 참고 리스트

- 민감하거나 비록 그렇지 못한 정보라도 꼭 필요한 경우가 아니라면 책상 위에 펼쳐두지 않는다.

- 시스템은 자리를 떠날때 반드시 전원을 오프한다.

- 사무실은 반드시 잠근다.

- 계단의 비상구는 버팀목으로 열어두지 않는다.

- 파일 캐비닛과 책상의 서랍은 반드시 잠근다.

- 디스켓과 테잎은 격리해서 저장하고 백업본은 물리적으로 다른 지역에 둔다.

 

 

 

 

 

 

 

 

반응형

'2019 > 학원' 카테고리의 다른 글

12.23 학원  (0) 2019.12.23
보안 영역 구성을 위한 로컬 라우터 구현  (0) 2019.12.20
12.19 학원  (0) 2019.12.19
12.18학원  (0) 2019.12.18
12.16 학원  (0) 2019.12.16
반응형

SQL

26. 인라인 뷰 와 Top-N 분석

- 인라인 뷰 

from 절에 테이블 처럼생긴 서브쿼리문장이 들어감

개발자들이 관리작업할때 잘사용됨.

 

- ROWNUM

데이터 베이스 마다있다.

row(열)의 개수,번호

몇개 미만으로 출력될건지

첫번째 블록부터 데이터를 순서적으로 읽음

출력만 3개만 하는게 아니라 엑세스 했을때 가까운 애를 출력하는것이다.

 

예제

## 각 부서별 최소 급여자를 검색한다.
select eno, ename, d.dno, sal, msal
from emp e,
    (select dno, min(sal) msal from emp
     group by dno) d
where e.dno = d.dno
and sal = msal;
##emp 테이블로부터 10행까지 검색
select rownum, eno, ename, job, mgr, hdate
from emp
where rownum <= 10;

##최상위 연봉을 지급 받는 3인을 검색
select rownum, eno, ename, ansal
from (select eno, ename, sal*12+nvl(comm,0) ansal
      from emp
      order by ansal desc)
where rownum <= 3;

출력문장

 

실습

1.4.5환산 평점이 가장 높은 3인의 학생을 검색한다.
select rownum, sno, sname, hiavr
from (select sno, sname, avr*1.125 hiavr
      from student
      order by hiavr desc)
where rownum <= 3;
2.화학과 학생 중 기말고사 유기화학 점수가 최하위인 학생 3명을 검색한다.
select rownum, sno, cname, result, sname
from (select s.sno, sname, major, cname, result
      from student s, score r, course c
      where c.cno=r.cno and s.sno=r.sno
      and major = '화학' and cname = '유기화학'
      order by result)
where rownum <= 3;

 

27. 시퀀스

시퀀스 - 사용자에게 값을 하나씩 주는것 

-프라이머리 키 컬럼이 값의 의미가  없는 경우가 많다.

 다른 컬럼과 구별만 되면 된다.

 

시퀀스 생성 문법

SQL>create sequence 시퀀스
start with 시작_값 ## 없어도 상관없다.
increment by 증가_값
maxvalue 상한_값 | nomaxvalue ##잘 안쓴다
minvalue 하한_값 | nominvalue ##잘 안씀
cycle | nocycle
cache 캐쉬_개수 | nocache; ## 

 

 

SQL 마무리

- 꼭 해야 하는것

조인 

TO_CHAR() 출력서식을 맞추려고하는것 -실무에서는 어떤 서식에 꼭 맞춰야한다

TO_DATE() 오라클한테 문자가아닌 날짜로 해석할 수 있게 하는것

그룹함수

erd , 테이블 상세도표로 된걸 SQL 스크립트로 바꿔야한다.

금액은 NULL 값이 없다.

변환함수.

 

 

 

 

 

 

반응형

'2019 > 학원' 카테고리의 다른 글

보안 영역 구성을 위한 로컬 라우터 구현  (0) 2019.12.20
물리적보안통제  (0) 2019.12.20
12.18학원  (0) 2019.12.18
12.16 학원  (0) 2019.12.16
12.12학원  (0) 2019.12.12
반응형

SQL

25. 뷰

-뷰의 종류

단순뷰 

 :단일 table로부터 만들어진 view

  insert,update - DML 문장 수행이 가능하다.

복합뷰

 : 다중 table로부터 만들어진 view

 일반적으로 우리가생성하는 view

 함수나 수식 등을 포함한다.

-segment가 아님.

오라클에서 segment : 물리적인 영역을 가지고있는 것들.

현재까지 배운 segment : 인덱스, 테이블

-- 뷰 생성과 확인

SQL> create [or replace] [force | noforce] view 뷰 (컬럼..)
as (select 문장 : sub query)
[with check option [constraint constrant_name]]
[with read only [constraint constrant_name]];

select view_name, text from user_views;

뷰는 베이스테이블이 없을경우 단독으로 생성 불가능

force, noforce = 베이스테이블없을경우 만들때 하지만 쓰면 안됨

select 의 서브쿼리 문장이 실제 뷰의 내용이다.

select * tab; 할때 tab이 뷰이다.

 

예제

## 알고싶은 정보
SQL>select c.cno, cname, major, round(avg(result))
from student s, course c, score r
where s.sno=r.sno and r.cno=c.cno
and cname='일반화학'
group by c.cno, cname, major;
## SQL 문장을 모르는경우 VIEW 파일을 만들어준다
SQL>create or replace view ma_result (과목번호, 과목명, 학과, 기말고사평균)
as select c.cno, cname, major, round(avg(result))
from student s, course c, score r
where s.sno=r.sno and r.cno=c.cno
and cname='일반화학'
group by c.cno, cname, major;

 

 

만들어진 view는 다음과같이 table처럼 사용 가능하다.

 

다음은, check option 을 이용해 만든 view이다. 

이렇게 만들면 view의 조건에 맞지않는 데이터 값은 insert 되지 않는다.

 

##실습1.사원의 연봉을 검색할 수 있는 뷰를 생성한다.

SQL>create or replace view salary (이름,연봉)
as select ename 이름, sal*12+nvl(comm,0) 연봉 from emp;

##실습2.학생의 학점 4.5 만점으로 환산된 정보를 검색할 수 있는 뷰를 생성한다.

create or replace view avr (이름,학점)
as select sname 이름, avr*1.125 학점 from student;

##실습3.각 과목별 평균 점수를 검색할 수 있는 뷰를 생성한다.
create or replace view result_avg (과목번호,과목명,평균점수)
as select c.cno, cname, round(avg(result))
from score s,course c
where s.cno=c.cno
group by c.cno,cname;

##실습4.각 직원과 관리자의 이름을 검색할 수 있는 뷰를 생성한다.
create or replace view e_emp (사번1,이름,사번2,사수이름)
as select e1.eno, e1.ename, e2.eno, e2.ename
from emp e1,emp e2
where e1.mgr = e2.eno(+);

##실습5.각 과목별로 평가 점수가 F인 학생을 검색할 뷰를 생성한다.
create or replace view f_grade (과목번호,과목명,학번,이름,성적)
as select c.cno,cname,s.sno,sname, grade
from student s, course c,score r,scgrade
where s.sno=r.sno
and c.cno=r.cno
and result between loscore and hiscore
and grade='F';

 

 

 

반응형

'2019 > 학원' 카테고리의 다른 글

물리적보안통제  (0) 2019.12.20
12.19 학원  (0) 2019.12.19
12.16 학원  (0) 2019.12.16
12.12학원  (0) 2019.12.12
12.11 학원  (0) 2019.12.11
반응형

22. 제약조건 이해와 설정 2 : UK, NOT NULL, CHECK

SQL

UK(unique key) - 데이타베이스의 필수요건은 아니지만 있을때 유용하게 사용할수 있다.

NOT NULL - 데이타베이스가 숫자컬럼에 null 값이 있으면 부정연산으로 생각된다.

               - 테이블 뒤에 사용 x , 컬럼뒤에만 사용 가능하다.

CHECK - where 절에서 썻던것과 같이 조건을 부여하면된다.

          - not null 제약 조건을 check 제약 조건으로 본다.

제약조건이 붙여진 emp4 테이블

테이블 만들기 실습

 

 

 

 

실습문제

 

 

 

drop table student;

purge recyclebin

create table student (
sno varchar2(8),
sname varchar2(10) constraint student_nu_sname NOT NULL,
sex varchar2(4) constraint student_nu_sex NOT NULL,
syear number(1) constraint student_nu_syear NOT NULL,
major varchar2(10),
avr number(4,2),
constraint student_sno_pk primary key(sno),
constraint student_sex_ch check (sex in ('남','여')),
constraint student_avr_ch check (avr <= 4.50));

drop table professor;

purge recyclebin;

create table professor (
pno varchar2(8),
pname varchar2(10) constraint professor_nu_pname NOT NULL,

section varchar2(10),
orders varchar2(10),
hiredate date constraint professor_nu_hiredate NOT NULL,
constraint professor_pno_pk primary key(pno));

drop table course;

purge recyclebin;

create table course (
cno varchar2(8),
cname varchar2(14) constraint course_nu_cname NOT NULL,
st_num number,
pno varchar2(8),
constraint course_cno_pk primary key(cno),
constraint course_pno_fk foreign key(pno)
references professor(pno));

drop table score;

purge recyclebin;

create table score (
sno varchar2(8),
cno varchar2(8),
result number constraint score_nu_result NOT NULL,
constraint score_sno_pk_score_cno_pk primary key(sno,cno),
constraint score_cno_fk foreign key(cno)
references course(cno),
constraint score_sno_fk foreign key(sno)
references student(sno),
constraint score_result_ch check (result<=0 and result<=100)
);

 

 

 

실습문제 2

 

 

drop table product;

purge recyclebin;

create table product (
pno varchar2(12),
pname varchar2(100),
pprice number,
constraint product_pno_pk primary key (pno),
constraint product_pname_uk unique (pname),
constraint product_pprice_ch check (pprice >0)
);

drop table sales;
purge recyclebin;

create table sales (
sno varchar2(12),
sdate date constraint sales_nu_sdate NOT NULL,
sname varchar2(50) constraint sales_nu_sname NOT NULL,
result number,
constraint sales_sno_pk primary key (sno),
constraint sales_result_ch check (result >0)
);

drop table document;
purge recyclebin;

create table document (
sno varchar2(12),
pno varchar2(12),
amount number constraint document_nu_amount NOT NULL,
duprice number constraint document_nu_dupirce NOT NULL,
dprice number constraint document_nu_dpirce NOT NULL,
constraint document_sno_pk_pno_pk primary key (sno,pno),
constraint document_sno_fk foreign key (sno)
references sales(sno),
constraint document_pno_fk foreign key (pno)
references product(pno),
constraint document_dprice_ch check (dprice >0)
);

22. 제약 조건 관리

-ALTER TABLE 테이블 

add constraint 제약조건, 제약조건타입

modify 컬럼 constraint 제약조건 not null;

drop pimary key 컬럼 constraint 제약조건 [cascade]

 

 

 

alter table class 
add constraint class_cno_pk primary key (cno)

 

 

 

 

 


리눅스

-nat네트워크를 사용할때 실효성

이동형 컴퓨터를 사용할때 무선 네트워크가 바뀌어도 내부 네트워크 아이피를 바꿔주지 않아도 사용가능하다.

 

vmnet8 = 192.168.11.3

 

Samba service

-파일서버 (마치 자기껏처럼 파일을 공유하는 서버)

 아이디 / 패스워드 가 없으면 사용할수 없다.

 

-share

 browsable: 다른사람 디렉토리 볼수있는지 없는지

 writable: 파일 업로드는 못한다

 public: 모두가 접속할수 있는 리소스

 write list = 업로드 할수 있게 하는 유저목록

 

 

 

반응형

'2019 > 학원' 카테고리의 다른 글

12.19 학원  (0) 2019.12.19
12.18학원  (0) 2019.12.18
12.12학원  (0) 2019.12.12
12.11 학원  (0) 2019.12.11
12.09 학원  (0) 2019.12.09
반응형

sql

-creat alter drop

 

create table 테이블 (

컬럼 데이터_타입 [DEFALT default값] [컬럼 레벨 제약조건]--무결성을 방지하기위해 제약조건을 검

컬럼 데이터_타입 [DEFALT default값] [컬럼 레벨 제약조건]

...

[테이블 레벨 제약조건]

...

);

 

데이터베이스에는 만 나이가 무조껀들어간다.

-컬럼 레벨 제약조건

PK: 프라이머리 키로 중복된 데이터 x , Null x

FK: 다른테이블에 어떤 특정한것만 들어갈 수 있다.

UK: 중복된값은 들어갈 수없다. Null은 비교연산이 안되기때문에 계속들어갈 수 있다.

CHECK,

NOT NULL - 지정하면 안댄다.

-테이블 레벨 제약 조건

pk, fk, uk, check 만 지정한다.

not null은 정의할 수 없다.

 

drop table 테이블

[cascade constraint]

참조당하는 테이블은 못지운다. 참조하는 테이블을 먼저 지우고 지운다.

 

purge recyclebin; - 휴지통 비우기

 

select table_name

from user_tables;-딕셔너리 : 관리정보를 이르는 용어

                       관리자는 모든 유저들의 테이블들을 볼수있다.

 

딕셔너리 조회 명령어들

 

테이블 생성 규칙

 

- 문자로시작한다. 숫자 x

- 30자 이내로 한다

- 특수문자는 _ 만 가능 , 한글사용 x

- 대소문자를 구별하지 않는다.

- 테이블 이름은 딕셔너리에 저장되는데, 모두 대문자로 저장된다.

 

데이터 타입

 

- 오라클은 다양한 데이터 타입을 제공한다. 다음은 그 중 많이 사용되는 데이터 타입들이다.

- 문자 타입 

 . varchar2, char, long, clob.

  --> varchar2만 쓰면된다. 

long,clob - 기가바이트 이상 ,검색이 안된다.

lowid - rowid를 저장하기 위한 데이터 타입. 64진수로 되어있다. rowid 가 표현할수 있는만큼 행을 저장할 수 있다.

 

number(4.2) - 전체 4자리 , 소수 2자리까지 들어간다

 

1. 실습으로 만들어 볼 테이블

실습 1.dept, emp, salgrade 테이블 만들기

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

실습 2. student, professor, course, score 테이블 만들기.

반응형

'2019 > 학원' 카테고리의 다른 글

12.18학원  (0) 2019.12.18
12.16 학원  (0) 2019.12.16
12.11 학원  (0) 2019.12.11
12.09 학원  (0) 2019.12.09
12.05 학원  (0) 2019.12.05
반응형

sql

select - 쿼리문

insert, update, delete - DML문

dml 문장은 잘못 건드리면 데이터베이스에 

 

모든 작업은 행단위로 한다.

작업을 딱 한번 취소 가능할 수 있다.

DML 문 이후 - commit; or rollback; 해야함

commit - 완료 rollback - 했던걸 취소.

 

sql에서 dml 문장은 insert into 할때 바로 테이블에 적용된다.

날짜를 입력할때 to_date 는 꼭 써줘야한다.

 

이게 정석

실습

1.다음 insert 문을 실행하고 입력 결과를 확인한다.

 

insert into emp (eno,hdate) values (5, to_date('12', 'mm'));
insert into emp (eno,hdate) values (6, to_date('10', 'dd'));
insert into emp (eno,hdate) values (7, to_date('9', 'hh24'));
insert into emp (eno,hdate) values (8, to_date('12', 'mi'));
insert into emp (eno,hdate) values (9, to_date('20', 'ss'));
insert into emp (eno,hdate) values (10, sysdate);

 

2. 모든 학생의 성적을 4.5만점 기준으로 수정한다.

 

 

왼쪽은 원래 평점 오른쪽은 바뀐 평점

 

트랜잭션

 

원자성

 - 트랜잭션은 최소의 작업 단위로서 전체가 처리되거나 취소될 수 있지만 일부만 처리될 수 없다.

일관성

 - 트랜잭션이 실행된 이후 데이터베이스의 무결성은 반드시 유지돼야 한다.

 독립성

 - 트랜잭션을 여러 개 동시에 실행하더라도 각각의 트랜잭션은 서로 영향을 줄 수 없다.

   즉 실행이 종료되지 않은 트랜잭션의 결과는 다른 트랜잭션에서 참조하는 것이 불가능하다.

 연속성

 - 종료된 트랜잭션의 결과는 반드시 데이터베이스에 반영돼야 한다.

 

트랜잭션의 시작과 종료

- 시작

 

DML 문장이나 DLL, DCL 문장에 실행 됐을 때 시작된다.

 

- 종료

 

commit 이나 rollback 명령이 실행될 때 종료된다.

DDL 이나 DCL문장의 실행이 완료되면 자동으로 종료된다.

사용자의 정상 종료 시에 종료된다.

데드락이 걸리면 일부만 종료된다.

 

#데드락이란?

서로 원하는 리소스가 상대방에게 할당되어 있기 때문에 이 두 프로세스는 무한정 기다리게 되는데 이러한 상태을 데드락상태라고 합니다.

 

undo segment

오라클,db2 행에 락거는게 가능 -low단위 락

 

실습1.

한쪽 테이블에 waiting상태로 만드는 실습을 해본다

 

 

 

 

 

 

1번 세션 - delete문장으로 dept 테이블 삭제하는 모습 -이때 dept 테이블에 락이걸린다

 

 

 

                                                        2번세션- update 문장으로 업데이트 했는데 락이걸려 waiting에걸리는 모습

 

 

 

 

 

 

 

 

1번세션- 롤백으로 행에 락해제

 

 

 

 

                                                                              2번세션- 락이 해제되자마자 바로 업데이트 완료되는 모습

 

실습 2.

 

데드락상태를 직접 만들어보는 실습을 해본다.

 

 

 

 

 

 

세션 1. 안영희라는 행을 업데이트해 락을걸었다

 

 

 

 

 

                                                                           

                                                                                   세션 2. 문시현이라는 행을 업데이트해 락을 걸었다.

 

 

 

 

                                                                             

                                                          세션 2.락이걸린 안영희라는 행을 업데이트하면 waiting이 걸리는걸 확인 

 

 

 

세션 1.락이 걸린 문시현이라는 행을 업데이트하면 양쪽이 waiting상태가 되서 데드락이 걸린다.

 

 

 

 

                                         세션 2. 오라클에서는 오류로 데드락 상태를 벗어나게 해주는것 까지 확인할 수 있었다. 

 

아파치서버

 

virtual host서버  호스팅 하기

 

일단 가상호스트를 추가하기전에 아이피와

가상호스트의 웹서버가 들어갈 디렉토리를 만들어준다.

 

 

 

 

 

/app/apache/bin/apachectl 을 들어간후

가상 호스트 와 그호스트가 쓸 다큐먼트,아이피를 설정해준다.

그후 아파치서버를 리스타트해주고 호스팅한 아이피로 접속하면 가상 호스팅이 완료된다.

 

 

 

 

                                                       버츄얼 호스팅 완성된 모습

 

 

반응형

'2019 > 학원' 카테고리의 다른 글

12.16 학원  (0) 2019.12.16
12.12학원  (0) 2019.12.12
12.09 학원  (0) 2019.12.09
12.05 학원  (0) 2019.12.05
linux. DNS 서버설정  (0) 2019.12.04
반응형

sql 

집합연산자

-sql 두개이상의 문장을 연결할때 씀

-union 두개 셀렉트 문장의 합집합

-intersect 두개 셀렉트 문장의 교집합

-minus 첫번째 검색된 결과에서 두 번째 검색 결과를 제외한 나머지를 검색

 

데이터 타입도 동일해야한다.

 

- Union vs Union all

: union all 은 모든걸 다 출력한다. union 은 중복된걸 거르고 시작한다.

둘 다 써도 되는경우엔 union all을 쓴다. but 그런경우가 거의 없음.

3번째 정렬 -(distinct, order by , union). 정렬하게 되면 성능이 떨어지긴한다. 

 

intersect , minus = 거의 사용 하지 않는다.

 

예제.1 2000년 이후에 입사한 사원과 부임한 교수의 명단을 검색한다.

 

 

 

단일 행 함수 

 

- 함수를 많이 쓰시오.

 

문자 , 숫자 , 날짜 함수- 써도그만 안써도그만.

변환함수( 문자, 숫자 , 날짜로 변환) - 꼭 쓸줄 알아야함. 특히 날짜 

문자 함수

문자를 가지고 계산 -> 리턴값은 숫자, 문자 가능

lower 소문자로 변환 , upper 대문자로 변환, initcap 첫문자만 변환

 

select loc ERP_부서_지역

from dept

where lower(dname)='erp';

 

- dname이 소문자인지 대문자인지 알수 없으니 dname 전부를 소문자로 변환 후 검색.

 

문자 연산 함수

- concat 두개의 문자열을 연결한다.

- substr 지정한 문자열에서 특정한 문자를 출력하는것  

- length 문자열의 길이나 byte를 출력한다. 

- instr 지정된 문자의 위치를 출력.

- trim 접두어나 접미어를 잘라낸다. ->가장 많이씀

- lpad, rpad 지정된 문자열의 길이만큼 빈 부분에 문자를 채운다. \,#을 자주사용.

- translate 문자단위로 단위 치환을 한다.

- replace 문자열을 보고 바꾼다.

 

숫자 함수

 

- round n 자리까지 반올림한다. round(123.4567.3) 123.457

- trunc n 자리 미만을 절삭한다. trunc(123.4567.3) 123.456

- mod m을 n으로 나눈 나머지 계산한다. mod(10, 4) ->2

- ceil m보다 큰 가장 작은 정수를 찾는다. ceil(2.34) ->3

 

날짜 함수

 

- months_between 두 날짜간의 기간을 월 수로 계산한다. months_between('2013/09/01', '2013/01/01') -> 8

- add_months 날짜에 n 달을 더한 날짜를 계산한다. add_months('2011/07/01', 23) -> 2013/06/01

- next_day 날짜 이후 지정된 요일에 해당하는 날짜를 계산. next_day('2013/07/14', '일요일;) -> 2013/07/21

- last_day 날짜를 포함한 달의 마지막 날짜를 계산한다. -> last_day('2013/09/24') --> 2013/09/30

예제1. 다양한 숫자 함수를 이용한 결과 확인.

예제 2. 10번 부서의 연봉을 계산한다. 단 100 단위 미만은 절삭한다.

예제 3. 현재 날짜를 검색하고 날짜 출력 양식을 수정해 보자.

 

예제 4. 오늘 날짜, 입사 일자, 입사일로부터 오늘까지 기간, 입사일 이후 100일째 되는 날등을 검색하고 날짜 연산의 결과를 살펴보자.

예제 5. 숫자와 날짜를 반올림하거나 잘라내고 출력해본다.

 

 

반응형

'2019 > 학원' 카테고리의 다른 글

12.12학원  (0) 2019.12.12
12.11 학원  (0) 2019.12.11
12.05 학원  (0) 2019.12.05
linux. DNS 서버설정  (0) 2019.12.04
12.04 학원  (0) 2019.12.04
반응형

SQL 모델링

 

dept 테이블이 부모 테이블 emp 테이블이 자식 테이블이된다.

 

student -sno- score - cno - course - pno - professor

 

emp.sal >= salgrade.losal

> 부등호를 쓰면 비등가 조인 

emp.sal between salgrade.losal and salgrade.hisal

> 등호를 쓰면 등가조인

 

조인문

 

- 컬럼 명을 적을때 테이블 명도 꼭 적어야 한다.

- 한 테이블에만 있는 컬럼인경우 테이블을 안적어도 된다.

- 테이블의 관계를 다알고 써야한다.

 

실습
select student.sno 학번,major 전공, syear 학년, score.cno 과목번호, cname 과목명, result 기말고사_점수
from score,course,student
where score.cno = course.cno
and score.sno = student.sno
and cname like'일반화학'
and syear='1'
and major='화학';

 

select e1.eno, e1.ename, e1.mgr, e2.eno, e2.ename
from emp e1, emp e2
where e1.mgr = e2.eno;

- 조인문장


select d.dno 부서번호, dname 부서명, ename 사원명
from dept d, emp e
where d.dno = e.dno
order by 1;



select d.dno 부서번호, dname 부서명, ename 사원명
from dept d, emp e
where d.dno = e.dno(+)
order by 1;

반응형

'2019 > 학원' 카테고리의 다른 글

12.11 학원  (0) 2019.12.11
12.09 학원  (0) 2019.12.09
linux. DNS 서버설정  (0) 2019.12.04
12.04 학원  (0) 2019.12.04
12.03 12일차  (0) 2019.12.03

+ Recent posts