본문 바로가기

콩's EDUCATION/콩's DATABASE

StarUML 프로그램 ER 다이어그램 작성에 사용하는 프로그램. erd 작성해주는 모듈추가 방법은 인터넷 검색! 더보기
SQL 문제 5차 =====================view===================== 1)인사관리를 위한 시스템 구축중 지역(Regions), 국가(Countries), 위치(Locations)에 대한 전체 리스트 정보를 빈번하게 사용할 경우가 생겼다. 여러 프로그램에서 매번 반복적으로 사용되며 일부 개발자의 경우 잘못된 조인으로 올바른 결과를 가져오지 못하는 경우가 발생하였다. 이를 해결하기 위해 복잡한 질의를 숨기기 위한 논리적 테이블의 용도로 쓰이는 DB Object 를 생성하기로 하였다. DB Object 이름은 LOC_DETAILS_{DB OBJECT명} 을 사용한다.위 설명에 해당하는 DB Object를 생성하기 위한 스크립트를 작성하라.[DB Object 조회 결과 ? 화면에 다음과 같은 결과.. 더보기
PL/SQL 정리 디벨로퍼 사용 디벨로퍼를 사용하여 PROCEDURE 생성 (1-16) 디벨로퍼를 사용하여 프로시저 컴파일 및 컴파일 오류 표시 (1-17) 디벨로퍼에서 컴파일 오류 해결 (1-18) 디벨로퍼를 사용하여 프로시저 호출 (1-35) 디벨로퍼를 사용하여 프로시저 제거 (1-41) 디벨로퍼 사용하여 프로시저 정보 보기 (1-43) 디벨로퍼를 사용하여 함수 생성 및 컴파일 (2-11) 디벨로퍼를 사용하여 함수 실행 (2-12) 디벨로퍼를 사용하여 함수 제거 (2-21) 디벨로퍼를 사용하여 프로시저 정보보기 (2-23) 디벨로퍼를 사용하여 패키지 스펙 생성 (3-12) 디벨로퍼를 사용하여 패키지 바디 생성 (3-13) 디벨로퍼를 사용하여 패키지 서브 프로그램 호출 (3-18) 디벨로퍼를 사용하여 패키지 제거(3-2.. 더보기
PL / SQL * SQL와 PL/SQL? SQL : DB 접근, 조작, 조회 기능 제공 명령어 모음 --> SELECT NAME FROM EMP; --> 화면 출력, NAME 결과 변수 저장?, SQL 10번 이상 사용하고 싶을 때(나열이 아닌 반복문을 통한 효율성) --> SQL + (반복문, 조건문, 오류발생 처리문, 변수)를 쓰기 위해 PL(PROGRAMMING LANG.)/SQL PLSQL : SQL+변수 --> FUNCTION : 반드시 1개 결과 리턴한다. CREATE ... FUNCTION a () return number; ... begin ... return(변수) cf)변수는 반드시 number 타입이어야 한다. end; --> PROCEDURE : 결과가 여러개를 리턴하거나 아예 리턴될 필요가 없다.. 더보기
시퀀스 (SEQUENCE) * 시퀀스 조회하기 DESC USER_SEQUENCES; SELECT SEQUENCE_NAME FROM user_sequences; * 시퀀스 생성하기, 삭제하기 CREATE SEQUENCE SEQ_NEXTVAL START WITH 1 INCREMENT BY 1; DROP SEQUENCE SEQ_NEXTVAL; * 시퀀스 값 확인하기 SELECT SEQ_NEXTVAL FROM DUAL; * 시퀀스 이용하기 테이블 일련번호값 저장 / EMP (EMPNO) : NOT NULL + UNIQUE EMPNO 입력할 때마다 1씩 증가 자동값 생성 SELECT TABLE_NAME, CONSTRAINT_TYPE, CONSTRAINT_NAME FROM user_constraints; 1) 제약조건을 확인한다. CREAT.. 더보기
뷰 (VIEW) 1. 뷰? DML 대상은 RECORD(레코드) SELECT / DELETE / UPDATE / INSERT : 대상 레코들 (DML) CREATE / ALTER / DROP : 대상 테이블 (DDL) 테이블, 사용자, 뷰, 시퀸스, 인덱스 = 데이터베이스 객체들 CREATE TABLE ... : 구조 메모리 저장 INSERT : 데이터 메모리 저장 뷰를 왜 사용하는지 봅시다. 아래와 같은 삽입 SQL 을 실행해봅니다. INSERT INTO emp (101, '강감찬', ... '인사부', '서울', '한국', '아시아'); INSERT INTO emp (102, '홍길동', ... '인사부', '서울', '한국', '아시아'); INSERT INTO emp (103, '이순신', ... '인사부', '서.. 더보기
SQL 문제 4차 ===================== table ===================== 1) 다음 조건을 만족하는 테이블 생성 DDL을 작성하십시오. 테이블 명 : board 테이블에 대한 이해 : 게시판 정보를 가지는 테이블 컬럼명: board_seq (게시물 번호) 정수 최대 10자리, board_title (게시물 제목) 문자 가변 자릿수 255자리, board_contents (게시물 내용) 문자 가변 자릿수 4000자리 board_writer (게시물 작성자) 문자 가변 자릿수 100자리, board_date (게시물 작성시간) 날짜, board_viewcount (게시물 조회수) 정수 최대 6자리, board_password (게시물 암호) 문자 가변 자릿수 20자리, 제약조건 : board.. 더보기
제약조건 제약조건 확인 SELECT owner, constraint_name, constraint_type, table_name FROM user_constraints; 테이블 생성 CREATE TABLE DEPT (DEPTNO NUMBER(2) CONSTRAINT PK_DEPT PRIMARY KEY, ENAME VARCHAR2(14), LOC VARCHAR2(13) ); * 제약조건 생성, 수정, 삭제 ALTER TABLE emp01 ADD CONSTRAINT PK_EMP01 UNIQUE (empno); ALTER TABLE emp01 MODIFY CONSTRAINT EMP01_CK CHECK (LOC); ALTER TABLE emp01 DROP CONSTRAINT PK_EMP01; ALTER TABLE 테이블.. 더보기
SQL 문제 3차 1. 각 부서(department_id)별로 최고 연봉(salary)를 받는 사원의 사번(employee_id), 성(last_name)과 연봉(salary)을 조회하시오. 단 조회결과는 연봉의 내림차순으로 정렬되어 나타나야 합니다. select e.employee_id, e.last_name, e.salaryfrom employees ewhere (e.department_id, e.salary) in (select department_id, max(salary) from employees group by department_id)order by salary desc; 2. 각 업무(job) 별로 연봉(salary)의 총합을 구하고자 한다. 연봉 총합이 가장 높은 업무부터 업무명(job_title)과 연.. 더보기
CREATE, INSERT, UPDATE 예제 CREATE, INSERT 예제 CREATE TABLE emp01 ( empno number(4), ename varchar(20), sal number(7,2) ); 1. 기존 emp01 테이블 newemp로 변경 RENAME emp01 to newemp; 2. 현재 DATE 컬럼 추가 ALTER TABLE newemp ADD(INDICATE DATE); 3. NEWEMP 테이블 구조 확인 desc newemp; 4. NEWEMP 테이블에 데이터 넣기 INSERT INTO newemp VALUES(100, '김보훈', 10000, sysdate); 5. 데이터 확인 SELECT * FROM newemp; UPDATE 예제 UPDATE newemp SET indicate = TO_DATE('2000/12.. 더보기