개체가 가지고 있는 특징(속성)을 정리하여 컴퓨터에 저장
개체(entity)
현실 세계에서 조직을 운영하는 데에 꼭 필요한 사람이나 사물과 같이 구별되는 모든 것
저장할 가치가 있는 중요 데이터를 가지고 있는 사람이나 사물, 개념, 사건 등등이 됨
다른 개체와 구별되는 이름을 가지고 있고, 각 개체만의 고유한 특성이나 상태, 즉 속성을 하나 이상 가지고 있다.
예)
병원: 환자, 의사, 간호사
서점: 고객, 도서(책)
속성(attribute)
개체가 가지고 있는 고유한 속성.
의미 있는 데이터의 가장 작은 논리적 단위예)
개체(의사): 이름, 전공, 소속
개체(환자): 이름, 주소, 주민번호, 키
관계(relationship)
개체와 개체가 맺고 있는 의미 있는 연관성
예)
병원: 환자는 의사에게 진료를 받는다.
서점: 고객은 책을 구매한다.
키(key)
테이블 간 여러 행의 자료를 유일하게 연결해주는 키가 필요
각 테이블의 레코드(행)를 유일하게 식별하는 장치
데이터 모델화
현실 세계에 존재하는 데이터를
컴퓨터 세계의 데이터베이스로 옮기는 변환 과정
데이터베이스 설계의 핵심 과정(현실세계→추상화→모델화)
추상화(abstraction): 복잡한 자료나 모듈 시스템으로부터 핵심적인 개념 또는 기능을 간추려내는 것
컴퓨터의 데이터를 저장하는 방법에는 크게 2가지가 있다.
- 파일 시스템
- DBMS(DataBase Management System)
파일 시스템
데이터를 파일로 관리하기 위해 파일을 생성, 삭제, 수정, 검색하는 기능을 제공하는 소프트웨어
응용프로그램마다 필요한 데이터를 별도의 파일로 관리함
단점1: 또다른 응용프로그램에서 별도의 파일을 관리해야 한다.
(개인정보 file이 중복됨, 메모리 낭비,
데이터 수정 시 다른 데이터도 수정을 해주어야 함(통일성이 없음))
단점2: 하나의 파일로 통합할 때 파일이 커지게 돼서 작은 자료를 찾을 때에도 큰 파일을 모두 찾아야 하기 때문에 효율적이지 않음
데이터 통합
→ 데이터베이스 시스템
유일한 key를 사용해 통합해서 사용
데이터 중복 문제 뿐만 아니라, 빠른 프로그램 개발, 데이터 일관성, 독립성, 복구, 보안 , 동시성, 데이터 관리 기능 등을 수행데이터베이스 시스템에서의 데이터 관리
예)
오라클 데이터베이스 서버, 마이크로소프트 SQL 서버, MySQL 등
관계 데이터 모델에서의 용어정리
- 테이블(table)
하나의 개체에 대한 데이터를 2차원 테이블 구조로 정리한 것.
릴레이션(Relation)- 속성(attribute)
테이블의 열(column)- 튜플(tuple)
테이블의 행(row)
RDBMS(Relation DBMS)에 의해 관리됨
하나의 테이블에는 동일한 튜플이 존재할 수 없으며, 순서는 무의미함
키(key)
각 릴레이션(테이블)의 튜플을 유일하게 식별하는 속성, 또한 릴레이션 간의 연결고리
- 기본키(primary key)
데이터베이스 설계자에 의해서 선택된 표로 삼는 키(릴레이션을 대표)
릴레이션의 특성을 반영하여 하나를 선택
릴레이션 내 튜플을 식별할 수 있는 고유한 값을 가져야 한다.
중복된 값 불가능
NULL 값은 허용하지 않음
그 외 슈퍼키, 후보키, 대리키, 대체키, 외래키
외래키(foreign key): 다른 릴레이션의 기본키를 참조하는 속성