본문 바로가기

전체글

(354)
DB 연결된 Java에서 변수, 배열, 객체, 객체배열에 Data담아서 출력하기 + 맴버 변수에 직접 접근하지 않는 것 까지 수정해봄. con stmt rs 데이터베이스 자료들을 자바에서 아래의 4가지로 담을 수 있다. 4가지에 담아서 DB에서 자바로 가져오는 방법 4가지! 1. 변수 2. 배열 3. 객체 4. 객체배열 자바의 구성요소 중에서 클래스안에 아래 4가지 들어가지요. 1. member variable 2. constructor 3. method 4. Inner class 아래 예제는 1. 변수, 2. 배열, 3. 객체, 4. 객체배열 방법으로 Book table과 1. 변수, 4. 객체배열 방법으로 Customer table 을 가져와서 출력해보았어요! BookList class package booklist; import java.sql.Connection; import java.sql.DriverManager; import..
자바랑 DB연동 jar = zip jar 묶어주는 역할 ojdbc.jar 컴퓨터 윈도우 깔고 드라이버 설치한다 할 때 드라이버 : os -window 10 , 메모리 할당, 장치들 관장, 하드웨어 관리 하드웨어 -H/W-GPU(그래픽카드) DB(오라클) 운영체제에게 하드웨어있는거 알려주기 위해서 드라이버 설치해야 함. 이것처럼 DB + Java application 사용하기 위해서 자바한테 DB를 알려주면서 사용법, DB가 자바와 호환 등등을 위해서 제공하는 것 오라클 홈페이지에서 제공해준다~! ojdbc.jar 드라이버가 필요하다! 자바에서 하는 일 3가지 1. Connection(연결) 2. ResultSet(질의문) ex)select, insert... 3. Reasult Set(결과 집합 응답) 자바에서 clas..
SQL 내장 함수 숫자, 문자, 날짜, 시간 매직박스 함수 - 파이썬, 자바스크립트 FUNCTION - JAVA METHOD - OOP FUNCTION - 반환(RETURN)값이 있다. PROCEDURE - 반환(RETURN)값이 없다. 외부 함수 : 내가 만든 함수 내부 함수 : 만들어진거 함수니까 잘 사용하기 숫자함수보다 문자함수 더 쓰임. 날짜를 VARCHAR2타입 말고 DATE타입을 꼭 사용해야 하는 이유는 예를 들어 3월 31일 하루 더하면 4월 1일이 되어야하는데 VARCHAR2타입으로 하면 3월 32일이 된다. 그럼 할일이 많아지기 때문에 꼭 DATE 타입으로 해야한다!! --4장 1-3 SELECT CUSTID "고객번호", ROUND(AVG(SALEPRICE))"평균금액" FROM ORDERS GROUP BY CUSTID; --4-..
관계 데이터 모델 스키마 : 튜플 : 레코드, 카디널리티 컬럼 : 차수, 디그리, 속성(ATRIBUTE) 인스턴스 : 객체 도메인 - 값에 남여만 들어갈 수 있다거나 100이상만 들어갈 수 있거나 스키마 : 넓은 의미의 스키마 객체의 명세 한 컬럼에 한 어트리뷰트에 한가지만 적는 것을 지향 제약조건 (CONSTRAINS) 무결성 키라는 것은 유일해야된다. 복합키(COMPOSITE KEY) 슈퍼키 : 기본키가 될 수 있는 전부 다 후보키 : 기본키 빼고 대리키 : 인조키 예)ROWNUM 대체키 : 기본키로 선정되지 않은 후보키 외례키 : 자기 자신의 기본키를 참조하여 외례키도 가능함. 키의 포함관계 무결성 데이터 무결성 도메인 무결성 제약조건 개체 무결성 제약조건 참조 무결성 제약조건 관계대수(ALGEBRA) 셀렉션과 프로..
복습 DDL(creat, alter, drop), DCL(insert, update, delete) 프로그램은 *을 잘 안씁니다. 일일히 적어줍니다. 정확히 하기 위해서! count(*)은 씁니다.
20200409 JOIN 서브쿼리 집합연산 join 테이블 두개, 세개를 하나로 합치는 것 눈에 보이지 않는 그걸 view라고 한다. stack 구조 가장 안에 있는 서브쿼리 가장 안에 있는 함수를 먼저 해서 순서대로 상관 서브쿼리 같은 테이블 끼리 붙이는데 한 테이블의 다른 컬럼 별칭 줘야한다. 집합연산 Exists 랑 in이랑 비교해서 알자 차이점을 EXISTS 한 리코드에서 (상관쿼리랑 같이 잘 쓴다.) 단항연산 앞에 컬럼 안붙음. IN을 쓸 수 있는것은 EXISTS를 쓸 수 있음. 집합연산(MINUS..) JOIN --1.5 박지성이 구매한 도서의 출판사 수 SELECT COUNT(DISTINCT PUBLISHER) FROM BOOK B, customer C, ORDERS O WHERE O.CUSTID = C.CUSTID AND O.BOO..
20200408 오후 User = 계정 = DB 새 DB 생성 DDL grant (리소스할 수 있는 )권한 주는 거 revoke 권한 회수하는 거 다 객체 - 트리거 시퀀스 인덱스 등등 좁은 의미의 스키마 : 테이블의 컬럼 resource - 테이블 , 뷰, 트리거 , 인덱스 등등과 같은 객체들을 가리키는 스키마(넓은 의미의 스키마) 테이블 = relation system 먼저 마당을 만들어 주고 리소스와 커넥션 권한을 만들어 준다. conn 아이디/비번; conn : 오라클 자체 명령어 - 접속을 이동함(계정을 갈아 탐), 생성된 아이디와 패스워드를 사용하여 접속하는 명령어 (ex) 관리자로 접속하여 테이블 생성 conn이하부터 마당으로 접속을 바꾸어 줌. 테이블 마다 프라이머리 키 하나 주는거는 무결성 어쩌구 데이터를 I..
Scalar 서브쿼리 SELECT 에 (SELECT~) 는 들고 있는 것이 서브쿼리 셀렉트 절에 셀렉트 + 듀얼있음 / 셀렉트 절에 셀렉트 + 조인 있음 DRIVEN TABLE이 PK를 들고 있는게 좋아요. 데이터가 적은게 좋아요. 캐싱 : 이미 한번 파싱한거는 기억하고 있다. 쿼리를 캐싱하고 있어서 다시 파싱하지 않아요. 쿼리문이 똑같으면 파싱 X : 캐싱 남아있음 1. driving table은 무조건 full scan 2. driven table 들고 있는게 아니면 스칼라 사용 금지 3. driven table의 내용이 커질 것이 예상이 된다면 스칼라 서브쿼리 쓰지말기! (얘 쓰지말고 outer join하기, driven table의 내용이 적을 때, 내용이 많아질 가능성이 없을 때 사용하기 좋음. (ex)DEPTNO ..