[1] 데이터베이스의 주요 특징 4가지
- 데이터 무결성 (Data Integrity):
- 데이터베이스는 저장된 데이터의 정확성과 일관성을 보장합니다. 무결성 제약 조건 (예: 기본 키, 외래 키 제약) 을 통해 데이터가 올바르게 유지되도록 합니다.
- 데이터 보안 (Data Security):
- 데이터베이스는 중요한 데이터를 보호하기 위한 다양한 보안 메커니즘을 제공합니다. 사용자는 인증 및 권한 부여를 통해 데이터에 대한 접근을 제어할 수 있습니다.
- 데이터 중복 최소화 (Data Redundancy Minimization):
- 데이터베이스는 데이터를 정규화함으로써 데이터 중복을 최소화합니다. 이를 통해 저장 공간을 절약하고 데이터 일관성을 유지할 수 있습니다.
- 데이터 접근성 (Data Accessibility):
- 데이터베이스는 다양한 쿼리 언어 (예: SQL)를 통해 데이터를 효율적으로 검색, 삽입, 수정, 삭제할 수 있는 기능을 제공합니다. 이를 통해 사용자나 애플리케이션이 필요로 하는 데이터를 쉽게 접근하고 사용할 수 있습니다.
[2] 마이크로소프트 액세스(Microsoft Access)
마이크로소프트 액세스(Microsoft Access)는 데이터베이스 관리 시스템(DBMS)으로, 여러 가지 기능을 제공합니다.
- 테이블 (Table):
- 데이터를 저장하는 기본 단위로, 행(Row)과 열(Column)로 구성됩니다. 각 테이블은 하나의 엔티티(예: 고객, 주문 등)에 대한 데이터를 저장합니다.
- 예시: 고객 정보 테이블에는 고객의 이름, 주소, 전화번호 등의 필드가 포함될 수 있습니다.
- 쿼리 (Query):
- 데이터베이스에 저장된 데이터를 검색, 삽입, 수정, 삭제하기 위해 사용되는 명령어입니다. SQL(Structured Query Language)을 사용하여 작성합니다.
- 예시: 특정 날짜 범위 내의 주문을 검색하는 쿼리, 특정 고객의 주문 내역을 업데이트하는 쿼리 등.
- 폼 (Form):
- 사용자가 데이터를 입력하거나 수정할 수 있도록 인터페이스를 제공하는 화면입니다. 폼을 통해 데이터베이스와 상호작용할 수 있습니다.
- 예시: 고객 정보 입력 폼, 제품 주문 폼 등.
- 보고서 (Report):
- 데이터베이스에 저장된 데이터를 정리하여 출력할 수 있는 도구입니다. 보고서는 인쇄하거나 PDF로 저장할 수 있습니다.
- 예시: 월간 판매 보고서, 고객별 주문 내역 보고서 등.
- 매크로 (Macro):
- 반복적인 작업을 자동화하기 위해 사용하는 스크립트입니다. 여러 작업을 순차적으로 실행할 수 있습니다.
- 예시: 버튼 클릭 시 데이터를 저장하고 폼을 닫는 매크로, 특정 시간마다 데이터를 백업하는 매크로 등.
- 모듈 (Module):
- VBA(Visual Basic for Applications) 코드를 사용하여 보다 복잡한 기능을 구현할 수 있는 스크립트입니다. 모듈을 통해 사용자 정의 함수와 프로시저를 작성할 수 있습니다.
- 예시: 사용자 정의 함수로 특정 데이터를 계산하는 모듈, 사용자 로그인 기능을 구현하는 모듈 등.
[3] 데이터베이스에서의 키(Key)
데이터베이스에서 키(Key)는 테이블 내에서 데이터를 고유하게 식별하는 데 사용
후보키 (Candidate Key)
- 정의: 테이블에서 각 레코드를 고유하게 식별할 수 있는 속성(또는 속성들의 집합)입니다.
- 특징:
- 하나의 테이블에 여러 개의 후보키가 있을 수 있습니다.
- 후보키 중 하나가 기본키로 선택됩니다.
- 중복된 값이 없어야 하며, NULL 값을 가질 수 없습니다.
예시:
- 학생 테이블에서 학생 ID, 이메일 등은 각 레코드를 고유하게 식별할 수 있는 후보키가 될 수 있습니다.
기본키 (Primary Key)
- 정의: 후보키 중에서 특정 레코드를 고유하게 식별하기 위해 선택된 키입니다.
- 특징:
- 테이블당 하나의 기본키만 존재합니다.
- 기본키는 중복될 수 없으며, NULL 값을 가질 수 없습니다.
- 기본키로 설정된 열에는 항상 고유한 값이 있어야 합니다.
예시:
- 학생 테이블에서 학생 ID를 기본키로 설정할 수 있습니다.
슈퍼키 (Super Key)
- 정의: 테이블에서 각 행을 고유하게 식별할 수 있는 하나 이상의 속성들의 집합입니다.
- 특징:
- 슈퍼키는 테이블의 모든 행을 고유하게 식별할 수 있습니다.
- 하나의 속성만으로도 슈퍼키가 될 수 있으며, 여러 속성의 조합도 슈퍼키가 될 수 있습니다.
- 최소성을 요구하지 않기 때문에 후보키보다 더 많은 속성을 포함할 수 있습니다.
예시:
- 학생 테이블에서 학생 ID, 학생 ID + 이름, 학생 ID + 이메일 등은 모두 슈퍼키가 될 수 있습니다.
복합키 (Composite Key)
- 정의: 두 개 이상의 속성들을 조합하여 고유하게 식별할 수 있는 키입니다. 하나의 속성만으로는 고유하게 식별할 수 없는 경우 사용됩니다.
- 특징:
- 복합키는 두 개 이상의 속성들의 결합으로 이루어집니다.
- 각 속성 단독으로는 유일성을 보장할 수 없지만, 결합된 속성들은 고유하게 식별할 수 있습니다.
예시:
- 수강 테이블에서 학생 ID와 강의 ID의 조합은 복합키가 될 수 있습니다. 두 속성의 조합으로 수강 기록을 고유하게 식별할 수 있습니다.
외래키 (Foreign Key)
- 정의: 한 테이블의 열이 다른 테이블의 기본키를 참조하는 키입니다. 두 테이블 간의 관계를 정의합니다.
- 특징:
- 외래키는 참조 무결성을 유지합니다.
- 외래키는 NULL 값을 가질 수 있지만, 참조하는 값이 테이블에 존재해야 합니다.
- 외래키는 다른 테이블의 기본키와 연결되어 관계를 맺습니다.
예시:
- 수강 테이블에서 학생 테이블의 학생 ID를 참조하는 외래키로 설정할 수 있습니다.
요약
- 후보키 (Candidate Key): 테이블에서 각 레코드를 고유하게 식별할 수 있는 속성들의 집합.
- 기본키 (Primary Key): 후보키 중에서 선택된, 각 레코드를 고유하게 식별하는 키.
- 슈퍼키 (Super Key): 하나 이상의 속성들의 집합으로, 각 행을 고유하게 식별할 수 있는 키. 후보키를 포함함.
- 외래키 (Foreign Key): 한 테이블의 열이 다른 테이블의 기본키를 참조하여 두 테이블 간의 관계를 정의하는 키.
이러한 키들을 통해 데이터베이스에서 데이터 무결성을 유지하고, 효율적으로 데이터를 관리할 수 있습니다.
후보키 중 기본키로 선택되지않은 키 : 대체키 ex) 여기선 사원번호가 기본키로 설정됐으니 주민등록번호가 대체키
[4] RDBMS (Relational Database Management System)
- 정의: 관계형 데이터베이스 관리 시스템(RDBMS)은 데이터를 테이블(행과 열) 형식으로 관리하는 시스템입니다. 각 테이블은 관계를 통해 서로 연결됩니다.
- 특징:
- SQL 사용: RDBMS는 데이터를 관리하기 위해 SQL(Structured Query Language)을 사용합니다.
- 데이터 무결성: 데이터의 정확성과 일관성을 유지합니다.
- 데이터 보안: 접근 제어와 권한 관리를 통해 데이터 보안을 보장합니다.
- 트랜잭션 관리: ACID(Atomicity, Consistency, Isolation, Durability) 속성을 통해 트랜잭션을 관리합니다.
- 데이터 중복 최소화: 데이터 정규화를 통해 중복을 최소화합니다.
[5] SQL (Structured Query Language)
- 정의: 관계형 데이터베이스에서 데이터를 정의하고 조작하기 위한 표준 언어입니다.
- 구성: SQL은 여러 하위 언어로 구성됩니다:
- DDL (Data Definition Language): 데이터 정의 언어
- DML (Data Manipulation Language): 데이터 조작 언어
- DCL (Data Control Language): 데이터 제어 언어
- TCL (Transaction Control Language): 트랜잭션 제어 언어
[6] DDL (Data Definition Language)
- 정의: 데이터베이스 구조를 정의하거나 수정하는 데 사용되는 SQL의 하위 언어입니다.
- 주요 명령어:
- CREATE: 새로운 데이터베이스 객체(테이블, 인덱스, 뷰 등)를 생성합니다.
- ALTER: 기존 데이터베이스 객체를 수정합니다.
- DROP: 데이터베이스 객체를 삭제합니다.
- TRUNCATE: 테이블의 모든 데이터를 삭제하지만, 테이블 구조는 유지합니다.
[7] DML (Data Manipulation Language)
- 정의: 데이터베이스 내의 데이터를 조작하는 데 사용되는 SQL의 하위 언어입니다.
- 주요 명령어:
- SELECT: 데이터를 조회합니다.
- INSERT: 데이터를 삽입합니다.
- UPDATE: 데이터를 수정합니다.
- DELETE: 데이터를 삭제합니다.
데이터 = 자료
데이터베이스 = 데이터의 집합체
데이터를 불러오는 질문 = 쿼리 QUERY
테이블, 쿼리를 이용해 화면에 나타내는 = 폼
쿼리란것은 테이블에서 원하는 데이터만 가져오는 것
단순 쿼리 테이블 -> 원하는 필드만 가져올때사용
폼은 테이블과 쿼리(쿼리테이블)를 이용한다
보고서도 테이블 , 쿼리테이블을 이용해서 작성 (테이블이 미리 작성되있어야함)
관계형 데이터베이스 - 행과 열로 이루어져있음
열(세로) : 필드 속성
행(가로) : 레코드 튜플
테이블 - 저장소
필드 - 열
레코드 - 행