본문 바로가기
data(SQL)

[data분석] 1일차 SQL 강좌정리 및 설치 기본

by AI미남홀란드 2022. 9. 5.
728x90

oracle 강좌정리(맥북x)

1. 오라클 회원가입

  www.oracle.com  

 

Oracle | Cloud Applications and Cloud Platform

Oracle announces Mexico's first dedicated cloud region Oracle becomes the first major cloud provider to establish a dedicated cloud region in Mexico, giving organizations access to emerging technologies that will positively impact the country’s ecosystem

www.oracle.com

2. 오라클 설치방법

product -> oracledatabase -> download oracle database19 -> 하단 express-> 설치 비번 : oracle

 

오라클 DBMS (DataBase Management System)

- Enterprise 버전 (실제회사) 

- Express 버전 (교육/개인)

 

DB서버 - 관리자

-sys

-system   비번 : oracle

 

3. 설치시 관리자 비번 설정

 관리자 계정 : system

 관리자 비번 : oracle

4. summary 확인

 오라클 기본 Port: 1521    *port 번호를 알아야 기본 경로를 통해 접속이 가능하다 (localhost(127.0.0.1) 진입)

 mysql 기본port : 3306

 

오라클 접속하기 위한 정보

ip번호 : localhost

port번호: 1521

서비스명: x3

port 번호
IP & Port 개념

[접속경로]

ip번호 >>          port번호 >>            서비스명

(컴퓨터) (컴퓨터내부 네트워크) (사용할대상)

5. 서비스 확인

  작업 표시줄 > 작업관리자 > 서비스(자세히) > OracleServiceXE, OracleXETNSListener 2개 실행중 필수

실행창 확인

6. 접속 툴

가. sql*plus

     - 자동설치

     - Text 기반

  C: \>sqlplus 사용자명/비번

SQLPlus Tool 경로

명령어를 임의의 위치에서 사용 가능하도록 경로 설명해줌.

 

 * path 설정값 보기 방법

C: \> set path

path=명령어경로;명령어경로;...

 

 * path 설정 및 제거

시작 > 오른쪽 클릭 시스템 > 고급시스템 설정(오른쪽) > 고급 환경변수 >

cmd 창 set path 경로 확인
Set Path 설정 및 제거

나. SqlDeveloper

     - 자동 설치 및 다운로드 필요

     - GUI 기반

 

 

외부/내부 -> PC <- 프로그램언어

무료 : SQL*Plus (기본설치) -> Text 기반

          SQLDeveloper (포함O, 포함x -> 다운로드)   * 현재사용중

           * java(JDK필요) 현재 포함 => GUI 기반

 

유료 : Toad* ,

 

cmd(관리자권한실행) -> sqlplus system/oracle 실행


Oracle 접속

계정설정)

Test 누를시 상태 : 성공 이라고 뜸

도구 >> 환경설정 >> 코드 편집기 >> 글꼴 수정

 

블록 잡은 이후 실행

ctrl + enter = RUN

SQL 문 작성 후 파일 저장 -> 소스코드를 볼 수 있다.

show user; 를 통해 항상 작업하고있는 시스템이 뭔지 확인!

tip : 시트여는 방법 관리자 -> SQL 속성시트 열기  , 새창A4 용지모양

 

7. 2개의 계정 생성 ==> 관리자만 생성 가능

 가. 수업때 사용할 계정 

                  SCOTT/TIGER

==> 파일로 제공됨.

Admin 폴더에서 SCOTT 계정 찾기

메모장으로 SCOTT 내용을 복사 후 -> 새로운 시트를 열고 복사 -> 실행 -> 왼쪽 접속 -> 새로운 계정 추가 -> SCOTT/TIGER 입력

-> 시트 추가 -> show user 확인

 

 나. 워크샵 사용할 계정

                  workshop/workshop

a. 계정생성 명령어

create user workshop  

    identified by workshop;

b. 권한 설정

grant resource, connect    

   to workshop;

 

a. 계정생성 명령어

 

워크샵 계정 생성 이후 show user 한 모습

커맨드로  로드 하는 방법 (Scprit.txt 자료를 추출)

@C:\ 주소

 

테이블 내용이 생긴 모습

 

테이블

가로 (레코드) 정보 , 세로 (컬럼)

몰랐던것

열은 널값을 가질수 있다.

*무결성(결점이 없는 Data)

- 결점이 없어야 하므로 제약조건 이용

 

※5가지(컬럼단위로 지정)

1. primary key 제약조건

