일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 조건위치 효율성
- sql error [947] [42000]: ora-00947
- 메모리낭비적은string연산
- Java
- 티스토리챌린지
- 우아한테크
- select즐겨찾기
- 이클립스로딩지연
- this()
- 생성자오버로딩
- 이클립스형광줄
- 오블완
- java크롤링
- 테이블복사생성
- sql error [936] [42000]: ora-00936
- sql error [1] [23000]: ora-00001
- 이클립스무한로딩
- 다형성
- ecleemma
- 이클립스로딩
- git
- this
- error페이지 설정
- 오버로딩
- 이클립스느림
- oracle
- unresolved compilation problems
- Sequence
- 프로그래머스
- 테크톡
목록DB/DBMS (13)
코딩항해기

SQL관계형 DB에 저장된 데이터에 접근하기 위해 사용하는 표준 언어이다.(SELECT, UPDATE, INSERT와 같은 데이터 조작 쿼리) PL/SQLOracle’s Procedural Language extension to SQL의 약자로, SQL문을 사용하여 프로그램을 작성할 수 있도록 확장해놓은 오라클의 절차적 언어이다. PL/SQL문은 블록 구조로 되어 있고, PL/SQL 자신이 컴파일 엔진이 가지고 있다.(DECLARE, EXCEPTION, LOOP 등 절차적 프로그래밍) SQL*PLUSSQL, PL/SQL을 실행할 수 있는 환경을 제공하는 오라클의 툴이다.SQL*PLUS의 명령어는 SQL 명령어와 다르다. 정리SQL은 데이터를 조작하는데 주로 사용되는 쿼리언어이고 PL/SQL은 응용 프..

