2장. 학사관리 예제 DATABASE 학사 데이터베이스의 해설 테이블의 내용 무결성 규칙 쉽게 배우는 MySQL 5.x

Slides:



Advertisements
Similar presentations
전공 : 컴퓨터 공학 전공 과목 : 인터넷 정보 검색 학번 : , 이름 : 조 항 두, 오 철 원 발표일 :
Advertisements

Dept. Computer Engineering DBLAB 정보처리개론 담당 교수 : 김정석 2009 년도 1 학기.
C 언어 Sun Moon University 1 of 25 C 언어 : 강의소개 강의실 : 산 211 담당교수 : 고경철 ( 정보통신공학과 ) 사무실 : 산학협력관 105B 면담시간 : 수업후 1 시간
Introduction to dATABASE
SQL 언어 SQL.
데이터베이스 9주차 : 데이터베이스 설계 2교시 : 데이터베이스 설계(3)
Vision System Lab, Sang-Hun Han
프랜차이즈 본사 인트라넷 구축 제안서 제출처 : ㈜마세다린 제출사 : ㈜데이타캠프 제출일 :
데이터 모델링 방법론 2003년 03월.
질의어와 SQL 기본 SQL 고급 SQL 데이타의 수정 데이타 정의 언어 내장 SQL
관계 대수와 SQL.
Multimedia Lab. Introduction
쉽게 풀어쓴 C언어 Express 제13장 구조체 C Express Slide 1 (of 25)
Contribution Margin 추가 기능 요건 정의 3PL Solution Business Team
Part 12 구조체와 공용체 ©우균, 창병모 ©우균, 창병모.
JDBC 프로그래밍 이수지 이동주 1.
구조체 활용 구조체 활용.
A STUDY FOR RFID APPLICATION OF CONSTRUCTION MATERIALS.
Information Technology
2강. JAVA 프로그래밍이란?-II & 변수 JAVA 프로그램 환경설정과 실행 방법 변수란?
구조체 struct 구조체와 함수 구조체의 배열, sizeof 연산자 열거형 enum 형 정의 typedef
11장. 데이터베이스 서버 구축과 운영.
마케팅 분석 시스템 개발 방법론 2004년 5월 27일 ㈜비아이솔루션 김환태
데이터베이스 설계와 ER 모델 설계, ER 모델링.
Data Modeling Database 활용을 위한 기초 이론 Database의 개요 Data Modeling
4.2 SQL 개요 SQL 개요 SQL은 IBM 연구소에서 1974년에 System R이라는 관계 DBMS 시제품을 연구할 때 관계 대수와 관계 해석을 기반으로, 집단 함수, 그룹화, 갱신 연산 등을 추가하여 개발된 언어 1986년에 ANSI(미국 표준 기구)에서 SQL.
(PROJECT명: Web Server관리)
2장. 관계 데이터 모델과 제약조건 관계 데이터 모델은 지금까지 제안된 데이터 모델들 중에서 가장 개념이 단순한 데이터 모델의 하나 IBM 연구소에 근무하던 E.F. Codd가 1970년에 관계 데이터 모델을 제안함 관계 데이터 모델을 최초로 구현한 가장 중요한 관계 DBMS.
Database 소개.
Embedded Software Technology - Mobile Terminal Management 제 3세부
자격증 모의 테스트 시스템 담당 교수 : 이 상 문 교수님 팀명 : CSCLAB
소프트웨어 2006년 2학기 컴퓨터의 개념 및 실습.
16장. 테이블의 변경 새로운 행 삽입 테이블에서 테이블로 행을 복사 행 값의 변경 테이블에서 행 삭제
SQL.
4장. 데이터베이스와 테이블 MySQL 데이터베이스 테이블의 생성 테이블 데이터 처리(삽입, 변경, 삭제) 작업
제 1 장 소 개 시스템 분석 및 설계 허철회 2006학년도 2학기 상주대학교 컴퓨터공학과.
택배 데이터베이스 모델링 김동영 이승언.
Project Specification - 학사관리 시스템 과제 2번
A Web-Based Little Man Computer Simulator
SQL Query in the SSMS : DB, Table
JSP 게시판 구현.
12장. SELECT 명령문: ORDER BY절 단일 열 정렬 순서번호로 정렬 오름차순과 내림차순 정렬 하나 이상의 행 정렬
4. 관계 데이터베이스 (Relational Database)- 7, 8장
ER-Win 4.0 Database Modeling Ⅰ. Logical Design
maria db JDBC PROGRAMMING3
데이터베이스 (Databases) 데이터베이스 소개 문양세 강원대학교 IT대학 컴퓨터과학전공.
4 장. 관계 데이터 모델과 관계 데이터베이스 제약조건
Java의 정석 제 2 장 변수(Variable) Java 정석 남궁성 강의
9장. SELECT명령문 : WHERE 절 개요, 2. 관계연산자를 사용하는 조건
11장. GROUP BY와 HAVING 열의 그룹화 2개 이상의 열에 대한 그룹화
10장. SELECT명령문 : 통계함수 모든 열 선택(*) 2. SELECT 절의 수식
4. 관계 데이터 모델.
14장. 부속 질의어 부속 질의어 규칙 열의 범위 상호 관련부속 질의어 복합키의 사용 쉽게 배우는 MySQL 5.x
관계 데이타 모델과 관계 데이타베이스 제약조건 충북대학교 구조시스템공학과 시스템공학연구실
XML-II (eXtensible Markup Language) DTD/DOM
2 배열과 구조.
06. SQL 명지대학교 ICT 융합대학 김정호.
국제물류.
도서관리 프로그램 조영현.
제 11 장 자바빈즈를 이용한 JDBC 프로그래밍 학기 인터넷비즈니스과 강 환수 교수.
컴퓨터 프로그래밍 기초 - 11th : 파일 입출력 및 구조체 -
Dept. of Internet Information Eng.
1장. 서 론 데이터베이스의 개요 모델의 종류 관계형 모델과 객체 지향형 데이터베이스 SQL이란 무엇인가?
경영정보시스템 구축 제안서 신화제약 주식회사 97년 8월 15일 가우정보기술주식회사
국어지도 유아교육과 권수연 김아람 중등특수교육과 박수진 양한솔
Data Base Mysql.
제 5 장 MariaDB인덱스 생성 및 관리.
8장. SELECT명령문 : FROM 절 FROM 절에서 테이블 명세 열 명세 다중 테이블 명세 가명 FROM절의 다양한 예제
Choi Younghwan CSE HUFS
If you do not like the Compliments Card picture shown, choose
Presentation transcript:

