Oracle DB 개념 환경설정

강정우·2022년 6월 28일
0

DB

목록 보기
11/30
post-thumbnail

#1 SQL 복습

1. 다짐 및 유의사항

다짐

  1. code 작성 단, 실행 X
  2. code 해석
  3. 결과 예측
  4. code 실행
  5. 결과 비교분석

유의사항

  1. 반드시 책은 온라인으로만 볼 것.
  2. code 작성 후 실행시키지 말고 머릿속으로 생각해 볼 것.
  3. 반드시 관리자 계정이 아닌 다른 계정으로 들어갈 것.
    일례로 어떤 미X놈이 회사 관리자 계정으로 2TB 가까이 날려먹었다는 소문이 있음 이정도면 회사에 막대한 손해를 입히고 고소까지 쌉가능임.

2. 개념

DB 과목엔 인공지능이 어떤 process를 통하여 진행되는지 process를 조금 배울 예정

Data란?

  • Data는 사용하기 위해 존재하고 Data를 사용하기 위해선 가장 중요한 것이 무결성 임!! 그래야 data로 부터 insight를 뽑아 "정보"를 얻는 것임. DATA의 무결성의 조건은 정확성, 최신성임.

Data Base란?

  • 무결성이 보장된 DATA를 모아놓은 집합.

Table이란?

  • Database 내에서 Data를 저장하는 단위, 표의 형태의 구조를 가짐. 또는 표의 제목.
  • 가장이상적인 table은 하나의 column에 하나의 PK(기본키)를 설치한 것이다.

Column이란?

  • 표의 역할과 같음 하나의 talbe은 반드시 하나이상의 column들로 구성되어있음.

nn+uk 이란?

  • Not null + unique 이란 뜻으로 Not null == 비어있지 않고, unique == 중복되면 안 된다는 뜻이다.

null 이란?

  • null은 block은 즉 주소는 할당되어있지만 그 안에 value 즉 내용물은 없는 상태를 뜻한다.

기본키, 후보키란?

  • PK는 table을 구성하는 여러개의 column중 table을 대표하는 특성을 가진 column에 설치한다.
  • nn+uk의 조건을 충족하는 키들을 후보키라 하고 기본키 즉, primary key 는 후보키들중 하나를 선택한다.
  • 예를 들어 학번과, 주민등록번호는 모두 Not null 과 unique를 모두 충족하는 조건이다 하지만 학번과는 다르게 주민등록번호는 전 국민이 모두 가지고 있으므로 학번이 더 좋은 primary key 즉, 기본키라고 할 수 있다.
  • PK(Primary key)에 있지 않은 DATA는 무결성이 깨진 DATA라고 볼 수 있다.

외부(참조)키란?

  • foreign key로 다른 table의 column의 값을 참조하여 talbe과 table의 관계를 설정하는 키이다.

DBMS란?

  • 사용자들의 요청을 받아 결과를 feedback 하고 db를 유지 관리해주는 중간 매체이다.

3. 셋팅

환경의 제약

  • 실제로 많은 공기업과 회사들은 Oracle을 Linux기반으로 사용한다. 그리고 그것을 개인pc의 환경에 셋팅하려면 2~3시간이 걸린다고 한다.
  • 하지만 유튜브로 꼭 DB를 관리하는 법을 배워서 SQLD에 도전하겠다.
  • 우선 우리는 다운로드되어있는 Oracle Database 11G ver 으로 진행한다.

4. 기초 및 기본 코드 (46p)

0. ;

SQL command line도 java와 같이 ";"로 문장을 끝낸다.

1. conn

우선 어떤 사이트이던 로그인이 필수이다. 이처럼 SQL도 로그인부터 해야한다.

SQL> conn system / password
  • 여기서 주의해야할 점은 system은 절대적인 관리자 권한으로 절대!! 함부로 들어가서 DB를 조작하면 안 된다.
  • conn은 connect를 의미한다.

2. alter user

앞서 설명했듯 system의 관리자권한으로 함부로 들어가면 안 되기에 alter을 써서 부계정을 생성후 들어갈 것이다.

SQL> alter user hr	// ID
  2 identified by hr;	//PW set
  
User altered.

SQL> alter user hr
  2 account unlock;	// 잠금을 푸는 명령어
  
User altered.

SQL> conn hr / hr
Connected.

3. run || / 그리고 ed

  • ed == editer 이고 ed를 입력하면 메모장이 뜨며 SQL butter memory에 있는 문장이 뜬다. SQL butter memory란 가장 마지막에 실행한 SQL 명령어가 저장되어있는 공간이다.
  • ed 말고 command line에서 실행시키고 싶다면 / 혹은 run 으로 실행시킨다.

4. desc

describe 묘사하다의 준말로써 desc뒤에 어떤 column을 붙히면 그 column에 관하여 표시해 준다.

SQL> desc departments
  • 상기 코드는 departments라는 column을 보여달라는 코드이다.
  • Type부분을 보충설명 하겠다.
    NUMBER(4)는 부서번호(PK)가 되겠다. VARCHAR은 부서이름, NUMBER(6)는 부서장의 사원번호 마지막으로 있는 NUMBER(4)는 지역번호로 FK 즉, 참조키가 되겠다.
SQL> desc * from employees
  • 위 코드는 employees의 모든 DATA를 보여달라는 뜻이다.

    *그러면 다음과 같은 결과를 얻게 된다. 보다싶이 column과 data값들이 뒤틀려 있다. 그 이유는 DEPARTMENT_NAME column을 보게되면 "-"이 매우 많은 것을 확인할 수 있는데 DATA의 크기를 의미한다 이 때문에 DATA값이 사람의 눈으로 확인하기엔 어려움이 있다. 이것을 해결하기 위해 사용하는 것이 format이다.

5. format

SQL> column department_name format a20

  • 다음과 같은 깔끔한 결과값을 얻을 수 있다.
    하지만 format a20은 alphabet 20자를 나타낸 것으로 숫자에 적용하면 에러가 발생한다.
SQL> column department_id format a20

  • 이럴땐 당황하지 않고 다시 clear를 눌러주거나 속성값에 맞는 format을 사용하면 된다.
SQL> column department_id format 999999
SQL> column department_id clear
profile
智(지)! 德(덕)! 體(체)!

0개의 댓글