1. 데이터베이스
-특정 목적을 위해 여러 사람이 공유하여 사용할 수 있으며 효율적인 관리와 검색을 위해 구조화된 데이터집합.
-여러 사용자가 공유하여 사용할 수 있도록 데이터를 통합해서 저장한 운영데이터의 집합
파일시스템 | DBMS |
데이터 중복 및 누락 발생 | 데이터 중복 및 누락 방지 |
실시간 공유(동기화) 불가 | 실시간공유(동기화) 가능 |
각각의 방법으로 데이터 관리 | 일관성 있는 방법으로 데이터 관리 |
2. 데이터 모델링: 현실대상을 데이터베이스로 저장할 수 있도록 설계, 구축하는 과정
[단계]요구사항 분석-개념적 모델링-논리적 모델링-물리적 모델링-데이터베이스
1)개념적 모델링
-현실세계의 복잡한 대상을 추상화, 단순화하여 데이터로 표현하는 과정
-어떤 데이터를 저장할 것인지 결정하는 단계
-개체와 속성을 만들고 개체들에 대한 관계를 그려내는 과정
예)’나’라는 사용자를 네이버가 어떻게 데이터로 저장하는가
●개체(Entity): 복잡한 대상들을 하나의 집합으로 표현. 현실세계에서 저장할 가치가 있는 중요한 데이터의 집합.
*업무에 필요하고 유용한 정보 예)회원
● 속성(Attribute): 해당 집합에서 공통적인 특징들을 표현
예)이름, ID, 비밀번호, 생년월일, 성별 등 ‘서비스’에 필요한 특성. 키, 몸무게 등은 해당없음. 열(Column)에 해당함
● 인스턴스(Instance): 개체를 구성하고 있는 속성이 값을 가져서 실체화된 것
예)행(row)에 쓰인 값
● 관계(Relationship): 개체와 개체가 맺고 있는 의미 있는 연관성
예)회원←→관계 :사용자가 블로그를 ‘작성’하고 블로그는 회원에 의해 ‘작성’되는 관계
● ERD: 개체(Entity)와 그 관계(Relationship)를 발견하고 그림(Diagram)으로 표현한 것.
-데이터베이스 구조를 한 눈에 보기 위해 사용됨.
[순서]
1. 개체 그리기: 개체 기호는 사각형
2. 속성 그리기: 속성 기호는 원형
3. 관계 확인 하기: 관계 기호는 마름모
4. 관계의 중복(cardinality)기술. 예)1:1, 1:N, N:N
-1: |로 표시
-N: >로 표시.
5. 관계의 참여도(optionality) 기술.
-필수참여(1개): | 표시
-선택참여(0개)는 O 표시
[실습]
2)논리적 모델링
-ERD를 기준으로 개체들을 DBMS가 지원하는 데이터로 변환시키는 과정. 즉, -데이터들을
구조적으로 설계하는 과정(상세한 설계도)
-식별자 선택, 정규화, 관계설정 등을 진행
예)영문자, 숫자만 입력. 8자 이상 입력 등의 조건
①식별자(Primary Key) 지정(기본키): 하나의 엔터티의 속성 중에서 각 인스턴스들을 식별할 수 있는 속성
②정규화 진행: 데이터가 중복되지 않도록 엔터티를 쪼개는 것
③ 관계설정(Foreign Key)하기(외래키)
-정규화로 쪼개진 대상들을 연결하기 위해 식별자(Primay Key)를 빌려오는 것(참조)
-기본키에 없는 식별자 정보는 입력할 수 없음
*구분코드: 집주소/ 회사주소 구별
*ERD TOOL: https://www.erdcloud.com/ https://dbdiagram.io/home
3)물리적 모델링
-논리적 모델링 결과를 실제 데이터베이스로 구축하는 것
-하드웨어나 운영체제의 특성을 고려하여 필요한 인덱스의 구조나 내부 저장구조, 접근 경로 등에 대한 물리적인 구조를 설계하고
-SQL문을 작성하고 실행시켜 실제 데이터베이스 생성
'데이터베이스' 카테고리의 다른 글
[DB]6. JOIN (0) | 2023.06.05 |
---|---|
[DB]5. GROP BY&HAVING절 (0) | 2023.06.01 |
[DB]4. Oracle 함수 (0) | 2023.05.31 |
[DB]3. WHERE절 (0) | 2023.05.30 |
[DB]2. SELECT절 (0) | 2023.05.29 |