개발 공부 기록
[oracle] DBMS, oracle설치, sql Developer설치, 리터럴, 별칭, DISTINCT중복제거, 비교 본문
[oracle] DBMS, oracle설치, sql Developer설치, 리터럴, 별칭, DISTINCT중복제거, 비교
좨랭이 2021. 9. 24. 01:07Database
- 한 조직에 필요한 정보를 여러 응용 시스템에서 공용할 수 있도록 논리적으로 연관된 데이터를 모으고 중복되는 데이터를 최소화하여 구조적으로 통합/저장해놓은 것
정의
1. 공용 데이터(Shared Data) : 공동으로 사용되는 데이터
2. 통합 데이터(Integrated Data) : 중복 최소화로 중복으로 인한 데이터 불일치 현상 제거
3. 저장 데이터(Stored Data) : 컴퓨터 저장장치에 저장된 데이터
4. 운영 데이터(Operational Data) : 조직의 목적을 위해 사용되는 데이터
특징
- 실시간 접근성(real time accessibility) : 사용자가 데이터 요청 시 실시간으로 결과 서비스
- 계속적인 변화(continuous change) : 데이터 값은 시간에 따라 항상 바뀜
- 동시 공유(concurrent sharing) : 서로 다른 업무 또는 여러 사용자에게 동시 공유됨
- 내용에 의한 참조(Content Reference) : 사용자가 요구하는 데이터 내용으로 데이터를 찾는다
DBMS(DataBase Management System)
- 데이터베이스에서 데이터 추출, 조작, 정의, 제어 등을 할 수 있게 해주는 데이터베이스 전용 관리 프로그램
기능
데이터 추출 (Retrieval) |
사용자가 조회하는 데이터 혹은 응용 프로그램의 데이터 추출 |
데이터 조작 (Manipulation) |
데이터를 조작하는 소프트웨어(응용 프로그램)가 요청하는 데이터 삽입, 수정, 삭제 작업 지원 |
데이터 정의 (Definition) |
데이터의 구조를 정의하고 데이터 구조에 대한 삭제 및 변경 기능 수행 |
데이터 제어 (Control) |
데이터베이스 사용자를 생성하고 모니터링하며 접근 제어 백업과 회복, 동시성 제어 등의 기능 지원 |
관계형 데이터 베이스(RDBMS)
- 모든 데이터를 2차원 테이블 형태로 표현하고 테이블 사이의 비즈니스적 관계를 도출하는 구조 데이터의 중복을 최소화 할 수 있으며 업무 변화에 대한 적응력 우수
Oracle설치
https://www.oracle.com/database/technologies/xe-prior-release-downloads.html
1. Oracle 11g XE Express Edition 설치 (무료)
(Enterprise Edition으로 갈수록 많은 기능, 다양한 서비스 제공)
설치하기위해서 oracle로그인(회원가입)필요!!
설치 후 -> 압축 풀기
관리자 권한으로 실행 -> install -> next -> 약관동의 -> next
-> SYS/SYSTEM 의 비밀번호 설정(비밀번호 잊으면 다시 설치해야 함!!) -> install -> finish
-> 명령 프롬프트
(데이터베이스를 커멘드로 실행)
sqlplus실행 -> user-name 입력 -> password 입력 -> 계정 접속 완료
2. SQL Developer설치
(GUI형태의 tool을 사용하기 위해 )
oracle 홈페이지 -> Developer tools -> SQL Developer -> 압축 풀기 (c드라이브에 풀었다)
압축 풀고나면
위 실행파일 생성!
데이터 베이스 접속
왼쪽 상단 + 버튼 -> Name, 사용자이름, 비밀번호 -> 테스트 (왼쪽 하단 상태: 성공) -> 접속
** oracle은 관리자 계정이 2개
- sqlplus로 접속했던 SYSTEM계정 : 데이터베이스의 생성이나 삭제는 불가하고 관리자의 권한만을 가짐
- 생성한 sys as sysdba 슈퍼사용자 계정 : 모든 문제에 대한 처리의 권한을 가짐
파일-열기
왼쪽 상단 파일 -> 열기 -> git에서 받았던 파일 열기
환경설정
중앙 상단 도구 -> 환경설정
사용자 계정 생성
(대부분 SYSTEM은 관리자역할을 하기 때문에 새로운 계정을 만들어 진행한다고 한다.)
계정에서 실행시킬 실습환경 스크립트 생성
커밋이 잘 되었는지 (KH)접속하여 확인
새로운 워크시트를 만들어 쿼리문을 실습할 수 있는 창이 띄운다.
DML(SELECT)
- 테이블의 데이터를 읽어오는 것
주요 용어
기본키 : 구분, null값을 가질 수 없음
외래키 : 다른테이블의 기본키에 해당하는 값만 가질 수 있다 / 테이블간의 참조관계를 표시할 때 사용되는 컬럼
Null : 값을 가지고 있지 않은 상태
주요 데이터 타입
데이터 타입 | 하위 데이터 타입 | 설명 |
NUMBER | 숫자 | |
CHARACTER | CHAR | 고정길이 문자(최대 2000바이트) |
VARCHAR2 | 가변길이 문자(최대 4000바이트) | |
LONG | 가변길이 문자(최대 2기가 바이트) | |
DATE | 날짜 | |
LOB | CLOB | 가변길이 문자(최대 4기가 바이트) |
BLOB | Binary Data |
SQL(Structured Query Language)
- 관계형 데이터베이스에서 데이터를 조회하거나 조작하기 위해 사용하는 표준 검색 언어 원하는 데이터를 찾는 방법이나 절차를 기술하는 것이 아닌 조건을 기술하여 작성
분류 | 용도 | 명령어 |
DQL (Data Query Language) |
데이터 검색 | SELECT |
DML (Data Query Language) |
데이터 조작 | INSERT, UPDATE, DELETE |
DDL (Data Query Language) |
데이터 정의 | CREATE, DROP, ALTER |
TCL (Transaction Control Language) |
트랜젝션 제어 | COMMIT, ROLLBACK |
SELECT
- 데이터를 조회한 결과를 Result Set이라고 하는데 SELECT구문에 의해 반환된 행들의 집합을 의미
- Result Set은 0개 이상의 행이 포함될 수 있고 Result Set은 특정한 기준에 의해 정렬 가능
- 한 테이블의 특정 컬럼, 특정 행, 특정 행/컬럼 또는 여러 테이블의 특정 행/컬럼 조회 가능
실습을 통해 SELECT문 구현
조회
- SELECT 문에 불러올 결과값에 대해서 지정한다.
** 쿼리는 대소문자를 가리지 않지만 관례상 대문자로 작성한다.
SELECT문 산술연산
** SYSDATE는 현재 날짜를 출력!
컬럼명에 별칭 지정
리터럴 표시
DISTINCT (중복 제거)
WHERE절 (조건에 만족하는 결과만 조회)
- 여러 개의 조건 작성 시 AND(~이면서, ~이고) / OR 사용(~이거나, 또는)
ex) 부서코드가 ‘D6’이고 급여를 2000000보다 많이 받는 직원의 이름, 부서코드, 급여 조회
SELECT EMP_NAME, DEPT_CODE, SALARY
FROM EMPLOYEE WHERE DEPT_CODE = ‘D6’
AND SALARY > 2000000;
- 연결 연산자 : ‘||’를 사용하여 여러 컬럼을 하나의 컬럼인 것처럼 연결하거나 컬럼과 리터럴을 연결
- 논리 연산자 : 여러 개의 제한 조건 결과를 하나의 논리 결과로 만들어줌
- 비교 연산자 : 표현식 사이의 관계를 비교하기 위해 사용하고 비교 결과는 논리 결과(TRUE/FALSE/NULL) 중 하나가 됨
단 비교하는 두 컬럼 값/표현식은 서로 동일한 데이터 타입이어야 함
'DB > oracle' 카테고리의 다른 글
JOIN (CROSS JOIN, NON_EQAUL JOIN, SELF JOIN), SUBQUERY (0) | 2021.10.04 |
---|---|
[oracle] ORDER BY & GROUP BY & HAVING, 쿼리문 실행 순서 (0) | 2021.10.01 |
[oracle] 함수(날짜 처리, 형 변환, NULL처리, 선택,그룹 ) (0) | 2021.09.29 |
[oracle] 함수(문자 처리 함수, 숫자 처리 함수, 날짜 처리 함수) (0) | 2021.09.28 |
[oracle] AND, OR, 연결 ||, BETWEEN AND, LIKE, NULL, IN, 연산자 우선순위, 정렬, 오름차순, 내림차순 (0) | 2021.09.27 |