본문 바로가기
반응형

db4

[SQL] SQL 실행 순서에 대해서 SQL 쿼리를 작성할 때 아무 생각 없이 짜다가 문득 실행 순서에 대해 어떻게 되는지 궁금해졌다. SQL 쿼리가 실행될 때는 작성한 순서대로가 아니라 내부적으로 정해진 순서에 따라 처리된다.가장 일반적인 실행 순서는 아래와 같다 SELECT ... FROM ... JOIN ... WHERE ... GROUP BY ... HAVING ... ORDER BY ... LIMIT ...; 실제 실행 순서FROM테이블을 선택하고 원시 데이터를 가져온다.JOIN이 있다면 JOIN 조건에 따라 테이블 결합WHERE조건에 따라 행(Row) 필터링GROUP BY 전에 실행되므로 집계(Aggregation)에 영향을 줌GROUP BY같은 값끼리 그룹화집계 함수 (SUM,AVG,COUNT 등)가 사용될 때만 필요Having.. 2025. 2. 18.
[DataBase] 외래키(Foreign Key)에 관한 고찰... 스타트업에 이직 후 업무 중 거의 대부분의 테이블에 외래키 설정이 안되어 있는 것을 알게 되었다. 대학교에서나 기존 직장에서는 왠만하면 외래키 설정이 되어 있었기 때문에 의아한 부분이였다.  다행히 직속 팀장님이 과거 데이터베이스 코어단을 직접 만드시던 디비 전문가셨기 때문에 바로 질문을 드렸고 답변을 해주셨다. 외래키란? 관계형 데이터베이스 관리 시스템(RDBMS)은 테이블 간의 관계를 정의하기 위해 외래키(foreign key)를 사용한다. 외래키는 한 테이블의 열이 다른 테이블의 기본 키(Primary Key)와 연결됨으로써 데이터 무결성을 보장하고, 테이블 간의 관계를 명확하게 정의하는 역할을 한다. 이는 데이터 중복을 방지하고 정합성을 유지하는데 중요한 요소로 작용한다.  과거에는 컴퓨팅 자원이.. 2025. 1. 6.
[DataBase] 관계형 데이터 베이스 관계형 데이터 베이스 (Relational Database) 관계형 데이터 베이스는 데이터를 테이블 형식으로 관리하는 데이터베이스 시스템이다. 각각의 테이블은 행과 열로 구성되며 행은 개별 데이터를, 열은 데이터의 속성을 나타낸다. 명칭을 정리하자면 - 테이블 (Table) : 데이터를 행과 열로 구성하여 저장하는 구조. 예를 들어 사용자의 정보를 저장하는 User 테이블이 있을 수 있음 - 행 (Row) : 테이블 내의 각 레코드(Record)를 나타낸다. 예를 들어 사용자 정보가 한 행이 된다. - 열 (Column) : 테이블 내의 데이터 속성을 나타낸다. 예를 들어 User 테이블에서 고객의 이름을 저장하는 name 열과 고객의 전화번호를 저장하는 phone 열이 있을 수 있다. -  기본 키 :.. 2024. 8. 6.
[Golang] echo postgresql 연결 시 panic: sql: unknown driver "postgres" (forgotten import?) 문제 해결 새롭게 시작한 프로젝트에서 go 언어를 도입해봤다. 배우기 시작한지 1주일도 안됐지만 에러가 터져나오는데 데이터베이스로 postgresql을 선택한 뒤 연결 하려고 했다. package storage import ( "database/sql" "fmt" "log" "os" "github.com/joho/godotenv" ) var db *sql.DB func InitDB() { err := godotenv.Load() if err != nil { log.Fatal("Error loading .env file") } dbHost := os.Getenv("DB_HOST") dbPort := os.Getenv("DB_PORT") dbUser := os.Getenv("DB_USER") dbPass := os.G.. 2023. 11. 29.
반응형