Oracle-データベース、DBMS、SQL
4145 ワード
データ、情報
* 데이터(Data) : 관찰결과로 나타난 정량적 혹은 정성적인 실제 값
* => 키, 몸무게, 거리, 땅의 면적 등 숫자, 문자적으로 나타나는 값을 의미함.
*
* 정보(information) : 데이터를 기반으로 의미를 부여한 것임.
* => 예를들어 데이터는 에베레스트 산의 높이는 8488m로
* => 이를 기반으로, 에베레스트 산이 지구상에서 가장 높은 산이라고 의미를 부여하는 것이 정보임.
データベース#データベース#
* 한 조직에 필요한 정보를, 여러 응용시스템에서 공유할 수 있도록
* 논리적으로 연관된 데이터를 모아, 중복을 최소화하여 구조적으로 통합, 저장해놓은것
*
* [정의]
* 1. 공용데이터 : 데이터가 저장되어 있는 공간의 값들이, 필요에 의해서 접근해서 볼 수 있음.
* 2. 통합데이터 : 중복을 최소화함.
* => 중복된 정보가 여러개 있으면 데이터간의 불일치 현상이 일어나게 됨.
* => 데이터 중복시, 기존의 정보에 덮어씌우는 식으로 해결함.
* 3. 저장데이터 : 외부매체라고 해도, 어느 컴퓨터에는 저장되어 있어야 함.
* 4. 운영데이터 : 조직의 목적을 위해 사용되는 데이터. 학원을 운영하기 위해. 학생의 데이터를 저장하는 것임.
*
* [특징]
* 1. 실시간 접근성 : 사용자가 데이터 요청 시 실시간으로 결과를 산출하고 보여줘야 함.
* 2. 계속적인 변화 : 항시 데이터가 내가 원하는 값으로 바뀌어야 함.
* 3. 동시공용 : 한번에 여러 사용자에게 동시공유가 가능해야 함.
*
* [종류]
* 1. 계층형 DB
* => 트리(가지)형태의 계층적 구조를 가진 데이터베이스
* => 최상위 계층의 데이터부터 검색하는 구조
* => 파일탐색기의 구조와 같음(C:\s\sqldeveloper)
* => 같은 계층의 구조인 경우, 중복되는 이름을 사용할 수 없음.
* => 다른 계층의 구조를 타고 들어갈 경우, 중복되는 이름을 사용할 수 있음.
* 상품 ----->판매용 - 컴퓨터, 책상
* ----->비판매용 - 컴퓨터, 책상
*
* 2. 네트워크형 DB
* => 하위 데이터들끼리의 관계까지 정의할 수 있는 구조
* => 하위 데이터도 관련된 데이터끼리 연결 되어 있음.
* => 만약, 데이터의 가짓수가 증가하면 점차 설계 및 구현이 복잡해지고 어려워짐.
*
* 3. 관계형DB
* => 모든 데이터를 2차원 테이블의 형태로 표현하고,
* => 테이블 사이의 비즈니스적 관계를 도출하는 구조
* => 한 테이블의 데이터에 관해, 이에 대하여 다시 테이블을 만들어 관계를 맺을 수 있음.
* => 데이터 중복을 최소화할 수 있고 업무 변화에 대한 적응력이 우수함.
DBMS
* DBMS(DataBase Management System)
* 데이터베이스에서 데이터 추출, 조작, 정의, 제어 등을 할 수 있게 해주는
* 데이터베이스 전용 관리 프로그램.
*
* [사용법]
* 1. 데이터 추출 : 사용자가 조회하는 데이터 혹은 응용프로그램의 데이터를 추출함.
* => MVC에서는 selectXXX()를 사용했었음.
* 2. 데이터 조작 : 데이터를 조작하는 소프트웨어가 요청하는
* => 데이터 삽입(insertXXX), 수정(updateXXX), 삭제(deleteXXX) 작업 지원
* 3. 데이터 정의 : 데이터의 구조를 정의하고, 데이터 구조에 대한 삭제 및 변경 기능 수행
* => 조작은 실제 들어있는 값에 대한 조작이고,
* => 정의는 데이터들이 모여있는 곳에 대한 조작을 수행하는 것임.
* 4. 데이터 제어 : 데이터베이스 사용자를 생성, 모니터링, 접근제어 백업과 회복, 동시성 제어
*
* [이점]
* 1. 데이터 독립화
* => 데이터와 응용프로그램을 분리시킴으로써 상호 영향 정도를 줄일 수 있음.
* => 둘이 관계가 되어 있으면, 데이터 혹은 응용프로그램이 문제가 생길 경우, 둘다 망함.
* 2. 데이터 중복 최소화, 데이터 무결성 보장
* => 중복되는 데이터를 최소화시키면 데이터 무결성이 손상될 가능성이 줄어듬
* => 무결성이란, 데이터가 손상, 훼손되면 안된다는 룰임.
* => 이는, 필요한 저장 공간의 낭비를 줄일 수 있음.
* 3. 데이터 보안 향상
* => 응용프로그램은 DBMS를 통해, DBMS가 허용하는 데이터에만 접근 가능
* => 이를 위해서 권한에 맞게 데이터 접근을 제한하거나 암호화함.
* 4. 관리 편의성 향상
* => 다양한 방법으로 백업을 가능하게 하고, 장애 발생 시 복구 기능을 제공.
主な用語
* 테이블 : 엑셀의 표와 같음.
* => 행(Row, 튜플) : 테이블 중 가로 한 줄로 나열한 데이터.
* => 테이블이 표현하고자 하는 데이터셋을 온전하게 보여줌.
* =>(Java에서 클래스의 필드들이 여기에 해당됨.)
* 컬럼(Column, 도메인) : 테이블 중 세로 한 줄로 나열한 데이터
* => (Java에서 배열만으로 이루어진 메소드가 여기에 해당됨.)
* 기본키 : HashMap에서 Key를 통해 Value를 식별하는 것과 같음.
* => 한 테이블에서 자신에 해당하는 고유값을 정의하는 것임.
* => 주민등록증의 주민등록번호와 같음.
* => 기본키는 중복되면 안됨.
* 외래키 : 다른 테이블도 같이 참조하고 있는 고유값을 의미함.
* => 회사원 테이블과 봉급테이블에서 공통적으로 사원등급을 활용하는 것과 같음.
* => (회사원테이블에서는 회사원의 사원등급을 명시하며,
* => 이 사원등급을 봉급테이블에서 참조하여 등급에 따라 월급을 지불함)
* Null : DB에서는 공란으로 칸을 비워줄 수 없음.
* => 따라서 같은 개념으로 Null로 채워줌.
* 컬럼값(속성값) : 컬럼에 속해있는 실제 값을 의미함.
データ型
* Java에서의 자료형이 기본자료형, 참조자료형이 있듯이
* DB에도 데이터타입이 존재함.
* 1. NUMBER : 정수형, 실수형 구분 없이 NUMBER하나로 구분
* => 숫자를 넣을 공간을 마련함.
* 2. CHARACTER : 문자, 문자열 구분 없이 CHARACTER로 구분
* => 문자를 넣을 공간을 마련함
* => 단, 하위 데이터 타입으로 문자가 들어갈 수 있는 공간의 크기를 제한함.
* => CHAR는 고정길이 문자로, 최대 2000바이트로 공간을 제한함.
* => 문자(열)이 한번 입력되면, 나머지 공간을 Null로 채워줌(공간낭비)
* => VARCHAR2는 가변길이 문자로, 최대 4000바이트로 공간을 제한함.
* => 문자(열)이 한번 입력되면, 남은 공간의 크기를 줄임.
* => Long은 가변길이 문자로, 최대 2기가바이트로 공간을 제한함.(잘안씀)
* 3. Date : 날짜를 넣을 수 있는 공간을 마련함.
SQL
* 관계형 데이터베이스에서 데이터를 조회하거나 조작하기 위해 사용하는 표준 검색 언어
* 원하는 데이터를 찾거나 절차를 기술하는 것이 아닌, 조건을 기술하여 작성
* DQL, DML, DDL, TCL등이 있음
* 1. DQL : 데이터 검색(SELECT)
* 2. DML : 데이터 조작(INSERT, UPDATE, DELETE, (SELECT))
* 3. DDL : 데이터 정의(CREATE, DROP, ALTER)
* 4. TCL : 트랜젝션 제어(COMMIT, ROLLBACK)
* => 트랜젝션은 일처리 하나의 단위를 의미함(로그인, 로그아웃, 회원가입 등)
Reference
この問題について(Oracle-データベース、DBMS、SQL), 我々は、より多くの情報をここで見つけました https://velog.io/@kojam9041/Oracle-데이터베이스-DBMS-SQLテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol