본문 바로가기

TIL/DataBase

(7)
MongoDB 개념 1. SQL vs NoSQL ? 왜 종류가 나뉠까? 과거에는 흔치 않았던 테라바이트 수준의 데이터도 현재는 꽤 흔하게 접한다 저장할 데이터가 증가함에 따라 개발자는 '데이터베이스를 어떻게 확장할 것인가'와 같은 어려운 의사 결정에 직면하게 된다. 데이터베이스의 확장은 결국 더 큰 장비로 성능 확장할지 혹은 여러 장비에 데이터를 나눠 분산 확장할지 결정해야 하는 갈림길에 서게 한다. 일반적으로 성능 확장이 더 편한 길이지만, 대형 장비는 대체로 가격이 비싸고 결국에는 더는 확장할 수 없는 물리적 한계에 부딪히고 만다. 반면에 분산 확장은 저장 공간을 늘리거나 처리량을 높이고 서버를 구매해서 클러스터에 추가하는 방법이여서 경제적이고 확장이 용이하다 MongoDB는 분산 확장을 염두에 두고 설계됐다 [ SQL..
SQLD 자격증 강의 정리 1st [ 1일차 ] 지문등록 및 교재 수령 zoom 회의 ( ID : 812 9441 8111, PW : 12345 ) Oracle 설치 (강사님 USB - Oracle 구 버전 다운로드) Sql developer tool 설치 [ DBMS 종류 ] Oracle - 금융권, 상급종합병원, 공공기관 등에서 사용하고 있는 DBMS로 고객정보, 거래정보 등의 중요한 정보를 처리 - 모든 DBMS를 Oracle로 사용하지 않는 것은 높은 구매 및 유지비용 때문이다 Sybase (SAP HANA로 변경) - Sybase IQ라는 DBMS는 데이터를 분석하기 위한 용도로 많이 사용된다 SQL Server - Oracle과 그 구조가 비슷한 측면이 있어서 Oracle 사용자는 쉽게 사용할 수 있다 MySQL - Open ..
Oracle / Sequence / View /* # 시퀀스 ​ 기본키로 사용할 수 있는 숫자를 자동으로 생성해주는 자동 번호 생성기 CREATE SEQUENCE 시퀀스명 [START WITH n] - n번으로 시작 [INCREMENT BY n] - 증가 값 [CYCLE | NOCYCLE ] - 순환 여부 [CACHE n | NOCACHE ] - 숫자 미리 생성해 놓기 || 안 해놓기 [MAX_VALUE n || NOMAXVALUE ] - 최댓값 설정 [MIN_VALUES n || NOMINVALUE] - 최솟값 설정 ​ - ALTER SEQUENCE : 시퀀스 수정 - DROP SEQUENCE : 시퀀스 삭제 */ ​ SELECT * FROM coffee; SELECT * FROM user_sequences; ​ CREATE SEQUENCE co..
Oracle / Transaction / Constraints /* # 트랜잭션 (Transaction) ​ 하나의 데이터 처리 단위 하나의 논리적인 작업이 완전하게 마무리될 때까지의 모든 절차 한 트랜잭션의 모든 절차가 정상적으로 완료되는 경우에만 변경 사항을 확정 지어야 한다 트랜잭션을 관리하기 위한 명령어로는 COMMIT, ROLLBACK, SAVEPOINT가 있다 트랜잭션의 관리 대상이 되는 것은 DML이다 (INSERT, UPDATE, DELETE) */ ​ INSERT INTO coffee (id, name, price) VALUES(1, '아메리카노', 2000); INSERT INTO coffee (price, name, id) VALUES(2000, '카페라테', 2); INSERT INTO coffee (id, name, price) VALUES(..
Oracle / CREATE TABLE / CRUD DATA /* # DML (Data Manipulation Language, 데이터 조작어) ​ - SELECT : 데이터 조회 - INSERT : 데이터 생성 (추가) - DELETE : 데이터 삭제 - UPDATE : 데이터 수정 ​ # DDL (Data Definition Language, 데이터 정의어) ​ - 테이블, 시퀀스, 뷰, 인덱스 등의 DB에서 사용하는 오브젝트 구조를 정의하는 쿼리문 - CREATE : DB 오브젝트 생성 - DROP : DB 오브젝트 삭제 - ALTER : DB 오브젝트 수정 - TRUNCATE : DB 오브젝트 완전 삭제 ​ # DCL (Data Control Language, 데이터 제어 명령어) ​ - DB 오브젝트들의 권한을 관리하거나, 데이터의 흐름을 제어한다 - G..
Oracle / ORDER_BY / JOIN / ANSI JOIN /* # ORDER BY(정렬) - 테이블을 조회할 때 원하는 칼럼 기준으로 정렬하여 조회할 수 있다. - ORDER BY 컬럼명 [ASC|DESC] - ASC : ASCENDING (오름차순) - DESC : CESCENDING (내림차순) */ ​ — 오름차순/내림차순을 설정하지 않으면 기본적으로 오름차순으로 정렬한다 SELECT * FROM employees ORDER BY first_name; SELECT * FROM employees ORDER BY first_name ASC; SELECT * FROM employees ORDER BY first_name DESC; ​ SELECT * FROM employees ORDER BY hire_date; ​ — 여러개의 정렬 기준을 적용할 수 있다 Ex..
Oracle / SELECT / WHERE / FUNCTION / GROUP_FUNCTION # 데이터베이스란? 데이터 창고 데이터를 효율적으로 저장하기 위한 데이터 저장 전문 프로그램 파일 시스템의 많은 문제점과 한계점을 극복하기 위해 만든 프로그램 (보안성, 일관성, 저장 공간 효율 등등 ) ​ # 파일 시스템의 문제점 데이터 불일치가 발생할 수 있음 Ex ) 헬스장 회원정보. txt / 수영장 회원정보.txt / PT회원 정보.txt / PT트레이너 정보.txt 여러 정보들 중 일부만 수정되어 불일치가 발생하는 경우. 다수 사용자를 위한 동시 제공이 불가능하다 중복 데이터를 필요 이상으로 많이 저장하게 될 수 있다 파일 수정 도중 시스템에 문제가 발생한 경우 안전을 보장할 수 없다 ​ # 위의 문제점들이 발생하지 않는 간단한 기능 구현에는 파일 시스템을 이용하는 것도 좋다 (ex:환경설정...