분류 전체보기 (894) 썸네일형 리스트형 [혼공] 5-3장 가상의 테이블 뷰 1. 뷰의 개념 - 뷰의 실체는 SELECT문으로 만들어져 있기 때문에 뷰에 접근한느 순간 SELECT가 실행되고 그 결과가 화면에 출력 - 단순 뷰 : 하나의 테이블로 만든 뷰 - 복합 뷰 : 두 개 이상의 테이블로 만든 뷰 - 형식 CREATE VIEW 뷰_이름 AS SELECT문; - 뷰에 접근하는 방식은 테이블과 동일한 SELECT문 ex) 회원 테이블의 아이디, 이름, 주소에 접근하는 뷰 USE market_db; CREATE VIEW v_member AS SELECT mem_id,mem_name,addr FROM member; SELECT * FROM v_member; 2. 뷰를 사용하는 이유 1) 보안(security)에 도움이 됨 2) 복잡한 SQL을 단순하게 만듬 3. 뷰의 실제 작동 1.. [혼공] 5-2장 테이블 제약조건 제약 조건(constraint) - 데이터의 무결성을 지키기 위해 제한하는 조건 1. 기본 키 제약 조건 기본키(Primary Key) - 데이터를 구분할 수 있는 식별자 - ex) 회원 테이블의 아이디, 학생 테이블의 학번, 직원 테이블의 사번 - 중복될 수 없음 - NULL 값 입력 불가 - 기본 키로 생성한 것은 자동으로 클러스터형 인덱스가 생성 - 테이블은 기본 키를 1개만 가질 수 있음 1) CREATE TABLE에서 기본 키 설정 CREATE TALBE member ( mem_id CHAR(8) NOT NULL PRIMARY KEY, ... ); - 회원 아이디(mem_id)는 회원 테이블(member)의 기본키 2) ALTER TABLE에서 기본 키 설정 DROP TABLE IF EXISTS.. [혼공] 4-3장 SQL 프로그래밍 스토어드 프로시저 - MySQL에서 프로그래밍 기능이 필요할 때 사용하는 데이터베이스 개체 DELIMITER $$ CREATE PROCEDURE 스토어드_프로시저_이름() BEGIN 이 부분에 SQL 프로그래밍 코딩 END $$ -- 스토어드 프로시저 종료 DELIMITER; -- 종료 문자를 다시 세미콜론으로 변경 CALL 스토어드_프로시저_이름(); -- 스토어드 프로시저 실행 1. IF 문 - 기본 형식 IF THEN SQL 문장들 END IF; - SQL 문장이 두 문장 이상이 처리되어야 할 때는 BEGIN ~ END로 묶어줘야 함 ex) DROP PROCEDURE IF EXISTS ifProc1; -- 기존에 ifPro1을 만든적이 있다면 삭제 DELIMITER // CREATE PROCEDUR.. [Deep dive] 22장 this 22.1 this 키워드 this - 자신이 속한 객체 또는 자신이 생성할 인스턴스를 가리키는 자기 참조 변수 (self-referencing variable) - this를 통해 자신이 속한 객체 또는 자신이 생성할 인스턴스의 프로퍼티나 메서드를 참조할 수 있음 - this는 코드 어디에서든 참조 가능 this 바인딩 - this와 this가 가리킬 객체를 바인딩 (식별자와 값을 연결) 22.2 함수 호출 방식과 this 바인딩 - this 바인딩은 함수가 호출되는 방식에 따라 this 바인딩이 동적으로 결정 함수 호출 방식 this 바인딩 일반 함수 호출 전역 객체 메서드 호출 메서드를 호출한 객체 생성자 함수 호출 생성자 함수가 (미래에)생성할 인스턴스 Function.prototype.apply/.. [Deep dive] 21장 빌트인 객체 21.1 자바스크립트 객체의 분류 1) 표준 빌트인 객체 (standard built-in objects) - ECMAScript 사양에 정의된 객체 - 애플리케이션 전역의 공통 기능 제공 - 자바스크립트 실행 환경과 관계없이 언제나 사용 가능 - 표준 빌트인 객체는 전역 객체의 프로퍼티로서 제공 2) 호스트 객체 (host object) - ECMAScript 사양에 정의되어 있지 않지만 자바스크립트 실행환경(브라우저, Node.js)에서 추가로 제공되는 객체 - 브라우저 환경에서는 클라이언트 사이드 web API를 호스트 객체로 제공 - Node.js 환경에서는 Node.js 고유의 API를 호스트 객체로 제공 3) 사용자 정의 객체 (user-defined objects) - 사용자가 직접 정의한 .. [Deep dive] 20장 strict mode 20.1 strict mode란? 암묵적 전역(implicit global) - foo 함수 내에서 선언하지 않은 변수에 10을 할당 - 자바스크립트 엔진은 x 변수가 어디서 선언되었는지 스코프 체인을 통해 검색 - 전역 스코프에도 x변수의 선언이 존재하지 않기 때문에 자바스크립트 엔진은 암묵적으로 전역객체에 x 프로퍼티를 동적 생성 - 전역 객체의 x 프로퍼티는 마치 전역 변수처럼 사용 가능 function foo() { x = 10; } foo(); console.log(x); //10 strict mode ( 엄격 모드) - 자바스크립트 언어의 문법을 좀 더 엄격히 적용하여 오류를 발생시킬 가능성이 높거나 자바스크립테 엔진의 최적화 작업에 문제를 일으킬 수 있는 코드에 대해 명시적인 에러 발생시킴 .. [Deep dive] 19장 프로토타입 (3) 19.12 정적 프로퍼티/메서드 정적 프로퍼티/메서드 (static) - 생성자 함수로 인스턴스를 생성하지 않아도 참조/호출할 수 있는 프로퍼티/메서드 - 생성자 함수 객체가 소유한 프로퍼티/메서드 - 생성자 함수가 생성한 인스턴스로 참조/호출할 수 없다 - 생성자 함수가 생성한 인스턴스는 자신의 프로토타입 체인에 속한 객체의 프로퍼티/메서드에 접근할 수 있다 - 정적 프로퍼티/메서드는 인스턴스의 프로토타입 체인에 속한 객체의 프로퍼티/메서드가 아니므로 인스턴스에 접근 불가 //생성자 함수 function Person(name) { this.name = name; } //프로토타입 메서드 Person.prototype.sayHello = function() { console.log(`Hi! My name.. [Deep dive] 19장 프로토타입(2) 19.6 객체 생성 방식과 프로토타입의 결정 - 프로토타입은 추상연산 OrdinarayObjectCreate에 전달되는 인수에의해 결정 19.6.1 객체 리터럴에 의해 생성된 객체의 프로토타입 - 겍체 리터럴 내부에 프로퍼티 추가 - 자바스크립트 엔진은 객체 리터럴을 평가하여 객체를 생성할 떄 추상 연산 OrdinaryObjectCreat를 호출 - 객체 리터럴에 의해 생성되는 객체의 프로토타입은 Object.prototype이며 Object.prototype을 상속받음 const obj = {x:1}; //객체 리터럴에 의해 생성된 obj 객체는 Object.prototype을 상속받음 console.log(obj.constructor === Object); //true console.log(obj.h.. 이전 1 ··· 78 79 80 81 82 83 84 ··· 112 다음