안녕세계
[ Node.js 과정을 진행하면서 우리가 만들 서비스는? 전자상거래 서비스 ]* 인증(Authentication)- FB, Twitter, Google을 이용한 인증 서비스가 있다.- 즉, OAuth 인증 서비스 (보안성↑, 편의성↑) 장바구니 → 주문 → 결제 (↔ PG : payment gateway와 계약을 체결해야 함) → | 배송 (↔ 물류사와 체결) [ Node.js ]1) 자바스크립트 기반2) 이벤트기반3) 비동기식 - 동기A 실행 - A 결과 - B 실행 - B 결과실행이 끝나고 다음 실행 - 비동기A 실행 - B 실행 - (B 결과) - (A 결과)실행결과가 끝날때까지 기다리지 않는다 [ Node.js에서의 error 처리]fs.readFile('textfile.txt', 'utf-8'..
[공개강의]www.coursera.org Muti-Value는 Entity로 재 구성 한다. 역정규화를 위해 코드 Table을 구성한다. → 정교한 Table 설계가 필요 함 [테이블] [최종 구조] [랜덤 정렬]SELECT id FROM customer ORDER BY rand() limit 1;
* Join- join은 PK와 FK 사이에서 하는 것- join 은 속도 느려지게 하므로 속도를 높히기 위해서는 index- primary 는 기본적으로 index 생성 됨.- foreign key는 강제적으로 index를 만들어 줘야함 [ TEST1 ] * count()- 인자가 하나밖에 안들어감- distinct 를 이용해서 하나의 컬럼으로 만들어 주는 것 (ex) count(distinct menu_order_id, branch_menu_id) [ TEST2 ] [ TEST3 ] [ TEST4 ] [ 역정규화 ]
[ 실습 파일 ] * 역정규화(denormalization)- 분해 되어있는걸 다시 합치는것- 전략 : 컬럼 중복 ALTER TABLE menu_orderADD COLUMN branch_id INT AFTER order_dtime; CREATE INDEX fk_menu_order_branch1_idx ON menu_order(branch_id); create table menu_exasselect *from menu; select * from menu_ex; select name, price, price * 1.05from menu_ex; update menu_exset price = price * 1.05; ※ Safe Updates 설정 [ SQL 실습 ] [각 월 별, 지점 별 저가(10000원 미..
[ 실습파일 ] - distinct : 결과 행에 대해서 중복값을 제거하기 위해 사용한다.- inline query : alias 지정을 해준다.- limit : 출력할 쿼리의 수를 지정해 준다. 첫번째 페이지 0, 5두번째 페이지 5, 5세번째 페이지 10, 5네번째 페이지 15, 5 ㄴrow count 고정 rowcnt * ( page - 1 ) - order by desc를 하면 제일 큰 값을 활용하면 top 10을 알 수 있다. -> 음원, 게시판 등에 활용 - union VS union allunion : only distinct values (구별된 값들만, 중복제거. union distinct 의 줄임말. union distinct 라고 쓰는게 정석)union all : duplicate v..
[ 실습파일 ] * last_insert_id()- 마지막 insert id를 알아낼 수 있다. * flow of control (제어의 흐름)- conditional statement 조건문- loop statement 반복문 * Stored Procedure- SQL + 3GL(Third Generation Language, e.g, C, C++, JAVA, Fortran)1) Stored Procedure2) Stored Function3) Stored Trigger ... * Dummy 데이터를 만드는 방법1) insert 문 반복2) tool 이용3) store procedure 이용4) 개발 언어 + SQL * import data- db -> table 오른쪽 클릭 -> import wiza..
* Meta Data : 데이터의 데이터* 열(Column) : 공통적인 데이터 특성 (길이, 타입, NULL 허용 유/무 등)* 행(Row) : PK를 이용해 식별 (+) 클릭 Edit Schema ※ Collation : 문자 set 결정하는 것임 Add Diagram 물리 : 실제 데이터 베이스 반영DB에서 메타데이터 대/소문자구분하지 않음 (short key)press T : 테이블 만들기 INT1, INT2 .. : INT의 자리수 cdtime, udtime 컬럼[DATETIME]을 만들어서 최초 만들어진 시간, 최종 수정시간을 입력해 둬서 나중에 확인할 수 있도록 한다 SELECT [컬럼 목록] FROM [테이블 목록] WHERE [논리 표현식] → TRUE / FALSE 중에서, TRUE인 ..
요구사항 명세서를 구조적 문장으로 써야한다. [ISA 관계]상위 IS A 하위상위 엔티티와 하위 엔티티가 1:1 ISA 관계를 가지면 상위 엔티티의 기본키를 하위 릴레이션에 외래키로 추가함으로써 관계 표현 ※ 주의 이력은 약엔티티에 가능성이 크다. 강 엔터티가 없으면 약 엔터티가 없다일반화는 강/약엔터티를 쓰지 않음, 1:1 관계는 1:1을 표시하지 않음 일반화는 다 1:1임 /** 보험회사시스템 **/ 1. 고객은 하나 이상의 자동차를 보유 (1:N 관계)2. 고객은 회사원과 자유업자로 분류 (일반화 / ISA 관계)3. 자동차마다 사고기록들을 유지한다.4. 고기록에는 여러 자동차들이 관여할 수 있다. (N:M 관계)[1:N관계는 중복처리를 못한다. 가해/피해 차량 구분을 못함, 1:N 관계에서는 약티..