DBMS
• 데이터베이스 관리 시스템(Database Management System)
• 대용량의 데이터를 편리하게 저장하고 효율적으로 관리, 검색, 수정, 삭제(CRUD)할 수 있는 환경을 제공해 주는 소프트웨어를 데이터베이스 관리 시스템(DBMS)이라고 한다.
– 데이터를 공유하여 정보의 체계적인 활용이 가능
– 응용프로그램과 데이터베이스의 중재자로서 모든 응용 프로그램들이 데이터베이스를 공용할 수 있게끔 관리해 준다
→ DBMS는 데이터베이스를 효율적으로 관리할 수 있도록 중재자의 역할을 한다.
• 대표적인 DBMS 제품들
– Oracle, MS-SQL, mySQL, Informix, Sybase, DB2 등
DBMS(오라클)은 데이터베이스를 효율적으로 관리해주고, 서버의 역할도 한다.
관계형-DBMS : 데이터베이스 안의 요소들이 관계를 맺고 있다.
관계형 DBMS (Relational DBMS)
• 데이터베이스의 기본 데이터 저장 단위인 테이블과 테이블간의 관계를 이용한다
• 테이블은 행(Row)와 열(Column)의 2차원 행렬 구조를 가진다
• 행(Row)은 파일시스템의 레코드에 해당
• 하나의 Row는 서로 구분되는 속성으로 구성되는데 사원번호, 사원명, 직급, 급여, 부서번호 등이 Column에 해당
저장의 단위: 테이블
처리 단위: 행 단위 → 행으로 삽입, 삭제, 검색 할 수 있다.
행 단위로 처리하긴 하지만 실제 값을 가져다 쓸 땐 속성값(Coloumn)을 쓴다.
데이터베이스
: 필요한 데이터의 중복을 최소화하고 구조화하여 검색과 갱신을 효율적으로 할 수 있도록 모아놓은 데이터들의 집합구조
- 영속적(지속적)으로 유지 관리해야 할 유용한 데이터의 집합
- – 데이터베이스에 저장된 데이터는 검색뿐만 아니라 수정, 삭제까지 용이하 여야 한다.
- – 예) 학사관리를 위한 데이터들, 도서관리를 위한 데이터들 등...
- 데이터를 저장하기 위한 가장 원시적인 방법으로 파일 시스템 존재
- – 대용량의 데이터를 관리하기에는 역부족
- – 데이터 공유가 어려우며, 하나의 파일은 하나의 응용만을 위해 사용
- – 다중 사용자 환경을 지원하지 못함
- – 보안에취약
• 데이터베이스의 목적
- 데이터 중복의 최소화
- 데이터의 공유
- 데이터의 보안 유지
- 데이터 무결성 유지 → 데이터에 결점이 있으면 안된다
- 데이터의 독립성
• 데이터베이스 용어 혼용
- 데이터베이스 관리시스템 (DBMS)
: 데이터 집합인 데이터베이스를 운영하는 소프트웨어.
- 실제로 DBMS 와 데이터베이스를 혼용하여 사용함
• 관계형 데이터 모델이란?
: 다음과 같은 3가지 구조로 실세계의 모든 업무체계를 표현 가능한 개념.
1. 개체 ( Entity ) – 시스템하고자 하는 사물,사건. → 테이블로 만든다
2. 속성 ( Attribute ) – 개체의 특성을 표현하는 방법.
3. 관계 ( Relationship ) – 개체간의 연관성.
•컬럼에는 PK( primary key)라는 제약조건을 반드시 설정해줘야 한다.
→ 해당 컬럼에는 중복된 값들이 저장될 수 없다.
•FK(foregin key) 이용해 다른 테이블의 PK( primary key)제약조건이 걸린 컬럼값을 참조해서,
잘못된 데이터가 저장되는 것을 방지한다.
→FK(foregin key)제약조건을 설정하기 위해서는 PK( primary key)제약조건이 반드시 설정 되어있어야 한다.
SQL 이란?
- Structured Query Language.
- 관계형 데이터베이스의 조작과 관리에 사용하는 데이터베이스 언어
SQL 종류?
1. ANSI-SQL : 미국의 무역 및 통신표준을 개발하는 ANSI에서 만든 표준 규격 SQL문.
89, 92, 99 규격이 있음.
2. T-SQL : MS사에서 만든 자사의 DB를 최적화하기 위한 SQL
3. PL-SQL : 오라클에서 만든 구조적 프로그래밍 특징을 갖는 SQL
SQL 문장
-★ SELECT★ : 데이터베이스로부터 데이터를 검색
-★INSERT/UPDATE/DELETE★/MERGE : 데이터베이스 내의 테이블에 새로운 행을 입력하거나, 기존의 행을 수정 또는 삭제하는 명령어 → 데이터 조작어 (DML : Data Manipulation Language) **MERGE는 ORACLE에서만 제공 (표준 SQL은 아님)
-CREATE/ARLTER/DROP : 테이블을 생성,변경,삭제하는 명령어로 데이터 정의어(DDL : Data Definition Language)라고 함
-COMMIT/ROLLBACK/SAVEPOINT : DML 문장에 의한 변경 사항을 관리하거나, 변경사항을 하나의 논리적 트랜잭션으로 포함시키는 명령어
-GRANT/REVOKE : 데이터베이스와 데이터베이스를 구성하는 구조(테이블, 뷰 등)에 접근 권한을 부여하거나 회수하는 명령어 → 데이터 제어어(DCL : Data Control Language)
'학원 > 복기' 카테고리의 다른 글
[Oracle] 숫자함수/날짜함수/일반함수/변환함수/그룹함수/조인(JOIN) (0) | 2023.05.02 |
---|---|
[Oracle] SQL명령 / SELECT / 문자함수 (0) | 2023.05.01 |
0427 - TCP 프로그램, UDP 프로그램 (0) | 2023.04.27 |
0426 - 객체 직렬화, 네트워크 (0) | 2023.04.26 |
0425 - java.io 패키지, 입출력 스트림, 파일 입출력 (0) | 2023.04.25 |