Web_Backend/DB2024. 1. 5. 13:21[작성중]GraphQL - 프론트엔드에서 쿼리를 마음껏 날릴 수 있다고? (보안과 권한은 어디로 가는가.. Injection은? REST와의 차이점은 뭘까?)

프론트엔드와 백엔드 개발자의 협업에 대해 이야기 나누던 도중, 기능 개발 분업 관련 이슈에 대한 대응방법중 하나로 GraphQL에 대한 이야기가 나왔다. 사실 GraphQL이라는 키워드는 몇번 들어 본 적이 있는데 graphQL이라는 이름만 듣고 'SQL과 같은 RDBMS를 다루는 일종인가?'라는 추측만 해왔던지라, 어떻게 graphQL이 프론트엔드와의 협업에서 하나의 방인이 될 수 있는지 궁금해져 찾아보게 되었다. GraphQL 페이스북(Meta)에서 만든 쿼리 언어 : 또 페이스북인가…! Graph QL(이하 gql)은 Structed Query Language(이하 sql)와 마찬가지로 쿼리 언어 SQL과 GraphQL 차이 목적 SQL : 데이터베이스 시스템에 저장된 데이터를 효율적으로 가져오는 ..

[DB] RDB 와 NoSQL
Web_Backend/DB2023. 5. 26. 14:57[DB] RDB 와 NoSQL

💬 RDB와 NoSQL의 차이점은 무엇인가요? ✅ 관계형 데이터베이스(RDB)는 사전에 엄격하게 정의된 DB schema를 요구하는 table 기반 데이터를 구조를 갖는데 반해, 비관계형 데이터베이스인 NoSQL은 table 형식이 아닌 비정형 데이터를 저장할 수 있도록 지원합니다. NoSQL은 애자일 개발 등 확장 가능성이 있거나 정확한 데이터 구조가 정해지지 않아 수정 가능성이 있을 때 유연하게 대처가 가능하다는 장점이 있지만, RDB는 엄격한 Schema로 인해 데이터의 중복이 없기 때문에, update가 많거나 데이터 테이블 간에 상관관계가 복잡할 때 유리합니다. 반면 NoSQL은 데이터 중복으로 인해 update시 모든 컬렉션에서 수정이 필요하기 때문에 update가 적고 조회가 많을 때 유리합..

[DB] Primary Key란?
Web_Backend/DB2023. 5. 26. 14:50[DB] Primary Key란?

💬 Primary Key란 무엇인가요? ✅ 데이터베이스의 테이블에 있는 튜플을 유일하게 식별할 수 있는 Key를 기본키, primary key라고 부릅니다. 예시로 국민이라는 테이블의 PK는 주민등록번호가 될 수 있으며, Nosql에서는 Key 값이 Primary Key 가 될 수 있습니다. 또한 Primary Key의 경우 단일 칼럼뿐 아니라 여러 개의 칼럼이 합쳐져 PK가 될 수 있는데, 예를 들면 운동선수라는 테이블에서 id가 PK가 될 수 있지만, 더불어 팀 이름과 등번호를 합친 것 또한 PK가 될 수 있습니다. Primary key Primary key(기본 키)란? 📌 SQL 데이터에서 데이터베이스 테이블의 설계를 고유하게 식별하는 키(A uniquely identifying key in th..

Web_Backend/DB2023. 5. 26. 14:34[DB] ORM(Oject-Relational-Mapping) Framework 이란?

ORM(Oject-Relational-Mapping) Framework 💬 ORM(Oject-Relational-Mapping) Framework란 무엇인가요? 더보기 ✅ 추상화와 상속 다형성의 특징을 지닌 객체지향과, 데이터 중심구조인 RDB사이에서 발생하는 패러다임의 불일치 문제를 해결하기 위해 개발된 프레임워크로, SQL문이 아닌 메서드로 데이터를 조작합니다. SQL Mapper가 코드상으로는 JDBC API와 SQL을 구분 지었다 하더라도, 논리적으로 강한 의존성이 지속되고 있었습니다. 각각의 DB마다 쿼리문이 다를 경우, 개발자가 각 DB의 쿼리문을 사용할 줄 알아야만 DB를 사용할 수 있는 점을 예로 들 수 있습니다.. ORM Framework란? 📌 객체-관계 매핑. 사물을 추상화시켜 이해하..

image