2장. 학사관리 예제 DATABASE 학사 데이터베이스의 해설 테이블의 내용 무결성 규칙 쉽게 배우는 MySQL 5.x 2019-02-04 쉽게 배우는 MySQL 5.x

2.1 학사 데이터베이스의 해설 -학사 데이터베이스는 학생이 대학 생활에 필요한 9개의 테이블로 구성 • STUDENT      (학적 : 학생신상 테이블) • ATTEND      (수강 : 수강신청 테이블) • FEE          (등록 : 등록사항 테이블) • SCORE       (성적 : 성적사항 테이블) • SUBJECT      (교과목 : 교과목 테이블) • PROFESSOR   (교수 : 교수 테이블) • POST        (우편번호 : 우편번호 테이블) • CIRCLE       (동아리 : 학생의 동아리 정보 테이블) • DEPARTMENT (학과 : 학과정보 테이블) 2019-02-04 쉽게 배우는 MySQL 5.x

-학적테이블은 학생 신상에 관한 데이터로서 이름, 주소, 주민등록번호 …내용 표 2.1 학적(STUDENT) 테이블의 정보 칼럼이름 데이터타입 Key Type NN/Unique FK table FK column 설명 stu_no char(10) PK NN/U   학번 stu_name NN 이름 stu_ename varchar(30) 영문이름 dept_code int(2) FK DEPARTMENT 학과 grade int(1) 학년 class 반 juya char(2) 주야구분 id_num varchar(14) 주민등록번호 post_no varchar(6) POST 우편번호 address varchar(100) 주소 tel 전화번호 phone 휴대전화번호 birth_year char(4) 출생년도 -학적테이블은 학생 신상에 관한 데이터로서 이름, 주소, 주민등록번호 …내용 -Primary Key는 STU_NO(학번)이고 이 Column은 중복 데이터를 생성 불가능 -어떤 학생이 다른 집으로 이사 가면 과거의 주소는 새로운 주소로 대치 2019-02-04 쉽게 배우는 MySQL 5.x

