
1. Database와 DBMS
- 데이터베이스 : 유용한 데이터의 집합 -> 여러명이 동시 접근 가능해야 함
- 파일을 저장하는 것이 아니라, 파일의 이름이나 위치등을 저장
- DBMS : 데이터베이스를 관리/운영하는 역활 DataBase Management System
-> 동시접속, 데이터 공유를 가능하게 해줌
- 파일시스템의 단점을 보완하고 대량의 데이터를 보다 효율적으로 관리하고 운영하기 위해 사용
- 데이터베이스를 관리하고 운영하기 위한 시스템 또는 소프트웨어
- 데이터를 구축하고 관리/활용하기 위해서 사용되는 언어가 SQL이다.
- DBMS 벤더별 종류 : MySQL(오라클), Oracle, MariaDB, PostgreSQL, SQL Server(MS), DB2(IBM),
Access(MS), SQLite(모바일 전용)

-
DBMS의 특징
-
데이터 무결성
- 데이터가 어떤 경로로 들어 왔던지 데이터에 오류(결점)이 없어야 된다 -> 제약조건 필요
- ex. 학생 데이터에 학번 반드시 저장되어야 한다.
-
데이터 독립성
- 데이터베이스의 크기나 데이터 파일 저장소를 변경해도, 데이터베이스를 활용하는 기존 응용프로그램은 전혀 영향을 받지 않아야 한다. 서로 독립적인 관계이여야 한다.
-
보안
- 아무나 접근X, 데이터 접근이 허가된 사람만 접근 가능, 계정에 따른 권한 부여.
- 파일 시스템은 보안 유지가 어려움.
-
데이터 중복의 최소화
-
데이터 안전성 향상
-
DBMS 종류
- 계층형 Hierarchical DBMS (1960년대 시작, 처음 나온 DBMS)
- 망형 Network DBMS ('70)
- 관계형 Relational DBMS (RDBMS)
- 아직까지 가장많이 사용
- "데이터베이스는 테이블이라 불리는 최소 단위로 구성, 테이블은 하나 이상의 열(컬럼)로 구성"
- 단점 : 시스템 자원을 많이 차지, 전반적으로 느림
- 객체지향형 Object-Oriented DBMS
- 객체관계형 Object-Relational DBMS
- NoSQL : non SQL, Not Only SQL
2. 데이터베이스 구축과 모델링

- 필수용어
- 데이터 : Name, 이름 , 2021.1.1 같은 하나하나의 정보
- 테이블 = 릴레이션 = 엔티티 : 회원이나 제품 데이터를 입력하기 위해 표 형태로 표현한것
- 데이터베이스 : 테이블이 저장되는 저장소 (MySQL에서 스키마라고도 함)
- DBMS : MySQL
- 열 = 컬럼 column = 필드 = 속성 : 세로 한줄, 각 테이블은 열로 구성
- 데이터 타입 : 열의 데이터 형식. 문자, 숫자 등
- 행 = 로우 row = 레코드 = 튜플 : 실질적인 데이터를 말함 (가로 한줄)
- 기본키 Primary Key : 각 행을 구분하는 유일한 열을 말함. 기본키 열에 저장되는 값은 중복되 면 안되는 유일한 값들이 저장, 비어 있어도 안된다. 각 테이블에는 기본키를 하나만 지정 가능.
- 외래키 Foreign Key : 두 테이블의 관계를 맺어주는 키. 다른 테이블의 기본키가 현 테이블의 외래키.

- 데이터베이스 구축 절차

- [ DBMS 설치 ] -> 데이터베이스 구축 절차[ 데이터베이스생성 -> 테이블생성 -> 데이터입력 -> 데이터조회/활용 ]
-> [ 테이블 외의 데이터베이스 개체의 활용 AND 응용프로그램에서 구축된 데이터 활용(웹 서비스, 애플리케이션) ] -> [ 데이터 백업 및 관리 ]