데이터베이스) JDBC 와 MyBatis(SQL Mapper)
·
데이터베이스 탐구
JDBC(Java Database Connectivity) JDBC(Java Database Connectivity)는 자바에서 가장 오래된 데이터베이스 연동 기술로서, 모든 관계형 데이터베이스에 대해서 동일한 자바 코드를 사용합니다. JDBC는 다형성(Poloymorphism)을 기반으로 동작하기 때문에 데이터베이스와 무관하게 동일한 자바 코드를 사용할 수 있습니다.    DAO(Data Access Object) DAO(Data Access Object) 클래스를 구현할 때는 JDBC(java.sql 패키지)가 제공하는 인터페이스를 이용합니다.그러면 인터페이스를 구현한 드라이버가 실질적인 데이터베이스 연동을 처리합니다.따라서 데이터베이스가 변경되는 경우에 각 벤더에서 제공하는 드라이버만 교체해 주면 ..
데이터베이스) RDB와 NoSQL
·
데이터베이스 탐구
RDB와 NoSQL RDB (Relational Database) 데이터를 테이블형태로 저장하고, 테이블 간의 관계를 정의하여 데이터를 구조화하는 데이터베이스 시스템 가장 널리 사용된다. 특징 테이블 ✔ RDB에서 데이터는 테이블 형태로 저장된다. ✔ 각 테이블은 행(row)과 열(column)으로 구성되어 있으며, 각 행은 레코드(record)를 나타내고, 각 열은 속성(attribute)을 나타낸다. 스키마 ✔ RDB는 스키마를 사용하여 데이터 구조를 정의한다. ✔ 테이블의 이름, 속성들의 이름과 데이터 타입, 테이블간의 관계등을 정의 ➜ 데이터의 일관성과 무결성을 보장한다. ➜ 기존에 작성한 스키마는 수정하기가 어렵다. SQL ✔ RDB는 SQL(Structured Query Language)을 사..
데이터베이스) 트랜잭션
·
데이터베이스 탐구
트랜잭션 은행의 ATM이나 데이터베이스 등의 시스템에서 사용되는 더 이상 쪼갤 수 없는 업무 처리의 최소 단위이다. 트랜잭션 처리가 정상적으로 완료된 경우 커밋(commit)을 하고, 오류가 발생할 경우 원래 상태대로 롤백(rollback)을 한다. 목적 트랜잭션은 데이터베이스 서버에 여러 개의 클라이언트가 동시에 액세스 하거나 응용프로그램이 갱신을 처리하는 과정에서 중단될 수 있는 경우 등 데이터 부정합을 방지하고자 할 때 사용한다. 트랜잭션의 특성(ACID) 트랜잭션은 데이터베이스 시스템에서 병행 제어 및 회복 작업 시 처리되는 작업의 논리적인 단위로 사용자가 시스템에 대한 서비스 요구 시 시스템이 응답하기 위한 상태 변환 과정의 작업 단위이다. 하나의 트랜잭션은 커밋(commit) 되거나 롤백(ro..
SQL) DROP, TRUNCATE, ALTER
·
데이터베이스 탐구
DROP, TRUNCATE, ALTER DROP TABLE DROP TABLE ; 데이터베이스의 기존 테이블을 삭제할 수 있다. 테이블을 삭제하면 저장된 모든 정보가 삭제된다. TRUNCATE TABLE TRUNCATE TABLE ; 테이블 내부의 데이터를 삭제할 수 있다. 테이블 자체는 삭제하지 않는다. ALTER 열 추가 ALTER TABLE ADD ; ex) ALTER TABLE Customers ADD Email varchar(255); "Customers" 테이블에 문자열의 최대길이가 255자인 Email 열을 추가한다. 테이블 변경 - 열 삭제 ALTER TABLE DROP COLUMN ; 테이블에서 열을 삭제할 수 있다. ex) ALTER TABLE Customers DROP COLUMN E..
MySQL) 인텔리제이에서 테이블 만들어보기
·
데이터베이스 탐구
인텔리제이에서 테이블 만들어보기 MySQL콘솔 실행하기 우측 상단에 "Database"를 클릭한다. "@localhost"를 한번 클릭하면 쿼리 콘솔창이 활성화된다. "Ctrl + Shift + F10" 또는 해당 아이콘을 클릭한다. "Open Default Console"을 클릭한다. 해당 콘솔창이 실행되는 것을 확인할 수 있다. DB 연결이 되지 않으면 실행이 되지 않을 것이다. 아래의 링크를 참고하자. 인텔리제이) MySQL 연동하기 인텔리제이) MySQL 연동하기 MySQL 연동하기 데이터베이스 연동할 때 구글링하니 맨 위에 뜨는 글들이 아주 옛날 글들이어서 연결방법이 현재와는 다르다는 것을 알게 되었다. 데이터베이스 연결에 많은 혼동이 와서 포스팅 nosy-rabbit.tistory.com Da..
프로그래머스) (mySQL) 가장 비싼 상품 구하기
·
데이터베이스 탐구
가장 비싼 상품 구하기 가장 비싼 상품 구하기 - 프로그래머스 - 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 가장 높은 가격을 맨 위로 오게 하여 LIMIT를 1로 하여 하나만 출력되게 하였다. 딱히 어려운 문제는 아니어서 자세한 설명은 생략하겠다. SELECT price AS MAX_PRICE FROM PRODUCT ORDER BY PRICE DESC LIMIT 1
데이터베이스) SQL
·
데이터베이스 탐구
SQL (Structured Query Language) 관계형 데이터베이스 관리 시스템(RDBMS)에서 데이터를 저장, 수정, 삭제 및 검색하는 데 사용되는 표준 질의언어이다. SQL 구문 데이터베이스 언어 SQL 문법의 종류는 다음 세 가지로 대별된다. 데이터 정의 언어 (DDL : Data Definition Language) 데이터 조작 언어 (DML : Data Manipulation Language) 데이터 제어 언어 (DCL : Data Control Language) + 트랜잭션 제어 언어(TCL : Transaction Control Language) 데이터 베이스를 자동으로 변경 예를 들어, 데이터베이스는 ROLLBACK 명령을 사용하여 잘못된 트랜잭션을 실행취소한다. + 데이터 쿼리 ..
데이터베이스) ORM과 JPA
·
데이터베이스 탐구
ORM(Object-Relational-Mapping) 객체와 데이터베이스 간의 데이터 매핑을 자동으로 처리해 주는 기술 객체 지향 프로그래밍에서는 클래스와 객체를 사용하여 데이터를 처리한다.관계형 데이터베이스에서는 테이블과 레코드를 사용한다.위 두가지 방식은 데이터를 저장하고 처리하는 방식이 다르다.ORM은 이러한 객체지향 프로그래밍과 관계형 데이터베이스 간의 불일치를 해결하기 위해개발된 기술이다. ORM을 사용하면 데이터베이스와 상호작용할 때 객체를 사용하여 코드를 작성할 수 있다.ORM은 객체와 데이터베이스 간의 매핑 정보를 가지고 있으며, 이 정보를 사용하여객체를 데이터베이스에 저장하고 조회할 수 있다. ORM을 사용하면 데이터베이스와의 작업을 수행하는 코드를 직접 작성할 필요가 없으며,객체를 사..
오지랖 토끼
'데이터베이스 탐구' 카테고리의 글 목록