-ATTEND 테이블은 수강신청 교과목, 이수구분, 교수코드… 내용 칼럼이름 데이터타입 Key Type NN/Unique FK table FK column 설명 stu_no char(10) PK, FK NN STUDENT 학번 att_year char(4) PK   수강년도 att_term int(1) 수강학기 att_isu 이수구분 sub_code char(5) SUBJECT 교과목코드 prof_code PROFESSOR 교수번호 att_point 이수학점 att_grade int(3) default '0' 취득점수 att_div char(1) default 'N' 수강신청구분 att_jae default '1' 재수강구분 att_date date 수강처리일자 -ATTEND 테이블은 수강신청 교과목, 이수구분, 교수코드… 내용 -Primary Key는 STU_NO(학번), ATT_YEAR(수강년도), ATT_TERM(수강학기), SUB_CODE(교과목코드), PROF_CODE(교수코드),  ATT_JAE(재스강구분)코드로 만들어진 조합키 -조합키를 생성하는 이유는 한 학생이 학기마다 여러 과목을 수강신청 2019-02-04 쉽게 배우는 MySQL 5.x

-FEE 테이블은 입학금, 등록금액, 장학금액 …내용 칼럼이름 데이터타입 Key Type NN/Unique FK table FK column 설명 stu_no varchar(10) PK, FK NN STUDENT 학번 fee_year varchar(4) PK   등록년도 fee_term int(1) 등록학기 fee_enter int(7) 입학금 fee_price 등록금 fee_total NN,default '0' 등록금총액 jang_code char(2) 장학코드 jang_total 장학금액 fee_pay 납부총액 fee_div char(1) NN,default 'N' 등록구분 fee_date date 등록날짜 -FEE 테이블은 입학금, 등록금액, 장학금액 …내용 -Primary Key는 STU_NO(학번), FEE_YEAR(등록년도), FEE_TERM(학기) 코드로 만들어진 조합키 -한 학생이 등록금을 여러 학기 동안 등록금을 내기 때문 2019-02-04 쉽게 배우는 MySQL 5.x

-SCORE 테이블은 총 신청학점, 취득학점, 평점평균 …. 내용 칼럼이름 데이터타입 Key Type NN/Unique FK table FK column 설명 stu_no char(10) PK, FK NN STUDENT 학번 sco_year char(4) PK   성적취득년도 sco_term int(1) 학기 req_point int(2) 신청학점 take_point 취득학점 exam_avg float(2,1) 평점평균 exam_total int(4) 백분율 총점 sco_div char(1) 성적구분 sco_date date 성적처리일자 -SCORE 테이블은 총 신청학점, 취득학점, 평점평균 …. 내용 -Primary Key는 STU_NO(학번), SCO_YEAR(성적취득년도), SCO_TERM(학기)코드로 만들어진 조합키 -조합키를 생성하는 이유는 한 학생의 성적은 여러 학기 동안 처리 2019-02-04 쉽게 배우는 MySQL 5.x

표 2.6 PROFESSOR(교수) 테이블의 정보 표 2.5 SUBJECT(교과목) 테이블의 정보 칼럼이름 데이터타입 Key Type NN/Unique FK table FK column 설명 sub_code char(5) PK NN/U   과목번호 sub_name varchar(50) NN 과목명 sub_ename 영문과목명 create_year char(4) 개설년도 -SUBJECT 테이블은 과목명, 개설 년도 … 내용 -Primary Key는 SUB_CODE(과목코드) 표 2.6 PROFESSOR(교수) 테이블의 정보 칼럼이름 데이터타입 Key Type NN/Unique FK table FK column 설명 prof_code char(4) PK NN/U   교수번호 prof_name char(10) NN 교수명 prof_ename varchar(30) 영문교수명 create_date date default null 교수임용일자 -PROFESSOR 테이블은 교수명 같은 내용 -Primary Key는 PROF_CODE(교수코드) 2019-02-04 쉽게 배우는 MySQL 5.x

