1. 파일 시스템 사용
1) 데이터 중복성 문제 : 공간 낭비
2) 파일이 여기 저기에 있으면 업데이트 및 데이터 일관성(data consistency) 유지에 어려움이 발생한다.
3) 데이터 무결성 (Data integrity constraints) 유지가 어렵다. 예) (나이 > 0) => 응용프로그램이 모두 체크해야 한다.
4) 데이터 종속성
- 응용프로그램이 파일 데이터 구조에 종속적이다.
- 파일구조가 바뀔 때마다 응용프로그램 교체가 필요하다.
5) 동시성(Concurrency)제공이 어렵다.
- 여러 사용자가 동시에 접근할 때 문제 해결에 어렵다.
6) 보안(Security)제공 이슈
- 사용자 별 파일 안의 일부 데이터 읽기 권한 제어가 어렵다.
2. 데이터베이스
- 특정 조직의 여러 사용자가 공유하여 사용할 수 있도록 통합해서 저장한 운영 데이터 집합이다.
예)
은행 : 계좌정보, 입출금 내역 등,
항공사 : 예약정보, 비행기 스케쥴
학교 : 학생정보, 수강신청
온라인 쇼핑몰 : 고객 기록, 주문내역
제조업 : 제품 목록, 주문, 재고, 공급망
회사 인사시스템 : 직원 정보, 연봉
3. 데이터베이스 특징
1) 실시간 접근이 가능하다.---> 목록 조회
2) 계속적으로 변화한다.---> 구입 정보, 물건 재고 정보
3) 동시 공유가 가능하다.---> 많은 고객이 동시 접속, 구매 가능
4) 저장된 주소가 아닌 내용으로 참조 가능하다.---> 가장 많이 팔린 제품은?
4. 데이터의 유형
* 데이터베이스는 데이터가 모여있는 집합
1) 정형 데이터 (Structured data) : 엑셀의 스프레드시트, 관계 데이터베이스의 테이블
2) 반정형 데이터 (Semi-structured data) : 예) HTML, XML, JSON
3) 비정형 데이터 (Unstructured data) : 정해진 구조가 없이 저장된 데이터이다. 예) text, 멀티미디어 데이터
5. 데이터베이스 관리시스템 (DBMS)
1) 데이터 파일과 응용프로그램 분리한다.
- 응용프로그램은 데이터베이스(DBMS)를 통해서 파일 시스템의 파일에 저장한 데이터에 접근한다.
2) 데이터베이스 관리 시스템
- 응용프로그램과 데이터 연결을 도와주며 데이터 관리와 데이터에 대한 기본 처리를 담당하는 추가적인 소프트웨어이다.
- 파일시스템의 데이터 중복과 데이터 종속 문제를 해결하기 위해 제시된 소프트웨어이다.
- 데이터베이스의 생성과 관리를 담당한다.
- DBMS를 통해 데이터 삽입, 수정, 검색한다.
3) DBMS는 운영체제(OS)와 함께 중요한 시스템 소프트웨어 패키지이다.
4) 대표적인 DBMS
- Oracle, MySQL, PostgreSQL, MS SQL Server, SAP HANA, etc.
5) 주요 기능
- 정의 기능 : 데이터베이스 구조를 정의하거나 수행하는 기능이다.
- 조작 기능 : 데이터를 삽입, 삭제, 수정, 검색하는 연산을 수행한다.
- 제어 기능 : 데이터를 항상 정확하고 안전하게 유지하는 기능이다.
6) DBMS 장점
- 데이터 중복 문제 해결
- 데이터 동시 공유
- 데이터 보안 향상 : 사용자 별 접근 가능한 데이터베이스 영역 제한 가능하다.
- 데이터 무결성 유지
- 표준화 방식으로 데이터에 접근(with SQL)
- 장애 발생 후 회복 시 데이터 일관성과 무결성 유지 - 트랜잭션 기능
7) DBMS 단점
- DBMS 구매 비용
- 응용 프로그래머가 DBMS가 어떻게 동작하는지와 표준 데이터 언어(SQL)에 대한 지식이 필요하다.
- DBMS 장애가 발생할 때 모든 응용프로그램 장애가 발생한다.
6. 데이터베이스 중요 개념
1) 스키마 (schema) : 데이터베이스에 저장되는 데이터의 논리적인 구조와 제약조건을 정의한 것을 말한다.
2) 인스턴스 (instance) : 정의된 스키마에 따라 데이터베이스에 실제로 저장된 값을 말한다.
7. 3단계 데이터베이스 구조 (3 level database architecture)
* 데이터베이스의 내부 구조를 감추고 일반 사용자가 데이터베이스를 쉽게 이용하고 사용할 수 있게 하는 구조 제안을 말한다.
1) Physical level - Internal Schema (내부 스키마)
- 실제 데이터가 데이터베이스에 어떻게 저장되는지 기술
- 파일에 저장되는 레코드의 구조(사이즈)
2) Conceptual level - Conceptual Schema (개념 스키마)
- 일반적인 스키마
- 물리적 데이터 독립성
3) External level - External Schema (외부 스키마)
- 사용자가 보는 view level
- 사용자에게 view의 형태로 필요한 정보만 보여주는 단계
- 각 사용자들이 다른 view를 정의해서 데이터를 볼 수 있음
- 개념 스키마와 논리적 데이터 독립성
8. 데이터베이스 사용자
1) 응용 프로그래머
- 데이터베이스 언어를 이용하여 응용프로그램을 작성
2) 데이터베이스 관리자 (DBA)
- 데이터베이스 시스템을 운영하고 관리
- 데이터베이스를 설계 및 구독, 제어
- DBMS 자체는 물론 데이터베이스 구축, 관리에 해박한 지식과 많은 경험이 요구됨.
3) 최종 사용자(End User)
- 데이터베이스에 접근하여 데이터를 조작
- 웹 유저
- casual end user : 데이터베이스 언어를 이용해 데이터베이스 접근 및 조작
- 분석가
[자바 - Java] 개발자 환경 세팅 - JDK
개발자 환경 세팅 - Open JDK Win 11 기준으로 작성되었습니다. 개발자 환경 세팅 방법 - JDK, Java 1) 우선 JDK 파일을 다운 받기 위해서 https://adoptium.net/temurin/ 사이트에 접속합니다. 2) 다음과 같은..
ozizo.tistory.com
'프로그래밍 > SQL' 카테고리의 다른 글
[ SQL ] 정규화 개념 목적 용어 정의 1차 2차 3차 (0) | 2022.09.23 |
---|---|
[SQL] 식별자 비식별자 분류 관계 (0) | 2022.09.22 |
[SQL] 엔터티 뜻 종류 분류 관계 인스턴스 (0) | 2022.09.21 |
[SQL] 데이터 모델링 정의 표기법 엔터티 (0) | 2022.09.20 |
[SQL] 데이터 모델링 이해, 관계, 3요소, 설계단계 및 엔터티 분류 (0) | 2022.09.19 |