728x90
분류 전체보기
544

[DATABASE] relation data model에서 relation의 의미가 뭘까?

set (집합) 서로 다른 요소들을 가지는 collection 순서를 보장하지 않음 수학의 relation과 의미 아래와 같이 A 집합과 B 집합이 있을때 각각의 요소들을 선택하여 쌍을 만든다. 그러면 (1, p), (1, q), (1,r), (2, p), (2,q), (2,r) 이 생길 것이다. 그리고 이렇게 표현한 것을 카르테시안 곱(cartesian product)라고 한다. 이 카르테시안 곱이 relation과 관련이 있는데 아래처럼 집합이 A, B 두 개가 있을 경우 binary relation 이라고 한다. 여기서 relation의 의미가 바로 A x B 카르테시안 곱의 부분 집합이라는 것이다. 그리고 아래처럼 집합이 n개까지 있다고 한다면 n-ary relation 이라 하고 n개의 집합에 ..

Database 2023.10.15

[DATABASE] Database Language로 어떤 것들이 있을까?

Data Definition Language (DDL) conceptual schema를 정의하기 위해 사용되는 언어 Storage Definition Language (SDL) internal schema를 정의하는 용도로 사용되는 언어 relation DBMS에서는 SDL이 없고 파라미터 등의 설정으로 대체한다고 함 View Definition Language (VDL) external schema를 정의하기 위해 사용되는 언어 대부분의 DBMS에서는 DDL이 VDL 역할까지 수행 Data Manipulation Language (DML) 데이터 추가, 삭제, 수정, 검색 등의 기능을 제공하는 언어 Data Control Language (DCL) 데이터 핸들링 권한 설정, 데이터 무결성 처리를 ..

Database 2023.10.13

[DATABASE] three-schema architecture

DB System을 구축하는 architecture Database에서의 변경이 Application에 영향을 주지 않도록 하기 위한 목적으로 사용 다음 세 가지 level이 존재하며 각각 schema가 정의되어 있음 external level: external schema conceptual level: conceptual schema internal level: internal schema 각 level을 독립시켜서 어느 level에서의 변화가 상위 level에 영향을 주지 않는다. 예를 들어 internal level에서 변경이 있어도 conceptual level에는 영향을 주지 않는다. 대부분의 DBMS가 이런 three level 구조를 어느 정도 따르지만 명시적으로 나누지는 않음 결국 데이터..

Database 2023.10.13

[DATABASE] Database Schema와 State의 개념

Schema(스키마) Data Model을 바탕으로 DB 구조의 골격을 나타낸 것 Schema는 DB를 설계할 때 정해진 후 자주 바뀌지 않음 relational data model의 schema를 예로 아래와 같이 Student와 Book이 있고 각각 어떤 attribute(속성)이 있는지 나타내는 것이다. DB State DB의 실제 데이터는 자주 바뀔 수 있음 특정 시점의 DB에 있는 데이터를 DB State 또는 snapshot이라함

Database 2023.10.13

[DATABASE] Data Models가 뭘까?

Data Model은 데이터베이스의 구조를 원하는 형태로 만들 수 있도록하는 수단을 제공한다. conceptual data models, logical data models, physical data models로 분류된다. 1. conceptual data models 일반 사용자들이 쉽게 이해할 수 있는 개념들로 이루어진 모델 비지니스 요구 사항을 추상화하여 설명할 떄 사용 대표적으로 아래와 같은 entity-relationship model이 있다 %%{ init: { 'theme': 'default', 'themeVariables': { 'primaryColor': '#000', 'primaryTextColor': '#000', 'lineColor': '#fff' } } }%% erDiagram ..

Database 2023.10.13

[Java] JVM과 Java의 실행 순서

JVM(Java Virtual Machine) 자바 소스 파일(*.java)를 컴파일링한 바이트 코드 파일(*.class)는 해석하고 실행할 수 있는 가상의 운영체제가 필요하다. 그것이 JVM(Java Virtual Machine)이다. 운영체제별로 프로그램을 실행하고 관리하는 방법이 다르기 때문에 JVM은 운영체제에 종속적이다. 운영체제별로 제공되는 JDK 또는 JRE를 설치하면 자동으로 JVM이 설치된다. 즉, JVM도 운영체제별로 설치된다. 소스 파일(*.java) 작성 컴파일러(javac.exe)로 컴파일 생성된 바이트 코드 파일(*.class)는 JVM(java.exe)에 의해 해석되고 해당 운영체제에 맞게 기계어로 번역 후 실행

Java & Spring 2023.10.12

벡엔드에서 데이터베이스가 중요한 이유

%%{ init: { 'theme': 'dark', 'themeVariables': { 'primaryColor': '#fff', 'primaryTextColor': '#fff' } } }%% sequenceDiagram autonumber Web Server ->> WAS: 서비스 요청 WAS ->> DB: 데이터 요청 DB ->> WAS: 데이터 응답 WAS ->> Web Server: 서비스 응답 위의 Flow Chart에서처럼 Client는 Web Server에서 서비스를 요청하면 WAS가 DB에서 데이터를 주고 받는다. 최종적으로 "1(서비스 요청)~ 4(서비스 응답)" 만큼 시간이 소요된다. 이 시간을 단축시키기위해서 비지니스 로직의 시간복잡도를 개선하는 방법도 있지만 데이터베이스를 통한 속도..

Database 2023.10.12

[DATABASE] Database? DBMS? DB System?

1. Database 게시글에 댓글을 달았을 때의 댓글, 상품을 주문했을 때의 주문 정보 등 어떠한 서비스 아래에서 생성되는 데이터들의 조직화된 집합이다. 여기서 조직화된 집합이란, 예를 들어서 책을 데이터라고 했을때 무작정 바닥에 쌓아두면 나중에 찾기 힘들어지기 때문에 도서관, 서점과 같이 체계적이고 조직화하여 정리한 것을 말한다. 2. DBMS(Database Management System) 사용자에게 DB(Databse)를 정의하고 생성하고 관리하는 기능을 제공하는 소프트웨어 시스템이다. 때 DB를 정의하면 metadata가 발생한다. 대표적으로 PostgreSQL, MySQL, Oracle 등이 있다. 이 metadata는 이미지 데이터에 있는 이미지 크기, 해상도 등과 같이 데이터를 설명하는 ..

Database 2023.10.12

[Java] 배열과 리스트를 정렬할 수 있는 방법 정리

Arrays.sort() 배열을 오름차순 정렬 import java.util.Arrays; int[] array = {2, 6, 3, 1}; Arrays.sort(array); // [1, 2, 3, 6] Collections.sort() 컬렉션(List, Set)을 오름차순 정렬 import java.util.Collections; import java.util.List; import java.util.ArrayList; List list = new ArrayList(); list.add(3); list.add(1); list.add(6); list.add(2); Collections.sort(list); // [1, 2, 3, 6] Comparable TreeSet과 TreeMap은 정렬을 위해 ja..

Java & Spring 2023.10.09
728x90