소유주 : sys, DBA
관리자 : system
유저 : 권한을 받는 ..

권한을 system, sys가 줄 수 있다.

1. 세션 권한 : 유저에게 접근 권한을 줌

2. 사용 권한

3. 테이블 스페이스 권한(테이블공간을 사용할 수 있는 권한)

4. 테이블 관련 권한(테이블을 생성할 권한)

 

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

 

 

관리자 페이지에서
(이름 cos 비밀번호 bitc5600 를 원하는 것으로 설정하면 된다

alter session set "_oracle_script"=true;
CREATE USER cos IDENTIFIED BY bitc5600;

GRANT CREATE SESSION TO cos;
GRANT CREATE TABLESPACE TO cos;
GRANT CREATE TABLE TO cos;
GRANT CREATE SEQUENCE TO love;
GRANT select, insert, delete, update on cos.player TO cos; --일부테이블만 권한주기
alter user cos default tablespace users quota unlimited on users;

 

 

권한 이해를 위한 기초 순서

오라클 데이터 베이스는 한줄씩 실행해야한다
Ctrl+Enter

관리자 페이지에서 cos 유저를 생성(세션권한) 및 사용권한을 부여

alter session set "_oracle_script"=true;
CREATE USER cos IDENTIFIED BY bitc5600;

한줄씩 ctrl + enter

 

 

테스트 후 성공하면 접속

 

 

오라클 SQL은 대소문자 구분하지 않지만 다른 SQL은 구분하는 곳도 있으니
구분하는 것으로 통일하자

크기는 길이인데 지금은 1 = 1byte라고 생각하자

널이 아님은 선언 및 초기화를 같이하는경우 사용(필수입력)

테이블을 만드는 것은 java 클래스를 만드는 것과 비슷하다

만들고 나서 확인을 누르면

테이블 공간 접속 권한이 없어서 오류가 발생한다

 

 

 

DDL로 들어가서 내용 복사

 

 

관리자 페이지로 돌아가서

GRANT CREATE TABLESPACE TO cos;


Ctrl+Enter

 

 

코스 페이지로 돌아가서

DDL에서 복사한 내용을 복붙 후 ctrl + enter

생성권한이 없어서 오류

 

 

다시 관리자 페이지에서

GRANT CREATE TABLE TO cos;

ctrl + enter

 

 

다시 코스 페이지로 돌아가서

ctrl + enter 를 치면

Table PLAYER이(가) 생성되었습니다. 라고 뜬다

 

 

생성되었다고 나오지만 테이블이 보이지 않는다
접속 탭에서 새로고침 하면 테이블이 보인다

 

 

코스 페이지에서

INSERT INTO player(id, name, position, teamid) 
VALUES(1,'이대호','1루수',1);

ctrl + enter

 

 

관리자 페이지에서

alter user cos default tablespace users quota unlimited on users;

ctrl + enter

 

 

코스 페이지에서 다시

ctrl + enter

 

 

 

 

커밋하기

 

 

 

 

 

 

SELECT
    *
FROM player;

다시 실행해보면 행의 내용이 삭제되어 있다

 

스크립트언어 (무언가를 도와주는 보조적인 언어)

쉘스크립트 
- 운영체제마다 다를 수 있다

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

RR(라운드로빈) 타임 슬라이싱
라운드 로빈 스케줄링(Round Robin Scheduling, RR)은 시분할 시스템을 위해 설계된 선점형 스케줄링의 하나로서, 프로세스들 사이에 우선순위를 두지 않고, 순서대로 시간단위(Time Quantum)로 CPU를 할당하는 방식의 CPU 스케줄링 알고리즘이다.

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

데이터 다운로드는 하드디스크 입장에서 쓰기(input)되는 것
cpu는 다운로드 하는 동안 논다

프로세스
1.연산 - cpu
2.쓰기 - 하드디스크
-쓰는동안 연관된 연산은 대기해야함, 연관되지 않은 연산은 바로 가능
3.연산 - cpu

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

스타, 카톡, 멜론 3 프로세스를 동시에 작동한다고 할때
통신을 할때 타임 슬라이싱으로 여러가지 프로그램의 통신을 주고받음

포트 : 논리적으로 존재하는 변수 (65536개 - 2byte)
포트번호로 보낼 곳을 나누어 줄 수 있다 (라우팅)

포트는 통신이 필요한 모든 프로세스에 존재

어떤 프로그램이 사용하는 포트를 다른 프로그램이 쓰면 포트 충돌이 일어남

포트가 많이 열려 있을 수록 보안에 취약
필요한 포트만 열어서 사용

윈도우는 대부분의 포트를 닫아놓고
유저가 허용을 해야 포트를 연다

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

IPv홀수 == 테스트용

32bit IPv4 주소체계 : 약 42억 9천개

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

라우터
소프트웨어방식 : 느림
하드웨어방식 : 빠름
한국에서 미국으로 통신한다고 할경우
나는 제일가까운 라우터로 데이터를 보내게 되고 해당 라우터가 다른 라우터를 검색 및 전송

시스코라는 회사가 라우터 제조 회사이기 때문에 추후 IPv6가 표준이 되면 주가가 높아질 수도 있음

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

Breadth First Search(너비 우선 탐색)

https://namu.wiki/w/BFS

Depth First Search. 깊이 우선 탐색.

https://namu.wiki/w/DFS

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

데이터 무결성 - (여러 곳에 주소가 저장되어있는데 한곳만 바뀌었다면 무결성이 깨진것)

우리의 하드디스크는 파일시스템이다
그 일부 영역을 DBMS로 바꾸어서 사용

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

DML - 데이터 조작어 
읽는 것 - SELECT - DQL (포괄적으로 DML에 속함)
읽는 것은 정확성에 문제가 없다

쓰는 것 - INSERT, UPDATE, DELETE - DML
쓰는 것은 정확성에 문제가 생길 수 있다.
여러사람이 쓰기를 하게되면 정확성에 문제가 생길 수 있다. 
변경하는 것이니 commit, rollback을 잘써야한다.
트랜잭션 - 일의 최소한 단위(송금이라면 내돈을 빼는 것 + 상대방 돈을 늘리는 것)

DDL - 데이터 정의어

아래 링크 꼭 참고

https://brownbears.tistory.com/180

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

 

'낙서장' 카테고리의 다른 글

200320  (0) 2020.03.20
200319  (0) 2020.03.19
이클립스(spring tool) 단축키(키맵 ), 테마 세팅  (0) 2020.03.17
개발툴(intellij) 단축키  (0) 2020.03.17
이클립스(SpringTool) 세팅  (0) 2020.03.16

12c버전 이후 부터는 유저를 생성 할 때 


ALTER SESSION SET "_ORACLE_SCRIPT" = true;  -- 왼쪽 코드를 먼저 적어야한다 
CREATE USER cos1 IDENTIFIED BY bitc5600;

 

 

또는 false 환경에서 생성하려면


ALTER SESSION SET "_ORACLE_SCRIPT" = false;
CREATE USER c##cos1 IDENTIFIED BY bitc5600;

유저 아이디 앞에 c##을 붙인다

환경
윈도우 10 64비트

 

SQL은 언어

오라클에서 교육용 express edition

SQL개발툴

 

 

설치시 주의 사항
1. 내컴퓨터 이름이 한글이면 설치가 되지 않는다.

 


2. 어드민 이름이 한글이면 설치가 되지 않는다.

 

3. 최상위 경로에 설치 (C:\)

 

4. 폴더명에 한글이 있으면 안됨

 

5. 8080포트가 사용되고 있으면 안됨
ex)윈도우키+R : cmd
netstat -ano

 

