Database Storage[3] DB의 Storage 부분을 공부해보자..! 이 목차의 목적은 How to build Software that manages a DB를 하는 것이다. DB의 객체가 되는 Data의 기본적인 Form은 아래와 같다. 각 Record( = Tuple ) 들은 Header를 통해 indirect하게 Page 내부 Slot에 연결되어 있다. 그리고 그 Page들이 모여서 File을 이룬다. Data Science/SQL & Database Management System 2025.02.09
Database SQL (feat. PostgreSQL)[2] SQL은 Structured Query Language의 약자로 High LV 프로그래밍 언어이다. 실제로 사람이 충분히 이해가 가능하다.SQL은 크게 DDL(Data Definition Language)와 DML(Data Manipulation Language)로 나뉘는데 쉽게 말해 DDL은 Table의 생성, 삭제, 변경등을 하는 것이고 DML은 Data inserty/delete 등을 하는 것이다. Table, Column을 만들 때 Data 값을 모르면 NULL값을 하기도 한다. Database(DB)는 set of Relations(Tables)라고 생각하면 된다. Multi Table에 Query를 날릴 땐 Join문을 쓴다. 같은 결과를 나타내는 쿼리의 종류는 많으니 어떻게 조합하는지는 Us.. Data Science/SQL & Database Management System 2025.02.09
Introduction to DBMS[1] Database는 서로 관계된 데이터들이 저장되어 있는 곳이며, 컴퓨터 Applicaqtion의 주성분이다.DataBase Management System(DBMS)는 이런 DataBase(DB)를 관리하는 하나의 시스템이며, Architecture는 아래와 같다.User 또는 Client에 의해서 SQL문이 전달되면, Query Parsing & Optimizer에서 일차적으로 해당 SQL문을 Parsing 하여 Computer가 이해하기 쉬운 Relational Operations으로 전환시켜준다. 그러면 해당 정보를 갖고, 실제 요청된 File이 DB에 저장되어 있는지 Files and Index Managemet 단계에서 확인한다. 모든 Data Record들은 Table 형태로 저장되어 있고, .. Data Science/SQL & Database Management System 2025.02.09
PostgreSQL SQL2NL(1) PostgreSQL과 관련된 공식문서는 아래 링크에서 확인하면 된다.https://www.postgresql.org/docs/17/index.html PostgreSQL 17.2 DocumentationPostgreSQL 17.2 Documentation The PostgreSQL Global Development Group Copyright © 1996–2024 The PostgreSQL Global Development Group Legal Notice Table of …www.postgresql.org PostgreSQL의 Parser 부분에 대한 코드는 아래 git에서 보면 된다.https://github.com/launchql/pgsql-parser GitHub - launchql/pgsql-p.. Data Science/Research 2025.01.08
PostgreSQL 실습에 유용한 code 기본적으로 뭐,, 특별한 건 없다. 일단 Data base에 접근만 하면 우리가 흔히 아는 SQL문만 쭉쭉쭉 날리면 된다. Data를 조회, 정렬, Insert, Delete 다 할 수 있다. 예시는 PSQL 안에서 Vector DB관련 Element를 만드는 것이긴 한데, 뭐.. 일반 Data도 비슷한 맥락으로 가지고 놀 수 있다. 근데 중요한 건, DB 접속 전에 기본 PostgreSQL 상에서 써먹으면 유용한 Cheet들이 좀 있다. 1. PostgreSQL 서버 상태 확인 및 관리PostgreSQL 프로세스 확인 : ps aux | grep postgres --> 요 놈 은근 많이 쓰인다. 이런식으로 현재 postgres 라는 이름으로 Run 중인 프로세스를 확인한다.PostgreSQL 서비스 .. Data Science/Research 2025.01.02
Ubuntu와 친해지기 졸지에 논문을 RDBMS, SQL과 관련된 분야를 주제로 쓰게 되어서 팔자에도 없던 Linux를 사용하게 되었다. 필자는 Windows Laptop을 이용중인데, 기본적으로 Linux는 Mac과 Base가 같다고 해야하나? 여튼 Mac이랑 친해서, windows 유저들은 WSL이라는 것을 따로 이용해야 한다. 근데 문제는, 이 WSL, Linux라는 것이 생각보다 예민한 녀석이라 한 번 잘못 지우거나 update하면 실행이 잘 안 되는 문제가 발생한다.. 필자도 WSL 새로 깔아볼까? 하고 기존에 다운 받았던 WSL, Ubuntu를 싸그리 직접 수동으로 찾아서 지웠다가, 다시는 깔리지 않는 불상사가 발생했다. 솔직히 이 경우엔 포맷이 답이긴 한데, 도저히 그럴 순 없는 상황이라 구글링/GPT 헬프를 엄청.. Data Science/SQL & Database Management System 2024.11.11
4. Relational Algebra and Calculus https://eglife.tistory.com/63 3-2 Relation Modelhttps://eglife.tistory.com/62 3-1 Relation Modelhttps://eglife.tistory.com/61 3. Relational Modelhttps://eglife.tistory.com/60 2. SQL 기초 실습 코드 https://eglife.tistory.com/59 1. Over View of DB Systems DB라는 것을 배우기 위한 뽕주입eglife.tistory.com 대충 쿼리는 여타 다른 프로그래밍 언어처럼 복잡완벽한 계산을 제공하진 않지만 그래도 쉽고 효율적인 계산로직을 허용한다는 뜻이다. Relational Algebra ( RA ) .. Data Science/SQL & Database Management System 2024.04.24
3-2 Relation Model https://eglife.tistory.com/62 3-1 Relation Modelhttps://eglife.tistory.com/61 3. Relational Modelhttps://eglife.tistory.com/60 2. SQL 기초 실습 코드 https://eglife.tistory.com/59 1. Over View of DB Systems DB라는 것을 배우기 위한 뽕주입 시간.. 뭐 중요한 이유는 겁나 많은eglife.tistory.com SQL은 S , Q , L 이렇게 부르기도 하지만 보통 'sequel'로 부르기도 한다. SQL 쿼리문은 직관적으로 사용할 수 있다.Query가 주어지면(WHAT) 그와 관련해 답을 도출하는 방법(HOW)은 굉장히 많다. SQL.. Data Science/SQL & Database Management System 2024.04.24
3-1 Relation Model https://eglife.tistory.com/61 3. Relational Modelhttps://eglife.tistory.com/60 2. SQL 기초 실습 코드 https://eglife.tistory.com/59 1. Over View of DB Systems DB라는 것을 배우기 위한 뽕주입 시간.. 뭐 중요한 이유는 겁나 많은데.. 구구절절한 건 스킵하고, 공부를eglife.tistory.com - Integrity Constraints ( ICs , 일명 무결성)Relation Model 3대장 중에 하나이다.(1. Structure 2. Operation 3. Contraints) IC란 DB안 모든 Instance들에 대해서 True인 컨디션을 말한다.ex) Do.. Data Science/SQL & Database Management System 2024.04.24
2. SQL 기초 실습 코드 https://eglife.tistory.com/59 1. Over View of DB Systems DB라는 것을 배우기 위한 뽕주입 시간.. 뭐 중요한 이유는 겁나 많은데.. 구구절절한 건 스킵하고, 공부를 위해 기록할만한 것들 위주로 기록 Why Use a DBMS? 1. Data Independence 2. Efficient Data Access 3. Data eglife.tistory.com SQL기초는 어차피 코드를 가지고 놀 거라서 굳이 데이터는 여러개가 필요 없다. Live SQL에서 EMP TABLE을 갖고 놀기로 한다. 간단히 연습하기엔 요기가 짱! https://livesql.oracle.com https://livesql.oracle.com/apex/f?p=590%3A1%3A1608.. Data Science/SQL & Database Management System 2024.04.23