본문 바로가기
728x90
반응형

전체 글129

[DB] ORM, 장단점, 종류 질문, 답변 ORM이란Object Relational Mapping, 객체-관계 매핑객체와 관계형 데이터베이스의 데이터를 자동으로 매핑(연결)해주는 것을 말한다.객체 지향 프로그래밍은 클래스를 사용하고, 관계형 데이터베이스는 테이블을 사용한다.객체 모델과 관계형 모델 간에 불일치가 존재한다.ORM을 통해 객체 간의 관계를 바탕으로 SQL을 자동으로 생성하여 불일치를 해결한다.데이터베이스 데이터 Object 필드객체를 통해 간접적으로 데이터베이스 데이터를 다룬다.Persistant(영속) API라고도 할 수 있다.Ex) JPA, Hibernate 등객체-관계 간의 불일치Granularity(세분성)경우에 따라 데이터베이스에 있는 해당 테이블 수보다 더 많은 클래스를 가진 객체 모델을 가질 수 있다.예를 들어, “사용.. 2023. 5. 10.
[DB] 트랜잭션, Lock, ACID, 격리 수준 질문, 답변 트랜잭션이란 무엇인지 설명해주세요트랜잭션이란, 데이터베이스의 상태를 변화시키기 해서 수행하는 작업의 단위를 뜻한다.상태를 변화시킨다는 것은 SELECT, UPDATE, INSERT, DELETE 와 같은 SQL을 이용해서 데이터베이스에 접근 하는 것을 의미한다.트랜잭션 하나는 SQL 하나가 될 수도 있고 SQL 여러개가 될 수도 있다.예를 들어 상품을 구매하는 API가 있다고 하자. 구매를 하기 위한 과정이 1. 유효한 사용자인지 확인, 2. 상품 정보 가져오기, 3. 상품 구매하기 라고 한다면 SQL은 SELECT, SELECT, INSERT가 된다. 이 3개의 SQL이 하나의 트랜잭션이 되는 것이다. https://mommoo.tistory.com/62트랜잭션과 Lock멀티 트랙잭션 환경에서 데이터베.. 2023. 5. 10.
[DB] JOIN, 종류, ON, HAVING, 쿼리수행순서 질문, 답변 JOIN 이란한 데이터베이스 내의 여러 테이블을 조합하여 하나의 열로 표현한 것이다.JOIN의 필요성관계형 데이터베이스의 구조적 특징으로 정규화를 수행하면 의미 있는 데이터의 집합으로 테이블이 구성되고 각 테이블끼리는 관계(Relationship)을 갖게 된다.이와 같은 특징으로 관계형 데이터베이스는 저장 공간의 효율성과 확장성이 향상되게 된다.다른 한편으로는 서로 관계있는 데이터가 여러 테이블로 나뉘어 저장되므로 각 테이블에 저장된 데이터를 효과적으로 검색하기 위해 조인이 필요하다.JOIN의 종류             employee 테이블                                                         department 테이블 내부조인(INNER JOIN)여러 애.. 2023. 5. 10.
[DB] 키, 인덱스 질문, 답변 키란?키는 데이터베이스에서 조건에 만족하는 튜플을 찾거나 순서대로 정렬할 때 튜플들을 서로 구분할 수 있는 “기준이 되는 속성(Attribute)”을 말한다.사용 이유테이블에서 내가 원하는 데이터를 찾으려면 많은 시간이 필요한데 이러한 탐색 시간을 줄여줄 수 있는 것이 키다.키종류이름, 특징, 조건 설명 ( + null 값 가능 여부 )Candidate Key (후보키)후보키는 릴레이션을 구성하는 속성들 중에서 튜플을 유일하게 식별하기 위해 사용하는 속성들의 부분집합, 즉 기본키로 사용할 수 있는 속성들을 말한다.하나의 릴레이션내에서는 중복된 튜플들이 있을 수 없으므로 모든 릴레이션에는 반드시 하나 이상의 후보키가 존재한다.후보키는 릴레이션에 있는 모든 튜플에 대해서 유일성과 최소성을 만족시켜야 한다.위.. 2023. 5. 10.
[DB] 특징, DDL, DML, DCL, RDBMS, NoSQL 질문, 답변 데이터 베이스를 사용하는 이유데이터베이스가 존재하기 이전에는 파일 시스템을 이용하여 데이터를 관리하였다.파일 처리 시스템의 문제점은 다음과 같다.1) 중복 : 파일처리시스템은 각 파일마다 필요한 데이터를 각각 가지고 있어야 하므로 전체적인 시간과 노력, 경제비용에 있어서 효율이 없다. 2) 비일관성 : 데이터에 변경사항이 조금만 있어도 각 파일에서 해당되는 데이터를 모두 변경해야 하므로 수정에 문제가 있고, 한꺼번에 수정이 되지 않으면 데이터값이 서로 틀리게 되는 문제점이 있다.3) 응용 프로그램 개발 문제 : 기존의 파일 시스템은 파일 용도에만 맞춰서 제작되기 때문에 다른 프로그램을 만들때는 다시 데이터베이스 작업을 해야 한다는 문제가 있다4) 데이터 추가 및 검색의 문제 : 데이터가 여러 파일에 산재.. 2023. 5. 10.
728x90
반응형