-데이터베이스
- 여러 사용자나 응용 프로그램이 공유하고 동시에 접근 가능한 ’ 데이터의 집합’
- 데이터의 저장 공간 자체를 의미하기도함.
-DBMS (Data Base Management System)
- 데이터베이스를 관리, 운영하는 소프트웨어
- 사용자나 응용 프로그램은 DBMS가 관리하는 데이터에 동시에 접속하여 데이터를 공유한다
- 대용량의 데이터 집합을 체계적으로 구성해 놓은 것이다.
- DBMS의 유형은 크게 계층형/망형/관계형/객체지향형/객체 관계형 등으로 분리된다.
- SQL은 관계형 데이터 베이스에서 사용되는 언어이다.
- Oracle은 Oracle사에서 제작한 DBMS 소프트웨어이다.
-데이터베이스의 특징
- 데이터의 무결성: 데이터베이스 안에 데이터는 어떤 경로를 통해 들어왔든 오류가 있어서는 안 됨
- 데이터의 독립성: 데이터베이스와 응용 프로그램은 서로 의존적인 관계가 아니라 독립적인 관계이다.
- 보안: 데이터베이스 안에 데이터는 데이터를 소유한 사람이나 데이터에 접근이 허가된 사람만 접근할 수 있다.
- 데이터 중복 최소화: 데이터베이스에서는 동일한 데이터가 여러 군데 중복 저장되는 것을 방지한다.(PK/FK)
- 응용프로그램 제작 및 수정 용이: 데이터베이스를 이용하면 통일된 방식으로 응용 프로그램을 작성할 수 있고 유지, 보수 또한 쉬움
- 데이터의 안전성 향상: 데이터가 손상되는 문제가 발생하더라도 원래의 상태로 복원 또는 복구할 수 있음
-DBMS의 분류
-계층형 DBMS
- 각 계층이 트리 형태를 띠고 1:N의 관계를 가짐
- 한번 구축하면 구조 변경이 까다로움
- 접근의 유연성이 부족하여 임의 검색 시 어려움 (문제점)
-망형 DBMS
- 1:1 1:N N:M(다대다) 관계가 지원되어 효과적이고 빠른 데이터 추출이 가능
- 매우 복잡한 내부 포인터 (주소를 가지는 개념) 사용
- 프로그래머가 모든 구조를 이해해야 만 프로그램을 작성할 수 있음 (문제점)
-관계형 (R /Relationship) DBMS (요즘 제일 많이 쓰는 구조)
- 모든 데이터는 테이블에 저장
- 테이블 간의 관계는 기본키(Primary Key)와 외래 키(Foreign Key)를 사용하여 맺음 (부모-자식 관계)
- 부모 자식 테이블을 조합하여 결과를 얻고자 할 경우에는 JOIN기능 이용
- 다른 DBMS에 비해 업무 변화에 따라 바로 순응할 수 있고 유지, 보수 측면에서도 편리
- 대용량 데이터를 체계적으로 관리할 수 있음
- 데이터의 무결성도 잘 보장됨
- 시스템 자원을 많이 차지하여 시스템이 전반적으로 느려지는 단점이 있음
- 열 이름(column name) 행(row) 열(column)
-SQL의 개요 (에스큐엘/시퀄)
- 구조화된 질의어
- 데이터베이스를 조작하는 언어
-SQL의 특징
- DBMS 제작 회사와 독립적임
- 다른 시스템으로 이식성이 좋음
- 표준이 계속 발전함
- 대화식 언어임
- 클라이언트/서버 구조 지원함
-표준 SQL과 각 회사의 SQL
- 많은 회사가 표준 SQL을 준수하려고 노력하지만 각 회사의 DBMS마다 특징이 있기 때문에 완전히 통일되기는 어렵다.
- 각 회사의 제품은 모두 표준 SQL을 공통으로 사용하면서 자기 제품의 특성에 맞춘 호환되지 않는 SQL문 사용
'IT Language > SQL' 카테고리의 다른 글
| [DataBase] 데이터 베이스 모델링 (0) | 2023.04.05 |
|---|