1. 데이터베이스 (database)
- DBMS
- 삽입, 수정, 삭제, 조회 (DBMS의 대표적인 연산자)
2. DBMS
프로세서
1) Oracle
제품 = 8i, 9i > 10g > 11g > 12c > 18c > 19c > 21c
2) MS-SQL server - microsoft
3) DB2 - ibm
4) Mysole, MariaDB
5) informix
6) sybase
7) Timax
8) ...
연결 방법.
네트워크 DBMS
로컬 DBMS : Access, SQLite
설치 및 내용
1) Oracle
- full version
- express version
2) 클라이언트 유틸리티
- sqplue
- sqldeveloper
- Toad
- Sqlgate
- sqlheidi
- ....
3) Sqplus
- sqlplus
- sqlplus 사용자ID/비밀번호
- sqlplus 사용자ID
- sqlplus 사용자ID/비밀번호@호스트명
4) 접속 후
- show user;
- select *from tap;
- desc 테이블명 = 설계도
5) 샘플 준비
- @경로/scott.sql
- @C:\Users\liebe\OneDrive\바탕 화면\study\database\scott.sql
alter(수정) user(객체) scott identified by 1111(패스워드);
3. 발전단계 (저장하는 방법(형태)에 따름)
1) 파일 처리
2) 계층형 DB(Hierarchy DB) : Tree
3) 네트워크형 DB(Network DB) : Graph
4) 관계형DB(Relational DB) : Table
5) 객체형DB(Object DB) : Object
4. SQL (Structured Qurery Language) :
- DDL(Data Definition) : 데이터를 정의하는데 사용하는 언어.
Create, Alter, Drop
- DBL(Data Manipulation) : 데이터에 저장된 데이터를 조작하는데 사용하는 언어
Select, Insert, Update, Delete.
- DCL(Data Control) : 접근 및 데이터베이스 객체에 대한 권한을 제어하는 데 사용하는 언어.
Grant, Revoke
- QL(Query) : 데이터베이스에서 정보를 조회하고 조작하기 위해 사용하는 언어.
SQL(Structured Qurery)
- 표준화와 비표준화
표준화 : ANSI SQL 2
피표준화 버전 : Oracle : PL/SQL
MS-SQL Server : T-SQL
※ 단위 :
필드 (FIed) - 컬럼
레코드(record) - 튜플 레코드 까지는 ram에 저장.
테이블 or 파일(table or file)
데이터베이스(database)
데이터 뱅크(date bank)
5. SQL 문법
1) SELECT : SELECT 필드명, ... (어떤 필드를 조회할 것인가) FROM 테이블명
SELECT empno, ename, mgr, comm FROM emp; (기본수식)
SELECT * FROM EMP; - 모든 설정을 볼 수 있음. (필드가공처리)
사원의 사번, 이름, 급여를 조회한다. 단, 급여는 현재 급여에 100$를 추가하여 조회
SELECT empno, ename, sal(+100 = 연산이 가능) FROM emp;
필드에 alias 부여 가능.
필드명 별명
필드명 as 별명
SELECT empno, ename, sal(+100 = 연산이 가능) (as salary) FROM emp;
SELECT empno, ename, sal(+100 = 연산이 가능) (as salary) "증가된 급여" FROM emp;
한글을 사용시 한글은 쌍따옴표를 사용하여 작성.
중복된 값 제거 : distinct(본능적으로)
SELECT distinct job FROM emp;
2) 확장 문법
- 정렬 기능
ORDER BY 필드[ 필드명, ...] (대괄호는 생략 가능한 부분)
[ASC] 기본값은 오른차순. (대괄호 생략시)
[DBSC] 내림차순.
◎ order : 급여가 많은 순으로 사번, 이름, 급여를 조회
SELECT empno, ename, sal FROM emp (기본 문법을 미리 준비) ORDER BY sal DESC;
◎ order : 부서별로 급여가 적은 순으로 이름, 급여, 부서코드를 조회
SELECT empno, sal, deptno FROM emp ORDER BY deptno DESC,sal ASC;
- 조건 기능
WHERE 조건식 -> 필드명 연산자 값.
기본 연산자 : >(크다 작다), <, >=(크거나 작거나 같을 때), =(같을 때), !=(a = b 다른지 같은지 = 다르면 참.), <>(다르냐), ^=(제곱근). +(더하기), -(빼기), /(나누기), *(곱하기), %(나누기의 나머지.), and(그리고), or(또는), not(거짓)
sql 연산자 : between( ), and, in, is, null, is, not, null, like, ...
like 연산자의 wildcard
%: 0개 이상의 문자를 대체
_: 1개의 문자를 대체
beau% : beau, beaua, beauab, beau...
beau_ : beaua, beaub beau...(C, D, E)
◎ order : 급여가 3000$ 이상인 직원의 사번, 이름, 급여를 조회. 단, 급여가 많은 순으로 조회
▼정렬은 항상 마지막에 해야하는 것
[SELECT empno, ename, sal] [FROM emp] [WHERE sal >= 3000] [ORDER BY sal DESC;]
3 1 2 (필터) 4
◎ order : 업무가 manager인 사원의 이름, 부서, 업무, 급여를 조회.
SELECT ename, deptno, job, sal FROM emp WHERE job = 'MANAGER';
◎ order : 1982 1. 1. 이후에 입사한 직원의 이름, 부서, 입사일자를 조회
SELECT ename, deptno, hiredate FROM emp WHERE hiredate > '82/1/1';
◎ order : 이름이 s로 시작하는 직원의 이름, 업무, 급여를 조회
SELECT ename, job, sal FROM emp WHERE ename like 'S%';
◎ order : 직원의 사번, 이름, 부서, 업무, 급여, 보너스 조회
SELECT empno, ename, deptno, sal, comm FROM emp;
◎ order : 보너스를 받지 못하는 직원을 조회
SELECT empno, ename, deptno, sal, comm FROM emp WHERE comm is null;
◎ order : 보너스를 받을 수 있는 직원을 조회
SELECT empno, ename, deptno, sal, comm FROM emp WHERE comm is not null;
SELECT | 예 | 결과에 표시할 열을 지정합니다. 프로젝션은 테이블 열의 하위 집합을 생성합니다. 표현식은 하나 이상의 값, 연산자 및 값을 확인하는 SQL 함수의 조합입니다. SELECT키워드 뒤와 절 앞에 나타나는 표현식 목록을 선택 목록FROM 이라고 합니다 . |
투사 |
FROM | 예 | 데이터를 검색해야 하는 테이블이나 뷰를 지정합니다. | 합류 |
WHERE | 아니요 | 행을 필터링하여 테이블에 있는 행의 하위 집합을 생성하는 조건을 지정합니다. TRUE조건은 하나 이상의 표현식과 논리(부울) 연산자의 조합을 지정하고 , FALSE또는 값을 반환합니다 UNKNOWN. | 선택 |
ORDER BY | 아니요 | 행이 표시되어야 하는 순서를 지정합니다. |
댓글