DB/sql 20

임베디드(= 메모리) 데이터 베이스

1. test - 임베디드 모드 db 사용 이유 test case를 실행하려고 별도의 db를 설치하고, 운영하는 것이 비효율적 단순 검증 용도로 사용하므로 test 종료시 db의 data를 모두 삭제해도 된다. 더해서 test 종료시, db 자체를 날려도 된다. 임베디드 모드 H2 db는 java로 개발 되어있고 JVM 안에서 memory 모드로 동작한느 특별한 기능 제공 app 실행할 때 H2 데이터베이스도 해당 JVM 메모리에 포함해서 함께 실행 하 수 있다. db를 app에 내장해서 함께 실행한다고 Embedded mode라고 한다. app 종료시, embedded mode로 동장하는 H2 db도 함께 종료되고 data도 모두 사라진다. = java libarary처럼 동작한다. 수동, 자동 공통 ..

DB/sql 2023.09.25

DBMS, Instance, DB, Schema, 사용자 계정

1. 용어 1.1. DBMS DBMS는 데이터베이스 관리 시스템(Database Management System)의 약자로, 데이터를 저장, 검색, 수정 및 관리하는 데 사용되는 소프트웨어 == DB + Instance 합한 db 내의 데이터에 접근할 수 있도록 해주는 소프트웨어 DBMS는 데이터베이스 시스템의 핵심 구성 요소로 데이터를 효율적으로 저장하고 조작하는 데 필요한 기능을 제공 ex) MySQL, PostgreSQL, Oracle, SQL Server 등 존재 1.2. SQL RDBMS의 데이터를 관리하기 위해 설계된 특수 목적의 프로그래밍 언어 1.3. 인스턴스 데이터베이스 서버의 실행 및 운영 환경 == DBMS 서버에서 process 와 memory 영역 하나의 물리적 또는 가상 서버에서..

DB/sql 2023.09.13

13, 14 단원 추가 내용

view sql문이다. read only 보안상의 민감정보만 빼고 보기 view를 만들어서 보기 - 보안 정보 주면 안되는 것. join한 query로 view를 만들면 view에서 join할 필요가 없다. 별게 아니다. 복잡한 query는 view로 만드는 경우가 많다. nvl 평균 계산과 sum 계산에 중요하다. nvl을 써줘야지 Null -> 0으로 인식해서 계산시 쳐준다. 평균 계산시에는 nvl!!! 꼭 계산이 필요하다. decode function : 등급 메길때 사용. 어느 값도 아닌 때 default : oracle에만 존재. aging (며칠3,6,9일에 service 몇번 종료되었는지) -report를 보여줌- case: oracle에서 추가함 피벗함수: 다차원 분석 -> 가로로 펼쳐준다..

DB/sql 2023.06.01

강성욱 님 데이터 패던 access

시중 책에 없다 공부할게 많다는 뜻 db에서 네트워크, 쿼리, 왜 빠른가? https://sungwookkang.com access pattern data structure optimal path? - 최적화 -최단거리 db base 쿼리가 빠르냐 느리냐 옵티마이저(디비의 뇌)로 참조 튜닝 포인트 - 비즈니스 얼마나 아느냐, 알고리즘가지고는 택도 없다 - ㅇ 튜닝의 목적: 일관된 성능, 꾸준히 평균이 이렇게 나온다. 그니깐 100page 100000호출이 더 효율적 디비 튜닝은 하드웨어 친화적 특히 I/o 튜닝을 잘하기 위해서 기계가 생각하는 방식으로 튜닝 해야한다. (optimisal 을 위한) table: data가 저장되는 가장 적은 공간 - heap 바이너리가 저장된 것. heap table이라고..

DB/sql 2023.05.26

sql summary

용어 1. 용어, DML 1. 용어 1.1. 테이블 명명 테이블명과 컬럼명은 반드시 문자로 시작, 최대 30자 영문자, 숫자, 특수기호(_ , $ , #)만으로 구성 동일 사용자가 생성한 다른 객체의 이름과 중복되면 안된다. 예약어 사 code-is-me.tistory.com 용어 varchar2 char number date long raw longraw where 3. where, 연산자 주의 where title != null; -- 에러 where title is not null; -- 정상 작동 1. where where 에 들어가는 것 형식 값 연산자 subquery - subqueary 블로그에서 설명 where : 해당 조건일 때만 적용되는 문법 SELECT * FROM STUDENT.S ..

DB/sql 2023.04.18

15. 고급 sql

종류 nvl decode case pivot : 보기 좋게 table 형태 rollup: 1차원 cube: 다차원 rank correlated subquery : main queary(1) -> sub queary (2) * main queary에 별명 꼭 필요 multi row 연산자 : in, not in, any, exists, not exists pseudo column : rowid, rownum(무조건 1부터) index 효율적 사용 trigger 자동 실행 프로그램 1. nvl null 값을 포함하는 컬럼을 지정된 값으로 변경하는데 사용 --nvl 사용법 SELECT nvl(name2, '0') from MYTABLE m ; --nvl2 사용법 SELECT NVL2(name, '01', '2..

DB/sql 2023.04.17

14. Object

object 종류 table, sequence, index, view, synonym, progrem unit sequence : nextval, currval 생성 insert문에서 column명에 사용 변경, 삭제 가능 index column 생성시 자동으로 rowId로 생성 user가 index 생성시, 논리적, 물리적 독립적 테이블 rowId, index column 값을 가진다. 해당 조건을 검색시 b-tree를 통해서 빠르게 탐색 사용 조건 where, join 많이 쓸 때 기본 data 값이 많고 찾는 데이터가 10~15% view method() orderby 사용 못함 dml 수행 못함 객체, 실제 값 존재 안함 자주 쓰이는 join table을 쉽게 사용할 때 생성 방법 사용 방법 sy..

DB/sql 2023.04.17

12. DDL

종류 create : 새 테이블 생성 alter 기존 테이블 변경 컬럼 추가, 수정 제약 조건 추가, 삭제, 활성화, 비활성화 drop 테이블 싹 밀어버림 truncate 기존 테이블 구조는 남기고 모든 행을 삭제 comment (실무에서 아주 중요) 테이블이나 컬럼에 주석문 달기 rename Object 이름 변경 constraint 부분이 이론적으로 만 알아서 alert constraint 부분이 부족 - 나중에 시간 될 때 한번 constraint 부분 실습 해보기 CREATE table mytable ( Id number(5), name char(5) default 'hun' ) ; DROP table mytable; -- 추가 ALTER table mytable add (title char(6)..

DB/sql 2023.04.16

11. meta 정보 - dictionary

dictionary read only로만 제공되는 view, table 집합 dictionary view total 종류 user all dba v$ ind dictionary table privileges dictionary view 종류 4가지 - 접두어 user 사용자가 소유한 객체에 관한 정보 저장 all_ 사용자에게 액세스가 허용된 객체에 관한 정보 저장 dba_ DBA 권한을 가진 사용자가 액세스 할 수 있는 정보 저장 v$ 서버의 성능과 locking에 관한 정보 저장 - DBA에게만 허용 dictionary view 종류 3가지 - 동의어 dictionary : 모든 데이터 사전 테이블, 뷰, 동의어 table_privileges : 권한을 부여했거나 부여받은 object에 대한 권한 in..

DB/sql 2023.04.16