-POST 테이블은 학적 현주소의 우편번호를 관리하기 위하여 보관하는 데이터 칼럼이름 데이터타입 Key Type NN/Unique FK table FK column 설명 post_no varchar(6) PK NN/U   우편번호 post_dong char(30) NN 동이름 post_address char(60) 주소 ddd char(4) 지역번호 -POST 테이블은 학적 현주소의 우편번호를 관리하기 위하여 보관하는 데이터 -우편번호, 주소와 전화의 지역번호와 같은 내용 포함 -Primary Key는 post_no(우편번호코드)이다. -현주소의 주소 중에서 시․도, 읍․면․동은 기재하지 않고, 나머지 주소만 기재할 수 있도록 하기 위함이다. 2019-02-04 쉽게 배우는 MySQL 5.x

표 2.9 DEPARTMENT(학과) 테이블의 정보 표 2.8 CIRCLE(동아리) 테이블의 정보 칼럼이름 데이터타입 Key Type NN/Unique FK table FK column 설명 cir_num int(4) PK NN/U   일련번호 cir_name char(30) NN 동아리명 stu_no char(10) FK STUDENT 학번 stu_name 이름 president char(1) NN,default '0' 회장유무 -CIRCLE 테이블은 학생들의 동아리 활동을 관리하기 위하여 보관하는 데이터 -일련번호, 동아리이름, 학번, 직분 … 내용, Primary Key는 CIR_NUM(일련번호) -President는 회장인 경우에 1, 부회장인 경우 2, 일반회원은 0 값을 가진다. 표 2.9 DEPARTMENT(학과) 테이블의 정보 칼럼이름 데이터타입 Key Type NN/Unique FK table FK column 설명 dept_code int(2) PK NN/U   학과번호 dept_name char(30) NN 학과명 dept_ename varchar(50) 영문학과명 create_date date default null 학과생성일자 -DEPARTMENT 테이블은 학과의 정보를 관리하기 위하여 보관하는 데이터 -학과코드, 학과명, 영문학과명과 같은 내용 -Primary Key는 DEPT_CODE(학과코드) 2019-02-04 쉽게 배우는 MySQL 5.x

2.2 테이블의 내용 표 2.10 STUDENT 테이블의 예제 데이터 쉽게 배우는 MySQL 5.x STU_NO STU_ 2.2 테이블의 내용 표 2.10 STUDENT 테이블의 예제 데이터 STU_NO STU_ NAME STU_ENAME DEPT_CODE GRADE BAN JUYA ID_NUM POST 20001001 20001015 20001021 20041002 20041007 20041033 20061011 20061014 20061048 20071001 20071010 20071022 20071300 20071307 20071405 김유신 박도준 이상길 김유미 정인정 연개소문 박정인 고혜진 김영호 장수인 홍길동 이순신 유하나 김문영 최차영 Kim Yoo-Shin Park Do-Jun Lee Sang-Gil Kim Yoo-Mi Jeung Yin-Jeung Yean Gae-So-Moon Park Jung-In Ko Hea-Jin Kim Young-Ho Jang Soo-In Hong Gil-Dong Lee Sun-Shin Yoo Ha-Na Kim Moon-Young Choi Cha-Young 40 10 50 4 3 2 1 야 주 811007-1632013 780116-1580715 750819-1227014 830207-2629715 830315-2351225 810615-1633111 830403-1635213 870307-2638759 860811-1548758 890209-1616822 880402-1850838 890222-1218818 880921-2573717 880418-2121623 881003-2581516 556-820 540-130 451-800 545-800 540-850 550-130 150-051 500-170 506-040 545-080 550-160 540-170 550-260 540-310 2019-02-04 쉽게 배우는 MySQL 5.x

