블로그 이미지
송시혁

calendar

1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

Notice

Tag

Recent Post

Recent Comment

Recent Trackback

Archive




<** SQL 활용 **>


Data         - 자료


Informatiuon - 정보


정보 - 내용.

자료 - 정보를 모아서 의미를 찾거나 분석하는 것.


data -> information


data minig(Bots)


big data



< data base >


자료저장소

- 데이터를 넣어놓는 곳


knowledge base

- 지식 저장소


Expert System / AI(Artificial Intelligence)

- 전문가 시스템(인공지능 구현한 시스템)



<자료를 저장의 방법>

* Hard code



code에다가 물리적으로 내용을 삽입하거나 변경하는 행위.


compile/ link at every data change

Static update, insert



#define NAME

#define PHONE_NO


....

printf("%s, %s\n", NAME, PHONE_NO);

....



* plain text, flatfile


하나의 데이터를 text화하여 데이터를 삽입, 추가, 변경

어플리케이션을 구성하여 데이터를 보여주거나 검색.


CRUD(Create, read, update, delete)

- 데이터를 삽입, 읽고, 수정 삭제


Dynamic data manipulation

- application에 의하여 동적으로 데이터를 운용.


Application dependent

- 종속적, 프로그램에 의존. 데이터를 관리시 관리자마다 관리방법이 다르거나 패치시에 

  어플리케이션을 매번 바꿔야 하는 문제.



* Spreadsheet


unique file fromat

- application dependent, better performance

- 프로그램 종속성을 조금 완화한 형태



* CSV(Comma Seperate ???) format

- common format

- application independency


scalability : 확장성

- 얼마나 큰 데이터를 저장할 것인가에 여부

- 주문서 관리

- 30/일

- 30*25일 = 750

- 750*6개월 = 4500


* race condition

경쟁관계 서로 하나의 자원에 대해 경쟁하는 상태.


- 주문서 수정/삭제 

- 현금 입/출금

100만원에서 70만원 뽑았으나, 다른 신용카드 회사에서는 50만원을 뽑아간다. 이런 경우는

race condition이 발생함.



* locking

locking level - file, table, record, field, bit

자원을 사용시에는 locking을 걸어서, 나머지는 대기.


Database systems


microsoft office excel -> access , SQL Server import

scalability(확장성) : binary storage(이진 저장 사이즈 작음), indexing(목록, 꼬리표)


concurrency(동시성) : record(한줄 단위), bit level locking 작으면 작을수록 기다리는 시간이 줄어듬.


remote access feature -> distributed architecture


still application dependent w/o SQL


concurrency(race condition, locking): 동시성



MySql  - DB 

SQLite - DB

서로 읽어들이는 방법이 다름.


현재는 공통적인 언어를 이용해 질의 ->sql


SQL - Define, Manipulate, Control

structured query languge

commono style developed

standards - SQL-92, SQL-99, SQL-2003

optimization % Variations per DB systems


DDL : Data Definition Language

- 데이터를 담을 틀(그룻)에 대한 작업: Create, drop



DML : Data Manipulation Language

- data를 담고, 수정/삭제하는 작업 : select, insert, delete


DCL : Data Control Language

- 작업을 제어(통제): COMMIT, ROLLBACK




Atomic


Bestin transaction - 어떤 특정한 동작을 한꺼번에 처리하는 명령문 

commit

crowfoot


ER diagram



Entiry       : 개체

- 데이터 베이스 자체(사각형 표시).


Attribute    : 속성

- 내부 내용(동그라미 표시)


Relationship : 관계

- crow's foot(마름모 모양)


관계형 데이터베이스

- 서로 다른 데이터가 엮여있거나 관계가 있는 데이터베이스



외부키(foregin key)

바깥을 가르키는(참조하는) 키.



네트워크 


MAC 주소(oui, NIC)


토폴로지(topology): Bus, Ring, Star, Mesh





스위치 

-  mac -table 과도하게 등록하면 flooding해버린다.

프로미스큐어스 모드


라우터


논리적 주소


link local

class, mask

private network IPs

- 사설 ip


10.0.0.0   ~  10.255.255.255 /8  앞에 8비트 네트워크, 뒤에는 호스트

172.16.0.0   ~ 172.32.255.255  /12 앞에 12비트 네트워크, 뒤에는 호스트

192.168.0.0  ~ 192.168.255.255/16 앞에 16비트 네트워크, 뒤에는 호스트


0000 0000

1000 0000

1100 0000



A 0.0.0.0  ~ 127.255.255.255


B 128.0.0.0 ~ 191.255.255.255


C 192.0.0.0 ~ 223.255.255.255


D 224.0.0.0 ~ 239.255.255.255


E 240.0.0.0. ~ 247.255.255.255


routing table


ARP


논리적 주소 -> 물리적 주소 (IP - > MAC)변환



TCP 3handshake

syn flooding attack


< BSD 소켓(Socket) >



네트워크 통신(nextwork programming interface)


파일 입출력과 같은 개념(Works like file I/O)


윈도우 버전은 윈속(Window version is winsock)



서버와 클라이언트


특정 IP, 특정포트뒤에서 대기.


클라이언트를 통하여 서버와 대화


특정 IP, 특정포트가 없는 경우 : 커널


port와 방화벽


불필요한 네트워크 차단


IP, 포트, 네트워크 인터페이스, 트래픽의 방향


2세대 방화벽: Stateful


*침입탐지/ 침입방지(IDS/IPS)


패킷의 데이터 검사


탐지, 탐지 후 차단


signature based/Anomaly based

- 정상적인 상태가 어떤지 미리 알려주고 그 범위를 벗어났을 때 알려줌.

- 룰이 없음. 하나하나 무조건 모두 검사. 오탐률 높음.




HIDS / NIDS

- host, network 설치방법, 구성에 따라 달라짐.



HTTP - 문서 80

FTP  - 파일 20 21

DNS  - domain name server 53

ICMP - ping, echo request/response 

SNMP - 네트워크 장비들 사이에 원격으로 관리하기 위한 메시지를 주고 받는 프로토콜. 

       cpu, memory 네트워크 상태를 알려줌.


   

   

   

   

sqllite 간단 실습

해당 경로에 sqlite3을 실행. ".exe"를 안적어도 됨.




실행하면 "sqplit>" 형태가 되며, 종료는 ".quit"가 됨. sqlite는 sql문을 제외하고 반드시 "."을 앞에 붙이고 실행.





sqlite3 two.db라고 치면 아무런 데이터가 없는 database가 생성됨.



인터넷에서 무료로 배포하는 database를 다운받아 실행하였다. 그리고 그림은 잘렸지만 "sqlite3 chinook.db"를 실행한뒤

".tables"라고 친다. 안에 뭔가가 들어있다.





"select * from palylists;"라고 치면 "playlists"라는 속성을 선택하여 그 안에 내용을 보여준다.

   

   

   

   

   

   




















posted by 송시혁