incastle의 콩나물

Database Concepts Chapter 1. Getting Started 본문

19-1 대학 수업/데이터베이스 이론 및 실습

Database Concepts Chapter 1. Getting Started

incastle 2019. 4. 21. 01:33

데이터베이스 이론 및 실습 정재윤 교수님 수업 (19-1)

 

Purpose of a database

- to keep track of things

- spreadsheet나 list와 다르게 database는 좀 더 복잡하다. 

 

Problems with lists : Redundancy

- list는 중복된 데이터가 들어갈 수 있다.

- 특정 사람이 project 10개를 관리하고, 각 row마다 모든 정보 때려 박아

- 특정 사람의 신상 정보도 계속 중복해서 들어감

 

Problems with lists : Multiple Themes

- list는 하나의 table에 하나의 theme이 담김

- database는 목적에 따라서 table 분리할 수 있음

- 왜냐면 table마다 연결이 됐으니까

 

List Modification Issues

- Deletion problems : 진행중인 프로젝트만 남기고 싶어서 지음 -> 프로젝트 매니저 정보도 날라감

- Update problems : 매니저 신상 정보가 변경되면 모든 매니저 신상 정보를 변경해야 함

- Insertion problems : 매니저 정보만 추가하고 싶은데 진행한 프로젝트가 없음

 

Relational Database

- 하나의 table에는 하나의 topic이 담긴다.

- 그렇게 하기 위해서 list를 뽀갠다. 

- 하지만 어떠한 방법으로 다시 join 할 수 있음(Primary key, foreign key)

- 기존 list보다 복잡하지만 solid foundation을 제공한다. 

 

What is a Database System?

- Database : 관계형 테이블의 집합체

- Database Management System(DBMS) : create, process, administer the database를 하는데 사용하는 컴퓨터 프로그램(access), SQL을 받아서 action을 취함다.

- Database Application : user와 DBMS 사이에서 작동하는 컴퓨터 프로그램

- User : database application을 사용하는 사람(to keep track of things), 입력, 출력, 삭제하기 위한 form을 사용하고 report를 만든다. 

 

Database

- Self-describing한 관계형 데이터들의 집합

- Self-describing

>> database 자체가 해당 구조를 정의 하고 있다는 것

>> Metadata가 database의 구조에 관한 데이터다.

>> Metadata : table의 이름, column의 이름, 속성 등

 

Database Management System(DMBS)

- Database와 Database Application 중간에서 작동

- database activities를 관리-조정한다.

- ex) ms sql, oracle MySQL, IBM DB2

 

Functions of a DMBS

- Create database, table

- Read database data

- Modify database data(insert, update, delete)

-->CRUD

- Maintain database structures

- Enforce rules

- Control concurrency(한 명이 작업한다고 다른 사람 방해 ㄴㄴ)

- Provide security(보안은 생명입니다!)

- backup and recovery (백업할 수 있어야지)

 

Database Applications

- 4가지 기능

>> Execute(실행하다) application logics

>> Control database applications

>> Process user queries

>> Create and Process forms

>> Create and Process reports

 

Personal Database Systems

-  one application >> 하나의 application을 갖는다.

- only a few tables >> 당연히 table은 적겠지

- simple design >> 혼자하니까 design이 간단하지

- involve only one computer

- support one user at a time (하지만 DBMS는 concurrency를 보장한다)

- MS의 Access는 이러한 목적성을 위한 도구! DBMS와 Database application의 역할을 동시에 수행한다. 

 

Enterprise-Class Database Systems

- 여러명의 유저가 동시에 작업 가능

- complex design

- many table

- many database

- involve multiple computers

 

 

Comments