본문 바로가기
웹개발 수업/DB(oracle)

웹개발_DB 1

by gugigugi92 2023. 2. 22.

DB(Database) 
어원 : 정보가 모여있는 기지
추상적인 용어이다.

DBMS(Database Management System)
DB를 관리할 수 있는 구체적인 체계(시스템).
Oracle , MariaDB ,MySQL, MS-SQL, MongoDB, Mongoose,.....
            
오라클(홀수버전사용) DBMS 버전
9i 11g 17c 21c  - 짝수버전은 업데이트 테스트용


계정
sys  : 모든 권한
system    : 계정 관리
일반 계정 : 스키마 관리(주로 사용)

스키마 
정리가 잘 되어 있는 표들의 묶음, 상태

 


일반 계정 접속(hr)
cmd 접속 > sqlplus system/1234 // 시스템 계정 접속
SQL > show user // 접속중인 유저정보
SQL > alter user hr account unlock; // hr 계정을 사용가능하도록 품
SQL > alter user hr identified by hr; // hr 계정 패스워드 변경
SQL > conn hr/hr // hr 계정 연결/로그인
SQL > show user  // hr 계정인지 확인
USER is "HR" // 확인완료

  IDE 설치 - DBeaver(zip)
   https://dbeaver.io/download/


New Connection
   host(서버의 IP주소) : localhost
   Database : XE
   username : hr
   password : hr

Edit Driver Settings
   Libraries 탭 클릭
   > 기존에 있는 라이브러리 전체 삭제
   > Add File
   > C:\oraclexe\app\oracle\product\11.2.0\server\jdbc\lib\ojdbc6.jar 추가
   > 확인

Test Connection 클릭 > Connected 성공


-----------------------------------------------------------------------------------------
DBMS 소통 방식
-----------------------------------------------------------------------------------------
    사용자
-----------------------------------------------------------------------------------------
       ↕  
응용 프로그램
       ↕
-----------------------------------------------------------------------------------------
     DBMS



RDBMS(관계형 데이터베이스 시스템)
테이블끼리 서로 관계를 맺는다.

 ↓ 테이블 구성

Table A(User, Member, Group)                       TableB(Order, Product, Market, Sales, Goods)

번호
(pk)
이름 나이 아이디   주문번호(pk) 번호(FK) 날짜 상품수량
1 송태섭 20 sys1234   20230201001 2 2023-02-01 10
2 채치수 20 ccs8888   20230201002 4 2023-02-01 50
3 강백호 20 kbh7777   20230202001 1 2023-02-02 100
4 정대만 19 jdm8888   20230203001 2 2023-02-03 500



구조를 가지는 것을 Table, Relation(오라클), Class라고 부른다

COLUMN(열, 속성, 필드)
동일한 성격의 값의 주제를 정한 집합.

ROW(행, 튜플, 레코드)
하나의 정보

PRIMARY KEY(PK)
고유한 값, 각 행의 구분점으로 사용된다.
중복이 없고 NULL값을 허용하지 않는다.

FOREIGN KEY(FK)
다른 테이블의 PK를 의미한다.
테이블끼리 관계를 맺을 때 사용한다.
중복이 가능하며 NULL도 허용한다.

UNIQUE(UK)
NULL은 허용하지만 중복을 허용하지 않는다.

조합키(복합키)
하나의 PK에 여러 컬럼이 설정된 키.
각 컬럼은 중복이 가능하지만 그룹으로는 중복이 불가능하다.


★슈퍼키와 서브키
여러 테이블에 공통 요소가 있을 때 하나로 묶어줄 테이블을 선언한다.
이 때 공통요소를 묶은 테이블의 PK를 각 테이블의 FK로 사용함과 동시에 PK로 설정하면
공통요소를 묶은 테이블의 PK를 슈퍼키라고 하며, 각 테이블의 PK를 서브키라고 한다.



컴파일 언어(파일 단위)와 스크립트(한줄 단위) 언어

-컴파일 언어(java)
파일 단위로 해석한다(일괄 처리).
부분 수정이 거의 없을 때 효율적이다.
번역 파일이 생긴다.
번역 파일일 없이 바로 실행

-스크립트 언어(DB)
한 줄 단위로 해석한다.(개별처리)
빈번한 수정 시 효율적이다.
번역 파일 없이 바로 실행.

SQL문(쿼리문)-DDL, DML, DCL(권한), TCL
스크립트 언어, 데이터 베이스와 소통하는 언어.

-DDL(Data Definition Language) : 데이터 정의어 

1. CREATE : 테이블 생성
ex) CREATE TABLE [테이블명]([컬럼명][자료형(용량)] [제약조건....]); 


2. DROP : 테이블 삭제
DROP TABLE [테이블명]; // 잘못쓰면 큰일난다

3. ALTER : 테이블 수정
ALTER TABLE [테이블명]

-테이블 이름 수정 : RENAME TO [새로운 테이블명];
-컬럼 추가 : ADD([새로운 컬럼명] [ 자료형(용량)];
-컬럼명 변경 : RENAME COLUMN [기존 컬럼명]  TO  [새로운 컬럼명];
-컬럼 삭제 : DROP CULUMN[기존 컬럼명];

4. TRUNCATE : 테이블 내용 전체 삭제
TRUNCATE TABLE [테이블명];


자료형(TYPE): 용량은 항상 넉넉하게 주도록 한다.

숫자 
NUMBER       : 정수(default)
NUMBER(n)    : 정수
NUMBER(n,m) : 실수

문자열
CHAR(n) : 고정형, CHAR(4)에 'A'를 넣으면 A^^^, 길이가 절대 변하지 않는 값을 넣을 때 사용.
VARCHAR(n), VARCHAR2(n) : 가변형, 값의 길이만큼 공간이 배정된다. 

날짜
DATE : FORMAT에 맞춰서 날짜를 저장하는 타입

※테이블 생성

CREATE TABLE TBL_MEMBER(
	MEMBER_NAME VARCHAR2(1000),//크기를 넉넉하게
	MEMBER_AGE NUMBER
);

생성된 테이블의 스키마

'웹개발 수업 > DB(oracle)' 카테고리의 다른 글

웹개발_DB 6  (0) 2023.03.04
웹개발_DB 5  (0) 2023.03.03
웹개발_DB 4  (0) 2023.02.28
웹개발_DB 3  (0) 2023.02.27
웹개발_DB 2  (0) 2023.02.23

댓글