중학교 성적관리 프로젝트(part 1) 이어서....
□ 상황
○ 과목, 학년별 담당 선생님이 따로있음
○ 시엄은 중간/기말고사 두가지임
○ 학생들은 학년, 반에 배정되며 반별로 학생들에게 고유 번호를 부여함
○ 각 반에는 담임 선생님이 배정되어 있음. 선생님 중에는 담임을 맡지 않는 선생님도 있음
○ 한 번의 학생은 대략 40명 정도이고 남녀 공학임
○ 석차는 남녀 공통 1등부터 순서대로 정함
▼▼▼▼▼▼1단계 : 키워드 추출▼▼▼▼▼
○ 과목 선생
○ 담당 선생
○ 시험 - 중간고사, 기말고사
○ 학생, 학년, 반, 배정, 고유번호(반별)
○ 담임, 선생님
○ 한반의 학생 40명
○ 남녀 공학
○ 석차(남녀 공통 1등부터 순서대로)
▼▼▼▼▼2단계 : 명사/동사에 따른 테이블 분류▼▼▼▼▼
○ 마스터 테이블(명사) = 기준 테이블
* 한번 선정되어 모델링되면 수정이 될 일이 적음
* 때문에 파악할 때 정확히 분석하여 모델링을 진행해야함
* 코드성 인 고정 테이블은 모델링 후 데이터를 적재한후 봉인(Insert, update 방지)함
- 학생(40명 가량, 반/반별 고유번호 존재), 학년, 반
- 과목 선생님(담임/비담임)
- 성적(석차 = 반/학년별 석차) [테이블 내 속성정도로 인지, but 인터뷰 중 중요하다는 사실이 파악되면 마스터 테이블로 모델링]
- 중간고사, 기말고사
○ 관계 테이블(동사)
- 시험
- 반 배정
□ 프록시저 생성
○ 프록시저란 저장 프로시저 또는 스토어드 프로시저(stored procedure)는 일련의 쿼리를 마치 하나의 함수처럼 실행하기 위한 쿼리의 집합을 의미.
○ 즉, 특정 작업을 위한 쿼리들의 블록이자 함수임
○ 프록시저를 지정하고 활용함으로써 쿼리작성 및 데이터 적재, 수정, 삭제 등을 효율적으로 진행할 수 있음
○ 아래 쿼리문은 특정 테이블에 데이터를 적재할수 있는 프록시저를 생성하는 것임.
* 프록시저 생성시 클래스를 생성하며 클래스안에 파라미터(매개변수)를 지정해야함
--프록시저 클래스 설정
CREATE PROCEDURE SP_Insert_SchoolClass
@SchoolGradeID tinyint,
@SchoolClassID tinyint,
@SchoolClassName varchar(50)
AS
BEGIN
insert into tb_schoolclass (SchoolGradeID, SchoolClassID, SchoolClassName)
values (@SchoolGradeID, @SchoolClassID, @SchoolClassName)
END
GO
--생성된 프록시저 실행문 [형식 : exec + 프록시저명 + 파라미터]
--프록시저 실행
--프록시저 파일명 기재 후 파라미터(매개변수)만 기재
--프록시저 실행 및 파라미터 기재하여 데이터 삽입
--1학년
exec SP_Insert_SchoolClass 1,1,'1반'
exec SP_Insert_SchoolClass 1,2,'2반'
exec SP_Insert_SchoolClass 1,3,'3반'
--2학년
exec SP_Insert_SchoolClass 2,1,'1반'
exec SP_Insert_SchoolClass 2,2,'2반'
exec SP_Insert_SchoolClass 2,3,'3반'
--3학년
exec SP_Insert_SchoolClass 3,1,'1반'
exec SP_Insert_SchoolClass 3,2,'2반'
--조회
select*from tb_schoolclass
□ 테이블 추가 : 과목 테이블, 과목개강 테이블(관계이자 동사), 선생 테이블
'DB > Modeling_Example' 카테고리의 다른 글
도서관 도서 대출관리(part 2) (1) | 2023.10.25 |
---|---|
중학교 성적관리 프로젝트(part 3) (1) | 2023.10.23 |
중학교 성적관리 프로젝트(part 1) (2) | 2023.10.19 |
도서관 도서 대출관리(part 1) (1) | 2023.10.17 |
PK 지정 및 자동증분 설정 : MSSQL (0) | 2023.10.10 |