DB/Mysql

140418 Mysql

계발꿈나무 2014. 4. 18. 18:20
반응형

 - localhost 에러 : C:\data\db mongod.lock 지우면 됨


 - Data : 가공 전

   Information : 육하원칙에 의에 가공된 후 데이터


 - 알고리즘 : 다대다(수학에서의 집합) 관계 / 일정 시간 내에 해결 / 


 < 데이터베이스 >

 - Unique + Not Null = primary key (유니크하고  낫널이 불가)

 - 프라이머리키는 자동으로 인덱스로 만드는데 빈번하게 저장이 일어나면 속도가 떨어짐.



 * DBMS(DataBase Management System) -운영체제, 명령문은 SQL

 = DOS에서 dir 쓴느 것과 비슷, 내부적으로 파일로 저장함

 - 코볼로 저장하던 시절 - 띄어쓰기로 데이터 구분/파일로 저장

 - SQL문으로 대화 하는 것 (개발자:요청/DB:응답)

 - Mysql Dos -> Mysql Gui 인터페이스 이용

 - 파일저장 -> 데이터 저장으로 바뀜 동시접근은 DBMS가 알아서 해줌


 - 몽고db 같은 nosql은 update안하고 새로 넣음, index도 없음

   rdb


 * 웹서버/데이터베이스 서버


 - 웹서버란?

 = http 프로토콜 이용 -> html 문서를 서비스

 = express node app.js

 = jsp 톰캣


 - web(80) -> 웹서버(naver.com:80->211.xxx.xxx.xxx:80) -> tcp/ip(3306) -> mysql

 - 포트란 논리적인 번호 / 컴퓨터가 1대 당 1개의 일만 하면 비효율적. 포트로 할 일을 구분하는 것

 = 114 전화하면 각 서비스가 나눠져 있고 안내 받듯. (119=구급, 120=다산콜 == 80=웹, 3306=MYSQL)

 - 80번으로 가봐~ 웹서버가 있어 / 3306번으로 가봐~ DB서버가 있어~

 - 호실이 6만 5천개, OS가 각 서버로(80 혹은 3306으로) 안내 해주고 웹 서버가 응답

 - 한 명이 여러가지 일 할 수 없듯이 언어/소프트웨어 다 구분되어 있는 것

 

 - 공통점 : 사용자가 요청한 값을 응답해주는 것



 * SE (System Engineer) / DBA (DB Administrator)

 - SE : node 설치 등등

 - DBA : 테이블 기능정의


 * DB 종류

 - 1:1 관계 : 유저 정보 => 테이블1(uidx, info) - 테이블2(uidx, info)

   1:다 관계 : 댓글테이블 => 테이블1(테이블 게시물) - 테이블2(게시물1개에 대한 댓글 여러개)


   다:다 관계 : 수강 => 테이블1(학생) - 테이블3(수강/홍길동-몽고db, 홍길동-mysql) - 테이블2(과목)

   select * from 수강 where sto = '101' 홍길동 2 : 과목 2


 * DB Scan

 - Full Table scan : 책 1쪽부터 원하는 값을 찾는 것과 같음 => 3시간 걸림

 - Index : 암호화 374p => primary key, 금방 찾을 수 있음


 * DB 내장 함수

 - http://piccom.egloos.com/2866254


EX) student의 stu_name 컬럼을 '이름 ㅇㅇㅇ' 으로 컬럼명을 변경하고 남자인 회원들을 오름차순으로 출력하라.

select stu_no, stu_name '이름 ㅁㅁ', stu_ename, grade, id_num 

from student

where substring(id_num, 8, 1) = '1'

order by stu_ename asc










반응형