생각하는 감쟈
[Oracle] DateBase / 관계형 데이터 모델 개념 본문
1. 사용자 생성
- create user 오라클 객체 생성
- drop : 사용자 삭제.
2024-0304-01) 사용자 생성과 권한 부여
1. 사용자 생성
- create user 명령 사용
[사용형식]
create user 유저명 IDENTIFIED BY 암호;
. '유저명'과 '암호'는 사용자 정의어 (USER DEFINED WORD)를 사용
. 사용자 정의어
- 영어 알파벳, 숫자, _, $등을 사용
- 첫 글자는 영어 알파벳을 사용하고 2번째 숫자나 특수문자 사용 가능
- 특수문자는 연속하여 사용할 수 없음(반복은 가능)
- 단어의 길이는 제한 없음
- 예약어(RESERVED WORD)와 동일해서는 안 됨
- 대소문자 구별하지 않음
사용예)
CREATE USER SB IDENTIFIED BY java;
한줄 실행 CTRL + ENTER
2. 권한 부여
. 사용자의 역활 부여
. GRANT : 권한 부여
REVOKE : 권한 회수
[사용형식]
GRANT 권한명, ... TO 계정명;
- 권한명 : 사용자가 수향할 수 있는 일의 종류
보통 초기 부여값으로 CONNECT, RESOURCE, DBA를 사용하여 권한을 부여함
사용예}
GRANT CONNECT, RESOURCE, DBA TO SB;
SYSTEM으로 접속자(USER)만듦 안에는 테이블 생성 불가
유저 계정을 새로 만들어서 테이블!
+) 워크시트 만들기
3. hr 계정의 활성화
ALTER USER HR ACCOUNT UNLOCK;
ALTER USER HR IDENTIFIED BY java;
ERD클라우드 - 내보내기 테이블로 가져올 수 있음!
DB(Data Base)
특성
- 실시간 접근
- 계속적인 변화
- 동시 공유
- 내용에 의한 참조
DBMS (데이터베이스 관리 시스템)
- 파일 관리 시스템의 단점을 개선하여 데이터를 통합적으로 관리하는 소프트웨어 시스템
트랜잭션
- 트랜잭션은 DB에서 하나의 논리적 기능을 수행하기 위한 일견릥 연산 권한으로서 작업의 단위
- DB관리 시스템에서 회복 및 병행 수행 시 처리되는 작업의 논리적 단위
- 하나의 트랜잭션은 정상적으로 종료될 경우 Commit / 비정상적으로 종료될 경우 Rollback
트랜잭션의 특성
- 데이터 무결성을 보장하기 위하여 DBMS의 트랜잭션이 갖추어야 할 특성
원자성(Atomaicity) : 완전히 끝마치지 않을 경우에는 전혀 이루어지지 않은 것과 같아야 함
일관성(Comsistency) : 트랜잭션들간의 영향이 한 방향으로만 전달되어야 함
고립성(Isolation) : 트랜잭션의 부분적인 상태를 다룬 트랜잭션에 제공해서는 안 됨
지속성(Durability) : 성공적인 트랜잭션의 수행 후 반드시 DB에 반영하여햐 함
트랜잭션의 상태
- 활동 (Active) : 트랜잭션이 실행 중인 상태
- 실패 (Falied) : 실행 중에 오류가 발생하여 중단된 상태
- 철회 (Acirted) : 비정상적으로 종료되어 Rollback 수행한 상태
- 부분 완료 (Partially Committed) : 마지막 연산까지 수행했지만 Commit을 실행하기 전의 상태
- 완료 (Committed) : 성공적으로 완료되어 Commit 연산을 수행한 후 상태
관계형 데이터 모델
- 데이터가 최소한의 의미를 가지는 테이블 형태별로 표현
릴레이션 (Relation) : 테이블 (Table)
튜플 (Tuple) : 레코드(Record) 한 행을 구성하는 속성들의 집합
애트리뷰트 (Attribute) : 속성 -> 열
도메인(Domain) : 속성들이 가질 수 있는 값들의 집합
차수 (Degree) : 릴레이션에 들어있는 속성의 개수
기수 (Cardinality) : 릴레이션에 들어있는 튜플의 개수
스키마 (Schema) : 릴레이션의 이름과 모든 속성의 이름으로 정의한는 릴레이션의 논리적 구조
릴레이션의 특징
- 릴레이션은 순서가 없는 집합
- 튜플 속성 간 순서 없고, 동일한 튜플은 존재할수 없으니 튜플이 모두 유일하며 각각 식별 가능
KEY
Super Key > Candidate Key > Alernate Key > Primary Key
- 슈퍼키 (Super Key) : 튜플을 식별할 수 있는 속성의 집합. 유일성을 가짐
- 후보키 (Candidate Key) : SuperKey에사 최소성을 갖는 키
- 기본키 ( Primary Key) : 후보키 중 튜플을 식별하는데 기준으로 사용할 키 / 유일성과 최소성, NOT NULL
- 대체키 (Alternate KEy) : 후보키 중 기본키로 선택되지 않은 나머지 키
- 외래키 (foreign Key) : 상호 관련이 있는 테이블들 사이에서 데이터의 일관성을 보장해 주는 수단 식별관계와 비식별관계 / 부모테이블의 기본키는 자식테이블 외래키
- 복합키 (Composite Key) : 하나의 컬럼이 후보키의 역활을 하지 못하고 두 개 이상의 컬럼 합쳐져야 후보키 역활을 하는 경우
데이터 무결성을 유지하기 위한 제약 조건
- 개체 무결성 : 기본키를 구성하는 속성 값이라도 중복되는 값이나 NULL이 올 수 없음
- 참조 무결성 : 참조할 수 없는 왜래키값은 가질 수 없다. NULL 또한 올 수 없음
- 도메인 무결성 : 각 속성 값은 반드시 정의된 도메인을 가져야 함
SQL 용어
데이터베이스 개체
테이블 (Table)
|
행, 열 2차원 배열의 데이터 저장 기본 단위 테이블 이름은 고유성을 지님
|
행 (Row) / 열 (Colum)
|
가로 / 세로
|
가상표 (VIEW)
|
테이블로부터 데이터의 부분을 선택하는 논리적 개념. select에 결과 집합
|
저장 프로시저
|
미리 컴파일 된 SQL문장들의 집합
|
트리커 (Trigger)
|
사용자가 테이블의 데이터를 수정할 때 자동으로 수행되는 저장된 프로시져
|
디폴트 (Default)
|
사용자가 값을 지정하지 않았을 때 자동을 입력하는 값
|
규칙 (rule)
|
어떤 값이 테이블에 들어가야 하는지를 명시하고 제어
|
색인 (Indexes)
|
키 값에 의해 논리적으로 정렬된 포인터 집합/ 키 값을 통해 행 데이터에 접근
|
사용자 정의 데이터형
|
컬럼 정보의 종류와 저장방식을 알려주는 구분자
|
제약사항 ( Constraints)
|
데이터 무결성을 유지하기 위한 구성요소
|
SQL 명령어 (CRUD)
Query
|
SELECT, 조회문
|
DML (data manipulation language)
|
INSERT / UPDATE / DELETE
|
DDL (data definition language)
|
CREATE / ALTER / DROP 등..
|
DCL (data control language)
|
GRANT / REVOKE / COMMIT / ROLLBACK 등..
|
* DELECT DROP 구분!
E-R 다이어그램 도형
Entity
|
개체 (table)
|
□
|
Attribute
|
속성
|
○
|
Relation
|
관계 (PK, FK)
|
◇
|
Identifier
|
기본 키 (PK)
|
○ + _
|
link
|
개체 연결
|
ㅡ
|
'Language > Oracle' 카테고리의 다른 글
[Oracle] SQL 연산자_02 : 기타 연산자 (1) | 2024.03.12 |
---|---|
[Oracle] SQL 연습 문제 HW01 (0) | 2024.03.11 |
[Oracle] SQL SELECT : 자료 검색 명령 (0) | 2024.03.08 |
[Oracle] SQL Data_Type : 데이터 숫자 날짜 2진수 (0) | 2024.03.08 |
[Oracle] SQL - DDL (0) | 2024.03.07 |