분류 전체보기 224

S)DB_07_인덱스

도서관을 떠올려보자 도서관엔 수많은 책들이 잘 정리되어 있다. 나는 요시나가 요시마사가 쓴 "괴델 불완전성 정리"라는 책을 찾아 읽고 싶다. 1. 인덱스의 필요성 도서관은 책으로 가득 차 있다. 만약 책의 위치를 나타내는 색인(인덱스)가 없다면, 우리는 원하는 책을 찾기 위해 모든 책을 차례로 살펴봐야 한다. "괴델 불완전성 정리"를 찾기도 전에 도서관은 문을 닫고 말 것이다. 2. 인덱스의 역할 그럼 각 책의 위치를 알려주는 색인을 제공한다고 해보자. 이 색인은 각 제목의 위치를 정리해 놓은 것이다. 우리가 원하는 책을 찾을 때, 이제 색인을 참조하여 어느 섹션에 가야 할지 알 수 있다. 이렇게 색인을 통해 우리는 시간을 절약하고 효율적으로 책을 찾을 수 있다. 3. 인덱스 설정 기준 이렇게 편리한 색..

CS 2024.03.30

S)DB_06_트리거

트리거는 데이터베이스에서 특정 이벤트 발생 시 자동으로 실행되는 작업 데이터베이스에서 특정한 조건이나 이벤트가 발생할 때 자동으로 실행되는 일련의 sql 명령문의 모음이다. 주로 데이터 무결성 유지, 비즈니스 규칙 적용, 데이터 변화에 대한 로깅 등을 위해 사용된다. 트리거는 특정 테이블에 INSERT, UPDATE, DELETE 등의 데이터 조작 작업이 발생할 때 실행될 수 있다. - 주문 취소될 때 재고량 갱신하는 트리거 - 사용자가 새로운 게시물 작성할 때 알림을 전송하는 트리거 트리거의 속성 BEFORE/AFTER : 트리거 실행 시점 지정 (해당 작업 실행 전, 해당 작업 실행 후) INSTEAD OF : 대상 작업 대신 트리거 실행 WHEN : 트리거 실행 조건 지정 더보기 BEFORE/AFT..

CS 2024.03.27

S)DB_06_저장 프로시저

저장 프로시저 데이터베이스에서 실행 가능한 SQL 코드의 집합, 재사용 가능한 로직을 캡슐화하여 관리 반복적으로 호출되는 작업이나 복잡한 로직을 수행할 때 성능 및 유지보수 측면에서 이점 제공 저장 프로시저(Stored Procedure, SP)는 데이터베이스 내에 저장된 일련의 SQL 쿼리를 실행하는 프로그래밍 루틴이다. 하나의 단위로 실행된다. 저장 프로시저는 데이터베이스 서버에 미리 컴파일되어 있기 때문에 실행시점에 매번 컴파일할 필요가 없어서 반복적인 쿼리 실행에 효율적이다. 저장 프로시저의 특징 1. 로직의 모듈화 : 특정 작업을 수행하는 SQL쿼리들을 하나의 모듈로 묶어 로직을 모듈화한다. 2. 재사용성 : 동일한 로직이 여러번 필요한 경우, 저장 프로시저를 호출해 사용함으로써 코드의 중복을 ..

CS 2024.03.27

docker colima Oralcle

정답은 https://shanepark.tistory.com/400 [MacOS] M1 맥북 도커로 ORACLE DB 실행하기 Intro M1 맥북을 처음 구입 한 이후로 약 1년 반동안, 오라클 데이터베이스를 띄우기 위해 참 많은 노력을 했었습니다. 원래부터 Oracle이 MacOS를 정식 지원을 하지는 않았지만, 그나마 이전의 맥북에 shanepark.tistory.com 과 https://king-ja.tistory.com/107 M1 맥북에서 Docker로 oracle DB 실행하는 방법 1. 기존 설치 방법으로는 오류 뜸 (colima 사용 ❌) Apple Silicon에서는 아키텍처가 바뀌어서 orcale 데이터베이스를 띄울 수 없었습니다. 관련 정보를 찾아가며 시도 해봤지만 sqlplus 접..

Mac 2024.03.27

CSS)DB_05_Schema

