no image
05. SQL - 2
✅ 데이터 조작 언어의 개념데이터 정의 언어로 정의된 데이터베이스 내의 데이터에 대해 여러 연산을 수행하기 위한 명령어의 집합사용자에게 데이터베이스에 저장된 데이터를 처리할 수 있게 하는 일체의 도구 제공정의된 테이블 등에 레코드를 삽입 , 수정 , 삭제 및 검색하는데 사용되는 SQL 명령어들의 집합데이터 조작 언어는 실행 즉시 반영되는 영구적 변경을 위한 명령어의 집합이 아니며 복구가 가능 ✅ 명령어의 종류CRUD를 위한 SQL 명령어의 종류- INSERT : 테이블 스키마에 적합한 레코드를 삽입- UPDATE: 테이블에서 조건을 만족하는 특정 레코드의 컬럼값을 수정- DELETE: 테이블에 조건을 만족하는 특정 레코드를 삭제- SELECT : 조건을 만족하는 레코드를 테이블에서 검 ✅ INSER ..
2025.04.30
no image
04. SQL - 1
✅ SQL관계대수에 기초해 RDBMS의 데이터 관리를 위해 1970년대 초 IBM에서 설계로 특징으로는 비절차적 언어, 필요한 데이터만 기술하며 인간의 언어와 매우 유사하고 간단, 명료함 ✅ SQL 구성📌 데이터 정의 언어(DDL)- 데이터베이스 내의 객체를 생성 및 삭제하고 그 구조를 조작하는 명령어의 집합- 데이터가 준수해야 하는 제약조건을 기술 📌 데이터 조작 언어(DML)- DDL에 의해 정의된 테입ㄹ에 데이터르 조작하는 명령어의 집합- 데이터의 대한 CRUD 명령을 포함 📌 데이터 제어 언어(DCL)- DBMS의 동작, 접근 권한 등을 관리하는 SQL 명령어의 집합 ✅ 데이터 정의 언어의 개념데이터베이스 객체를 생성, 삭제 또는 구조를 수정하는 명령어의 집합 📌 종류- 저장 ..
2025.04.30
no image
03. 관계형 모델
✅ 릴레이션 ✅ 릴레이션의 특징- 레코드의 유일성 : 중복된 레코드의 존재가 불가능- 레코드의 무순시성 : 레코드의 순서는 의미가 없음- 컬럼의 무순서성 : 컬럼은 순서가 없고, 이름과 값의 쌍- 컬럼값의 원자성 : 모든 값들은 나눌 수 없는, 단 하나의 의미 ✅ 키의 개념릴레이션 레코드를 유일하게 식별하는 값 📌 속성 및 종류속성 : 유일성 , 최소성 📌 종류- 슈퍼키 : 유일성 만족- 후보키 : 유일성 , 최소성 만족- 기본키 : 레코드의 구분을 위해 선택된 후보키- 외래키 : 참도된 한 릴레이션의 기본키 키의 참조는 두 릴레이션의 포함된 레코드간 연관성을 표현 ✅ 관계형 모델의 제약조건- 영역 제약 조건 : 컬럼에 정의된 영역에 속한 값으로만 컬럼값이 결정- 키 제약 조건 : 키는 레코드를..
2025.04.29
no image
02. 데이터베이스 모델링
✅ 데이터 베이스 모델링데이터의 의미를 파악하고 데이터와 관여하는 업무 프로세스를 개념적으로 정의하고 분석하는 작업📌 단계사용자 요구 분석 -> 개념적 데이터 모델링 -> 논리적 데이터 모델링 -> 물리적 데이터 모데링 - > 내부 스키마 ✅ 정의사용할 데이터의 선별하고 데이터베이스에 체계적으로 구조화하여 저장, 사용할 방법이 필요- 데이터 모델 : 데이터의 의미, 데이터 타이브 연산등을 명시하기 위해 사용할 수 있는 개념- 데이터 모델링 : 데이터에 대한 요구사항을 분석하여 추상화하는 과정으로 실세계 일부분을 DBMS가 지원하는 데이터 모델의 형태로 나타내는 과정 ✅ 데이터베이스 모델링의 단계개념적 데이터 모델링- 요구사항을 바탕으로 추상화하고 해석 오류 방지- 실세계의 데이터를 개념적으로 일반..
2025.04.29
no image
01. 데이터베이스 이해
✅ 데이터 관리대량의 데이터를 저장 및 관리하고 필요한 데이터를 신속히 검색할 수 있도록 보조하는 장치에 대한 요구가 증가로 한 조직의 여러 응용 시스템을 다수의 사용자가 공용으로 사용하기 이해 통합, 저장, 관리하는 장치를 말함. 전통적인 데이터 관리 방식으로는 파일 처리 시스템 이 있다. ✅ 파일 처리 시스템데베가 개발되기전 데이터 관리에 사용하며 업무 별 애플리케이션에서 사용하는데이터를 개별 데이터 파일에 저장 관리하는 시스템 📌 문제점데이터 종속의 문제- 저장된 데이터가 특정 사용자만 될 수 있도록 제한되는 문제 (물리적 데이터 종속, 논리적 데이터 종속)데이터 중복의 문제- 동일한 사항에 대한 중복된 데이터는 일관성, 보안성 경제성 측면에서 발생되는 문제 발생 원인무결성 훼손의 문제-..
2025.04.29
no image
[Algorithms & Data structure]List와 ArrayList
Java에서 배열 선언시 List를 만드는 방법엔 List를 통해 ArrayList를 만드는 방법이 있습니다.List list = new ArrayList();ArrayList list = new ArrayList(); 그러면 차이는 무엇일까요?🧐  List와 ArrayList 차이점List란 인터페이스입니다.즉 , Java의 다형성에 의해서 만약 아래와 같이 list를 List자료형으로 선언한 경우 그, 구현체를 ArrayList로도 구현 가능하지만 LinkedList로 구현도 가능합니다.  ArrayListArrayList는 클래스입니다. ArrayList 역시 아래처럼 List 인터페이스를 구현하고 있기 때문에 List가 제공하는 기능들을 다 제공할 수 있으므로 List 선언 시 구현 인스턴스의 ..
2025.01.09
no image
[Algorithms & Data structure]유클리드 호제법(Euclidean Algorithm)
유클리드 호제법이란? 2개의 이상 자연수 또는 정식 최대공약수를 구하는 알고리즘입니다. 호제법이란 말은 두 수가 서로 상대방 수를 나누어 결국 워하는 수를 얻는 알고리즘을 나타냅니다.  방법으로는 다음과 같습니다.1. 큰수에서 작은 수를 나눕니다.2. 나머지가 0이 아니라면, 나머지와 작은수로 1번부터 다시 시작합니다.3. 1번과 2번을 반복해 나머지가 0인 경우, 그 수가 최대공약수 입니다.   두 수 사이의 GCD, 최대 공약수유클리드 호제법은 재귀함수를 사용합니다.public class Main { public static void main(String[] args) { int a = 21; int b = 7; System.out.println("GCD =..
2025.01.09
no image
[Algorithms & Data structure] ArrayList VS LinkedList
Queue 문제를 풀때 LinkedList를 쓰는데 그냥 왜 쓰는지 궁금하기도 하고 쨋든 쓰는 이유를 알아야 하니 글을 끄적끄적 적어본다.. 먼저 ArrayList와 LinkedList 각각에 대해 알아보자.   ArrayList 란?중복을 허용하고 순서를 유지Index로 원소들을 관리 배열과 상당히 유사그러나 배열은 크기가 값이 고정적이지만 ArrayList는 클래스로 배열을 추가, 삭제, 할 수 있는 메소드들도 존재 -> 이때 배열이 동적으로 늘어나는 것이 아닌 용량이 꽉 찼을 경우 더 큰 용량의 배열을 만들어 옮기는 작업을 함add(E element) 배열 마지막에 원소를 추가 --> 빠르다! add(int index, E element)배열에 마지막이 나닌 처음, 중간에 즉 원하는 위치에 넣을수 ..
2024.06.20
no image
[Algorithms & Data structure] Binary Search VS HashMap
이분 탐색 (Binary Search)장점시간 효율성: 정렬된 배열에서의 탐색 시간 복잡도는 (O(\log n))으로 매우 빠르다.공간 효율성: 추가적인 데이터 구조가 필요 없고, 배열 자체만으로도 충분하다.간단한 구현: 이분 탐색 알고리즘은 비교적 간단하고 구현이 쉽다.단점정렬된 데이터 필요: 데이터가 정렬되어 있어야만 사용 가능하며, 정렬되지 않은 데이터에서는 사용할 수 없다.동적 데이터 처리 어려움: 데이터가 자주 변경되는 경우, 매번 정렬을 다시 해야 하므로 비효율적이다.고정된 데이터 구조: 배열과 같은 고정된 데이터 구조에서만 효율적이다.  사용하기 좋은 알고리즘정렬된 배열에서 특정 값 찾기: 정렬된 배열에서 특정 값을 빠르게 찾을 때 사용이진 검색 트리: 이분 탐색 트리에서의 탐색, 삽입, 삭..
2024.06.17