전체 글 87

DB (테이블생성,추가,제거,제약조건 생성FILE)

밑으로 내려가면서 순서대로 설정! CREATE TABLE product( prod_no VARCHAR2(5), prod_name VARCHAR2(20) ); ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ테이블 생성ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ DROP TABLE product; ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ테이블 제거ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ ALTER TABLE product ADD prod_price NUMBER(6); ㅡㅡㅡㅡPRICE NUMBER 6자ㅡㅡㅡㅡ ALTER TABLE product MODIFY prod_price DEFAULT 0; ㅡㅡㅡㅡprice에 가격을 넣지 않으면 0값으로 넣어진다ㅡㅡㅡㅡ ALTER TABLE product MODIFY prod_name VARCHAR2(100); ㅡㅡㅡㅡname 바이트를 100..

공부기록/DB 2023.06.16

230616 (DDL 데이터정의어 테이블생성,구조변경,제거,제약조건)

DDL(데이터 정의어) - 객체를 생성 : CREAT, 구조변경 : ALTER, 제거 : DROP CREAT 객체종류 ex) CREAT TABLE, CREAT VIEW, CREAT SEQUENCE prod_no VARCHAR2(5) xxxxx 컬럼명, 자리수, 기본값설정, 제약조건 ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ 1. 테이블 생성 CREAT TABLE product( prod_no VARCHAR2(5), prod_name VARCHAR2(20) ); ㅡㅡ구조확인 DESC : 데이터베이스에서 쿼리 실행할때 SQL문법을 사용하여 ORDER BY절을 작성하고 해당열의 정렬방식을 DESC로 지정 - 내림차순 DESC : MYSQL에서 "DESCRIBE"문을 사용하여 테이블의 구조를 확인할때 사용한다..

수업/DB 2023.06.16

230616 (SUBQUERTY, Scalar Subquery,SELECT 문제풀이)

오전 문제풀이 1. 급여가 10000 이상인 사원의 사번, 부서번호, 이름, 급여, 수당을 출력하시오.단, 부서번호가 30 번,60 번, 90 번인 부서는 제외하고 사원을 검색한다 --- 15건 SELECT employee_id 사번, department_id 부서번호, first_name 이름, salary 급여, salary+salary*commission_pct 수당 FROM employees WHERE department_id 30 AND department_id 60 AND department_id 90; 2.급여가 4000 보다 많은 사원들의 부서별 급여평균를 출력하시오. 단 급여평균은 소숫점이하 2 자리에서 반올림(소숫점이하1자리까지 표현)한다 --- 12건 SELECT employee_id..

수업/DB 2023.06.16

230615 (JOIN, UNION)

정규화를 잘해야 메모리 최적화가 된다. JOIN : 여러테이블의 자료를 같이 출력할때 JOIN이 편리하다. SUBQUERY : SELECT 해야할것들이 한테이블에 있을경우 SUBQUERY가 편리하다. ON 절 : 직접적인 관계가 있어야함 (같은 명칭이 있어야한다) ex : 각테이블에 employee.department_id = department.department_id 경우 ON절 가능 IN 절 : JOIN : 결합, 여러 테이블의 컬럼을 결합, INNER JOIN --> OUTTER JOIN --> 기준이 되는 테이블의 모든 정보를 출력 ㅡㅡ사원의 사번, 이름, 부서번호, 부서명을 출력하시오 SELECT employee_id, department_id FROM employees; 107건 SELECT..

수업/DB 2023.06.15

230615 DB HAVING 절

HAVING : 그룹에 대한 조건 - WHERE 절에서는 집계함수를 사용 할 수 없다. - HAVING 절은 집계함수를 가지고 조건비교를 할 때 사용한다. - HAVING절은 GROUP BY절과 함께 사용이 된다 FROM --> WHERE --> GROUP BY --> HAVING --> SELECT --> ORDER BY |ㅡㅡㅡㅡㅡㅡㅡㅡ여러행 함수 가능 ㅡㅡㅡㅡㅡㅡㅡㅡㅡ| ★★소계, 총계구하려면 ROLLUP, CUBE --> 한번 찾아보기 공부해보기★★ GROUP BY 절에서 사용한 컬럼만, SELECT절에서 여러행 함수와 함께 사용할수있다!! ㅡㅡ급여가 5000 이상인 사원의 사번, 급여, 부서번호를 출력하시오.ㅡㅡㅡㅡ SELECT salary, employee_id,department_id FRO..