2. uniqe 제약조건

3. not null 제약조건

4. check 제약조건

5. foreign key 제약조건

 

#제약조건

목적 : 테이블의  data 무결성 보장

 

1. primary key(pk) (유일성)  [추가문법★]   기본키

- 테이블당 한번만

- 유일한 값 + null 값 저장 x ->  레코드식별 용도 ex) 주민번호, 학번, 사원번호

- 자동으로 인덱스 생성됨 -> 검색속도향상 

                  =색인표 기능

2. uniqe [추가문법★]

-  유일한 값 + null 값 허용 

- 자동으로 인덱스 생성됨 -> 검색속도 향상

- 테이블에 여러개 지정 가능

 

3. not null [★기능을 변경/ 변경문법★]

- null 값 x

- 원래 table은 null 허용(o)

=> null 허용(x) 

- 여러개 지정 가능

 

4. check [추가문법★]

- 컬럼에 저장되는 값의 데이터의 범위를 지정가능  ex) 컬럼값에서 성별- 남,여, 남자, 여자, m,fe 등 다양한 값일때 남 과 여로 지정

- 범위안의 데이터만 저장시킴

 

5. foreign(fk) [추가문법★]  외래키(참조키)

- 다른 테이블을 참조할때 사용

ex) A->B 테이블에서 기본키와 외래키로 가르킬때 쓰는 키

학생테이블의 NO 기본키가 수강신청 NO 학생의학번이 외래키가 참조가 된다.

주 Master(dept, 부서)  <-  부 Slave (emp, 사원)

fk는 반드시  master 의 아무 컬럼이나 참조 못하고 

master의 pk 또는 uk 만 참조가 가능하다

-> fk  가질수 있는 값

master pk , uk + null 가능

 

SQL 문 종류

* SQL(Structured Query Language)

1) 종류1

- ANSI

 -의존적인 SQL 문

2) 종류2

           

- Query Language : table 검색 (DQL)

- 레코드 (셀렉션)

- 컬럼별 (프로젝션) 

- 조인(join) - 참조

       

나 - DML(Data Manipulation Language)    // 메모리에서만 적용

    - insert 문 : 레코드 생성

    - delete 문 : 레코드 삭제

    - update 문 : 레코드 수정

    - merge 문(병합) : 내부적으로 insert, delete, update 문 사용

       

다 - TCL(Transaction Control Language) 

- commit(반영)  : 물리적인 파일정보 까지 저장 

- rollback(취소) : 메모리에서 적용

ex) mysql 에서 데이터를 삭제 처리해도 , 물리적인 파일정보가 남아 있기에 cmd 창으로 쳐보면

데이터가 그대로 남아있음

 

* 오라클 구조

메타데이터 : 칼럼명, 계정명, 권한, 테이블명, 컬럼명 ex) 이름 , 나이

우리가 필요한 데이터 : 컬럼 내용  ex) 홍길동, 20

 

* 트랜잭션 (DML&TCL 묶음)

- 특징 : 개별적인 동작이 모두 성공했을때만 commit 하고, 하나라도 실패하면 실행된 개별작업을 

모두 rollback 처리함

- DML 에서만 관련됨 => (insert, delete, update) 1개로묶음

ex) 제주도 여행

비행기 예약 -> 렌트카 예약 -> 숙박 예약  = 여행 성공 = 반영  [하나라도 안되면 모두 취소]

- 개념 : 여러작업이 하나의 작업처럼 동작하도록 묶음

 

라 - DDL(Data Definition Language) 

-> 내부적으로 저장(commit) 하기 때문에 물리적인 파일에 바로 반영됨(rollback 불가)

- 객체 생성/수정/삭제

 

5가지 객체(object) ★

- 테이블(table)

---------------------------------------------------------------------------------------------

- 인덱스(index) : table 검색속도 향상

- 뷰(view) : table의 data 보호(*) / SQL문 간소화 목적

- 시퀀스(sequence) : table의 특정컬럼값을 자동으로 넘버링할때 사용 ex) 시퀀스를 안쓰면 현재 쓸 값을 얻어야하고, + 1을 해야함 첫 열값 

                                 -> mysql 의 'auto increment' 기능 동일

- 시노닝(synonym) : 보안, table 열을 별침

 =>4객체가 table을 도와주는 helper 역할

 

 

 

728x90

'data(SQL)' 카테고리의 다른 글

[머신러닝] 데이터와 인공지능  (0) 2022.10.19
2일차 SQL 셀렉션  (0) 2022.09.07