한 조직에 필요한 정보를 응용 시스템에서 공용할 수 있도록 논리적으로 연관된 데이터를 모으고 중복되는 데이터를 최소화하여 구조적으로 통합/저장해놓은 것
데이터베이스에서 데이터를 추출, 조작, 정의, 제어 등을 할 수 있게 해주는 데이터베이스 전용 관리 프로그램
: JSP에서 로직과 출력을 처리하는 패턴으로 요청 시 JSP에서 비즈니스 로직을 직접 처리하고 그 결과를 바로 클라이언트에게 출력(응답)함
: 역할별 작업이 가능하도록 분담하는 설계 패턴으로
Model은 비즈니스 로직(Service, DAO, VO),
VIEW는 클라이언트의 요청과 요청한 정보의 응답 결과를 보여주는 화면(JSP, HTML)
Controller는 클라이언트의 요청을 전달받아 응답처리를 위한 Service를 호출하고 결과를 View에 전송한다
VIEW <- Service <- Controller <- DAO
현실 세계를 단순화 시켜 표현하는 기법
소프트웨어(프로그램) 개발 프로세스
요구사항 분석 -> 프로그램 설계 -> 프로그램 구현 -> 통합/테스트 -> 유지보수
엔티티(Entity) == Table
업무의 관심 대상이 되는 정보를 갖고 있거나 그에 대한 정보를 관리할 필요가 있는 유형, 무형의 사물(개체) (유형, 무형, 문서, 이력, 코드)
[엔티티 조건]
1. 업무의 관심 대상이 되는 사물이어야 한다
2. 마땅한 속성을 소유해야 된다
3. 두개 이상의 인스턴스를 소유해야 한다
속성(Attribute) == Column
엔티티에서 관리해야 할 최소 단위 정보 항목(관심이 있는 항목)을 말하며 엔티티는 하나 이상의 속성을 포함
[속성 명명 규칙]
- 속성의 의미가 분명히 드러나게 작성할 것(명확)
- 해당 업무에서 사용하는 이름을 부여할 것
- 서술식(수식어, 소유격)X, 약어X
- 엔티티에서 유일하게 식별 가능하도록 지정할 것(중복X)
인스턴스(Instance) == Row
엔티티의 속성으로 실제로 구현된 하나의 값
관계(Relationshop)
두 엔터티 사이의 관련성을 나타냄 (상호 공유하는 속성이 있다는 의미)
카디널리티(Cardinality)
- 각 엔터티에 속해 있는 인스턴스들 간에 수적으로 어떤 관계에 있는지 나타냄
- 종류로는 1:1, 1:N, M:N 의 관계가 있다
주식별자(Primary Identifier) == PK
엔터티 내 각 인스턴스를 구별하는 기준이 되는 속성
외래식별자(Foreign Identifier) == FK
관계가 있는 엔티티 간의 연결고리 연결을 하는 속성
📍 개념적 설계
요구분석 단계에서 정의된 핵심 개체와 그들 간의 관계를 바탕으로 ERD를 생성하는 과정
📍 논리적 설계
개념 설계에서 추상화된 데이터를 구체화하여 개체, 속성을 테이블화하고 상세화하는 과정 (상세화 과정 : 정규화, 식별자 확정, M:M 관계 해소, 참조 무결성 규칙 정의)
📍 물리적 설계
논리적 설계의 산출물인 ERD의 요소들을 관계형 데이터베이스의 요소들로 전환하는 과정