Eat Study Love

먹고 공부하고 사랑하라

SQL 30

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 형태로 저장되어 있고, ..

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..

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 서비스 ..

Ubuntu와 친해지기

졸지에 논문을 RDBMS, SQL과 관련된 분야를 주제로 쓰게 되어서 팔자에도 없던 Linux를 사용하게 되었다. 필자는 Windows Laptop을 이용중인데, 기본적으로 Linux는 Mac과 Base가 같다고 해야하나? 여튼 Mac이랑 친해서, windows 유저들은 WSL이라는 것을 따로 이용해야 한다. 근데 문제는, 이 WSL, Linux라는 것이 생각보다 예민한 녀석이라 한 번 잘못 지우거나 update하면 실행이 잘 안 되는 문제가 발생한다.. 필자도 WSL 새로 깔아볼까? 하고 기존에 다운 받았던 WSL, Ubuntu를 싸그리 직접 수동으로 찾아서 지웠다가, 다시는 깔리지 않는 불상사가 발생했다. 솔직히 이 경우엔 포맷이 답이긴 한데, 도저히 그럴 순 없는 상황이라 구글링/GPT 헬프를 엄청..

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 ) ..

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..

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..

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..

1. Over View of DB Systems

DB라는 것을 배우기 위한 뽕주입 시간.. 뭐 중요한 이유는 겁나 많은데.. 구구절절한 건 스킵하고, 공부를 위해 기록할만한 것들 위주로 기록 Why Use a DBMS? 1. Data Independence 2. Efficient Data Access 3. Data Integrity and Security -> 그 유명한 데이터무결성 4. Uniform Data Administration : DBA, No Redundancy, Tuning 5. Concurrent Access and Crash Recovery 6. Productivity Data Models - Data Model : a collection of high LV concepts for describing data -> 많은 low LV ..