일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 맥
- 컬렉션프레임워크
- ibatis
- crud
- Oracle
- 객체지향
- pyqt
- 이클립스
- ddit
- jsp
- python
- 대덕인재개발원
- JDBC
- Android
- 단축키
- Mac
- Java
- API
- 반복문
- Homebrew
- 자바
- 자바문제
- Error
- 배열
- html
- spring
- nodejs
- FastAPI
- 생활코딩
- servlet
- Today
- Total
romworld
RDMS, 데이터 모델링 본문
Data
-저장 공간
현실세계의 업무들을 처리하기 위하여 추출 가공한 정보
초기의 파일 처리 스스템들은 데이터를 파일로 저장하고 관리했다.
이러한 문제점을 해결하기 위해 데이터베이스 시스템이 나왔다
Database System
- 데이터의 중복이나 불일치성을 없애고 데이터를 여러 사용자가 공동 이용,
데이터 접근 비밀 유지가 되게 하는 시스템
- 하드웨어, 데이터베이스, 데이터베이스 관리 시스템, 사용자, 데이터베이스 언어, 데이터베이스 관리자를 포함함
DBMS
사용자가 데이터베이스의 생성, 유지 및 사용을 제어하는 프로그램의 집합
즉 사용자와 데이터베이스를 연결시켜주는 소프트웨어 시스템이다.
RDBMS
(Relational Database Management System)
데이터 베이스의 한 종류로 가장 많이 사용된다.
데이터 베이스에 데이터를 열(Column)과 행(Row)의 테이블 형태로 저장하고, 테이블 형태의 스키마를 지켜야 한다.
가장 대표적인 RDBMS는 Oracle사의 Oracle, MySQL, IBM의 DB2 등이 있다.
관계형 데이터 베이스를 다루기 위한 언어를 SQL (Structured Query Language) 이라고 한다.
SQL은 데이터 베이스 스키마 생성 및 수정, 테이블 관리, 데이터 추가, 수정, 삭제, 조회 등
데이터 베이스와 관련된 거의 모든 작업을 한다.
데이터 모델링
정보화 시스템을 구축하기 위해 어떤 데이터가 존재하는지
업무에 필요한 정보는 무엇인지를 분석하는 방법
개념 | 타입/클래스 | 인스턴스 |
어떤 것 | 엔티티타입 | 엔티티 |
어떤 것간의 관계 | 관계 | 페어링 |
어떤 것의 성격 | 속성 | 속성값 |
개체(Entity)
업무에 필요하고 유용한 정보를 저장하고 관리하기 위한 것으로 영속적으로 존재하는 단위
사람, 사물, 장소, 개념, 사건과 같이 유무형의 정보를 가지고 있는 독립적인 실체
(ex 강의실, 과목, 강사)
엔티티타입
- 식별자에 의해 식별 가능
- 영속적으로 존재하는 엔티티의 집합
(한 개가 아니라 두 개 이상)
- 반드시 속성이 있어야 함
- 반드시 업무에서 필요하고 관리하고자 하는 정보여야함
-현업에서 사용하는 용어 사용
-가능한한 약어 금지
-단수 명사 사용
-모든 엔티티타입은 이름이 유일함
관계(Relationship)
두 개의 엔티티타입 사이의 논리적인 관계, 즉 엔티티와 엔티티가 존재의 형태나 행위로서 서로에서 영향을 주는 형태이다.
속성(Attribute)
업무의 필요한 엔티티에서 관리하려는, 더이상 분리되지 않는 최소의 데이터 단위
- 해당 업무에서 사용하는 이름 부여
- 서술식 속성명은 사용하지 않음
- 약어 사용 가급적 제한
- 엔티티타입에서 유일하게 식별 가능하도록 지정
관계표기법
일대일 (1:1)일대다(1:m)다대다(m:n)
실선은 식별관계 점선은 비식별관계를 나타낸다.
다음의 경우, 학생 relation은 학번, 이름, 학과, 학년의 attribute로 이루어져 있으며, 학생 relation에서 학년 attribute가 가질 수 있는 값 즉, domain의 값은 1, 2, 3, 4 이며 이외의 값은 가질 수 없다고 해석된다.
요소설명
Relation (테이블) | 같은 성격의 데이터의 집합으로 Relation Schema 와 Relation Instance 로 구성됨 |
Relation Schema (스키마) | Relation의 이름과 각 Attribute의 이름의 집합, Relation을 넣기 위한 틀 |
Relation Instance | 어느 시점의 Relation에 들어있는 Tuple의 집합, 저장된 데이터 전체를 의미 |
Attribute (속성) | - Relation의 col (열) - Entity의 속성 |
Entity Instance | 단수형의 데이터 |
Entity, Tuple, Record | - Relation의 row (행) - Entity Instance의 복수형 |
Domain | 하나의 Attribute가 가질 수 있는 값의 범위 |
Transaction : 분리되어 수행될 수 없는 논리적인 하나의 작업단위
정규화
관계형 데이터베이스 설계 시 중복을 최소화하도록 테이터를 구조화 하는 작업
정규화를 하는 목적은 이상(anomaly)이 있는 관계를 재구성함으로써 바람직한 스키마로 구성
ERD
개체와 개체 간의 관계를 표준화된 그림으로 나타냄
[DB] 📚 데이터 모델링 개념 및 📈 ERD 다이어그램 그리는법 (1:N 관계)
데이터 모델링 이란? 데이터 모델링이란 정보시스템 구축의 대상이 되는 업무 내용을 분석하여 이해하고 약속된 표기법에 의해 표현하는걸 의미한다. 그리고 이렇게 분석된 모델을 가지고 실
inpa.tistory.com
- 데이터 모델링에 대해 이해하는데 도움이 됐던 블로그
'DB > Oracle' 카테고리의 다른 글
Procedure(프로시저) 랜덤값으로 반복문 주기 (0) | 2023.03.03 |
---|---|
[Mac]SQL Developer 계정 생성하기! (0) | 2023.01.07 |
[Oracle] 02 - SQL 명령문 (0) | 2023.01.06 |
[Oracle] 01 - 시작하기 앞서(SQL용어설명) (2) | 2023.01.06 |
[Mac]Oracle을 설치해보자! (2) | 2022.09.24 |