DB 17

mongoDB설치 (몽구스 ODM 사용)

MySQL같은 SQL 데이터베이스와는 다른 유형의 데이터 NoSQL의 대표주자인 mongoDB(몽고디비) 사용 JOIN: 관계가 있는 테이블끼리 데이터를 합치는 기능(몽고디비 aggregate로 흉내 가능) 빅데이터, 메시징, 세션 관리 등(비정형 데이터)에는 몽고디비 사용하면 좋음 1. mondgoDB 설치 mongoDB 공식 사이트(https://www.mongodb.com/try/download/community) Window Next를 눌러 다음으로 넘어가다가 Complete로 모든 프로그램 기능 설치 Install MongoD as a Service 체크 해제하기 컴퍼스도 같이 설치하는 옵션에 체크하여 설치 워크벤치와 비슷한 기능을 함 윈도의 경우 C:\에 data 폴더를 만들고 그 안에 db ..

DB/NoSQL 2020.12.31

procedure

Sted Procedure Stored Procedure(저장 프로시저)란 DB내부에 저장된 일련의 SQL명령문을들 하나의 함수처럼 실행하기 위한 쿼리들의 집합이다. ​ 장점 Stored Procedure을 사용하면 반복적인 작업을 피할 수 있고, 개발언어에 비의존적이므로 개발언어가 바뀌어도 동작하는 데 있어 문제가 없다. ​ 문법 아래 형식에 맞추어 저장 프로시저를 작성한다. ​ DELIMITER $$

DB/관계형 DB 2020.12.29

mysql - CRUD 작업하기

Create, Read, Update, Delete의 두문자어 데이터베이스에서 많이 하는 작업 4가지 INSERT INTO 테이블 (컬럼명들) VALUES (값들 SELECT 컬럼 FROM 테이블명 SELECT * 은 모든 컬럼을 선택한다는 의미 컬럼만 따로 추리는 것도 가능 WHERE로 조건을 주어 선택 가능 AND로 여러가지 조건을 동시에 만족하는 것을 찾음 OR로 여러가지 조건 중 하나 이상을 만족하는 것을 찾음 ORDER BY로 특정 컬럼 값 순서대로 정렬 가능 DESC는 내림차순, ASC 오름차순 LIMIT으로 조회할 개수 제한 OFFSET으로 앞의 로우들 스킵 가능(OFFSET 2면 세 번째 것부터 찾음) 데이터베이스에 있는 데이터를 수정하는 작업 UPDATE 테이블명 SET 컬럼=새값 WHE..

DB/관계형 DB 2020.12.28

MYSQL 사용법

1. 데이터베이스 생성하기 콘솔에서 MySQL 프롬프트에 접속 CREATE SCHEMA nodejs;로 nodejs 데이터베이스 생성 use nodejs;로 생성한 데이터베이스 선택 MySQL 프롬프트에서 테이블 생성 CREATE TABLE [데이터베이스명.테이블명]으로 테이블 생성 사용자 정보를 저장하는 테이블 2. 컬럼 옵션들 id INT NOT NULL AUTO_INCREMENT -> int형 비어있으면 안됨 자동 증가 컬럼명 옆의 것들은 컬럼에 대한 옵션들 INT: 정수 자료형(FLOAT, DOUBLE은 실수) VARCHAR: 문자열 자료형, 가변 길이(CHAR은 고정 길이) TEXT: 긴 문자열은 TEXT로 별도 저장 DATETIME: 날짜 자료형 저장 TINYINT: -128에서 127까지 저..

DB/관계형 DB 2020.12.27

술어논리와 릴레이션의 연산 #1

명제란 ?? 명제란 어떤 사물에 관해 설명한 문장이 그 의미가 정확한지, 즉 참인지 거짓인지 물을 수 있는 것이다. 명제논리 어떤 명제의 참과 거짓을 알고 있을 때 다른 명제의 참과 거짓이 무엇인지 알아내는 데 특화된 학문 -> 이때 가장 중요한 것은 어떤 명제의 참과 거짓을 이용해 다른 명제의 참과 거짓을 증명할 때 중요한 것은 명제들의 참과 거짓 값뿐이며 명제가 가진 다른 의미는 아무런 영향을 끼지치 못한다. 보통 명제에서 첨과 거짓 이외의 의미를 제거하기 위해 명제를 P나 Q등의 기호로 표현한다. 연결자와 진리값 연결자는 일반적으로 논리연산이라고 불린다. P Q NOR AND OR IMP EQ NAND NOR XOR P Q ¬P P ∧ Q P ∨ Q P ⊃ Q P ≡ Q P | Q P ↓ Q P x..

DB/관계형 DB 2020.12.02

SQL에서 릴레이션 조작

1. Select Select는 RDB의 핵심이다. " 어떻게 하면 Select를 잘 쓸 수 있을까" 이 질문이 RDB를 능숙하게 다루기 위한 핵심이라고 해도 과언이 아니다. Select은 데이터를 조회하는 데 사용하는 유일한 명령이다. 유연성이 높고 다양하게 응용할 수 있다. 그만큼 미숙하게 다루면 난해해지기 쉽다. 구문 EX) SELECT 칼럼의 목록 FROM 테이블의 목록 WHERE 검색조건 이때 칼럼의 목록은 프로젝션, 테이블의 목록은 곱집합, 검색조건은 제한이다. Select은 세 개의 관계 연산을 동시해 수행하는 작업이다. 2. Insert 관계형 모델에는 갱신이라는 개념이 존재하지 않는다. 왜냐하면 릴레이션은 값이기 때문이다. 설명을 돕기 위해 예시를 넣어보겠다. int main(){ int..

DB/관계형 DB 2020.11.29

관계형 모델

관계형 모델 ( 데이터를 어떻게 표현할까 ?? ) 릴레이션 단위로 다양한 연산을 사용해 질의를 수행하는 데이터 모델 최근 KVS가 많이 사용되고 있다. -> 키와 값의 형태로 데이터를 표현하는것 Key Point 릴레이션 = 테이블 속성 = 칼럼 튜플 = 행 집합 - 물건의 모임을 표현하는 개념 (물건은 원소 or 요소라고 함) 집합의 요소 1. 어떤 요소가 집합에 포함돼 있는지 불확정한 요소 없이 판정할 수 있어야함 2. 집합의 요소가 중복돼서는 안된다. 3. 집합의 요소는 더는 분해될 수 없다. 관계형 모델과 NULL SQL에서 NULL에 대해 옮고 그름이 화제가 되지만, 관계형 모델을 올바르게 구현하려면 NULL은 배제해야 한다. 이 책의 저자와 나는 NULL을 배제할 것임 릴레이션 연산 1. 제한..

DB/관계형 DB 2020.11.28