Oracle SQL

Arsen·2022년 9월 5일
0

SQL

목록 보기
1/4

인공지능 부트캠프 컴퓨터 비전을 활용한 데이터 엔지니어링을 공부할 수 있을것이라 생각되어 참여하게 되었다.
초반에는 부트캠프에 참여하기전 공부했던 지식들 위주라 TIL보다는 기록 위주의 글이 될 것 같다.

3개월간의 교육과정

오라클 SQL

파이썬

Numpy

Pandas

시각화 (matplotlib)

Django 프레임워크

프로젝트

머신러닝

지도학습

비지도학습

딥러닝

DNN

CNN

오라클 SQL

  1. 오라클 회원가입
    www.oracle.com

  2. 오라클 DBMS(Database Management System)
    enterprise 버전 : 실제 회사에서 사용
    express 버전 : 개인용

  3. Oracle Database 11g Express Edition을 설치했다.
    관리자 계정 : system
    관리자 비번 : oracle

  4. summary 확인
    summary 내에 port번호들이 나오는데 이들의 의미

    오라클 기본 port : 1521 pc 네트워크안의 네트워크 프로그램을 찾기위한 주소가 port
    mysql 기본 port : 3306

    local host (127.0.0.1) 컴퓨터 내부에서 접근할때의 ip, 원래 컴퓨터의 ip로 접근할 수도 있음

    오라클을 설치할 때에 오라클 내에 웹서버가 설치가 됨 (tomcat이라고 불림)
    tomcat의 port번호가 8080

    자바에서는 tomcat을 따로 설치할 확률이 높다. 이때 오라클의 tomcat과 port 충돌이 날 수있다. 그래서 자바를 할 때에 받은 tomcat의 port 번호를 변경 해주어야한다. (80X0 식으로)

    IP 번호 : localhost
    port 번호 : 1521
    서비스번호 : xe
    까지 세단계를 거친다.

  5. 서비스 확인
    작업 표시줄 > 작업 관리자 > 서비스
    OracleXETNSListener
    OracleServiceXE가 실행되고 있어야한다.

  6. 접속 툴
    가. sql*plus

    • 자동 설치
    • text 기반
    • sqlplus.exe 명령어가 C:\oracle\app\oracle\product\11.2.0\server\bin 있음.
      명령어를 임의의 위치에서 사용 가능하도록 경로 설정해줌.
    • path 설정값 보는 방법(cmd)
      C:>set path
      path = 명령어 경로;명령어경로;....

    • path 설정 및 제거
      시작 > 오른쪽 클릭해서 시스템 > 고급 시스템 설정 > 고급탭의 환경변수


      나. sqlDeveloper

    • 자동 설치 및 다운로드 필요
    • GUI 기반
  7. 2개의 계정 생성 ==> 관리자만 생성 가능
    가. 수업때 사용할 계정
    SCOTT/TIGER
    ==> 파일로 제공되는 계정
    나. 워크샵 사용할 계정
    workshop/workshop

    a. 계정생성 명령어
    create user workshop
    identified by workshop;

    b. 권한 설정

    grant resource, connect to workshop;

관계형 데이터베이스(RDB)

열 (Column)
행 (Record)
값이 없을때 null

  • 무결성 : 결점이 없는 Data
    무결성을 위해 제약조건을 이용한다.
  • 제약조건 5가지 (Column단위로 설정)
  1. Primary Key - 테이블당 한번만, 유일한값 + null 저장 X, 자동으로 Index 생성됨 (추가하는 문법)
  2. Unique - 유일한 값 + null값 허용, 자동으로 Index 생성됨 => 검색속도 up, 여러개지정 가능 (추가하는 문법)
  3. Not null - null 값 X (변경하는 문법)
  4. Check - Column에 저장되는 값의 범위 지정, 여러번 지정가능 (추가하는 문법)
  5. Foreign Key - 외래키, 참조키, 다른 테이블을 참조할 때 사용, Fk는 반드시 master table의 아무컬럼이나 참조하지 못하고 master의 PK 또는 UK만 참조할 수 있음 =>Fk가 가질 수 있는 값은 Master의 PK or UK + null 가능

SQL(Structured Query Language)

  1. 종류 : ANSI
    의존적인 SQL문
  2. 종류
    가. Query Language : select문 (Projection(컬럼별 검색) Selection(레코드별 검색), Join(테이블 데이터를 연결하여 검색)
    나. DML(Data Manipulation Language)
    insert 문 : 레코드 생성
    delete 문 : 레코드 삭제
    update 문 : 레코드 수정
    merge 문 : 내부적으로 insert, delete, update문 사용
    다. TCL(Transaction Control Language) : Commit
    Rollback
    (특징 : 개별적인 동작이 모두 성공했을 경우에만 Commit 하나라도 실패하면 실행된 개별작업을 모두 Rollback 처리)
    라. DDL(Data Definition Language) 객체 생성/수정/삭제
  • 5가지 객체 (object)
    -- 테이블 (table)
    -- 인덱스 (index) : table 검색속도 향상
    -- 뷰 (view) : table의 Data 보호, sql문 간소화
    -- 시퀀스 (sequence) : table의 특정 컬럼값을 자동으로 numbering할 때 사용 MySQL의 auto increment 기능과 동일
    -- 시노님 (synonym) : 보안, table명을 별칭

    강사님께서 Java쪽을 많이 하신분이라 잘 몰랐던 서버쪽 지식들을 많이 배울 수 있어 좋았다.
    파이썬 문법부터 공부할거라 생각했는데 커리와 달리 Oracle SQL로 시작했는데 오히려 좋았다.
    데이터베이스 공부가 꼭 필요하다 생각했어서 알고있는 파이썬공부보다 훨씬 나은 스타트였다.

profile
ML/AR/CV 공부

0개의 댓글