database
-
오라클 pl/sql 프로그램과 서브 프로그램database 2019. 11. 27. 21:34
개념 PL/SQL (Procedural Language/SQL) - SQL의 확장. 프로그래밍 언어의 특성을 수용 - 절차적 단위로 프로그래밍을 가능하게 하는 트랜잭션 언어 - 모듈화된 프로그램 개발 가능 - 에러처리 가능 PL/SQL 블록 구조 (3부분) 선언부(선택) - 실행부(필수) - 예외처리부(선택) 선언부 : 참조할 모든 변수, 상수, 커서, 사용자가 정의한 예외 실행부 : 데이터 처리를 위한 SQL 문장 예외처리부 : 에러와 비정상적 수행에 대한 처리정의 블록 구조 [DECLARE] -- 선언부 BEGIN -- 실행부 [EXCEPTION] --예외처리부 END; ※ DECLARE, BEGIN, EXCEPTION 에는 세미콜론(;) 안 붙임 다른 문장은 모두 붙임 [ ]은 선택사항을 의미. 대..
-
오라클 내장함수database 2019. 10. 21. 00:56
내장함수 숫자함수 - CEIL(n) n보다 크거나 같은 정수값 반환(올림) - FLOOR(n) n보다 작거나 같은 정수값 반환(내림) - MOD(m, n) m을 n으로 나눈 나머지값 반환 - ROUND(n [,m]) n을 소수점 이하 (m+1) 자리에서 반올림 m생략시 0으로 대체 ex) round(29.163, 1) => 29.2 반환 ex) round(29.163) => 29 반환 ex) round(29.163, -1) => 30 반환 - TRUNC(n [,m]) n값을 소수점 이하 (m+1) 자리에서 자름 m생략시 0으로 대체 ex) trunc(29.163, 1) => 29.1 반환 ex) trunc(29.163) => 29 반환 ex) trunc(29.163, -1) => 20 반환 문자함수 - ..
-
데이터베이스 보안, 권한 관리database 2019. 6. 11. 00:47
데이터베이스 보안 > 권한이 없는 사용자로부터 DB를 보호 > 릴레이션 생성자는 그 릴레이션에 모든 권한을 가짐 > 릴레이션 생성시 생성자를 제외한 다른 사용자는 그 릴레이션에 접근 불가 > 생성자는 사용자마다 적절한 권한을 허용 DB 보안 유형 3가지 - 물리적 보호 : 자연재해, 시스템 손상으로부터 보호 - 권한 보호 : 접근제어. 특정 부분에 대한 특정 작업을 사용자마다 다르게 허용 - 운영 보호 : 무결성 제약조건. 사용자가 어떤 값을 입력할지 모르기 때문에 무결성과 DB 보안 차이 무결성 : 권한이 있는 사용자로부터 DB 보호 보안 : 권한이 없는 사용자로부터 DB 보호 DBMS 가 제공하는 보안 기능 2가지 - 접근제어 : 로그인 과정을 통제하기 위한 사용자 계정과 암호를 관리 - 보한및 권한..
-
DBMS - TCL, 트랜잭션, 동시성 제어 모듈, 회복 모듈database 2019. 6. 10. 23:41
트랜잭션 하나의 작업단위를 말한다 수행할 명령들을 하나의 단위로 묶은것 범위는 사용자가 트랜잭션 명령어를 통해 표기 한다. 하나의 트랜잭션은 commit되거나 rollback 되어야 함 commit : 트랜잭션 완료. 성공적인 종료. 수행한 명령어는 DB에 반영되어야 함 rollback : 트랜잭션 철회. 비성공적인 종료(DB 불일치, 일부를 성공적으로 끝내지 못함) DB 반영? 디스크 입출력은 CPU수행 속도에 비해 속도가 느리다. 여러 트랜잭션이 같은 데이터를 디스크에서 참조하고 갱신한다면 연산을 디스크에서 계속 입출력 하지않고, 한번 주기억 장치에 읽고 주기억장치 버퍼 내에서 데이터를 유지하다가 트랜잭션이 모두 완료될때 디스크에 기록한다. MS-SQL 트랜잭션 명령어 - 트랜잭션 시작 BEGIN T..
-
nodejs에서 mongoose로 mongDB 다루기database 2019. 5. 30. 22:32
mongDB NoSQL DB 중 하나 NoSQL=관계형 데이터베이스가 아님. 기존 SQL 표준을 사용하지않음 mongDB는 자바스립트로 DB제어가능 RDBMS와 용어 차이 RDBMS / mongDB 시스템단위 => Cluster 데이터베이스 => Collection 릴레이션(테이블) => Model 튜플(행) => Document mongoDB atlas mongoose mongoose 객체 가져오기 const mongoose = require('mongoose'); 연결 URL mongodb+srv://DB유저이름:유저비밀번호@DB주소:포트주소/데이터베이스이름 포트주소 기본값 : 27017 데이터베이스 연결 mongoose.connect( url,//mongDB 연결주소 option,//객체로전달 ca..
-
데이터베이스database - 인덱스index란database 2019. 5. 11. 08:01
파일에 대한 접근이 순차접근만 한다면 어떤 종류의 인덱스도 불필요 엔트리들을 탐색키 값의 오름차순으로 정렬된다. 인덱스는 DBMS가 파일 내의 특정 레코드를 빠르게 찾기위한 데이터 구조이다. 인덱스를 통해 질의를 수행하면 응답시간이 향상된다. 데이터베이스 응용에서는 디스크의 입출력이 많은 시간이 소요된다. 이를 줄여 성능을 향상시킬 수 있다. 인덱스는 임의접근을 필요로 하는 응용에 적합하다. 데이터파일과는 별도의 파일에 저장된다. 탐색키에 해당하는 일부 애트리뷰트만 인덱스에 포함되기때문에 인덱스의 크기는 데이터 파일의 크기에 비해 훨씬 작다. 하나의 파일에 여러 개의 인덱스를 정의할 수 있다. 인덱스가 정의된 필드를 탐색키라고 부른다. 탐색키의 값은 후보키 값처럼 반드시 고유하지 않다. 후보키와달리 두개..
-
물리적 데이터베이스 설계 (인덱스)database 2019. 5. 9. 05:03
논리적인 설계의 데이터 구조를 장치상의 파일(물리적인 데이터 모델)로 사상(mapping)함 예상빈도, DB 질의, 트랜잭션 분석 조인연산의 속도 향상, 빈번하게 사용하는 애트리뷰트에 중점 데이터에대한 효율적인 접근을지원하기 위해 저장구조와 접근방식을 다룸 물리적 DB설게는 DBMS의 특성을 고려하여 진행 질의를 효율적으로 지원하기 위해선 인덱스구조를 사용 너무적은 인덱스정의 : 검색 연산이 효율적으로 지원되지 않음 너무많은 인덱스정의 : DB갱신시 시간이 많이 걸림 대부분의 경우 논리적 설계가 바로 물리적 설계로 사상됨 사용패턴에 대한 정보를 추가로 알게됨에 따라 시스템 성능을 추가로 향상가능 DBMS가 ANSI/SPARC 모델을 잘 따르면 물리적 변화가 논리적 설계 변화에 영향을 주지 않음(물리적데이..