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

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

천숭이 2021. 5. 26. 15:54

# 접근제어 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 질의를 구성하고 완료할 수 있도록 한다.

2. 내장 SQL :

동적 SQL처럼 내장 SQL도 프로그램이 데이터베이스 서버와 소통할 수 있는 수단을 제공한다.

그러나, 전처리기를 사용해 컴파일시에 SQL구문을 확인. 

전처리기가 SQL전달 -> 적당한 코드와 함수 호출로 변경 -> 프로그램 언어 컴파일러 호출

 

user <<---> SQL -> (SSMS) SQLserver <<---> Database

Java program <<----> SQL---JDBC----> SQLserver <<---> Database

C, C++, C# program <<----> SQL----> ADO.NET---->ODBC----> SQLserver <<---> Database

 

# JDBC 와 ODBC (database connectivity)

API란 ? 어플리케이션 프로그램 인터페이스 = 라이브러리 함수

library (set of functions) 함수들의 집합으로 이루어진 큰 덩어리

 

process <--> process 프로세스와의 커넥션

IPC (inter process communication)

 

자바와 jdbc사이의 연결될 객체를 sql에게 넘겨주고

넘겨받은 객체로 작업을 처리함.

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String connectionUrl = "jdbc:sqlserver://localhost:49679;database=largeDB;integratedSecurity=true";
Connection conn = DriverManager.getConnection(connectionUrl);

database = largeDB / smallDB 선택적으로 사용가능

intergratedSecurtiy = ture

localhost : 내 TCP포트 번호 (49679)

 - 포트번호 : SQL서버의 프로세스와 다른 프로세스가 통신할때 할당된 포트번호

connection conn : 상태 객체 

 

SSMS시작할때 인증방법 window - sql 서버로 연결

 

JDBC 실습