Database

Cloud-DevLog
[Database] 카디널리티(Cardinality) 2가지 의미
·Database
카디널리티(Cardinality)란?카디널리티는 2가지 의미로 사용된다.테이블 간의 관계에서의 카디널리티두 테이블 사이의 관계를 말한다.각각의 레코드가 서로 어떻게 연결되는지를 설명한다.컬럼에 있는 고유한 값에서의 카디널리티간단하게 말하면 튜플/행의 수이다.데이터베이스 테이블 내의 데이터 값의 다양성 또는 고유 값을 말한다.테이블의 특정 컬럼에 대한 고유한 값의 수를 카디널리티라고 한다.카디널리티 : (1) 테이블 간의 관계일대일(One-to-One) 관계사람 1명은 여권 1개만 가질 수 있다. 주민번호는 여권 테이블의 외래 키(Foreign Key)이자 유니크 키(Unique Key)이다.일대다(One-to-Many) 관계고객 1명은 여러 주문을 할 수 있지만, 각 주문은 1명의 고객에게만 속한다. 고..
[Database] 식별자 관계 vs 비식별자 관계
·Database
식별자(Identifiers)란?엔터티는 인스턴스의 집합이며 각각의 인스턴스는 구별이 되어야 한다. 구별이 되는 요소가 식별자이며, 하나의 엔터티가 가지고 있는 속성 중 대표성을 가지는 속성이 식별자가 되어야 한다. 식별자(Identifiers)와 키(key)의 개념이 헷갈릴 수 있지만, 식별자는 업무적인 정보로 사용하며 논리적 모델링에서 활용하며, 키(key)는 데이터베이스에서 테이블 접근을 위한 매개체로 물리적 모델링에서 활용한다.주식별자 특징유일성 : 주식별자에 의해 엔터티 내에 모든 인스턴스가 유일하게 구분되어야 한다.최소성 : 주식별자를 구성하는 속성의 수는 유일성을 만족하는 최소의 수여야 한다.불변성 : 지정된 주식별자의 값은 자주 변하지 않아야 한다.존재성 : 주식별자가 정해지면 반드시 값이..
[Database] 데이터베이스 모델링(Database Modeling), ERD(ER Diagram), 엔터티(Entity), 제약조건(Constraint)
·Database
[1] 데이터베이스 모델링이란?개념 : 주어진 개념으로부터 논리적인 데이터 모델을 구성하는 작업, 데이터베이스 골격을 이해하면서 모델 기능과 성능 측면에서 효율적인 모델링이 필요하다. 물리적인 데이터베이스 모델로 만들어 고객 요구사항에 맞춰 반영하는 작업까지 포함한다.목적 : 업무 정보를 구성하는 정보를 일정한 표기법에 의해 표현함으로써 업무 내용을 정확하게 분석하며, 분석된 모델로 실제 DB를 생성하고 개발 및 데이터 관리에 편리하게 사용하기 위함이다.[2] 데이터베이스 모델링 과정① 요구사항 수집 및 분석② 설계 ▶ 개념적 모델링③ 설계 ▶ 논리적 모델링④ 설계 ▶ 물리적 모델링⑤ 데이터베이스 구현 3가지 모델링개념적 모델링 : 개체와 개체 간 관계에서 ER Diagram을 만드는 과정중요 개념을 구..
[Java] JDBC란? Database 연결 과정, JDBC Driver, JDBC API 흐름
·Java
JDBCJDBC는 Java Database Connectivity로 Java에서 데이터베이스와 연결하여 데이터 저장 및 수정, 저장된 데이터를 사용할 수 있게 해주는 Java API이다.JDBC 표준 인터페이스로 정의한 3가지 기능java.sql.Connection : DB 연결java.sql.Statement : SQL이 담겨 있는 내용java.sql.ResultSet : SQL의 요청에 응답한 내용Spring Data JPA, Spring Data JDBC 등의 기술이 나타나며 JDBC API를 직접 사용할 일은 줄었지만, 이 기술들이 DB와의 연동을 위해 내부적으로 JDBC를 이용하므로 JDBC 동작 과정을 익혀둘 필요가 있다.JDBC 동작 과정Java Application ▶ JDBC API ▶ ..
[Database] Rocky Linux에 MariaDB 설치 방법
·Database
Rocky Linux9에 MariaDB 설치하는 방법에 대해 알아보자. [1] MariaDB 설치1. 작업 디렉토리 확인# pwd/root 2. 의존 라이브러리 설치# dnf install -y gcc gcc-c++ zlib* libxml* freetype* libpng* flex gmp ncurses-devel gnutls-devel libaio 3. iconv 소스 컴파일 설치# wget https://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.17.tar.gz# tar xvfz libiconv-1.17.tar.gz# cd libiconv-1.17# ./configure --prefix=/usr/local# make && make install 4. 소스 다운로드# wge..
[Database] RDBMS vs NoSQL
·Database
데이터베이스 기본 용어들과 RDBMS와 NoSQL의 차이점에 대해 알아보자.Database, DBMS, SQLDatabaseDatabase는 컴퓨터 시스템에 구조화된 정보 또는 데이터를 전자적으로 저장하며 체계적인 데이터 모음이다.DBMSDBMS는 DataBase Management System으로 사용자와 DB 사이에서 사용자 요구에 따라 정보 생성 및 DB 관리를 위한 소프트웨어이다.SQLSQL은 Structured Query Language로 관계형 데이터베이스 관리 시스템의 데이터 추출 및 조작 등 데이터를 관리하기 위해 설계된 프로그래밍 언어이다. 자료 검색 및 관리, DB Schema 생성 및 수정, DB 객체 접근 조정 관리 등을 위해 사용된다.RDBMSDBMS 앞에 R이 붙은 RDBMS는 ..
cloud-grace
'Database' 태그의 글 목록