전공/데이터베이스

[데이터베이스] #5 오라클 실습 (개념)

Campus Coder 2024. 4. 8. 15:40
728x90
반응형

목차

  1. 설치
    1. 오라클 프로세스
    2. 연결과 세션
    3. DBA가 사용자 생성하기
  2. 첫 DB 만들기
    1. 테이블 만들기
    2. 손쉬운 명령어
    3. 외래키와 데이터 입력
  3. Oracle SQLs
    1. 데이터 사전
    2. 시퀀스
    3. 데이터 타입

1. 설치

오라클 프로세스

내부적으로 다수 개의 프로세스를 이용

서버 프로세스: 클라이언트 프로세스 요구사항 처리

연결과 세션

local 연결: ID, 암호 필요

원격 연결: ID, 암호, 호스트 이름, (+포트번호) 필요

포트 번호 default 값은 1521

DBA가 사용자 생성하기

오라클을 사용하기 위해 첫 번째로 DBA로 시스템에 접속하여 사용자를 생성 + 권한 부여

사용자 C##hodori, 암호 tooshytotell 생성

사용자 계정은 항상 C##으로 시작

Create user C##hodori identified by tooshytotell
default TABLESPACE users
temporary TABLESPACE temp;
Grant connect, resource to C##hodori;

C##hodori에게 connect, resource 권한 부여

connect와 resource는 권한 다수 개를 묶어 놓은 role임

 


2. 첫 DB 만들기

테이블 만들기

Create table firstTable
	(id			char(13) primary key,
	name		varchar(30),
	height	numeric(4,1)
);
Insert into firstTable ('11', 'Hong Gildong', 165.3);
Insert into firstTable ('22', 'Lee Chulsoo', 175.4);
Insert into firstTable ('33', 'Kim Younghee', 1657.5);

손쉬운 명령어

Create table myFirstTemp as select * from firstTable;
//firstTable과 똑같은 (임시적인 )테이블 생성
Describe user_constraint;
Describe table_name; //to see schema
Select * from tab;   //to see all tables available
Show user;           //to see who am I

외래키와 데이터 입력

Create table temp2 (
	name	char(10) primary key,
	dept	char(10),
constraint c1 foreign key (dept) references temp1);

c1은 외래키 제약의 이름

사용자가 제약 이름을 명시하지 않으면 시스템이 자동적으로 이름을 부여

사용자는 데이터 사전을 검색하여 이를 확인 가능

 


3. Oracle SQLs

데이터 사전

데이터 사전은 데이터베이스에 대한 데이터(즉, 메타 데이터)로서 데이터베이스에 대한 다양한 정보를 기록 관리하며, 사용자에게 주로 테이블 형식으로 정보를 공개

오라클 데이터 사전 특징

  • DBA가 소유
  • SGA 영역의 dictionary cache에 보관하여 사용자에게 빠른 접근 제공
  • 일반 사용자는 read-only
  • 데이터 변경 연산은 권한이 없어 실행 불가

데이터 사전을 구성하는 테이블은 다음 규칙에 의하여 명명됨

  • user: User's view (what is ni the user's schema)
  • all: Expanded user's view (what the user can access)
  • dba: DBA's view (what is in all users' schemas)
Select * from user_objects:
Select * from user_tables;
Select * from user_sequences;
Select * from user_indexes;
Select * from user_views;
Select * from user_constraints;
describe user_objects; //describe는 스키마 정보를 보여주는 문장

시퀀스

트랜잭션의 성공여부와 상관없이 생성

값이 유일함

값의 연속성 보장 x

특정 테이블에 연관되어 생성 x

시퀀스는 생성문과 동시에 값이 생성되는 것이 아니고 nextval을 호출하여야 시퀀스 값이 생성됨

Create sequence sequence_name
[start with n]
[increment by n]
[maxvalue n | nomaxvalue]
[minvalue n | nominvalue]
[cycle | nocycle]
[cache | nocache];

시퀀스 생성문의 phrase

  • | 오른쪽 값이 default 값임
  • cache는 빠른 접근을 위하여 메모리에 미리 할당하고자 하는 시퀀스 값의 개수

데이터 타입

varchar2

  • 최대 4000 bytes까지 선언 가능
  • varchar로 속성을 선언하면 varchar2로 속성이 생성됨

‘’ (공백문자열)

Insert 문장에서 공백문자열을 널 값으로 인식

728x90
반응형