소프트웨어 개발 과정
요구사항 분석 > 디자인(설계) > 구현/개발 > 평가/검증 > 유지보수
데이터베이스 설계란?
데이터베이스 설계 종류
개체란 다른 대상과 구분되는 대상: student
개체는 고유한 속성을 지님(att가짐): student 의 name, ID
가운데 위치한 depositor 이 관계이고, 관계도 acess_date 라는 att 를 가지고 있는 것을 확인할 수 있다. 따라서 관계도 별도의 테이블로 만들어줘야 한다.
공통적으로갖는 속성들
Domain: att 가 가질 수 있는 값의 집합
형태
name 이란 하나의 att에 위와 같이 세개로 구분해서 테이블에 저장하는 것이다. (예약할 때 first, middle, last 로 구분하는 항공사의 데이터베이스) 오른쪽과 같이 한 칸 내려가서도 또 복합으로 구성 가능
R에 참여하는 두 개체가 있을 때 (binary) 한 개체와 관련이 있는 상대 개체의 수.
고객이 여러 개의 계좌를 소유할 수 있을 때, 고객과 계좌 간 mapping cardinality? 1 : n
만약 하나의 고객이 하나의 계좌만 소유한다면 1:1
binary relationship 의 특성을 표현하는 중요한 정보
한 명이 한 명의 지도 교수 1:1
여러 명의 학생이 한 명의 지도교수 n:1
한 학생이 여러 명의 지도교수, 한 교수는 한 명의 학생만 지도 1:n
한 학생이 여러 명의 지도교수, 한 교수는 여러 명 지도 가능 n:n
super, candidate, primary key가 있다.
binary relatinonship 각 개체의 기본 키의 조합은 relationship 의 수퍼키가 됨.
customer 의 기본키가 cusomer_name, account 는 account_number 일 때, 관계는 그 둘을 수퍼키로 함. acess_Date 등을 추가로 수퍼키로 할 수도 있음.
ER 모델의 결과물이 다이어그램이다.
직사각형은 entity, 다이아몬드는 relationship, 실선은 연결, 타원은 att. 이중타원은 multivalued, 점선타원은 derived att 를 말한다. att의 밑줄은 primary key 를 말한다.
entity 의 정보이다. 개체가 relationship 에 참여하는 특성을 말한다.
.. 의 앞 뒤에숫자가 있다. 이 들어온다면 무한대의 값을 뜻한다. 0.. 은 0부터 무한대, 1..1 은 1, 1..10 은 1부터 10까지를 말한다.
한 고객이 5개의 계좌를 가질 수 있다면 0..5 이다.
1개를 강제로 가져야한다면 1..*
하나의 loan 개체를 소유하는 customer 이 1명이라면 1..1 이다.
두 명이 하나의 loan 을 공유할 수 있다면 1..2 이다.
HUFS student 1..1 advisor 1.. (한 명은 꼭 가지는 경우) 0.. (학생이 없는 교수도 있음) prof
부분참여인 경우 개체는는 0.. 으로 시작한다. 전체 참여인 경우 1.. 으로 시작.
5.17