데이터베이스
1. 데이터베이스와 데이터베이스 시스템
1)데이터 : 실제 값
2)데이터베이스
-연관된 데이터를 모아 구조적으로 통합해놓은 것
-특정 조직의 여러 사용자가 공유하여 사용할 수 있도록
통합해서 저장한 운영 데이터의 집합
3)데이터베이스 예
-은행 : 계좌정보, 입출금 내역 등
-항공사 : 예약정보, 비행기 스케줄
-대학교 : 학생 정보, 수강 신청
-온라인 쇼핑몰 : 고객 기록,주문 내역
-제조업 : 제품목록,주문,재고,공급망
-회사 : 인사 시스템(직원 정보)
2. 데이터베이스 특징
1)실시간 접근 가능
예)쇼핑몰 목록 조회
2)계속적으로 변화
예)구입정보,물건재고 정보
3)동시 공유 가능
예)많은 고객이 동시 접속,구매 가능
DBMS 개념
1. 데이터베이스 관리 시스템(DBMS)
1)파일 시스템의 데이터 중복과 데이터 종속 문제를 해결하기 위해 제시된 소프트웨어
2)데이터베이스 생성과 관리 담당
3)모든 응용프로그램은 데이터베이스 공유 가능,DBMS를 통해 데이터 삽입,수정,검색,삭제
4)DBMS는 OS와 함께 중요한 시스템 소프트웨어 패키지
5)대표적 DBMS
-Oracle, MySql, MS SQL Server, PostgreSQL...
2. DBMS 주요 기능
1)정의 기능 - 데이터베이스 구조를 정의하거나 수정
2)조작 기능
-데이터 삽입,삭제,수정,검색
-CRUD(Create, Read, Update, Delete)
-ABCD(Add, Browse, Change, Delete,)
3)제어 기능 - 데이터를 항상 정확하고 안전하게 유지
3. DBMS 장단점
1)장점
-데이터 중복문제 해결, 독립성 확보, 동시 공유
-데이터 보안 향상
-데이터 무결성 유지
-표준화 방식으로 데이터에 접근
-장애 발생 후 회복 시 데이터 일관성과 무결성 유지 => 트랜잭션
-응용 프로그램 개발 비용이 줄어듦.
2)단점
-DBMS 구매 비용
-응용 프로그램이 DBMS를 통해 데이터에 접근하기 때문에 추가적인 오버헤드가 있음
-응용프로그래머가 DBMS가 어떻게 도착하는지 표준 데이터 언어에 대한 지식 필요
-DBMS 장애가 발생할 때 모든 응용프로그램 장애가 발생함.
데이터베이스(DB) 중요 개념
1. 스키마(schema)
-데이터베이스에 저장되는 데이터의 논리적 구조와 제약 조건을 정의한 것.
2. 인스턴스(instance)
-정의된 스키마에 따라 데이터베이스에 실제로 저장된 값
3.데이터베이스 구조(3 level database architecture)
1)미국의 기관 ANSI/SPARC에서 db의 내부 구조를 감추고
일반 사용자가 db를 쉽게 이용하고 사용할 수 있게 하는 구조 제안.
2)Physical level -- Internal Schema(내부 스키마)
-실제 데이터가 DB에 어떻게 저장되는지 기술
3)Conceptual level -- Conceptual Schema(개념 스키마)
-일반적인 스키마
-데이터 테이블간의 관계를 기술
4)External level -- 외부 스키마
-사용자가 보는 view level
-각 사용자들이 개별 요구 사항에 따라 다른 view를 정의해서 데이터를 볼 수 있음.
4. DB 사용자
1)DBA (데이터베이스 관리자)
-DB 시스템 운영, 관리
-DB 설계 및 구축,제어
-DBMS 자체는 물론 DB 구축,관리에 대한 지식과 많은 경험이 요구됨.
2)응용 프로그래머
-DB 언어를 이용하여 응용 프로그램 작성
3)최종 사용자(End User)
-DB에 접근하여 데이터 조작
-casual end user : DB 언어를 이용해 DB 접근 및 조작
-native user : DB 언어를 쓰지 않고 응용 프로그램을 통해 DB 접근
관계형 데이터 모델
1. Data Modeling
1)현실 세계에 존재하는 데이터를 컴퓨터 세계의 데이터베이스로 옮기는 과정
2)데이터베이스 설계의 핵심 과정
2. 관계 데이터 모델
1)개체애 대한 데이터를 저장하는 논리적 구조 - 릴레이션(2차원 테이블 구조)
2)relation : 행과 열로 구성된 테이블
3. 릴레이션 특징
1)튜플의 유일성 : 동일한 튜플이 존재할 수 없다.
2)튜플의 무순서 : 튜플 사이의 순서는 무의미하다.
3)속성(애트리뷰트)의 무순서 : 속성 사이의 순서는 무의미하다.
4)속성의 원자성(Atomic) : 애트리뷰트 값으로 하나값만 가진다.
4. Key
1)릴레이션에 튜플을 구별하는 역할을 하는 속성 또는 속성의 집합
2)Super Key : 튜플을 구별하기 위해 유일성을 제공하는 속성 또는 속성의 집합
-예) {ID}, {ID,name}
3)Candidate key : super key 중에서 개수가 가장 작은 키
-예) {ID}
4)Primary key : candidate key 중에 선택된 키(기본키) ★
5)Foreign key : 다른 릴레이션의 primary key를 참조하는 속성 또는 속성의 집합(외래키) ★
고객(아이디, 이름, 등급, 주소) 주문(주문번호, 고객, 제품, 수량)
-------- --------- -----
기본키 기본키 외래키
|----------------------------------------------------------------------|
5. 관계형 데이터 모델 제약 조건
1)도메인 무결성 제약조건(domain integrity constraint)
-릴레이션 내의 튜플들이 각 속성의 도메인에 지정된 값만 가져야 한다.
2)개체 무결성 제약조건(entity integrity constraint - primary key constraint)
-기본키를 구성하는 모든 속성은 null을 가질 수 없다!
3)참조 무결성 제약조건(referential integrity constraint - foreign key constraint)
-외래키는 참조하는 릴레이션의 기본키 속성값 중 하나여야 한다.
'📒 education archive > 💾DB' 카테고리의 다른 글
[국비학원 기록/DB] SELECT문, WHERE, NULL, ORDER BY, GROUP BY (0) | 2021.11.11 |
---|---|
[국비학원 기록/DB] SQL 기초 개념, DDL, DML, DCL (0) | 2021.11.10 |
[SQL] 오라클 데이터베이스 공부 기록(6)-인덱스,뷰,시퀀스 (0) | 2021.08.13 |
[SQL] 오라클 데이터베이스 공부 기록(5)-트랜잭션,DDL (0) | 2021.08.13 |
[SQL] 오라클 데이터베이스 공부 기록(4)-서브쿼리 (0) | 2021.08.13 |