[SQL]Chapter2-0. 실습환경 세팅

차보경·2023년 1월 2일
0

SQL

목록 보기
13/14
post-thumbnail

※ 하기 내용은 class101 비전공자도 쉽게 배워 바로 써먹는 실무 활용 SQL을 정리한 내용입니다.

개념정리

  • 기업에서는 Server에 DBMS가 설치되어 있고, 데이터베이스도 Server에 존재함
    • 개별 사용자는 Database Server에 접속하기 위한 client SW(서버에 원격으로 접속할 수 있는 SW)만 설치하면 됨
  • 개인은 따로 server가 없으므로 RDMS를 직접 설치해야함
    • 개인 PC의 저장공간에 데이터베이스 생성

파일 설치하기

  • 오라클 11g release2 설치
    https://www.oracle.com/database/technologies/xe-prior-release-downloads.html
  • 쿼리박스 설치 (쿼리문작성 도와주는 tool, 유료 tool과 비슷하지만 무료임!)
    http://www.querybox.com/download/

    다양한 SQL을 지원하는 것이 보인다. 이 쿼리박스를 통해 Oracle DB에 있는 데이터에 들어가서 사용하는 것.

    오류 해결하기
    설치 후 쿼리박스를 연결하려고 하니,
    io오류 : the network adapter could not establish the connection
    이란 오류를 만났다. 기존에 깔려있던 sql developer를 이용해 들어가려고해도 동일한 코드가 뜬다.

    그래서 검색해보면 제일 많이 나오는게, listener파일 확인해봐라, tnsnames파일 확인해보라, 서비스에서 oracle 켜져있는지 확인해보라(나는 아예 없었음) 등이 나온다... 환경변수 설정에 이것저것 다 해봐도 안돼서 1시간 낑낑거리다 빡쳐서 걍 다시 깔았더니
    깔끔하게 실행됨^_^ 여러분 뭔가 이상하다. 구글에서 나같은 상황을 못찾겠다 싶으면 다시 깔아씁시다...ㅎㅎㅎㅎ....

환경 세팅

  • 현재 상태에선 system의 계정으로 들어가 있는 것
  • 이제 신규 유저를 생성해서 그 유저로 DB를 건들여보자.

    신규 유저를 만드는 sql파일을 실행(F5)하면 쪼로록 ▶️가 움직이고 ctrl + N을 누르고 scott / tiger로 접속하면 scott이라는 계정으로 실행할 수 있게 파일 아래가 2:scott@system으로 변경된 것이 보인다.
  • 아래 테이블을 만드는 SQL문과 INSERT INTO을 실행(CTRL + ENTER)하면 해당 테이블과 내용이 채워진다
CREATE TABLE DEPT
    (DEPTNO NUMBER(2)    CONSTRAINT PK_DEPT PRIMARY KEY,
     DNAME  VARCHAR2(14) NOT NULL,
     LOC    VARCHAR2(13) ) ;

CREATE TABLE EMP
    (EMPNO    NUMBER(4)    CONSTRAINT PK_EMP PRIMARY KEY,
     ENAME    VARCHAR2(10) NOT NULL,
     JOB      VARCHAR2(9)  NOT NULL,
     MGR      NUMBER(4),
     HIREDATE DATE         NOT NULL,
     SAL      NUMBER       NOT NULL,
     COMM     NUMBER(7,2),
     DEPTNO   NUMBER(2)    NOT NULL CONSTRAINT FK_DEPTNO REFERENCES DEPT);

CREATE TABLE SALGRADE
    (GRADE NUMBER CONSTRAINT PK_SALGRADE PRIMARY KEY,
     LOSAL NUMBER NOT NULL,
     HISAL NUMBER NOT NULL);

CREATE TABLE BONUS
    (ENAME VARCHAR2(10),
     JOB   VARCHAR2(9),
     SAL   NUMBER,
     COMM  NUMBER);
COMMIT;
  • 생성된 테이블을 확인한다
SELECT A.*
	FROM USER_TABLES A;

해당 테이블이 보이면 끝!

profile
차보의 Data Engineer 도전기♥ (근데 기록을 곁들인)

0개의 댓글