위 글은 해당 카테고리의 수업 강의 자료를 정리한 것입니다.
1. 개요
- Data(자료) + Base(저장장소)
- 여러 응용 시스템(프로그램)들의 통합된 정보들을 저장하여 운영할 수 있는 공용(share) 데이터의 집합
- 효율적으로 저장, 검색, 갱신할 수 있도록 데이터 집합들끼리 연관시키고 조직화되어야 함
2. 데이터베이스의 특성
- 실시간 접근성(Real-time Accessability): 사용자의 요구를 즉시 처리할 수 있음
- 계속적인 변화(Continuous Evolution): 정확한 값을 유지하려고 삽입, 삭제, 수정 작업 등을 이용해 데이터를 지속적으로 갱신할 수 있음
- 동시 공유성(Concurrent Sharing): 사용자마다 서로 다른 목적으로 사용하므로 동시에 여러 사람이 동일한 데이터에 접근 이용할 수 있음
- 내용 참조(Content Reference): 저장한 데이터 레코드의 위치나 주소가 아닌 사용자가 요구하는 데이터의 내용, 즉 데이터 값에 따라 참조할 수 있어야 함
3. 데이터베이스 관리시스템(DBMS, Database Management System)
- 데이터베이스를 관리하는 소프트웨어로 여러 응용 소프트웨어(프로그램) 또는 시스템이 동시에 데이터베이스에 접근하여 사용할 수 있게 함
- 필수 3기능
- 정의 기능: 데이터베이스의 논리적, 물리적 구조를 정의
- 조작 기능: 데이터를 검색, 삭제, 갱신, 삽입, 삭제하는 기능
- 제어 기능: 데이터베이스의 내용 정확성과 안전성을 유지하도록 제어하는 기능
- Oracle, SQL Server, MySQL, DB2 등의 상용 또는 공개 DBMS가 있음
4. 데이터베이스 관리시스템의 장단점
- 장점
- 데이터 중복이 최소화
- 데이터의 일관성 및 무결성 유지
- 데이터 보안 보장
- 단점
- 운영비가 비쌈
- 백업 및 복구에 대한 관리가 복잡
- 부분적 데이터베이스 손실이 전체 시스템을 정리
5. 관계형 데이터베이스(RDB, Relational Database)
- 1970년 IBM E. F. Codd에 의해 제안되어 수십년 동안 주류 데이터베이스로 성장 확대
- 키와 값들의 간단한 관계를 테이블화 시킨 매우 간단한 원칙의 개념의 데이터베이스
- 일련의 정형화된 테이블로 구성된 데이터 항목들의 집합이며 각 테이블은 데이터의 성격에 따라 여러 개의 컬럼(키)이 포함됨
- 사용자는 SQL(Structured Query Language)이라는 표준 질의어를 통해 데이터를 조작, 조회할 수 있음
6. SQL(Structured Query Language)
- 데이터베이스 스키마 생성, 자료의 검색, 수정, 데이터베이스 객체 접근 관리 등을 위해 고안된 언어
- 다수의 데이터베이스 관련 프로그램의 표준언어
- SQL 명령어의 종류
- DML(Data Manipulation Language)
- 데이터 조작어로 검색 및 수정하기 위한 수단 제공
- SELECT, INSERT, UPDATE, DELETE, MERGE
- DDL(Data Definition Language)
- 데이터 구조를 생성, 변경, 삭제 등의 기능을 제공
- CREATE, ALTER, DROP, RENAME
- DCL(Data Control Language)
- 데이터에 대한 권한 관리 및 트랜잭션 제어
- GRANT, REVOKE
- DML(Data Manipulation Language)
7. 테이블 구조
- 테이블: RDBMS의 기본적 저장 구조, 한 개 이상의 column과 0개 이상의 row로 구성
- 열(column): 테이블 상에서의 단일 종류의 데이터를 나타냄, 특정 데이터 타입 및 크기를 가짐
- 행(row): column들의 값의 조합, 레코드라고도 부름, 기본키(PK)에 의해 구분됨, 기본키는 중복을 허용하지 않으며 없어서는 안됨
- Field: row와 column의 교차점, field는 데이터를 포함 할 수도 있고 없을 때는 null 값을 가짐
8. Primary Key(PK, 기본키)
- 릴레이션에서 튜플을 구분하기 위하여 사용하는 기본키
- 하나의 애트리뷰트 또는 애트리뷰트의 집합(복합키) 가능
- 관리자에 의해 릴레이션 생성시 정의됨 (자동으로 index 생성)
- 동일한 PK를 지닌 레코드가 존재할 수 없음
9. Foreign Key(FK, 외래키)
- 기본키를 참조하는 속성
- 다른 테이블과의 연결고리
- null 가능 (= 참조되지 않음을 의미)
'강의 > KOSTA' 카테고리의 다른 글
[Oracle] Group Function & JOIN (Day10) (0) | 2022.03.20 |
---|---|
[Oracle] Basic Select Statements and Single-Row Functions (Day9) (0) | 2022.03.16 |
[Oracle] Installation Related Note(Day9) (0) | 2022.03.16 |
[Java] IOStream (Day8) (0) | 2022.03.15 |
[Java] Collection Framework (Day7~8) (0) | 2022.03.14 |