- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 비주얼 베이직
- C언어
- oauth
- 파이썬
- 배열
- Java
- 프로그래밍 입문
- firebase google
- 자료구조
- 코딩테스트
- android studio
- 로그인
- Firebase
- 안드로이드
- 안드로이드 스튜디오
- sql
- 컴퓨터공학과
- C++
- python
- 공유대학
- 정렬
- 프로그래머스
- 동적할당
- 구글 로그인
- 자바
- 알고리즘
- til
- 백준
- 연결리스트
코딩하는 해달이
[데이터베이스 설계] 2주차 본문
Conceptual Data Modeling
못들음
Logical Data Modeling
데이터를 컴퓨터가 이해할 수 있는 형태로 바꾸는 모델링
데이터와 정보
데이터
- 현실 세계에서 측정하고 수집한 사실과 값
- 가공하기 이전의 단순한 관찰이나 측정을 통해 얻은 재료
정보
- 데이터를 목적이나 의도에 맞게 가공 처리한 것
- 판단의 근거로 사용될 수 있도록 의미와 가치를 부여한 것
Information = Processing(Data)
데이터와 정보 구분 예
- 1년간 월간 아이스크림 판매량을 조사한 표 → 데이터
- 아이스크림은 겨울보다 여름에 잘 팔린다 → 정보
모든 서비스에 DB가 필요한가?
▶입 출금, 이체 등 은행거래 - 필요 O
▶호텔 객실의 예약 - 필요 O
▶신호등의 램프제어 - 필요 X
▶온라인 쇼핑몰의 물품구매 - 필요 O
▶전자식 개폐 장치의 비밀번호 관리 - 필요 X
DB 시스템의 특성
▶최초 적재(Loading) → 이벤트 발생에 따른 잦은 변경(Interaction)
▶대용량의 데이터를 다룸
- 사용자들이 원하는 순간 데이터에 접근하기 위해서는?
- 대용량의 데이터가 체계적으로 조직화되어 있어야 함
시험에는 이렇게 나옴
- 실시간 접근
- 계속 변화
- 동시 공유
- 내용으로 참조
Database
▶정의 : 특정 조직 내에서 다수의 사용자가 공유할 수 있도록 통합하여 저장한 운영 데이터의 집합체
▶정의 핵심
- 통합된 데이터(integrated data) : 한 곳의 데이터를 나누어 씀
- 공영 데이터(= 공유 데이터 : shared data) : 공유가 가능한 데이터
- 운영 데이터(operational data) : DB를 운영하는데 반드시 필요한 데이터
- 저장데이터(stored data) : 컴퓨터가 인식할 수 있는 저장 매체에 들어있는 데이터
▶실질적 의미 : 데이터 및 데이터간 관계의 집합
▶장점
- 중복성을 최소화
- 공유성을 최대화 - 공유가 가능
- 보안성을 최대화 - 접근 가능한 데이터 범위를 정할 수 있음
- 일관성을 유지 가능 - 여러곳의 데이터가 일정함
- 무결성을 유지 가능 - 데이터가 일정하여 결점이 없음
- 독립성을 유지 가능 - 데이터가 바뀌어도 애플리케이션을 바꾸지 않아도
- 표준화하여 관리 가능 -
▶단점
- 비용이 많이 든다
- 백업과 회복 방법이 복잡하다
- 중앙집중 관리로 인한 취약점이 존재한다
DBMS(Database Management Systems)
- 정의 : 데이터베이스를 생성하여 안정적이고 효율적으로 운영하는데 필요한 기능을 제공하는 소프트웨어로,
사용자 애플리케이션과 데이터베이스 간의 인터페이스 역할을 하는 논리적 프로그램
- 실질적 의미 : 사용자가 Database에 접근할 수 있도록 지원해주는 프로그램의 집합
- DBMS의 필수 기능
▶정의(definition) 기능 : 데이터 정의 및 저장 관리
▶조작(manipulation) 기능 : 질의 처리 기능으로 조회, 삽입, 삭제, 갱신
▶제어(control) 기능 : 트랜재션 관리 기능으로 데이터 접근제어, 시스템 오류 발생시 복구 등
- 종류 : 액세스, 오라클, SQL 서버, DB2, MySQL, 몽고DB 등
데이터베이스 스키마(Schema)
- 데이터베이스 구조, 데이터 타입, 그리고 제약 조건에 대한 명세
- 데이터베이스 설계 단계에서 명시되며, 자주 변경되지 않음
데이터베이스 인스턴스(Instance)
- 특정 시점에 데이터베이스에 실제로 저장되어 있는 데이터
= database instance = Occurrence = Snapshot
DML / DDL
- 데이터 정의(DDL : Data Definition Language)
- 데이터베이스의 논리적 구조, 즉 스키마를 기술하기 위해 사용되며, 주로 DB 설계자가 사용함
- 데이터 조작어(DML : Data Manipulation Language)
- 데이터 처리 즉, 데이터의 조회(Retrieval), 삽입(insertion), 삭제(deletion), 갱신(update)에 사용도며, 주로 사용자가 사용함
- 데이터 제어어(DCL : Data Control Language)
- 트랜젝션 관리 즉, 권한(authority) 정의, 데이터 보안(security), 데이터 무결성(integrity), 데이터 복구(recovery), 병행 수행 제어(concurrency control)에 사용
- cf) DCL(Data Control Language), TCL(Transaction Control Language)
개체(Entity)
- 실세계에 존재하는 의미있는 하나의 정보 단위
- 물리적 객체 뿐 아니라 개념적 객체도 포함
- ex) 학생, 자동차, 강의실/ 프로젝트, 직업, 교과목,...
관계(Relationship)
- 개체들 사이의 연관성
- [학생]과 [교과목] 사이의 [수강] 관계
속성(Attribute)
- 개체 또는 관계의 본질적 성질
- Single-valued vs. Multivalued
- - 나이 vs. 취미
- Simple vs. Composite
- Simple Attribute : 더 이상 쪼개지지 않는 원자값을 갖는 속성 ex) 나이, 학번
- Composite Attribute (복합 속성) : 몇 개의 요소로 분해될 수 있는 속성 ex) 주소 → 시,군,구,번지
- Stored vs. Derived
- Derived Attribute (유도 속성) : 저장된 다른 데이터로부터 유도 가능한 속성 ex) 각 과목의 성적 → 총점, 주민등록번호 → 나이,성별
'학교 공부 > 데이터 베이스 설계' 카테고리의 다른 글
[데이터 베이스 설계] 4주차 (0) | 2023.03.23 |
---|---|
[데이터 베이스 설계] 3주차 (0) | 2023.03.16 |