설치위치 그대로

SQL plus를 실행하여
아이디와 비밀번호를 쳐본다(비밀번호는 보이지 않는다)
접속되면 정상 설치완료
다만 개발이 불편하므로 SQL developer를 사용할 것

 

다운 받은 SQL developer 실행하면

테스트를 하고 상태가 성공이 뜨면 정상

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

1. 자바 파일 - 파스칼 표기법
ex) redapple -> RedApple
2. 카멜 표기법 - 자바 변 수 및 함수
ex) redapple -> redApple
3. 언더스코어 표기법
ex) redapple -> red_apple

1. src 내부에 있는 폴더를 패키지라고한다

2. 패키지 안에는 클래스(이름은 파스칼 표기법)

3. .java파일명과 클래스 이름은 동일해야한다

4. 모든 코드는 클래스 내부에 작성한다.

 

'Programming Language > Java' 카테고리의 다른 글

자바 기초 - 숫자 연산, ++, 조건문, if문, 논리연산자  (0) 2020.03.20
자바 프로그래밍 표기법  (0) 2020.03.17
200317 // 이클립스  (0) 2020.03.17
자바 매개변수 - 가변인수  (0) 2020.03.11
자바 배열  (0) 2020.03.11

메뉴 help - Eclipse Marketplace 

