학사관리에서 사용하는 데이터 베이스로 학생의 신상과 등록, 수강, 성적을 기록하는 데이터베이스에 대하여 설명하고자 한다.
- 테이블은 총 9개가 있다.
student 학생 신상 테이블
attend 수강
fee 등록테이블
score 성적
subject 교과목
professor 교수
post 우편
circle 동아리
department 학과
학생테이블은 학생 신상에 관한 데이터로서 이름, 주소, 주민등록번호 같은 내용을 가지고 있다.
primary key는 stu_no 학번이고 이 column은 중복 데이터를 생성할 수 없다.
테이블은 과거의 데이터를 가지지 않기 때문에, 어떤 학생이 다른 집으로 이사 가면 과거의 주소는 새로운 주소로 대치 된다.
다시 말하면, 과거 주소는 다른 곳에서 보유하지 않는다.
attend 테이블은 학생의 수강신청에 관한 데이터로서 수강신청 교과목, 이수구분, 교수코드 같은 내용을 가지고 있다 .
primary_key는 stu_no 학번, att_year 수강년도 att_term 수강학기, sub_code 교과목 코드, prof_code 교수코드 att_jae 재수강 구분 코드로 만들어진 조합키이고 이 칼럼들의 조합키는 중복 데이터를 생성할 수 없다.
이 조합키를 생성하는 이유는 한 학생이 학기마다 여러 과목의 수강신청을 해야 되기 때문이다.
fee 테이블은 학생의 등록금 납입에 관한 데이터로서 입학금, 등록금액, 장학금과 같은 내용을 가지고 있다.
primary_key는 stu_no 학번, fee_year등록년도 fee_term 학기 코드로 만들어진 조합키 이고, 이 colum 들의 조합키는 중복 데이터를 생성할 수 없다.
이 조합키를 생성하는 이유는 한 학생이 등록금을 여러 학기 동안 등록금을 내기 때문이다.
score 테이블은 학생의 성적을 학기별로 정리하여 보관하는 데이터로서 총 신청학점, 취득학점, 평점평균과 같은 내용을 가지고 있다.
primary_key는 stu_no 학번 sco_year 성적취득년도, sco_term 학기 코드로 만들어진 조합키이고 이 칼럼들의 조합키는 중복 데이터를 생성할 수 없다.
이 조합키를 생성하는 이유는 한 학생의 성적처리는 여러 학기동안 처리되어야 하기 때문이다.
subject 테이블은 학생이 수강신청 할 때 수강 교과목을 정리하여 보관하는 데이터로서 과목명, 개설 년도와 같은 내용을 가지고 있다. primary key는 sub_code 과목코드 이다.
professor 테이블은 학생이 수강신청 할 때 담당교수를 정리하여 보관하는 데이터로서 교수명 같은 내용을 가지고 있다. primary_key는 prof_code 교수 코드 이다.
post 테이블은 학적 현주소의 우편번호를 관리하기 위하여 보관하는 데이터로서 주소와 전화의 지역번호와 같은 내용을가지고 있다.
primary_key는 post_no 우편번호 코드 이다.
현주소의 주소 중에서도 시.도, 읍면동은 기재하지 않고, 나머지 주소만 기재할 수 있도록 하기 위함이다.
circle 테이블은 학생들의 동아리 활동을 관리하기 위하여 보관하는 데이터로서 일련번호, 동아리 이름, 학번, 회장과 같은 내용을 가지고 있다.
primary_key 는 cir_num 일련번호 이다.
president 회장인 경우에 0, 부회장인 경우 1, 일반회원은 2 값을 가진다.
department 테이블은 학과의 정보를 관리하기 위하여 보관하는 데이터로서 학과 코드, 학과명 , 영문학과명과 같은 내용을 가지고 있다.
primary_key는 dept_code 학과 코드 이다.
무결성 규칙
앞에서 보여준 9개의 테이블 내용은 무결성 규칙을 만족해야 한다.
예를들면 두 학생은 동일한 학번을 가질 수 없고, attend,fee 테이블에 있는 모든 학생은 student 테이블에 존재해야 한다
각 테이블의 기본 키는 반드시 정의되어야 한다
'데이터 베이스 > mysql 문제' 카테고리의 다른 글
6 select 절 (0) | 2017.11.13 |
---|---|
5 mysql 함수 & 문제 (0) | 2017.11.10 |
4 mysql 테이블 생성 (0) | 2017.11.09 |
3 mysql 데이터 타입 및 필수 기능 (0) | 2017.11.09 |
1 mysql 데이터 생성 삽입 (0) | 2017.11.08 |
댓글