이호진의 PHP 시리즈 : 넘버투


넘버투 PHP
요즘들어 4차산업 혁명 이야기가 많이 나옵니다. 동력을 발명한 1차 산업혁명과 대량생산 체계의 2차 산업혁명, 서비스와 정보의 3차 산업혁명을 걸쳐서 이제는 데이터를 가공하고생산을 자동화 하면서 앞으로 수많은 일자리 등은 컴퓨터에 의해서 대체되는 시대가 될 것입니다.

또한 최근 개발되는 응용 프로그램 및 서비스들은 거의 대부분이라 할 정도로 데이터를 기반으로 합니다. 다양한 정보들을 저장하고 이를 다시 가공처리 하여 이용자들에게 보여주게 됩니다. 이러한 서비스들을 개발 운영하기 위해서는 단순한 PHP 기본 문법이외에도데이터베이스와 관련 언어들을 학습해야 합니다.

하지만, 대부분의 데이터베이스 관련 서적들은 이론적인 설명과 단순한SQL 문법만을 실습을 함으로서 실제적으로 PHP와 연관된구체적인 학습과 연관하여 실습을 하기에 어렵습니다.

필자는 좀더 자세하게 SQL의 기능과 실제적인 PHP 코드를 같이 작성하여 초보자들이 좀더 쉽게 데이터베이스를 이해하고 응용할 수 있도록 처음 기초부터 다시설명을 합니다.

MySQL


필자가 MYSQL과 같은 관계형 데이터베이스를 처음 접한 것은 2000년초 리눅스 운영체제와 PHP를 접하기 시작할 무렵이었습니다. 이전에는 데이터베이스를 사용하기 위해서 오라클과 같은 고가의 데이터베이스를 주류였습니다.

데이터베이스를 배우고 학습하기 위해서 유료버전의 오라클은 일반인, 학생에게는부담이 있었습니다. MYSQL은 무료 버전으로 PHP와 궁합이잘 맞는 데이터 베이스 입니다. 또한, 초보 개발자들이 학습하기에부담이 없는 시스템 입니다.

MYSQL은 이미 산업현장에서 가장 많이 사용하고 있는 인기있는 데이터베이스 입니다. 또한, 오랜 시간동안 검증과 안정성을 테스트받아 사용하는데도 무리가 없습니다. MYSQL DB를 통하여 바로 현장에서 적용이 가능하도록 집중적으로설명을 하였습니다.

대상독자


1권에서는 기초적인 PHP언어와문법에 대해서 설정을 하였습니다. 2권에서는 PHP를 응용하여데이터베이스 프로그래밍에 대한 기초학습과 동작들을 설명합니다. 또한 가장 많이 사용하는 RDBMS인 MYSQL에 대해서 학습을 합니다.

  • 프로그램입문자, 비전공자
  • 데이터베이스미경험 입문자


처음 입문용:

2권은 데이터베이스를 처음 접하는 대상으로 합니다. 데이터베이스와 PHP를 연동하여 실습함으로써 먼저 PHP 기본문법을 알고 있다는 가정하에서 설명합니다. PHP 기본문법들이아직 정확하게 학습이 안되어 있다면 1권을 먼저 학습후에 2권을보시는 것을 추천합니다.

아직 PHP와 프로그램 언어에 대해서 이해가 부족한 상태에서 데이터베이스를추가로 학습을 하는 것이 부담이 될 수도 있겠지만, 웹서비스를 개발 운영하기 위해서는 필수적으로 알아야하는 기본 학습 내용입니다.

따라서 데이터베이스에 대해서 아직 정확하게 모르는 초보자가 읽는 대상으로 설명을 하였습니다. 처음 데이터베이스의 개념, SQL의 언어, PHP DB연동까지 단계별로 설명을 합니다. 하지만, 이것 조차도 어렵게 느낄 수 있는 독자들이 많이 있을 것이라 생각이 듭니다.여러 번 실습과 병행하여 학습을 해보는 것을 권장합니다.


기초 SQL:

최근 데이터베이스의 개발 및 연동방법들은ORM(Orient RelationMapping)이라는 응용기술들을 사용하고 있습니다. 이는 잘못된 SQL코드 작성으로 인하여 웹 해킹 등의 피해가 많아 이를 좀더 객체지향 코드를 통하여 체계적으로 보완하기 위함입니다. 또한 데이터베이스와 연관된 코드들을 효율적으로 관리하기 위 함입니다.

또한 많은 프레임워크등에서 다양한 ORM 기능의 코드들을 지원하고있습니다. 하지만 이러한 모든 점들은 기초적인 SQL 학습이부족하기 때문입니다. 향후 모든 개발을 위해서 외부 코드 모듈에 의존을 할 수도 없을 것입니다.

기초적인 SQL을 학습하고 이를 응용할 수 있도록 처음부터 차근차근설명합니다. 기초적인 SQL을 같이 학습함으로써 나만의 ORM 기능도 만들어 보는 것도 좋을 듯 합니다.


책의방향


2권은 PHP와 데이터베이스에관하여 설명을 합니다. 데이터베이스 중에서도 PHP와 가장궁합이 잘 맞는 MYSQL을 기준으로 설명을 하였습니다.

이책은 MYSQL은 5.6.x 버전을기준으로 설명을 하였지만, 버전이 다르더라도 큰 차이점은 없습니다. 만일버전에 대해서 차이점이 있을 경우, 해당기능을 설명하기 전에 먼저 버전에 대해서 미리 표시를 하였습니다.

예제기반의 MYSQL:

데이터베이스는 SQL언어를 기준으로 동작을 하기 때문에 이와 관련된설명들이 많습니다. 또한, SQL 언어의 기능들이 단순하여설명부분이 딱딱할 수도 있습니다. 또한 간략한 데이터베이스의 개념을 설명하고, SQL 언어와 같이 실제적으로 PHP코드를 작성하여 실습을 병행하였습니다. 먼저 SQL의 기본 문법과 동작을 콘솔 터미널을 통하여 실습을 합니다. 실습을 통하여 확인된 기능을 PHP 코드로 똑같이 작성해 봄으로서좀더 실질적인 DB 프로그래밍의 감을 익히는데 도움을 드리고자 합니다.


쿼리별 쳅터구분:

SQL쿼리의 종류별로 구분하여 챕터를 구성하였습니다. 각각의 챕터들은 유사한 SQL 기능들을 담고 있습니다.


2번실습:

SQL의 기본동작 학습과 콘솔 터미널을 통하여 동작을 실습 합니다. 또한 숙지한 SQL동작들을 직접 PHP코드로작성을 함으로서 실전 코드에 바로 응용할 수 있도록 실습을 코드를 추가하였습니다.


간결한 코드:

책에서 설명한 특정기능을 학습하기 위해서짧은 코드들로 구성을 하였습니다. 전반적으로 10~20줄이내의 코드들로 쉽게 소스를 이해하고 학습을 할 수 있습니다.


클래스:

PHP와 SQL을 실습을하면서 코드들을 재사용이 가능하도록 클래스 라이브러리로 작성합니다. 본 책의 실습을 하면서 자신만의PHP&MYSQL 라이브러리를 만들어 사용할 수 있을 것입니다.


책 소스코드:

본 책의 예제코드는 깃허브를 통해서다운로드 받을 수 있습니다. 깃허브 주소는 다음과 같습니다. **https://github.com/infohojin/php**