[릴레이션] : 테이블과 비슷, 릴레이션 스키마와 릴레이션 인스턴스로 구성 릴레이션에서 연관 관계 & 제약 조건 생기면 ==> 테이블 (릴레이션 스키마 != 스키마) Schema (스키마란 ) 1. 시간불변 2. 현실세계 특정 부분을 모델 3. 데이터 구조의 특성, 인스턴스에 의해 규정 ■ 데이터베이스 보는 관점에 따라 데이터베이스를 기술하고 관계를 정의 => 데이터 독립성 확보하기 위한 방법 ■ 3계층 ? 미국의 표준화 기관 ANSI/SPARC , 3단계 데이터베이스 구조(3-level database architecture) 제안 각 단계별로 다른 추상화 레벨 제공하면 효과적으로 관리 DBMS 외부적 스키마 따라 명시된 사용자의 요구 ㄴ > 개념적 스키마에 적합한 형태로 변경 ㄴ > 내부적 스키마에 ..

CS 2024.03.25

뉴맥 적응기 _ 'Tars' 영입

이클립스 켜기만 해도 핫팩으로 변하던 Akinella야... Tars는 두 개 켜도 메모리가 남는구나..... 너도 아직 현역이라 생각했지만 아니었나봐.... - 배경화면 http://512pixels.net/downloads/macos-wallpapers/10-12.jpg 2018년 처음으로 맥북을 썼을 때를 잊을 수 없습니다. 그동안 수고했어 Akinella.... - 페이보릿 폰트 https://cactus.tistory.com/306 Pretendard Pretendard 프리텐다드 Pretendard 프리텐다드 글꼴 다운로드 일본어 버전 다운로드 GitHub에서 보기 system-ui를 대체하는 글꼴 Apple의 system-ui가 익숙한 나로서는 San Francisco와 Apple SD 산돌..

Mac 2024.03.16

S)DB_04_RDBMS vs Nosql

□ Database : 여러사람에 의해 공유될 목적으로 구조화된 데이터 모음 dbms 의해 관리된다. crud 사용하는 일련 소프트웨어 도구 서비스 제공한다. ■ DBMS : 사용자와 db 사이에서 사용자의 요구 따라 정보 생성해주고, 생성된 db관리해주는 SW □ 역할 : 안전성 신뢰성 유지 데이터 보호, 유지. 무결성, 일관성, 보안, 백업 및 복구 등 보장 □ dbms 종류 : 계층형, 관계형, 객체지향, nosql 등 (주로 관계-nosql 비교됨) sql? sql이 뭔데여? □ SQL : structured query language 데이터 저장, 검색, 수정, 삭제에 사용되는 표준 언어 => 관계형 dbms에 저장된 데이터 관리 위해 설계된 언어 명령어와 함수로 이루어짐, 간단하고 직관적 ==..

CS 2024.03.16

S)DB_03_트랜잭션3

이상 현상 고립성 보장되지 않은 상태에서 트랜잭션 동시 실행되면 발생하는 문제점 Dirty read commit 되지 않은 변화 읽음 모든 레벨에서 허용하면 안됨 ex) (유효하지 않은 데이터(commit 되기 전 다른 트랜잭션)이 읽어서 결과 이상) Non-repeatable read 같은 데이터 값 달라짐 ex) 읽기 작업 반복할 경우 결과 반복되지 않는 현상 phantom read 없던 데이터 생김 ex) 읽기 작업 반복할 경우 이전에 없던 데이터 생겨남 Dirty read , Non-repeatable read , phantom read => 이런 이상한 현상 모두 발생 하지않게 만들 수 있음 하지만 그러면 제약사항 많아지고 동시 처리 가능한 트랜잭션 수 줄어들어 결국 db 전체 처리량 (thro..

CS 2024.03.14

S)DB_03_트랜잭션2

Concurrency control 동시성 제어 복수의 처리 단위(트랜잭션)가 db 내용을 동시에 갱신해도 데이터 처음과 끝이 일관성 잃지 않도록 제어 Serializability 직렬화 성질 많은 사용자 동시에 한 데이터 접근할 때 마치 혼자 접근하는 것과 동일한 결과 얻는 {병렬 동시 처리 + 순차 수행} 효과 Schedule > (serial, schedule, non-serial schedule) 多 트랜잭션 동시 실행 시, 트랜잭션 속한 작업들의 실행 순서 의미함 내부 operation 겹쳐 실행되면 어떻게 실행했느냐 따라 실행결과 다르게 나타남 (interleave 실행기법 통해; 서로 다른 memor bank에 번갈아 가용성 높이는 메모리 기법) Serial schedule transacti..

CS 2024.03.14