N+1 문제N+1 문제는 ORM을 사용할 때 발생하는 대표적인 성능 문제다. 하나의 쿼리로 N개의 데이터를 가져온 후, 연관된 데이터를 가져오기 위해 N번의 추가 쿼리가 발생하는 현상을 말한다. 예시게시글과 댓글의 관계를 예로 들면, 한 게시글에는 여러 개의 댓글이 달릴 수 있는 일대다 관계일 때,더보기@Entitypublic class Post { @Id @GeneratedValue private Long id; private String title; @OneToMany(mappedBy = "post", fetch = FetchType.LAZY) private List comments;}@Entitypublic class Comment { @Id ..

ACID데이터베이스에서 ACID는 트랜잭션이 안전하게 수행된다는 것을 보장하기 위한 성질을 나타내는 약어다. 각각 Atomicity(원자성), Consistency(일관성), Isolation(격리성), Durability(지속성)를 의미한다. 이 네 가지 특성은 데이터베이스의 무결성을 보장하는 핵심 요소이다. Atomicity (원자성)원자성은 트랜잭션의 작업이 모두 성공하거나 모두 실패해야 함을 의미한다. 예시는 계좌 이체 상황이다.try { // 트랜잭션 시작 connection.setAutoCommit(false); // A계좌에서 돈을 출금 String debitQuery = "UPDATE accounts SET balance = balance - ? WHERE ac..

데이터 로딩 전략의 기본 개념데이터베이스 프로그래밍에서 Lazy Loading과 Eager Loading은 데이터를 불러오는 두 가지 주요 전략이다. 각각의 전략은 고유한 특징과 사용 사례를 가지고 있으며, 애플리케이션의 성능과 사용자 경험에 큰 영향을 미친다. Lazy Loading Lazy Loading은 데이터가 실제로 필요한 시점에 로드하는 방식이다. 처음에는 기본 데이터만 로드하고, 관련 데이터는 실제로 요청이 있을 때 추가로 로드한다. 이는 마치 책의 목차를 먼저 보고, 관심 있는 페이지를 필요할 때 펼쳐보는 것과 같다. 초기 로딩 시간을 단축할 수 있다는 장점이 있지만, 여러 번의 데이터베이스 호출이 발생할 수 있다는 단점도 존재한다. // Lazy Loading 예시const user =..

ORM Object-Relational MappingORM은 객체 지향 프로그래밍 언어를 사용하여 호환되지 않는 유형의 시스템 간의 데이터를 변환하는 프로그래밍 기술이다. 객체와 관계형 데이터베이스의 데이터를 매핑하는 것을 의미한다. ORM을 사용하면 SQL 쿼리 없이 데이터를 데이터베이스에 편하게 저장하고 관리할 수 있다. 데이터베이스 설계와 비즈니스 로직사이의 간극을 줄여주는 중요한 역할을 수행한다. ORM의 사용은 코드의 가독성을 높이고, 유지 보수를 용이하게 하며, 데이터베이스와의 결합도를 낮줘 개발 과정을 더욱 효율적으로 만들어 준다. ORM은 다양한 프로그래밍 언어와 프레임워크에서 지원된다. Java의 Hibernate, Python의 SQLAlchemy, Ruby의 ActiveRecord 등..

PostgreSQLPostgreSQL은 확장 가능성 및 표준 준수를 강조하는 객체-관계형 데이터베이스 관리 시스템(ORDBMS)의 하나이다. BSD 허가권으로 배포되며 오픈소스 개발자 및 관련 회사들이 개발에 참여하고 있다. 데이터베이스 서버로서 주요 기능은 데이터를 안전하게 저장하고 다른 응용 소프트웨어로부터의 요청에 응답할 때 데이터를 반환하는 것이다. 소규모의 단일 머신 애플리케이션에서부터 수많은 동시 접속 사용자가 있는 대형의 인터넷 애플리케이션(또는 데이터 웨어하우스용)에 이르기까지 여러 부하를 관리할 수 있으며 macOS 서버의 경우 PostgreSQL은 기본 데이터베이스이다. 객체 관계 데이터베이스 ORDBMS객체지향 데이터베이스 모델을 가진 관계형 데이터베이스 관리 시스템을 의미한다. 소프..

MongoDB오픈소스 비관계형 데이터베이스 관리시스템으로, 테이블과 행 대신 유연한 문서를 활용해 다양한 데이터 형식을 처리하고 저장한다. RDBMS를 필요로 하지 않으므로, 사용자가 다변량 데이터 유형을 손쉽게 저장하고 쿼리할 수 있는 탄력적인 데이터 저장 모델을 사용할 수 있다. 이 점은 개발자의 데이터베이스 관리를 간소화하고 확장성을 갖춘 크로스 플랫폼 및 서비스 환경을 구축한다. MongoDB는 문서 또는 문서 컬렉션이 기본 단위로, 이진 JSON형식으로 지정되어 다양한 데이터를 저장하고 분산처리할 수 있다. 동적 스키마 설계를 활용하기 때문에 유연성을 확보해 데이터 레코드를 생성하고 집계를 통해 문서 컬렉션을 쿼리하며, 대량의 정보를 분석한다. MongoDB는 C++로 작성된 오픈소스 문서지향(..

CSV (Comma Separated Values)표 형태의 데이터를 저장하는 파일 형식이다. 각 줄은 하나의 행에 해당하고 각 열 사이에는 쉼표(Comma)를 넣어 구분하며 이 때 모든 행은 같은 개수의 열을 가져야한다. 줄 바꿈 문자는 라인피드 또는 캐리지 리턴를 사용한다. 예시는 이미지와 같은 표를 CSV로 변환한 형태이다.이름,생년,월,일,국어 점수,영어 점수,수학 점수홍길동,1992년,7월,17일,100점,90점,70점희동이,1992년,4월,3일,90점,100점,100점 이 CSV를 통해 데이터 이관 작업을 진행하자. 1. 데이터를 이관할 테이블을 선택한 뒤 데이터 내보내기를 한다. 2. CSV 형식을 선택한다. * 진행 중 이 부분을 수정해 저장할 폴더를 선택할 수 있다. (기본 C:\Us..

CDATA (Character Data) 문자 데이터를 의미하는 Character Data의 약자를 사용하며, 마크업 언어(XML)에서 데이터를 표시하기 위한 것이다.특수문자들을 태그가 아니라 데이터로 명시하고 싶을 때 사용하며 데이터에 있는 특수문자가 태그 등과 혼동되지 않도록 한다. XML에서 쿼리를 짤 때 많이 사용된다. CDATA 영역 시작 CDATA 영역 종료]]> 예시John Smith]]> <sender>John Smith</sender>과 동일한 데이터 값을 지닌다. 주의사항CDATA 영역 안의 모든 특수기호 등을 전부 문자열로 만들어버리기 때문에 동적쿼리를 사용할 때는 주의해 사용해야한다.

정규화 Normalization중복된 데이터를 최소화하고, 데이터 무결성(Data Integrity)를 유지하기 위해 데이터베이스를 구조화하는 과정이다.데이터의 일관성을 높이고 데이터 저장 공간을 효율적으로 사용하여 이상 현상(Anoamalies)을 방지한다.정규화 단계는 순차적으로 진행해야한다. 제 1 정규형 (1NF)테이블 컬럼이 하나의 값을 갖도록 분리하는 것 제 2 정규형 (2NF) PK의 일부가 아닌 컬럼들이 PK 전체에 종속되도록 분리하는 것(복합식별자일 때 진행된다) 제 3 정규형 (3NF) PK가 아닌 컬럼이 다른 컬럼을 종속하지 않도록 분리하는 것보이스-코드 정규형(BCNF)모든 함수적 종속성이 후보 키에 대해서만 성립하도록 하는 것 제 4 정규형 (4NF) 한 테이블에 여러 개의 독립된..