표 2.10 STUDENT 테이블의 예제 데이터 쉽게 배우는 MySQL 5.x STU_NO JUSO TEL PHONE_NO BIRTH_YEAR 20001001 20001015 20001021 20041002 20041007 20041033 20061011 20061014 20061048 20071001 20071010 20071022 20071300 20071307 20071405 안포리 28번지 16-2번지 안정리 주공APT 107동 504호 덕례리 산 16-1번지 부영7차APT 304동 1210호 280-50번지 985번지 롯데APT 102-306 삼익APT 101동 102호 라인APT 207동 309호 금광APT 108동 1101호 해태APT 104동 605호 560-18번지 주공APT 204동 512호 380-2번지 금사리 1427 061)685-7818 061)744-6126 031)691-5423 061)763-1439 061)723-1078 061)642-9304 02)652-2439 061)781-5135 062)678-1010 061)791-1236 061)642-4034 062)784-5147 061)745-7667 061)651-5992 061)745-5485 011-617-1290 011-611-9884 NULL 010-617-1290 016-605-7837 018-641-9304 017-3142-1294 017-614-7575 010-6425-9245 010-7141-1860 019-651-0707 019-4624-0460 1981 1978 1975 1983 1987 1986 1989 1988 2019-02-04 쉽게 배우는 MySQL 5.x

표 2.11 ATTEND 테이블의 예제 데이터 쉽게 배우는 MySQL 5.x STU_NO ATT_ YEAR TERM ISU SUB_ CODE  PROF_ CODE POINT GRADE ATT_DIV JAE ATT_DATE 20061011 20071300 2006 2007 1 2 3 4 4001 4002 4003 4004 4005 4006 4007 4008 4009 4010 4011 4012 99 95 97 98 96 93 92 94 90 91 Y 2006-03-05 2006-09-03 2007-03-05 2019-02-04 쉽게 배우는 MySQL 5.x

표 2.12 SCORE 테이블의 예제 데이터 쉽게 배우는 MySQL 5.x STU_NO SCO_ YEAR TERM REQ_ POINT TAKE_ POINT_ EXAM_ AVG TOTAL DIV DATE 20061011 20071300 20071307 20071405 2006 2007 1 2 18 4.5 4.0 4.4 4.2 0.0 580 552 577 575 472   0 Y N 2006-08-10 2007-01-11 2007-08-09 2007-11-10 2019-02-04 쉽게 배우는 MySQL 5.x

표 2.13 FEE 테이블의 예제 데이터 쉽게 배우는 MySQL 5.x STU_NO FEE _YEAR FEE_ TERM ENTER PRICE TOTAL JANG_ CODE PAY DIV DATE 20061011 20001015 20071300 20071001 20071010 20071022 20071307 20071405 2006 2007 2000 2001 1 2 500000  NULL 3000000 2500000 2800000 3500000 01 10 11 21 02 NULL  500000  2500000  2000000 800000 1000000 2000000 2200000       0 300000 2920000 Y 2006-02-18 2006-08-20 2007-02-18 2007-08-10 2000-02-01 2000-08-10 2001-02-15 2001-08-16 2006-02-14 2006-08-18 2007-02-10 2007-08-19 2019-02-04 쉽게 배우는 MySQL 5.x

표 2.14 SUBJCET 테이블의 예제 데이터 쉽게 배우는 MySQL 5.x SUB_CODE SUB_NAME SUB_ENAME CREATE_YEAR 4001 4002 4003 4004 4005 4006 4007 4008 4009 4010 4011 4012 4013 데이터베이스 응용 웹사이트 구축 소프트웨어공학 웹프로그래밍 컴퓨터구조 정보처리실무 UML 운영체제 전자상거래 실무 윈도우즈 프로그래밍 자바프로그래밍 네트워크 프로그래밍 컴포넌트 프로그래밍 Database Application Web Site Construction Software Engineering Web Programming Computer Structure Information Process Practical business UML(Unified Modeling Language) Operating System Electronic Commerce Windows Programming Java Programming Network Programming Component Programming 2002 2003 2001 2005 1998 1999 2004 2019-02-04 쉽게 배우는 MySQL 5.x

표 2.15 PROFESSOR 테이블의 예제 데이터 쉽게 배우는 MySQL 5.x PROF_CODE PROF_NAME PROF_ENAME CREATE_DATE 4001 4002 4003 4004 4005 4006 4007 4008 4009 5010 5011 정진용 나인섭 정창부 박상철 정병열 고진광 김영식 최우진 문창수 정종필 최종주 Jung jin-yong Na in-sub Jung chang-boo Park sang-chul Jung byeong-yeol Go jin-gwang Kim young-sik Choi woo-jin Moon chang-soo Jung jong-phil Choi jong-joo 1995-09-01 2006-02-02 2003-03-01 2000-01-15 1998-03-01 1988-03-01 1986-03-01 1997-03-01 1995-03-01 1992-03-05 2019-02-04 쉽게 배우는 MySQL 5.x

