본문 바로가기

SQL

MySQL, 데이터베이스

데이터베이스
-여러 자료를 동시에 여러 사람이 공유하여 사용할 수 있도록 체계화한 데이터의 집합
-몇 개의 데이터 파일을 조직적으로 통합하여 중복을 없애고 구조화한 데이터의 모음이므로 검색과 갱신이 효율적으로 관리

데이터베이스의 특성
-똑같은 자료를 중복해서 저장하지 않는 통합된 자료
-컴퓨터가 액세스하여 처리할 수 있는 저장 장치에 수록된 자료
-어떤 조직의 기능을 수행하는 데 없어서는 안되는 자료이기 때문에 임시로 모아놓거나 단순한 입출력을 위한 자료가 아님
-한 조직이 가지고 있는 데이터베이스는 그 조직의 공동 자료로서 사용자는 응용 목적에 따라 각자 다르게 사용할 수 있음

데이터베이스 관리 시스템
-데이터베이스를 관리하는 소프트웨어
-다수의 사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 생성하는 역할을 함
-응용 프로그램들이 데이터베이스를 공유하며 사용할 수 있는 환경을 제공하고, 사용자들이 데이터베이스 안에 데이터를 기록하거나 접근할 수 있게 함
-사용자나 다른 프로그램의 요구 사항을 관리함으로써, 사용자나 다른 프로그램이 실제로 그 데이터가 저장 매체의 어디에 저장되어 있는지 알지 못해도 다중 사용자 환경의 누구든 데이터를 이용할 수 있게 함
-사용자의 요구 사항을 처리할 때 데이터의 무결성과 허가된 사용자만 데이터에 접근할 수 있는 보안성을 보장함

데이터베이스 관리 시스템의 장단점
장점
-데이터의 중복을 최소화
-데이터 공유
-일관성, 무결성, 보안성 유지
-최신 데이터 유지
-데이터의 표준화 가능
-데이터의 논리적, 물리적 독립성
-용이한 데이터 접근
-데이터 저장 공간 절약
단점
-데이터베이스 전문가가 필요함
-비용 부담이 큼
-데이터 백업과 복구가 어려움
-시스템이 복잡함
-대용량 디스크로 액세스가 집중되면 과부하가 발생함

MySQL
-전세계적으로 가장 널리 사용되고 있는 오픈 소스 관계형 데이터베이스 관리 시스템
-관계형 데이터베이스 관리 시스템의 표준화된 사용자 및 프로그래밍 인터페이스인 질의언어 SQL(Structured Query Language)을 사용
-매우 빠르고 유연하고 사용하기 쉽기 때문에 많은 기업에서 다양한 웹 기반 애플리케이션을 개발하는데 사용 대용량 데이터 세트로도 잘 작동하고 대형 데이터베이스를 지원한다.
-오픈 소스 라이선스에 따라 배포되므로 무료로 사용할수있다.
-그 자체로 매우 강력한 프로그램으로서 가장 비싸고 강력한 데이터베이스 패키지의 기능 중 상당 부분을 처리함
-많은 언어로 운영됨
-사용자 정의가 가능함

통합  개발 환경과 데이터베이스 연동
-데이터베이스 추가 : 이클립스에서 데이터베이스를 연동하려면 데이터베이스 커넥션을 설정해야 한다. 데이터베이스 커넥션을 설정하기 전에 사용할 데이터베이스가 반드시 생성되어 있어야 하낟.
-데이터베이스 커넥션 설정 : 사용할 데이터베이스를 생성했다면 Data Source Explorer 뷰를 이용하여 이클립스에 데이터베이스 커넥션을 설정할 수 있다.
-데이터베이스 제어 : 이클립스에서 데이터베이스를 연동하는 작업을 위한 Data Source Explorer 뷰는 SQL 스크랩북을 지원하므로 이를 이용하여 쿼리문을 작성 및 저장하고 어디서든 재사용할 수 있다.

JDBC

-JDBC는 자바/jsp 프로그램 내에서 데이터베이스와 관련된 작업을 처리할 수 있도록 도와주는 자바 표준 인터페이스로, 관계형 데이터베이스 시스템에 접근하여 sql문을 실행하기 위한 자바 api 또는 자바 라이브러리이다.
JDBC API를 사용하면 DBMS의 종류에 상관없이 데이터베이스 작업을 처리할 수 있다.

JDBC 드라이버 로딩 및 DBMS 접속
-JDBC 드라이버 로딩 단계에서는 드라이버 인터페이스를 구현하는 작업으로 Class, forName()메소드를 이용하여 JDBC 드라이버를 로딩한다. JDBC 드라이버가 로딩되면 자동으로 객체가 생성되고 DriverManager 클래스에 등록된다.
-JDBC 드라이버에서 데이터베이스와 연결된 커넥션을 가져오기 위해 DriverManager 클래스의 getConnection()메소드를 사용한다.
-데이터베이스 연결이 더이상 필요하지 않으면 데이터베이스와 JDBC 리소스가 자동으로 닫힐 때까지 대기하는 것이 아니라 close() 메소드로 Connection 객체를 해제한다.

데이터베이스 쿼리 실행
*Statement 객체는 정적인 쿼리에 사용한다.
-executeQuery() 메소드는 정적인 SELECT 쿼리문을 통해 데이터를 검색하는데 사용한다.
-executeUpdate() 메소드는 INSERT, UPDATE, SELECT 쿼리문을 통해 데이터를 삽입, 수정, 삭제하는데 사용한다.
*PreparedStatement 객체는 동적인 쿼리에 사용한다.
-executeQuery() 메소드는 정적인 SELECT 쿼리문을 통해 데이터를 검색하는데 사용한다.
-executeUpdate() 메소드는 INSERT, UPDATE, SELECT 쿼리문을 통해 데이터를 삽입, 수정, 삭제하는데 사용한다.

'SQL' 카테고리의 다른 글

sql 활용법  (0) 2023.06.21
61일차 sql  (0) 2023.06.21
sql 기본 사용법  (0) 2023.06.19
SQL  (0) 2023.06.19