데이터 단위
bit - byte - field - record - file - database
Problems with the Tradition
각 부서마다 다른 application program을 가지고 그 프로그램 안에서 데이터를 다루고 있다.
그러나 각 부서마다 겹치는 데이터가 있음에도 각자 가지고 있어 data redundancy가 발생한다.
또한 데이터가 변경되었는데 다른 곳에서는 업데이트 되지 않아 일관되지 않은 데이터가 존재할 수 있다.
또한 데이터에 접근하는 프로그램이 각자 다르기 때문에 프로그램을 바꾸고 싶을 때 프로그램에 저장된 파일을 모두 변환해줘야 다른 프로그램에서 쓸 수 있다.
그 외에도 lack of flexbility, poor security, lack of data sharing and availability 문제가 있다.
Database Management Systems
데이터베이스 : 다양한 어플리케이션을 사용해 데이터를 중앙집중화하고, redundant data를 관리하는 것
- DBMS(Database management system) : 어플리케이션과 데이터 사이에서 관리해주는 소프트웨어
- logical views of data : end users 및 비즈니스 전문가들이 보는 데이터
- physical views of data : 실제 storage에 저장되는 데이터
전체 데이터 중에 필요한 데이터만 database management system을 통해서 받아올 수 있다.
Ralational DBMS : 회사에서 가장 많이 쓰이는 DBMS. 데이터가 Table에 저장되어 있고 table마다 key가 있다. 각 table에도 연관성이 있다.
Relational DBMS Tables
위의 table은 supplier (공급자)에 대한 데이터 베이스다.
foreign key는 다른 table의 primary key를 가져온 것이다.
Operations of a Relational DBMS
- SELECT : 조건에 맞는 데이터의 subset을 만드는 것 (row 기준)
- JOIN : 여러 relational table을 합치는 것
- PROJECT : table에서 필요한 column을 가져오는 것
Database design
E/R Diagrams, UML, IDEF1x 등 : 데이터의 관계를 나타내기 위한 표현들
E/R Diagram을 살펴보면 나머지 표현들도 쉽게 이해할 수 있다.
기본적인 형태는 다음과 같다.
Cardinalities
(영어) The property of possessing a cardinal number
표식
Minimum cardinality based : Mandatory, Optional
Maximum cardinality based
1:1 대응
M:N 대응
1:M 대응
몇 가지 예시
Chen E/R Diagram Notation
'프로그래밍 Programming' 카테고리의 다른 글
Git bash 명령어 정리 (4) 깃허브 (0) | 2021.07.20 |
---|---|
Git bash 명령어 정리 (3) 브랜치 (0) | 2021.07.20 |
Git bash 명령어 정리 (2) 기본 (0) | 2021.07.20 |
Git bash 명령어 정리 (1) 리눅스 (0) | 2021.07.19 |
Numpy에 대하여 (0) | 2020.09.23 |