표 2.16 POST 테이블의 예제 데이터 쉽게 배우는 MySQL 5.x POST_NO POST_DONG POST_ADDRESS DDD 556-820 540-130 451-800 545-800 540-850 550-130 150-051 500-170 506-040 545-080 540-160 540-170 550-260 540-310 546-121 590-020 548-820 화양면 생목동 팽성읍 광양읍 해룡면 서교동 실길1동 운암동 소촌동 광영동 봉강동 남정동 여서동 안풍동 농성동 향교동 영남면 전라남도 여수시 화양면 전라남도 순천시 생목동 경기도 평택시 팽성읍 전라남도 광양시 광양읍 전라남도 순천시 해룡면 전라남도 여수시 서교동 서울특별시 영등포구 신길1동 광주광역시 북구 운암동 광주광역시 광산구 소촌동 전라남도 광양시 광영동 전라남도 여수시 봉강동 전라남도 순천시 남정동 전라남도 여수시 여서동 전라남도 순천시 안풍동 광주광역시 서구 농성동 전라북도 남원시 향교동 전라남도 고흥군 영남면 061 031 02 062 063 601 2019-02-04 쉽게 배우는 MySQL 5.x

표 2.18 DEPARTMENT 테이블의 예제 데이터 표 2.17 CIRCLE 테이블의 예제 데이터 CIR_NUM CIR_NAME STU_NO STU_NAME PRESIDENT 1 2 3 4 5 6 7 컴맹탈출 Java길라잡이 PHP길라잡이 20061011 20071300 20071307 20071001 20041007 20001015 20001021 박정인 유하나 김문영 장수인 정인정 박도준 이살길 표 2.18 DEPARTMENT 테이블의 예제 데이터 DEPT_CODE DEPT_NAME DEPT_ENAME CREATE_DATE 10 20 30 40 50 60 간호학과 경영학과 수학학과 컴퓨터정보학과 정보통신학과 회계학과 Dept. of Nersing Dept. of Management Dept. of Mathematics Dept. of Computer Information Dept. of Information Communication Dept. of Accounting 1954-02-01 1980-02-10 1984-02-20 1995-02-01 1997-02-10 1998-03-01 2019-02-04 쉽게 배우는 MySQL 5.x

2.3 무결성 규칙 -두 학생은 동일한 학번을 가질 수 없고, ATTEND, FEE 테이블에 있는 모든 학생은 STUDENT 테이블에 존재해야 한다. -각 테이블의 기본 키는 반드시 정의되어야 한다. -각 테이블의 기본 키는 다음과 같다. • STUDENT 테이블의 STU_NO • ATTEND 테이블의 STU_NO, ATT_YEAR, ATT_TERM, SUB_CODE, PROF_ CODE, ATT_JAE로 이루어진 조합 키 • FEE 테이블의 STU_NO, FEE_YEAR, FEE_TERM로 이루어진 조합 키 • SCORE 테이블의 STU_NO, SCO_YEAR, SCO_TERM로 이루어진 조합 키 • SUBJECT 테이블의 SUB_CODE • PROFESSOR 테이블의 PROF_CODE • POST 테이블의 POST_NO • CIRCLE 테이블의 CIR_NUM • DEPARTMENT 테이블의 DEPT_CODE 2019-02-04 쉽게 배우는 MySQL 5.x

-수강, 등록, 성적 테이블에서 학적 테이블의 참조 -등록테이블의 입학금, 등록총액은 항상 0 이상이다. -학적 테이블에서 우편번호 테이블의 참조  -수강 테이블에서 교과목, 교수 테이블의 참조 -수강, 등록, 성적 테이블에서 학적 테이블의 참조 -등록테이블의 입학금, 등록총액은 항상 0 이상이다. 2019-02-04 쉽게 배우는 MySQL 5.x