수달이네 기술 블로그

0. RDBMS 배우기 본문

RDBMS

0. RDBMS 배우기

슬픈 수달이 2025. 10. 22. 01:35

DataBase Management System: DB를 관리하는 시스템(Oracle, MySQL, MariaDB, MongoDB)

DB

데이터가 저장되고 관리되는 곳.

데이터는 물리적인 파일로 저장되어있으나, 직접 열어서 수정하지 않고, SQL으로 조회, 수정함

1. db 의 특징

데이터의 일관성, 독립성, 동시접속, 데이터 공유가 중요함.

  • 일관성: 여러 파일에 저장되어있는 데이터를 하나로 모아서 저장하는 것.
  • 독립성: 통합해서 저장한 데이터를 컴퓨터 운영체제와 별도의 데이터 관리 시스템에 관리하자는 것,
  • 동시접속: 데이터 베이스에서 여러사용자, 여러 응용프로그램이 동시에 읽고 쓸수 있는 환경을 지원해야함.
  • 데이터 공유: 사용자가 데이터베이스에 접근할 때와 응용프로그램이 동시에 데이터를 공유해야한다.(동시에 데이터를 조회하고, 수정할때 동시에 공유해서 일관적인 결과를 내야함)

db는 일관성을 위해 통합 저장된 데이터의 집합체이다.

  • 데이터 베이스와 DBMS를 통해 데이터를 효율적으로 저장, 관리, 검색 가능하다.

2. DBMS의 종류

관계형 데이터베이스: 테이블 형식으로 데이터를 저장하고, 테이블 간의 관계를 설정하는 데이터베이스 시스템

  • 일반적인 SQL쿼리 언어를 사용하여 데이터를 추가, 조회, 업데이트, 삭제
  • Oracle, MySQL(MariaDB),SQLite, Microsoft SQL Server,…

객체지향 데이터베이스: 객체지향 프로그래밍 개념을 데이터베이스에 적용

  • 객체를 데이터로 저장하고 관리하는데 사용, 객체지향 언어와 통합이 쉬움.
  • ObjectDB, Versant…

NoSQL 데이터베이스(Not Only SQL): 관계형 데이터베이스와 ㄷ다른 데이터베이스 모델을 사용함.

  • 비정형 데이터, 대규모 분산 처리에 적합
  • MongoDB(문서기반), Cassandra(분산형), Redis(키-값 저장소), Neo4j(그래프 데이터베이스)

분산 데이터베이스: 여러 컴퓨터 노드에 데이터를 분산하여 저장, 처리하는 데이터베이스

  • 시스템, 가용성, 확장성 및 장애복구를 개선하기 위해 사용
  • Apache Hadoop(HDFS), Google Bigtable, Amazon DynamoDB

3. RDBMS(Relational DataBase Management System)

  • 테이블 형식: 하나이상의 열, 하나이상의 행으로 이루어짐
    • 행: 튜플, 레코드, 인스턴스등 모델링에 따라 다르게 불림
    • 열: 필드, 속성 등

4. SQL(Structured Query Language)

구조화된 표준 쿼리 문

  • RDBMS에서 데이터 관리(추가, 수정, 삭제등)을 위해 사용되는 언어
  • 한 줄씩 실행되는 언어임.

5. 오라클DBMS

  • 오라클 DBMS버전(9, 11, 17, …)
    • i: internet을 의미
    • g:그리드컴퓨팅(grid computing)
    • c: 클라우드(cloud)
  • 오라클 설치11g버전해당 페이지에서 11g버전을 다운로드한다
    sqlplus
    
    를 칠 경우 실행 될 것이다.
  • 이후 설치되었다면 cmd창에서
  • https://www.oracle.com/database/technologies/xe-prior-release-downloads.html
  • 설치 후 오라클의 기본 계정
    • sys: Oracle DBMS의 관리자 계정(총관리자)
      • 사용자 접근 권한을 줄수도 있음
      • 테이블, 다른 사용자의 생성, 접근 권한 제어등
    • system: DBMS운영을 위한 관리자 계정
      • 이미 만들어진 것을 관리하는 계정, 접근권한 제어 불가
    • hr(휴먼리소스): 학습을 위한 계정(기본적 데이터가 들어있음)
  • 권한
    • sysdba: sys가 갖는 권한, 데이터베이스 생성/삭제, 새로운 유저 생성/삭제/권한부여등 모든 권한을 의미
    • sysoper: system이 갖는 권한 데이터베이스 운영을 위한 권한

