Visual Basic .NET MDI 만들기
MDI(Multi Document Interface)
Form2에 버튼을 하나 배열
Form1 메뉴에 프로그램 작성
같은 방법으로 Form3를 추가 TextBox1 Button1 WebBrowser1
Form3에서
실행
데이터 베이스란 사람들이 관심을 가지고 있는 데이터를 모아 둔 것 데이터를 보관하고 사용자의 물음에 대답하는 시스템 Ex)은행의 고객자료, 학교의 학생 자료, 도서관의 도서 데이터베이스등 데이터를 보관하고 사용자의 물음에 대답하는 시스템 데이터베이스에 저장된 데이터는 끊임없이 변화 한다. Ex)도서관의 대출, 반납 등
DBMS 데이터베이스 관리 시스템(DataBase Management System)의 약자로 데이터 베이스를 생성하고, 관리하며, 데이터로부터 사용자의 물음에 대한 대답을 추출 하는 프로그램의 집합 데이터 관리를 위해 저장할 데이터의 구조를 정의 정의된 구조에 따라 효율적으로 데이터 저장 저장된 데이터로부터 좀더 빠르게 정보를 추출
데이터베이스 시스템의 개략적 구조 일반 사용자 응용프로그래머 데이터베이스 관리자 Query 응용프로그램 일반 사용자 응용프로그래머 데이터베이스 관리자 Query 응용프로그램 데이터베이스 관리 시스템 데이터 파일 메타 데이터 (Meta data)
데이터의 저장 레코드 – 데이터가 저장될 때 데이터들은 관련된 것들끼리 묶여서 저장된다. 저장되는 기본 단위 20 15 10 학생이름 학번 소속학과 출생년도
데이터베이스 설계과정 사용자 요구 분석 어떤 데이터를 저장 할 것인지 결정 저장된 데이터들은 서로 관련되어 있으며 이런 데이터와 그들간의 관계를 명확한 행태로 표현 Ex) 학사관리 시스템에 필요한 정보를 정리 학생 : 이름, 학번, 학과, 출생년도, 지도교수, 수강과목, 학점 교수 : 이름, 학과, 출생년도, 담당 학생, 강의과목 학과 : 이름, 소속 학생, 소속 교수, 개설 강좌 강좌 : 이름, 담당 교수, 수강 학생 데이터를 형식화되지 않은 형태로 나타나 의미가 모호하고 서로 중복되는 관계들 때문에 실제 표현하고자 하는 데이터를 명확하게 나타내기 어렵다. 이러한 어려움을 해결하기 위해 개체-관계(Entity-Relationship)모델이다.
개체의 정의와 키(Key) 개체(Entity)는 독립적으로 존재하는 기본적인 대상 학생, 교수 등과 같은 물리적으로 존재하는 대상 강좌, 학과 등과 같이 개념적으로 존재하는 대상 ->개체는 자신의 특성을 가지고 있는 되는데 이를 개체의 속성(Attribute)라 한다. 속성1 개체 속성2 속성3
키속성 학번 교수번호 학생 이름 교수 이름 출생년도 출생년도 학과이름 강좌번호 학과 강좌 강좌명 소속대학 인정학점 강의실 시간
관계(Relation)의 정의 학생 개체와 교수의 개체는 교수가 학생의 지도 교수가 된다는 관계를 가진다. -> 교수는 학생의 지도교수가 된다. -> 학생은 강좌를 수강한다. -> 학생은 학과에 속한다. -> 교수는 학과에 속한다. 개체1 개체2 관계
교수 학생 지도한다 교수 학생 1 N 교수 학생 지도한다
학생 강좌 교수 강좌 N N 1 1 학생 강좌 교수 강좌 수강한다 강의한다
학번 학과이름 이름 학생 전공한다 학과 소속대학 출생년도 지도한다 수강한다 속한다 강좌번호 교수번호 강좌 강좌명 교수 강의한다 이름 인정학점 출생년도 강의실 시간
관계형 데이터베이스 모든 데이터들을 테이블과 같은 형태로 나타내어 저장하는 데이터베이스 “표”의 개념을 사용해서 데이터를 구성하는 방법 Ex)고객들의 주소와 전화번호를 정리 할 때 이름 주소 전화번호 등 등
개체의 테이블로의 변환 Ex) 강좌 = (강좌번호, 강좌이름, 학점, 시간, 강의실) 강좌번호 강좌 강좌명 인정학점 강의실 강좌테이블 강좌번호 강좌이름 인정학점 강의실 시간 325.11 PHP 2 N222 3
관계의 테이블로의 변환 학번 강좌번호 학생 강좌 수강 관계테이블 수강한다 학번 강좌번호 학점 2009123456 325.11 A+ 2009123457 325.11 B+ 학점
SQL Select Insert Update delete
Select 데이터베이스에서 행을 검색하고 하나 이상의 테이블에서 하나 이상의 행 또는 열을 선택할 수 있도록 한다 [DISTINCT | ALL ] { * | 필드명 [AS 별명] … } FROM 테이블명 [ WHERE 조건] [ GROUP BY 필드명 [HAVING 조건] ] [ ORDER BY 필드명 [ASC | DESC ] ]
SQL - Where Select * from t_div 모든행이 출력된다
SQL - Where Where의 사용은 조건에 만족되는 것만 추출 Select * from t_div where div_i_price > 10000
SQL – Order by 정렬 Select * from t_div where div_i_price > 10000 order by div_i_price order by div_i_price desc
SQL – Order by
SQL-Group by 집단함수 사용 (count, sum, avg, min, max) Select count(div_no) as 수량 from t_div Select count(div_no) as 수량, div_kind as 종류 from t_div group by div_kind
SQL - HAVING Select count(div_no) as 수량, div_kind as 종류 From t_div group by div_kind Having count(div_no) > 4
Joins (조인) 여러 개의 테이블에서 데이터를 모아 처리 외부 조인 수행 (outer join) 왼쪽 조인 수행 (left join) 오른쪽 조인 수행 (right join) 등가 조인 수행(equi-join) 비등가 조인 수행(non-equi-join) 테이블을 자체적으로 조인
조인 (등가 조인) Select * from t_sp Select * from t_mk Select * from t_div Select a.sp_no, b.div_maker, b.div_model, c.mk_name From t_sp a, t_div b, t_mk c Where a.sp_div = b.div_no and a.sp_mk = c.mk_no
조인 (등가 조인)
조인 (left join) Select * from t_sp Select * from t_mk Select * from t_div Select a.sp_no, b.div_maker, b.div_model From t_sp a left outer join t_div b on(a.sp_div = b.div_no)
조인 (left join) Access에서 에러 Select * from t_sp Select * from t_mk Select * from t_div Select a.sp_no, b.div_maker, b.div_model, c.mk_name From t_sp a left outer join t_div b on(a.sp_div = b.div_no) ledt outer join t_mk c on(a.sp_mk = c.mk_no) Access에서는 Left outer Join을 한번만 사용 할 수 있음