coding

[국비 코딩 수업 10일차!] 1. 데이터베이스 이론

동기부엉이 2024. 1. 30.
반응형

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 아니요 행이 표시되어야 하는 순서를 지정합니다.  

 

 

 

11일차! 2. 데이터 베이스 활용

활용 ◎ 부서가 20이고, 업무가 analyst 직원의 이름, 부서, 급여, 입사일자 조회 - SELECT empno, ename, sal, hiredate, deptno FROM emp WHERE job = 'ANALYST' AND deptno = 20; ◎ 급여가 1500이상 2500이하 받는 직원의 이름,

gestyou.tistory.com

 

 

반응형

댓글

💲 추천 글