intellij 검색 및 설치

 

 

메뉴 window - preferences

 

Scheme에서 다운받은 키세팅을 선택 및 적용

 

 

메뉴 help - Eclipse Marketplace

theme 검색 및 설치

 

 

메뉴 window - preferences

DevStyle - Color Themes

'낙서장' 카테고리의 다른 글

200319  (0) 2020.03.19
200318  (0) 2020.03.18
개발툴(intellij) 단축키  (0) 2020.03.17
이클립스(SpringTool) 세팅  (0) 2020.03.16
git 연습하기1  (0) 2020.03.16

 

 

 

 

1. src 내부에 있는 폴더를 패키지라고한다

 

2. 패키지 안에는 클래스(이름은 파스칼 표기법)

 

3. .java파일명과 클래스 이름은 동일해야한다

4. 모든 코드는 클래스 내부에 작성한다.

--

HelloWorld.java 를 컴파일하면 HelloWorld.class가 되고 이것을 jvm으로 보내면 해당파일을 실행한다
jvm에서 class를 실행할때 하는것 (jvm 아키텍쳐 )
1. static 을 검색후 로딩(메모리에 올림) -> static 이 없으면 메모리에 로딩이 안되서 실행이 안됨.
2. main 을 검색
3. main 을 실행
4. 종료

--

프로그램파일이 메모리에 올라가서 실행되면 프로세스가된다

--

이클립스 작업시 오류확인을 위해 Ctrl+S를 자주 한다
ctrl+alt+L : 코드정렬

--

변수이름으로 해당 주소번지를 찾는다 - 매핑

--

; 세미콜론의 역할은 문장이 끝났다는것

--

자바에는 8가지 자료형이 있다
자료형이 필요한 이유 : 데이터를 저장하는 공간을 효율적으로 저장하기위해

대표적 정수 자료형
byte - 1바이트를 차지한다 / -128이하 127이상의 값을 대입하면 오류가 남
int - 4바이트를 차지한다 / -21억이하 21억 이상의 값을 대입하면 오류가 남(간단한 설명을 위해 근사치를 적음)
long - 8바이트를 차지한다 / -21억.~ 이하 21억.~ 이상 

int 변수에 byte 자료를 대입할수 있다
byte num1 = 10;
int n1 = num1; (묵시적 형변환 - num1의 자료형이 더 작은 크기여야함)

byte num2 = 1000000000;
int n3 = (byte)num2; (명시적 형변환)

*다운캐스팅시 내용이 다운캐스팅 할 자료형 내의 숫자여야한다(안그러면 유실 될 수 있다)

실수 자료형

 

문자 자료형

char

 

char[] 배열은 길이가 정해진 데이터를 입력할 때 사용
String 은 가변적인 데이터를 입력할 때 사용(메모리 효율은 좋으나 연산이 오래걸림)

String (기본 자료형이 아니라 char의 배열이라고 이해)

 

Class (다양한 타입을 저장하는 자료형)
main이 아닌 class는 실행될때 메모리에 미리 로딩 되지 않는다

--

heap이란

자바프로그램이 시작하면 메모리에 static요소가 모두 뜬다
->프로그램 시작부터 끝까지 계속해야함

[어느순간 필요했다가 사라져도 되는 것들]은 메모리의 heap영역에  뜬다
->생성과 소멸을 계속함
->개발자가 관리하는 공간(개발자가 원하는 시점에 생성 및 소멸)

--

static요소는 class에 속해있다

--

 

--

new ㅁㅁ() 했을때에는 heap에 뜬다(static이 없는 것들만.)
다만 변수에 지정하지 않았기때문에 주소가 없어서 찾을 수 없다
클래스 자료형은 보통 heap에 띄움

--

타입 변수 = new 타입();

--

int 4byte
long 8byte
byte 1byte

double 8byte

char 2byte

--

Object - 어떤 자료형이든 받을 수 있는 자료형

--

int a;
->선언만 하는것 기본 자료형이라 변수의 크기는 정해짐(call by value)
int a = 10;
->초기화

String a;
->선언 ,  4byte로 정해짐(call by reference, 주소만 정해짐)

--

call by value -> 변수를 부르면 값이 나옴

call by reference -> 변수를 부르면 주소가 나옴(참조)

포인터 - 주소를 가르쳐 주는 것

--


+ Recent posts