[데이터베이스] #10 오라클 실습 II
·
전공/데이터베이스
목차LOB 데이터 타임집합 연산dual 테이블문자열 처리 함수숫자형 처리 함수날짜형 처리 함수형 변환 함수뷰순환 질의시스템 및 객체 권한동의어트리거 구문 1. LOB 데이터 타입LOB 타입은 대용량 데이터를 저장/관리하기 위하여 사용BLOBCLOBNCLOBBFILEBFILE을 제외한 다른 데이터 타입은 트랜잭션 성질 지원트랜잭션 commit/rollback에 의한 UNDO/REDO 기능을 DBMS가 자체적으로 수행2. 집합 연산오라클 시스템은 union all만 지원intersect all, minis all 지원 x3. dual 테이블속성이 하나이며 터플이 하나인 sys 소유의 테이블4. 문자열 처리 함수Select sID, name, deptNamefrom studentwhere lower(name)..
[데이터베이스] #9 데이터베이스 주요 기능
·
전공/데이터베이스
목차뷰무결성제약트리거권한순환 질의 1. 뷰특정 사용자로부터 특정 속성을 숨기는 기능 → 데이터 보호, 편리성1. 정의create view 문장으로 정의Create view myProfessor asselect pID, name, deptNamefrom professor뷰 테이블은 터플을 저장하는 것이 아님가상 관계 (↔ 베이스 관계)데이터베이스 시스템이 뷰 정의를 활용하여 질의문을 처리뷰 정의베이스 테이블 사용 가능다른 뷰 사용 가능새로운 뷰를 정의할 때 자신의 뷰 사용 → 순환뷰recursive view비순환뷰와 다르게 처리2. 뷰 확장뷰에 대한 질의뷰 정의로 치환뷰가 아닌 베이스 테이블에 대한 질의문으로 바꿈뷰에 대한 변경 연산은 베이스 테이블에 대한 변경 연산으로 변환됨뷰에는 없으며 베이스 테이블에..
[데이터베이스] #8 SQL V (랭킹, 기타 기능)
·
전공/데이터베이스
목차랭킹랭킹널 값 랭크파티션 랭킹다른 랭킹 함수기타 기능기존 스키마/데이터 재활용대용량 객체 타입내장 날짜 타입사용자 정의 타입도메인트랜잭션색인(index)1. 랭킹상위 또는 하위 몇 개(또는 퍼센트)만의 터플을 반환1. 랭킹Select ID, rank() over (order by GPA desc) as sRankfrom studentGrades;랭크만 부여Select ID, rank() over (order by GPA desc) as sRankfrom studentGradesorder by sRank;랭크 부여 후 랭크 순으로 정렬(GPA는 평균 학점)rank(), dense_rank()100점, 100점, 80점, 80점, 60점의 데이터가 있을 때,rank(): 중복 값 상관 없이 개별적인 터플..
[데이터베이스] #7 SQL IV (중첩 서브질의)
·
전공/데이터베이스
목차IN 연산자비교 연산자상관 서브질의exists 구성요소 for allunique 구성요소from 절 서브질의lateral 절with 절Scalar 서브질의1. IN 연산자단일 값이 다수 값에 속하는가를 검사값이 하나가 아니고 여러 개로 구성되는 형태도 in 연산 적용 가능Select name, salaryfrom professorwhere pID in (10, 21, 22);pID 값으로 10, 21, 22 중 하나를 가지는 professor의 정보 반환Select distinct cIDfrom teacheswhere semester = 'Fall' and year = 2009 andcID not in ( select cID from teaches where semester = 'Spring' an..
[백준][JAVA] 1662번 - 압축
·
백준/Java
https://www.acmicpc.net/problem/1662풀이'(' 기호가 나올 때마다 대응하는 ')' 기호가 나올 때까지 함수를 호출하고 사이의 길이를 구한다() 중간에 다른 괄호가 있는 경우 안쪽 괄호의 길이를 먼저 계산하여 리턴하면 바깥쪽 괄호의 Q 길이를 구할 수 있다 압축 부분 K(Q)의 Q의 길이를 구하는 것이 관건인 문제인 것 같다. 문제를 처음 봤을 때 stack를 생각했고 (, )를 사이 문자의 개수를 세어 Q의 길이를 계산하는 방식의 풀이 방법을 생각했으나 K(K(Q))와 같은 형태에서 바깥쪽 K(Q)의 Q의 길이를 구하는 데에 어려움이 있었다. 조금 더 생각해 보니 재귀함수를 호출해서 Q의 길이를 구하는 방법으로 문제를 해결할 수 있었다.답import java.io.*;imp..
[백준][Java] 2304번 - 창고 다각형
·
백준
https://www.acmicpc.net/problem/2304풀이입력받은 기둥 x 좌표 순서로 정렬다각형을 y축과 평행하게 3등분으로 분할 (왼쪽, 오른쪽, 중간)중간은 다각형의 최대 높이인 부분으로 지정함왼쪽과 오른쪽의 넓이를 구함왼쪽과 오른쪽을 구하면서 자연스럽게 중간 부분의 양쪽(오른쪽, 왼쪽) 기둥을 구할 수 있음중간 부분 넓이까지 구하여 세 부분의 넓이를 더한 최종 넓이를 구함다각형의 왼쪽과 오른쪽이 계단식으로 높다진다는 점을 생각하면 쉽게 풀 수 있는 문제이다. 처음에는 왼쪽과 오른쪽 두 개의 그룹으로 다각형을 나누어 구하는 방법으로 문제를 해결하려는 방식으로 잘못 접근해서 생각보다 시간이 걸렸다.답import java.io.*;import java.util.StringTokenizer;..
[데이터베이스] #1~6 정리 (데이터베이스 소개 ~ 조인 테이블)
·
전공/데이터베이스
목차데이터베이스 소개데이터베이스 시스템 이점데이터 추상화 및 데이터 모델데이터베이스 시스템관계형 데이터 모델관계형 데이터 모델SQL I데이터베이스 언어DDL SQLDML SQLSQL IISelect널 값오라클 실습 (개념)DBA가 사용자 생성하기첫 DB 만들기SQL III집계 함수조인 테이블 1. 데이터베이스 소개1. 데이터베이스 시스템 이점데이터 추상화 제공데이터 접근의 용이성 제공데이터 중복 및 불일치성에 대한 제어 용이데이터 무결성 제약조건 유지 용이갱신 원자성 제공다수 사용자 동시성 제어데이터 보호데이터 백업 및 회복2. 데이터 추상화 및 데이터 모델인스턴스 = 데이터의 값(객체, 값)스키마 = 데이터의 구조📌 3단계 데이터 추상화물리적 스키마논리적 스키마뷰 스키마📌 데이터 독립성물리적 데이터..
[데이터베이스] #6 SQL III (집계 함수, 조인 테이블)
·
전공/데이터베이스
목차집계 함수count 절group by 절having 절널 값과 집계 함수조인 테이블외부 조인조인 조건조인 예제1. 집계 함수avg, min, max, sum, count평균값, 최솟값, 최댓값, 값의 합, 개수count 절Select count(*) from studentcount(*) 테이블의 터플 개수Select count(**distinct** gender) from student유일한 값의 개수를 반환Male, Female만 있으므로 결과는 2group by 절Select deptName, avg(salary)from professorgroup by daptName;daptName 속성 값으로 그룹을 나눈 후각 그룹에 대하여 salary 속성의 평균값을 구하는 질의어group by 절을 사용할..
[데이터베이스] #5 오라클 실습 (개념)
·
전공/데이터베이스
목차 설치 오라클 프로세스 연결과 세션 DBA가 사용자 생성하기 첫 DB 만들기 테이블 만들기 손쉬운 명령어 외래키와 데이터 입력 Oracle SQLs 데이터 사전 시퀀스 데이터 타입 1. 설치 오라클 프로세스 내부적으로 다수 개의 프로세스를 이용 서버 프로세스: 클라이언트 프로세스 요구사항 처리 연결과 세션 local 연결: ID, 암호 필요 원격 연결: ID, 암호, 호스트 이름, (+포트번호) 필요 포트 번호 default 값은 1521 DBA가 사용자 생성하기 오라클을 사용하기 위해 첫 번째로 DBA로 시스템에 접속하여 사용자를 생성 + 권한 부여 사용자 C##hodori, 암호 tooshytotell 생성 사용자 계정은 항상 C##으로 시작 Create user C##hodori identifi..
[데이터베이스] #4 SQL II (SELECT, NULL 값)
·
전공/데이터베이스
목차 Selectselect 절where 절from 절실행 모델조인자연 조인재명명 연산스트링 연산order by 집합 연산Null 값+) 연습문제1. Select주어진 조건에 적합한 데이터를 검색하여 반환6개의 절을 가질 수 있음select 절과 from 절은 생략 불가능나머지 절들은 반드시 위의 순서를 지켜야 함select A1, A2, …, Anfrom R1, R2, …, Rnwhere Pgroup by having order by select 문장의 결과는 관계이며 select 문장은 절의 구성요소로 나올 수 있음 (중첩 가능)select 절관계 대수의 투영 연산(Π)select 절은 질의 결과에서 사용자가 보고 싶은 속성 리스트를 가짐select 절에서는 DB 시스템이 제공하는 각종 함수 사용 가..