[SQL] VIEW의 개념 / 장단점 / 사용법
·
데이터베이스
VIEW란 무엇인가?VIEW(뷰)는 하나 이상의 테이블을 기반으로 한 가상의 테이블 입니다. 실제 데이터를 저장하지 않고 정의된 쿼리의 결과를 보여주는 역할을 합니다.특징가상 테이블: 실제 데이터를 저장하지 않고, 쿼리 결과를 동적으로 생성합니다.데이터 추상화: 복잡한 데이터 구조를 단순화해 사용자에게 필요한 정보만 제공할 수 있습니다.재사용성: 자주 사용하는 쿼리를 VIEW로 정의하여 여러 번 재사용할 수 있습니다.VIEW의 장점복잡한 조인이나 조건을 VIEW로 정의하여 간단한 `SELECT` 문으로 데이터를 조회할 수 있습니다. (복잡한 쿼리 단순화)사용자에게 필요한 정보만 노출해 민감한 데이터 보안을 강화할 수 있습니다.동일한 VIEW를 여러 곳에서 사용해 데이터 조회의 일관성을 유지할 수 있습니다..
[데이터베이스] DDL, DML, DCL이 뭘까?
·
데이터베이스
DML (Data Manipulation Language)DML이란 데이터 조작어라고도 합니다. DML 명령어는 `SELECT`, `INSERT`, `UPDATE`, `DELTE` 가 있습니다SELECT데이터를 조회할 때 사용하는 명령어입니다.SELECT 컬럼1, 컬럼2, ...FROM 테이블명WHERE 조건;예시:SELECT name, ageFROM studentsWHERE grade = 'A'; INSERT데이터를 테이블에 삽일할 때 사용하는 명령어입니다.INSERT INTO 테이블명 (컬럼1, 컬럼2, ...)VALUES (값1, 값2, ...);다른 테이블 데이터를 삽입INSERT INTO 저장될_테이블명 (컬럼1, 컬럼2, ...)SELECT 컬럼1, 컬럼2, ...FROM 가져올_테이블명WHE..
[모던 자바스크립트 Deep Dive] 09장 - 타입 변환과 단축 평가
·
Javascript
타입 변환이란?타입 변환이란 기존 원시 값을 사용해 다른 타입의 새로운 원시 값을 생성하는 것입니다. 개발자가 의도적으로 값의 타입을 변환하는 것을 명시적 타입 변환 또는 타입 캐스팅이라고 합니다. 개발자의 의도와는 상관 없이 표현식을 평가하는 도중에 자바스크립트 엔진에 의해 암묵적으로 타입이 자동 변환하는것을 암묵적 타입 변환 또는 타입 강제 변환이라 합니다.var x = 10;var str = x + '';console.log(typeof str, str); // string 10// x 변수의 값이 변경된것은 아닙니다.console.log(typeof x, x); // number 10 암묵적 타입 변환암묵적 타입 변환이 발생하면 문자열, 숫자, 불리언과 같은 원시 타입 중 하나로 타입을 자동 변환..
[모던 자바스크립트 Deep Dive] 08장 - 제어문
·
Javascript
제어문제어문은 조건에 따라 코드 블록을 실행(조건문)하거나 반복 실행(반복문)할 때 사용합니다. 제어문을 사용하면 코드의 실행 흐름을 인위적으로 제어할 수 있습니다. 제어문은 코드의 실행 순서를 변경 시킬 수 있기 때문에 직관적인 코드의 흐름을 혼란스럽게 만들 수 있어 가독성을 해칠 수 있다는 단점이 있습니다. 블록문블록문은 0개 이상의 문을 중괄호로 묶은 것으로, 코드 블록 또는 블록이라고 부릅니다. 자바스크립트는 블록문을 하나의 실행 단위로 취급합니다. 블록문은 언제나 문의 종료를 의미하는 종결성을 갖지 때문에 블록문의 끝에는 세미콜론(`;`)을 붙이지 않습니다. 조건문조건문은 주어진 조건식의 평가 결과에 따라 코드 블록(블록문)의 실행을 결정한빈다.if ... else 문주어진 조건식의 평가 결과(..
[Node.js 교과서] 섹션 6 - 익스프레스 웹 서버 만들기
·
Node.js
익스프레스 프로젝트 시작하기// 1. 모듈 가져오기const express = require("express");const path = require("path");// 2. 앱 설정const app = express();app.set("port", process.env.PORT || 3000);// 3. 라우트 설정app.get("/", (req, res) => { // res.send("Hello, Express"); res.sendFile(path.join(__dirname, "/index.html"));});// 4. 서버 시작app.listen(app.get("port"), () => { console.log(app.get("port"), "번 포트에서 대기 중");}); 모듈 가져오기:e..
[데이터베이스] 관계 데이터베이스 모델
·
데이터베이스
릴레이션의 개념스키마: 릴레이션에 어떤 정보가 담길지 정의된 헤더속성: 각 열을 뜻 함. 릴레이션 스키마의 열을 말함도메인: 속성이 가질 수 있는 값의 집합차수: 속성의 개수인스턴스: 스키마에 실제로 저장된 데이터의 집합투플: 릴레이션에서 한 행을 말함카디날리티: 투플 의 수관계 데이터베이스 스키마는 여러 릴레이션 스키마들의 집합으로 구성된다. 투플이 가지는 속성의 개수는 릴레이션 스키마의 차수와 동일하고, 릴레이션 내의 모든 투플들은 서로 중복되지 않아야 한다.릴레이션의 특징속성은 단일 값을 가진다.속성은 서로 다른 이름을 가진다.한 속성의 값은 모두 같은 도메인 값을 가진다.속성의 순서는 상관없다.릴레이션 내의 중복된 투플은 허용하지 않는다.투플의 순서는 상관없다.각 속성의 값은 도메인에 정의된 값만..
[데이터베이스] 3단계 데이터베이스 구조란?
·
데이터베이스
3단계 데이터베이스 구조데이터베이스는 보는 관점에서 세단계로 분리할 수 있다. 이렇게 개념적으로 3단계로 분리한 구조를 3단계 데이터베이스 구조(3-layer database architecture)라고 부른다.3단계 데이터베이스 구조는 외부 스키마, 개념 스키마, 내부 스키마로 나뉜다.스키마(schema)는 조직이나 구조를 의미한다.외부 스키마일반 사용자나 응용 프로그래머가 접근하는 계층이다. 전체 데이터 베이스 중에서 하나의 논리적인 부분을 의미한다.여러 개의 외부 스키마(external schema)가 있을 수 있다.서브 스키마(sub schema)라고도 하며, 뷰(view)의 개념이다.개념 스키마전체 데이터베이스의 정의를 의미한다.통합 조직별로 하나만 존재하며 데이터베이스 관리자(DBA)가 관리한..
[데이터베이스] 데이터 모델이란?
·
데이터베이스
데이터 모델은 데이터베이스 시스템에서 데이터를 저장하는 이론적인 방법으로 데이터베이스에 데이터가 어떻게 구조화되어 저장되는지를 결정한다.데이터 모델 종류계층 데이터 모델네트워크 데이터 모델객체 데이터 모델객체-관계 데이터 모델데이터 모델을 구분하는 가장 큰 기준은 데이터들 간에 관계를 표현하는 방법이다.위 그림과 같은 테이블이 있을 때 학생이 강좌를 수강한다는 학생-강좌 관계를 표현해야하는데 이를 표현하는 방법은 다음과 같이 세 가지가 있다.관계 표현 방법1. 포인터 사용계층 데이터 모델, 네트워크 데이터 모델에서 사용한다.포인터로 데이터를 직접 찾아가 속도는 빠르지만 개발 속도는 느리다.2. 속성 값 사용관계 데이터 모델에서 사용한다.포인터를 사용하는 방법보다 속도는 느리지만 개발이 빠르다.3. 객체식..