수업/DB 2023.06.15

230614 SLQ (DB 함수, SELECT 함수)

내장함수 - 단일행 함수 숫자형 함수 : MOD() NULL 함수 : NVL() 문자형 함수: LENGTH() 날짜형 함수 : MONTHS_BETWEEN(), SYSDATE MONTHS_BETWEEN() --> 특정날짜 개월수 SYSDATE --> 오늘날짜 - 날짜용 연산자 : 날짜 + 숫자, 날짜 - 숫자 날짜값 변환 --SYSDATE + 1 (내일날짜) , SYSDATE -1 (어제날짜) 형변환함수 : TO_CHAR() 숫자를 날짜, 문자를 날짜로 바꿀때 사용 숫자형 함수 : - 반올림 된 값 반환 : ROUND() - 버림 된 값 반환 : TRUNC() 문자형 함수 : - 대문자로 변환 : UPPER() - 소문자로 변환: LOWER() - 첫글자만 대문자로 변환 : INITCAP() - 특정문자의..

수업/DB 2023.06.14

230613 DB (SELECT, oracle developer 사용, 포트번호확인)

엔터티 타입 = 테이블 (TABLE) 엔터티 = 행 (ROW) 어트리뷰드(속석) = 열(COLUMN) 첨부파일 HR스키마.pdf 참고! EMPLOYEES에서 JOB_HISTORY, DEPARTMENTS, JOBS가 파생 앞에 이름 0으로 시작하려면 문자형으로 해야한다! 정확한 이름은char로 사용! 이름 or 이메일 같은 경우 사람마다 길이가 다르니 VARCHAR2 가변길이용으로 사용! commission_PCT (2,2) (PCT는 퍼센테이지 줄인말), (2, 2) ---> 0.XX을 나타냄 (ex 0.99) (자릿수, 소숫점몇번째자리수까지) NOT NULL = 제약 조건 --> null이면 안된다. 값이 없으면 안된다. 값이 반드시 있어야 한다! first_name(이름) 에는 not null 조건 ..

수업/DB 2023.06.13

230612 oracle DB (설치확인, DBMS, 테이블 구조확인, 자료형종류)

C:\SW\DB\app\oracle\product\11.2.0\server\bin ㅡ> oracle.exe 설치 되었는지 확인 system name써주고, 설치할때 정했던 비밀번호 누르고 show user; 쳐서 확인 데이터베이스 관리 시스템 (Database Management System) DataBase ㅡ> 데이터 묶음 ㅡ> 임시자료구조, 영구파일 DBMS = 관리되는데이터 묶음 DBMS의 종류 oracle mysql MSsqlserver DB2 각 DBS마다 구조다름, 내부명령어 다름 ★★SQL은 데이터에 접근할수있는 표준언어!! ★★ SYSTEM 계정에 접속하기 위해서는 네트워크 소켓(그림에 깔대기모양)이 필요!! 소켓 = 서로를 연결해주는 SYSTEM 소켓을 매번 만들기 힘드니 JDBC 드라..

수업/DB 2023.06.12

230609 공유데이터, 네트워크

synchronized : 여러개의 스레드가 한개의 자원을 사용하고자 할 때, 현재 데이터를 사용하고 있는 해당 스레드를 제외하고 나머지 스레드들은 데이터에 접근 할 수 없도록 막는 개념. (공유되는 다른 스레드에게cpu를 뺏기지 않기 위해 사용) stack - class heap - method() 스레드가 가지고 있는 메서드 join() -> 다른 스레드가 죽을때까지 기다리는것 sleep() -> 공유되는 객체 wait() -> 현재 공유객체를 사용하는 스레드-> 일시중지한다. notify(); -> 공유 객체를 중에서 wait사용하는 스레드를 깨운다 ★★★TCPClient, TCPServer 제작★★★ 채팅system 확인하기

수업/JAVA 2023.06.09