ORACLE 1주차 6조 12615007 김승녕 14615034 이다은 11609051 최재웅 14615059 허광영 12615012 김종원 14615035 이보경 12615013 김효순
INDEX 오라클 깔기 NULL/NOT NULL 오라클 계정 관리 Key 관리 새 접속 등록 UNIQUE 스키마 객체 CHECK 데이터 타입 테이블 생성 테이블 수정
오라클 깔기 오라클 구성요소 오라클 다운 절차
오라클 구성요소 1. Oracle Database 11g Express Edition 2. Java SE 3. sqldeveloper-4.1.3.20.78-no-jre
오라클 다운절차 Oracle Database Express Edition 11g Release 2 다운 http://www.oracle.com/technetwork/database/database-technologies/express-edition/downloads/index.html 2. Java SE Development Kit 8u91 다운 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 3. SQL Developer 4.1.3 다운 http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html *3.2.2 버전에서는 java.exe 파일을 지정해 주었는데, 4.0 버전에서는 JAVA_HOME 디렉토리를 지정한다. 따라서 SQL Developer를 깔기 위해선 JAVA가 먼저 깔려있어야 한다.* 비번 1234
오라클 계정 관리 오라클 계정 생성 오라클 기본제공 계정 열기
오라클 계정 생성 오라클 계정 관리 시작 -> Oracle Database 11g Express Edition -> Run SQL Command Line 실행
오라클 계정 관리 오라클 계정 생성 오라클 설치할 때 입력한 비번 connect sys/1234 as sysdba
오라클 계정 생성 오라클 계정 관리 계정이름 ccam 비밀번호 1234 로 계정 생성 3. create user ccam identified by 1234;
오라클 계정 생성 오라클 계정 관리 계정 ccam에 권한 부여 4. grant connect, resource, dba to ccam;
오라클 계정 관리 오라클 계정 생성 계정 ccam으로 연결 5. conn ccam/1234;
오라클 기본제공 계정 열기 HR 계정 오라클 계정 관리 계정 이름: HR 비밀번호: HR *Oracle Database 10g까지는 기본 계정이 scott/tiger였으나 Oracle Database 11g 부터는 기본 계정이 hr/hr이다.*
오라클 기본제공 계정 열기 오라클 계정 관리 HR계정의 락을 풀어준다 Alter user hr identified by hr account unlock;
오라클 계정 관리 오라클 기본제공 계정 열기 HR계정으로 연결 2. connect hr/hr;
오라클 계정 관리 오라클 기본제공 계정 열기 현재 계정 확인 3. show user
새 접속 등록 새 접속 등록하기
새 접속 등록하기(1) 위에 ‘+’ 표시를 누르고 새 접속을 누른다.
새 접속 등록하기(2) 1 2 3 4 5 6 순서대로 따라 하고 테스트를 눌렀을 시 상태: 성공 이라고 떠야만 접속이 가능하다.
새 접속 등록하기(3) 준비 끝!!
스키마 객체 스키마 객체란?
스키마 객체 스키마 객체란?
데이터 타입 데이터 타입은? Char타입 예제 2문제
데이터 타입은? 오라클 버전 8부터는 이전의 오라클과는 달리, 객체지 향 개념을 도입하여 객체관계형 데이타베이스로 발전 오라클 버전 8부터는 사용자가 추상 데이터 타입을 정 의하여 사용할 수 있다.
유형 데이터타입 크기(bytes) 설명 문자열 CHAR[(size)] 2000 고정 길이 문자열, Size만큼 길이가 일정하게 저장 VARCHAR2(size) 4000 가변 길이 문자열, 최대 size 만큼의 문자열 저장 LONG 2GB 최대 2GB 문자열을 저장 수 NUMBER(p,s) - 수를 저장. p는 수의 전체 자릿수를, s는 소수점 이하의 유효숫자 개수를 지정한다. p는 1부터 38, s는 -84부터 127의 범위가짐. 날짜 DATE BC 4712년 1월 1일~AD 9999년 12월 31일까지의 날짜 자정 이진데이터 RAW(size) size 크기의 이진(binary) 데이터 저장 LONG RAW 가변 길이의 이진 데이터를 저장 LOB 데이터 BLOB 4GB*n 이진 LOB 데이터 타입 CLFOB multibyte character에 대한 LOB 데이터 타입 NCLOB multibyte character에 대한 LOB데이터 타입 BFILE 4GB 이진 데이터를 데이터베이스 외부에 파일로 저장 하고, 그 위치를 데이터베이스에 저장한다. 4GB 파일의 최대크기 데이터주소 ROWID 각 데이터 행이 저장되어 있는 주소. 16진수 문자열 UROWID[(size)] Index구조 테이블의 각 데이터 행이 저장되어 있는 논리적 주소. 16진수 문자열
char 타입 CHAR 데이터 타입은 size에서 지정하는 만큼, 일정한 길이의 고정 길이 문자열 데이터를 저장한다. size의 단위는 byte이며 최대 2000byte까지 지정이 가능하다. size를 지정하지 않으면 길이는 1byte로 자동 지정된다. 주의) CHAR 타입의 데이터는 길이는 고정되어 있다.
예제 1 고정 길이 문자열의 의미를 살펴보자 1) 테이블 생성 2) 값 삽입 데이터 타입 예제 1 고정 길이 문자열의 의미를 살펴보자 1) 테이블 생성 CHAR형으로 10BYTE할당 2) 값 삽입 ‘aa'라는 값을 생성한다. CREATE TABLE students (name char(10)); INSERT INTO students VALUES (‘aa’); INSERT INTO students VALUES (‘aa ’);
예제 2 SELECT 문장을 통해 수행 했을 경우 에는 어떤 값이 검색되는지 살펴보자 데이터 타입 예제 2 SELECT 문장을 통해 수행 했을 경우 에는 어떤 값이 검색되는지 살펴보자 SELECT *FROM student WHERE name ='aa';
테이블 생성 테이블 생성하기 - 예제 1문제
테이블 생성하기(1) STAFF 테이블 테이블 생성 열 이름 데이터 타입 크기 id number 5 name varchar2 50 address birthday date year 1 department-id 3
테이블 생성하기(2) CREATE TABLE STAFF ( ); 테이블 생성 ID NUMBER(5), NAME VARCHAR2(50), ADDRESS VARCHAR2(50), BIRTHDAY DATE, SENIORITY NUMBER(2) DEFAULT 1, DEPT_ID NUMBER(3) );
예제 1 DEPARTMENT 테이블 생성해보기 데이터 생성 열 이름 데이터 타입 크기 ID NUMBER 3 NAME VARCHAR2 50 FAX CHAR 14 PHONE
테이블 수정 테이블 수정 명령어 열 추가, 수정하기 열 삭제하기 테이블 삭제하기
테이블 수정 명령어 열 추가 : ADD 열 수정 : MODIFY 열 삭제 : DROP 테이블 삭제 : DROP , TRUNCATE
열 추가, 수정하기 열 추가 ALTER TABLE STAFF ADD (PHONE VARCHAR2(20), 테이블 수정 열 추가, 수정하기 열 추가 ALTER TABLE STAFF ADD (PHONE VARCHAR2(20), EMAIL VARCHAR2(30)); 열 수정 MODIFY (PHONE CHAR(30)), EMAIL VARCHAR(20));
테이블 수정 열 삭제하기 ALTER TABLE STAFF DROP(PHONE, EMAIL);
테이블 삭제하기 DROP TABLE STAFF; DESC STAFF; TRUNCATE TABLE DEPARTMENT; 테이블 수정 테이블 삭제하기 DROP TABLE STAFF; DESC STAFF; TRUNCATE TABLE DEPARTMENT; DESC DEPARTMENT; DROP TABLE 과는 달리 TRUNCATE TABLE문을 사용하면, 테이블 내의 데이터 행만 삭제되고, 테이블 자체는 삭제되지 않는다.
NULL/NOT NULL NULL과 NOT NULL
NULL과 NOT NULL NULL/NOT NULL 먼저 DB에서의 NULL과 NOT NULL의 차이가 있는데 차이는 값이 아예 없다는 것을 보여 주는 것입니다. 예를 들어 테이블 생성시 NOT NULL을 사용해야 되는 경우가 있는데 반드시 기본키 및 외래키 등을 절대값을 지정할 때에 사용됩니다. 혹은 해당 필드에 필드값은 무조건 들어간다고 할 때에도 NOT NULL을 사용합니다. NULL을 사용하는 것은 SELECT, UPDATE, DELETE, INSERT 등에서 사용 할 경우는 NULL을 쓸 수 있습니다.
Key 관리 기본키(Primary key) 복합키(Composite key) 외래키(Foreign key)
기본키(Primary key) Key 관리 기본키는 테이블의 각 행을 다른 행과 구분해 주는 역할을 하는 열을 의미한다. 기본키는 테이블의 각 행을 다른 행과 구분해 주는 역할을 하는 열을 의미한다. 일반적으로 각 행이 모두 다른 값을 갖는 기본키를 둠으로써 행을 식별 한다. 기본키의 속성은 기본키 값이 없는 행은 테이블에 입력이 될 수 없다. 즉 기본키는 NOT NULL의 제약 조건과 UNIQUE 조건 등이 있다. 기본키를 설정 하는 방법은 3가지의 방법으로 분류가 된다.
복합키(Composite key) Key 관리 예를 들어 부서의 급여 내역을 묶을려고 할때 사번 급여일자 급여액 급여액은 = 사번 + 급일자 다음과 같다. 이는 하나의 데이터로는 유일성을 지정할 수 없으므로 다음과 같이 지정한다.
외래키(Foreign key) Key 관리 외래키(Foreign key)는 테이블간의 관계를 나타낸다. 참조의 무결성을 유지하기 위해 두개의 테이블중 하나의 테이블에 값이 있을 때만 다른 테이블의 키가 값이 유효한 그런 의미이다.
UNIQUE UNIQUE 제약조건
UNIQUE 제약조건 UNIQUE Unique 제약 조건은 해당 열이 중복된 값을 갖지 않도록 하는 것이다. 이는 Primary key와 유사하지만 기본키는 Null 값을 허용하지 않는 반면 Unique는 null 값이 허용 된다. 따라서 NULL값을 제외한 값들이 중복 되지 않음을 보장하면 된다.
CHECK CHECK 제약조건
CHECK 제약조건 CHECK Check는 열에 들어갈 수 있는 값의 범위를 제한하여 도메인의 무결성을 보장한다. 에를 들어 근속 연수의 값을 지정해 허용한다는 제약 조건을 명세할 수 있다. Check 제약 조건은 데이터 값을 입력, 수정 할 때 적용 되며 하나의 열에 여러 개의 Check 조건을 지정할 수 있습니다. 반대로 여러 열에 하나의 Check 조건을 지정할 수 있습니다.