프롤로그
이 카테고리는 이것이 MySQL 이다를 보며 데이터베이스 보안을 위해 데이터베이스를 공부하는 공간이다.
데이터베이스 정의
데이터베이스 : 데이터의 집합
DBMS : 데이터베이스를 관리, 운영하는 역할, 여러 명의 사용자나 응용 프로그램이 공유하고 동시에 접근 가능하여야 함.
MySQL, MariaDB, Oracle... 등등이 있음.
데이터베이스 특징
- 무결성
데이터베이스 안의 데이터는 어떤 경로를 통해 들어왔던지 데이터에 오류가 있어서는 안 됨.
무결성을 위해서 데이터베이스는 제약조건이라는 특성을 가짐(ex) 중복 불가, 반드시 포함되기 등...)
-데이터의 독립성
데이터베이스의 크기를 변경하건가 데이터 파일의 저장소를 변경하더라도 기존에 작성된 응용프로그램은 전혀 영향 받으면 안 됨 -> 의존적이 아닌 독립적인 관계
- 보안
데이터베이스 안의 데이터에 아무나 접근할 수 있으면 안 됨.
데이터를 소유한 사람이나 데이터에 접근이 허가된 사람만 접근 할 수 있어야함.
-데이터 중복의 최소화
동일한 데이터가 여러 개 중복되어 저장되는 것을 방지한다.
- 응용 프로그램 제작 및 수정 쉬움
기존 파일시스템을 사용할 때는 각각 파일의 포맷에 맞춰 개발해야하는 응용 프로그램을 데이터베이스를 이용함으로써 통일된 방식으로 응용 프로그램 작성이 가능해지고, 유지보수 또한 쉬워짐
-데이터 안전성 향상
백업, 복원 기능으로 문제 발생시 원상 복원 or 복구 방법 명확
DBMS : 데이터베이스 관리 시스템
대량의 데이터를 보다 효율적으로 관리하고 운영하기 위해서 사용, 즉 데이터베이스를 잘 관리하고 운영하기 위한 시스템 또는 소프트웨어들 -> SQL (Structured Query Language) 사용
- 계층형 DBMS
각 계층은 트리 형태를 가지며 1:N 관계를 갖는다.
처음 구축한 이후에 구조를 변경하기가 상당히 까다롭다. 주어진 상태에서의 검색은 빠르지만 접근의 유연성이 부족해서 임의의 검색에는 어렵다.
- 망형 DBMS
1:1, 1:N, N:M 관계 지원되어 효과적이고 빠른 데이터 추출이 가능해졌으나, 매우 복잡한 내부 포인터를 사ㅛ용하고, 프로그래머가 모든 구조를 이해하여야함;
- 관계형 DBMS
수학 모델에 근거해서 고안.
데이터베이스 테이블(하나이상의 열로 구성)의 최소단위로 구성. 모든 데이터는 테이블에 저장되므로 테이블이라는 구조가 관계형 DBMS에서 가장 기본적이고 중요한 구성.
정보를 저장하기 위해서 하나의 테이블이 아닌 여러 개의 테이블로 나누어서 저장함으로써 불필요한 공간의 낭비를 줄이고 데이터 저장의 효율성 보장. 관계를 기본키와 ㅚ래키를 사용해 맺어줌으로써 두 테이블을 부모 자식 관계로 묶을 수도 있음.
업무 변화될 경우 쉽게 변화에 순응할 수 있는 구조이며 유지보수 측면에서도 편리한 특징을 가지고 있음. 단 시스템 자원을 많이 차지함.
SQL
관계형 데이터베이스에서 사용되는 언어. 국제 표준화 기관에서 표준화된 내용을 계속 발표해옴
- DBMS 제작 회사와 독립적.
- 다른 시스템으로 이식성이 좋음
- 표준이 계속 발전
- 대화식 언어
-분산형 클라이언트/서버 구조
단 모든 DBMS의 SQL문이 완벽하게 동일하지는 않음. 각 회사는 SQL 표준을 지키면서도 자신의 제품에 특화시킨 SQL을 사용한다.
에필로그
그냥 쌩이론이라서 노잼;
'데이터베이스' 카테고리의 다른 글
[데이터베이스] 데이터베이스 개체의 활용 - 스토어드 프로시저 #6 (0) | 2024.01.20 |
---|---|
[데이터베이스] 데이터베이스 개체의 활용 - 뷰 #5 (0) | 2024.01.20 |
[데이터베이스] 데이터베이스 개체의 활용 - 인덱스 #4 (0) | 2024.01.20 |
[데이터베이스] 데이터베이스 구축 절차 #3 (1) | 2024.01.17 |
[데이터베이스] MySQL 설치하기 #2 (2) | 2024.01.11 |