sysdba 로그인

Enter user-name: sys as sysdba
Enter password:

Connected to:
Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production
  • sqlplus에서 로그인 후 위와 같이 입력할 경우 로그인 된다.
  • password의 경우 입력하고 있어도 변화가 없으니 그냥 설정한 비밀번호 치고 들어간다.

학습을 위한 계정(hr)로그인

Enter user-name: hr
Enter password:
ERROR:
ORA-28000: the account is locked

SP2-0157: unable to CONNECT to ORACLE after 3 attempts, exiting SQL*Plus
  • 똑같이 칠경우 위처럼 권한이 잠겨있다.
  • 그렇기에 총관리자 권한으로 로그인해주고 풀어주어야한다.
SQL> alter user hr account unlock;

User altered.
  • sysdba에 로그인 한 후 위와 같은 명령어를 치면 아래와 같은 결과가 출력된다.
SQL> alter user hr identified by "비밀번호";

User altered.
  • 위와 같이 hr의 비밀번호를 설정해준다.
SQL> conn hr /"비밀번호";
Connected.
SQL> show user;
USER is "HR"
  • hr세팅 완료후 위와 같은 명령어로 hr계정으로 로그인한다.
SQL> select first_name from employees;

FIRST_NAME
----------------------------------------
Ellen
Sundar
Mozhe
David
Hermann
Shelli
Amit
Elizabeth
Sarah
David
Laura
... 생략 ...
FIRST_NAME
----------------------------------------
Jose Manuel
Peter
Clara
Shanta
Alana
Matthew
Jennifer
Eleni

107 rows selected.
  • employees테이블이 존재함을 알 수 있다.

디비버 설치(deaver)

무료 DB 접속 툴(도구)

디비버 실행화면

  • 위의 플러그 모양을 클릭 후, 우리가 쓸 오라클을 선택해준다.

  • 해당 화면에서
  • Host: localhost > 내 컴퓨터 자체를 의미
  • Database: XE >XE버전
  • Username: hr(우리가 사용할 것)
  • Password: 입력

위의 것들을 입력한 후 Test Connection

Edit driver클릭

  • 오라클을 연결시켜주어야한다.

  • Libraries에 들어가서 원래 있던 파일들을 모두 제거
  • 이후 우리가 설치한 11g를 넣어주어야한다.
  • Add File > C:\oraclexe\app\oracle\product\11.2.0\server\jdbc\lib
  • 위의 경로에서 ojdbc6.jar로 설정해준다.
  • ok > ok >Finish

스크립트 생성

위에 창모양 클릭하여 스크립트를 추가해야함.

  • 위에서 이름입력 후 Next > Finish로 생성마무리

이후 만든 프로젝트 우클릭 후 Set Acrive Project로 사용프로젝트 설정

  • Connections를 보면 비어있기 때문에 위에서 플러그를 눌러서 데이터베이스 연결하는 것을 그대로 진행해준다.

스크립트 > 우클릭 > create > create New File을 통해 새로운 스크립트파일을 만들어준다.

'RDBMS' 카테고리의 다른 글

MySQL 설치 및 기본 문법 등  (1) 2025.11.07
4. JDBC기능 구현 + SEQUENCE문  (0) 2025.10.30
3. DDL, DML, DCL, TCL  (0) 2025.10.28
2. 제약조건(오라클)  (0) 2025.10.25
1. SQL 문 (오라클)  (0) 2025.10.23