이번 31장의 내용은 SQL에 관한 내용입니다. 프런트엔드 개발자로 회사에서 일하게 되면 그냥 데이터 요청하고 받아온 데이터만 잘 보여주면 되겠거니 했는데 SQL을 모르니 어려운 부분이 꽤 있더라고요. 백엔드 개발자에게만 의존하게 되고 내가 모르는 분야가 있다고 생각하니 좀 답답한 느낌도 받았습니다. 그래서 SQL 공부는 꼭 해야 한다고 생각했는데 마침 이 책의 31장에서 SQL에 대해 간단히 소개해주고 다뤄주니 너무 좋았습니다. 이 장의 타이틀은 데이터와 단짝 친구, SQL입니다. 이 책에서도 데이터를 직접 다루지는 못하더라도 데이터를 다루는 사람과 협업한다면 SQL이 무엇인지 알고 있다면 도움이 될 것이라고 합니다. 일단 검색해서 나온 SQL에 대한 내용을 정리해 보겠습니다. SQL은 1970년대 초 도널드 챔벌린, 레이먼드 보이스에 의해 IBM에서 개발되었다고 합니다. 초기에는 SQL이 아닌 SEQUEL이라는 이름으로 시작하였고 IBM에 시스템 R에 저장된 데이터를 조작하며 수신을 위해 고안되었다고 합니다. SQL로 이름이 바뀐 이유는 SEQUEL이 영국에 있는 호커 시들리 항공사의 상표였기 때문이라고 하네요. 다시 책으로 넘어가면 SQL은 Structured Query Language인데 structured는 '구조화된'이라는 뜻이고, query는 문의 또는 질문, language는 언어라는 뜻입니다. 즉 데이터베이스에 어떠한 질문 또는 문의하기 위해서 어떤 구조를 가진 언어가 SQL이라는 것을 알 수 있다고 합니다. 한마디로 데이터베이스를 다루는 언어입니다. 인터넷에서는 SQL은 관계형 데이터베이스 관리 시스템에 데이터 관리를 위해서 설계된 특수한 목적을 가진 프로그래밍 언어라고 하는데요. 자료 검색과 관리, 스키마 생성과 수정, 데이터베이스 객체 접근에 대한 조정 관리를 하기 위해 고안되었다고 합니다. 다수의 데이터베이스 관련 프로그램이 SQL을 표준으로 채택한다고 합니다. 책에서는 정리하면 SQL이 데이터베이스를 관리해 주는 DBMS라는 관리 시스템과 대화하기 위한 언어라고 합니다. 데이터 베이스 그 자체가 아닙니다! DBMS의 종류에는 MySQL, Oracle, MariaDB, SQLite, PostgreSQL 등이 있습니다. 관리자 종류가 많으니 같은 SQL이라도 특징이 조금씩 다를 수 있습니다. 데이터베이스와 DBMS가 세트이기 때문에 편의상 데이터베이스라고 부르기도 한다고 합니다. 책에서는 SQL을 프로그래밍 언어로 쓸 수 있게 해주는 ORM에 대한 설명도 나옵니다. 파이썬에는 장고 ORM이라는 도구가 있고, 라라벨에는 엘러퀀트 ORM, 노드제이에스에는 시퀄라이즈 ORM 또는 타입 ORM이라는 도구가 있다고 합니다. ORM이란 Object Relational Mapping의 줄임말인데 이는 개발자에게 SQL 번역기 같은 도구이고, 이 편리한 ORM을 한 번 경험한 개발자는 SQL에 관한 공부를 자꾸 뒤로 미루게 된다고 하네요.
'프론트엔드 개발' 카테고리의 다른 글
깃과 깃허브는 다른걸까? (0) | 2023.01.31 |
---|---|
NoSQL이 뭘까? (1) | 2023.01.30 |
IT 5분 잡학사전 북 리뷰 30장 (0) | 2023.01.28 |
코볼 COBOL 사무 지향 보통 언어 (0) | 2023.01.27 |
IT 5분 잡학사전 북리뷰 (1) | 2023.01.22 |
댓글