oracle 강좌정리(맥북x)
1. 오라클 회원가입
2. 오라클 설치방법
product -> oracledatabase -> download oracle database19 -> 하단 express-> 설치 비번 : oracle
오라클 DBMS (DataBase Management System)
- Enterprise 버전 (실제회사)
- Express 버전 (교육/개인)
DB서버 - 관리자
-sys
-system 비번 : oracle
3. 설치시 관리자 비번 설정
관리자 계정 : system
관리자 비번 : oracle
4. summary 확인
오라클 기본 Port: 1521 *port 번호를 알아야 기본 경로를 통해 접속이 가능하다 (localhost(127.0.0.1) 진입)
mysql 기본port : 3306
오라클 접속하기 위한 정보
ip번호 : localhost
port번호: 1521
서비스명: x3
[접속경로]
ip번호 >> port번호 >> 서비스명
(컴퓨터) (컴퓨터내부 네트워크) (사용할대상)
5. 서비스 확인
작업 표시줄 > 작업관리자 > 서비스(자세히) > OracleServiceXE, OracleXETNSListener 2개 실행중 필수
6. 접속 툴
가. sql*plus
- 자동설치
- Text 기반
C: \>sqlplus 사용자명/비번
명령어를 임의의 위치에서 사용 가능하도록 경로 설명해줌.
* path 설정값 보기 방법
C: \> set path
path=명령어경로;명령어경로;...
* path 설정 및 제거
시작 > 오른쪽 클릭 시스템 > 고급시스템 설정(오른쪽) > 고급 환경변수 >
나. SqlDeveloper
- 자동 설치 및 다운로드 필요
- GUI 기반
외부/내부 -> PC <- 프로그램언어
무료 : SQL*Plus (기본설치) -> Text 기반
SQLDeveloper (포함O, 포함x -> 다운로드) * 현재사용중
* java(JDK필요) 현재 포함 => GUI 기반
유료 : Toad*** ,
cmd(관리자권한실행) -> sqlplus system/oracle 실행
Oracle 접속
계정설정)
도구 >> 환경설정 >> 코드 편집기 >> 글꼴 수정
블록 잡은 이후 실행
SQL 문 작성 후 파일 저장 -> 소스코드를 볼 수 있다.
show user; 를 통해 항상 작업하고있는 시스템이 뭔지 확인!
tip : 시트여는 방법 관리자 -> SQL 속성시트 열기 , 새창A4 용지모양
7. 2개의 계정 생성 ==> 관리자만 생성 가능
가. 수업때 사용할 계정
SCOTT/TIGER
==> 파일로 제공됨.
메모장으로 SCOTT 내용을 복사 후 -> 새로운 시트를 열고 복사 -> 실행 -> 왼쪽 접속 -> 새로운 계정 추가 -> SCOTT/TIGER 입력
-> 시트 추가 -> show user 확인
나. 워크샵 사용할 계정
workshop/workshop
a. 계정생성 명령어
create user workshop
identified by workshop;
b. 권한 설정
grant resource, connect
to workshop;
커맨드로 로드 하는 방법 (Scprit.txt 자료를 추출)
가로 (레코드) 정보 , 세로 (컬럼)
몰랐던것
열은 널값을 가질수 있다.
*무결성(결점이 없는 Data)
- 결점이 없어야 하므로 제약조건 이용
※5가지(컬럼단위로 지정)
1. primary key 제약조건
2. uniqe 제약조건
3. not null 제약조건
4. check 제약조건
5. foreign key 제약조건
#제약조건
목적 : 테이블의 data 무결성 보장
1. primary key(pk) (유일성) [★추가문법★] 기본키
- 테이블당 한번만
- 유일한 값 + null 값 저장 x -> 레코드식별 용도 ex) 주민번호, 학번, 사원번호
- 자동으로 인덱스 생성됨 -> 검색속도향상
=색인표 기능
2. uniqe [★추가문법★]
- 유일한 값 + null 값 허용
- 자동으로 인덱스 생성됨 -> 검색속도 향상
- 테이블에 여러개 지정 가능
3. not null [★기능을 변경/ 변경문법★]
- null 값 x
- 원래 table은 null 허용(o)
=> null 허용(x)
- 여러개 지정 가능
4. check [★추가문법★]
- 컬럼에 저장되는 값의 데이터의 범위를 지정가능 ex) 컬럼값에서 성별- 남,여, 남자, 여자, m,fe 등 다양한 값일때 남 과 여로 지정
- 범위안의 데이터만 저장시킴
5. foreign(fk) [★추가문법★] 외래키(참조키)
- 다른 테이블을 참조할때 사용
ex) A->B 테이블에서 기본키와 외래키로 가르킬때 쓰는 키
학생테이블의 NO 기본키가 수강신청 NO 학생의학번이 외래키가 참조가 된다.
주 Master(dept, 부서) <- 부 Slave (emp, 사원)
fk는 반드시 master 의 아무 컬럼이나 참조 못하고
master의 pk 또는 uk 만 참조가 가능하다
-> fk 가질수 있는 값
master pk , uk + null 가능
* SQL(Structured Query Language)
1) 종류1
- ANSI
-의존적인 SQL 문
2) 종류2
가 - Query Language : table 검색 (DQL)
- 레코드 (셀렉션)
- 컬럼별 (프로젝션)
- 조인(join) - 참조
나 - DML(Data Manipulation Language) // 메모리에서만 적용
- insert 문 : 레코드 생성
- delete 문 : 레코드 삭제
- update 문 : 레코드 수정
- merge 문(병합) : 내부적으로 insert, delete, update 문 사용
다 - TCL(Transaction Control Language)
- commit(반영) : 물리적인 파일정보 까지 저장
- rollback(취소) : 메모리에서 적용
ex) mysql 에서 데이터를 삭제 처리해도 , 물리적인 파일정보가 남아 있기에 cmd 창으로 쳐보면
데이터가 그대로 남아있음
* 오라클 구조
메타데이터 : 칼럼명, 계정명, 권한, 테이블명, 컬럼명 ex) 이름 , 나이
우리가 필요한 데이터 : 컬럼 내용 ex) 홍길동, 20
* 트랜잭션 (DML&TCL 묶음)
- 특징 : 개별적인 동작이 모두 성공했을때만 commit 하고, 하나라도 실패하면 실행된 개별작업을
모두 rollback 처리함
- DML 에서만 관련됨 => (insert, delete, update) 1개로묶음
ex) 제주도 여행
비행기 예약 -> 렌트카 예약 -> 숙박 예약 = 여행 성공 = 반영 [하나라도 안되면 모두 취소]
- 개념 : 여러작업이 하나의 작업처럼 동작하도록 묶음
라 - DDL(Data Definition Language)
-> 내부적으로 저장(commit) 하기 때문에 물리적인 파일에 바로 반영됨(rollback 불가)
- 객체 생성/수정/삭제
5가지 객체(object) ★★★
- 테이블(table)
---------------------------------------------------------------------------------------------
- 인덱스(index) : table 검색속도 향상
- 뷰(view) : table의 data 보호(*) / SQL문 간소화 목적
- 시퀀스(sequence) : table의 특정컬럼값을 자동으로 넘버링할때 사용 ex) 시퀀스를 안쓰면 현재 쓸 값을 얻어야하고, + 1을 해야함 첫 열값
-> mysql 의 'auto increment' 기능 동일
- 시노닝(synonym) : 보안, table 열을 별침
=>4객체가 table을 도와주는 helper 역할
'data(SQL)' 카테고리의 다른 글
파이썬에 Tibero 연결하기 과정 (Apple m1, m2) Docker 로 셋팅하기 (0) | 2025.01.07 |
---|---|
[머신러닝] 데이터와 인공지능 (0) | 2022.10.19 |
2일차 SQL 셀렉션 (0) | 2022.09.07 |