전공 과목 이수2👨‍💻/데이터베이스 13

[데이터베이스] 뒤쪽범위 合(09~ )

# 3.8 중첩하위질의 (nested subquery) select-from-where 에서 모두 중첩된 하위 질의 가능하다 # in접속사 집합 멤버십을 테스트. 반대로는 not in 집합 멤버십의 부재 바깥 sql이 안쪽 sql에 들어있는 것들만 출력 - 2009년 가을 학기와 2010 봄 학기에 둘 다 있는 수업을 구하라 in 접속사 이용해 중첩질의 select distinct course_id from section where semester='Fall' and year = 2009 and course_id in (select course_id from section where semester = 'Spring' and year = 2010) - 2009년 가을에는 있지만 2010년 봄에는 없는 수..

[데이터베이스] 08. 관계형데이터베이스 설계

# 우리가 배우는 부분을 실무 관점에서 후보테이블 ----> 정규화된 테이블로 변환할때 약 1차정규형(1NF)~3차정규형(3NF)까지 진행함 * 4,5차정규형까지 진행할 필요 X # Normalization 정규화 **중요** “하나의 Table에는 한 가지 주제만을 기록한다” 정규화가 덜 되어있다 = 하나의 Table에 두 가지 이상의 주제가 담겨있다. 후보테이블을 정규화시키기 위해서는 후보테이블에서 정규화 과정을 수차례 거침 - 정규화의 장점 정규화 미흡한 정규화 / 정규화 x 장점 Insert, Delete, Update 가 정상적으로 이루어짐 select -> 성능 향상 단점 select -> 성능저하가 발생 Insert, Delete, Update가 비정상적으로 이루어짐 Anomoly(이상)현상..

[데이터베이스] 07.데이터베이스 설계

1. 중복성 2. 불완전성 ISP(정보전략짜기) / BPR(업무처리재구성) -> ER Modeling (개체관계 모델링) * 비전공자 교직원들이 ER-diagram(설계도)를 보고 이해해야한다. 따라서 설계도는 쉽게 작성되어야 한다. ## 7.2 개체-관계 모델 ER-Modeling 개체(Entity) 실세계에서 다른 모든 객체와 구별되는 유, 무형의 사물 예 : 각 개인, 수업, 비행기 예약 속성(Attributes) 각 개체 집합의 각 구성원들이 가지는 기술적 특성 예 : instructor 개체 집합의 속성은 ID, name, dept_name, salary 개체 집합(Entity set) 같은 속성을 공유하는 같은 ..

[데이터베이스] 13주차 | 프로시저, 함수

https://docs.microsoft.com/ko-kr/sql/connect/jdbc/using-a-stored-procedure-with-input-parameters?view=sql-server-ver15 --> 강의 장료 참고된 곳 (microsoft 홈페이지) 입력 매개 변수가 있는 저장 프로시저 사용 - JDBC Driver for SQL Server 입력 매개 변수가 있는 저장 프로시저 사용 이 문서의 내용 --> JDBC 드라이버 다운로드 호출할 수 있는 SQL Server 저장 프로시저는 데이터를 저장 프로시저에 전달하는 데 사용할 수 있는 입력 매개 docs.microsoft.com 실습에 참고되는 대학교 데이터베이스 스키마 다이어그램 # 프로시저 procedural extension..

[데이터베이스] 트랜잭션 처리

# JDBC에서 트랜잭션 처리 Transaction : Logical unit of work자동 커밋 (default) - 자동 커밋 off conn.setAutoCommit(false); 트랜잭션을 커밋하거나 롤백 해야함 = conn.commit(); = conn.rollback(); - 자동 커밋 on conn.setAutoCommit(true) # ACID Atomicity 원자성 : All or nothing ALL : Commit nothing : Rollback Consistency, Isolation, Durability insert into ~~~~ ---> commit

[데이터베이스] jdbc 입문

* TCP/IP 포트번호를 매번 확인해서 코드 수정하기 # 데이터베이스 접속 접속은 DriverManager 클레스(java.sql.*)의 getConnection 메서드를 사용해 열 수 있다. # SQL구문 전달 데이터베이스 접속이 열리면 프로그램은 접속을 사용해, 실행을 위해 SQL구문을 데이터베이스 시스템으로 보낼 수 있다. -> statement 클래스의 인스턴스를 통해 수행된다. conn 접속에 대해 Statement 접근자를 생성. 구문을 실행하기 위해 SQL 구문이 질의(결과 집합을 반환하는)냐 / update, insert, delete, create table 등과 같은 비질의 구문이냐에 따라 executeQuery 메서드나 executeUpdate 메서드를 호출하게 된다. # 질의 결과..

[데이터베이스] 4장 말 5장 초

# 접근제어 access control grant / revoke grant select on instructor 유저1,유저2,유저3 접근의 종류 select, insert, update, delete, all privileges 과제 ) 자바 프레임을 만들어서 제출 핵심 : 자바와 데이터베이스 연동하기 0526, 0529 디비 강의 듣고 과제하기 # 5.1 프로그래밍언어에서 sql접근하는 방법 1. 동적 SQL : 범용 프로그램은 함수의 집합이나 메소드를 사용해서 데이터베이스 서버에 접속하고 통신할 수 있다. 동적 SQL은 프로그램이 런타임에 문자열로 SQL질의를 만들어 제출하고, 한 번에 하나의 투플씩 프로그램 변수로 결과를 가져온다. SQL의 동적 요소는 프로그램이 실행 시간에 SQL 질의를 구성..

[데이터베이스] join, 제약조건 실습

# 조인식 join 자연 조인(natural join) , 두 테이블 간의 연관이 있어야 함. join .. on : on은 조인된 릴레이션에 대한 조건을 정할 수 있다. where과 같은 기능 select * from student join takes on student.ID=takes.ID --> 같은 결과 select * from student, takes where student.ID=takes.ID --> 모두 같은 결과 select * from course join prereq on course.course_id = prereq.course_id select * from course inner join prereq on course.course_id = prereq.course_id selec..

[데이터베이스] DB변경, 삽입, 삭제, 변경

# with --> 가장 많은 예산을 가진 학과 with max_budget (value) as (select max(budget) from department) select dept_name, budget from max_budget,department where department.budget = max_budget.value --> 학과의 총 급여가 평균 학과의 총 급여보다 많은 모든 학과 with dept_total(dept_name, value) as (select dept_name, sum(salary) from instructor group by dept_name), dept_total_avg(value) as (select avg(value) from dept_total) select de..

[데이터베이스] 중첩하위질의, 집합비교

# 3.8 중첩하위질의 (nested subquery) select-from-where 에서 모두 중첩된 하위 질의 가능하다 # in접속사 집합 멤버십을 테스트. 반대로는 not in 집합 멤버십의 부재 바깥 sql이 안쪽 sql에 들어있는 것들만 출력 - 2009년 가을 학기와 2010 봄 학기에 둘 다 있는 수업을 구하라 in 접속사 이용해 중첩질의 select distinct course_id from section where semester='Fall' and year = 2009 and course_id in (select course_id from section where semester = 'Spring' and year = 2010) - 2009년 가을에는 있지만 2010년 봄에는 없는 수..