호랑사과

[생활코딩] 웹어플리케이션 만들기 8일차 본문

작업실/웹프로그래밍

[생활코딩] 웹어플리케이션 만들기 8일차

호랑사과 2017. 7. 8. 00:32

이 글은 오픈튜토리얼스의 생활코딩의 '웹어플리케이션 만들기'를 듣고 개인적으로 정리한 내용입니다. 

굵은 글씨로 된 제목을 누르시면 해당 강좌로 이동할 수 있습니다.


데이터베이스 이론

 

  데이터베이스 (이하 DB) 정보를 관리하는 전문 애플리케이션이다. 정보를 안전하고 효율적으로 사용할 있게 해준다.

 

  파일은 가장 기본적이고 원시적인 형태의 데이터 형태이다. 그러나 DB 안전하고 index 이용하여 정보를 정리하여 빠르게 탐색할 있다. 또한 프로그래밍적으로 제어가 가능하다.

 

  관계형 데이터베이스 제품은 MySQL, MSSQL, Oracle 대표적이다. MySQL 오픈소스로 웹과 함께 발전해온 제품이다. MySQL AB, SUN, Oracle 순으로 MySQL 주인이 바뀌어 왔는데 Oracle 정책에 불만을 느낀 개발자들이 MariaDB라는 MySQL 완전히 호환되는 제품을 출시하였고 공격적으로 개발되고 있다.

 

  표처럼 구조화를 이루어 정보를 정리하는 것은 엑셀도 가능하다. SQL Structured Query Language 라고 한다. 컴퓨터에게 구조화된 정보를 질의하는 언어이며 이것이 엑셀과 DB 차이점이다.


 

  SQL 명령을 서버에 전송을 하면 해당하는 정보를 MySQL 클라이언트에게 표로 정리하여 보내준다.  전체적인 맥락에서는 PHP엔진이 클라이언트 역할을 하게 된다.

 

 

데이터베이스 설정

 

  MySQL monitor 표준적인 클라이언트로서 데이터베이스 서버가 동작하는 모습을 투명하게 관찰할 있게 해준다.

  MySQL monitor 데이터베이스 서버에 연결하는 방법은 다음과 같다. 윈도우에서는 윈도우 +R 눌러 cmd 입력하여 명령프롬프트를 실행한다.

  'cd C:\Bitnami\wampstack-5.6.30-3\mysql\bin' 입력한다. 이때 wampstack 뒤의 버전은 자신의 버전에 맞게 적으면 된다. 다음에 mysql -hlocalhost -uroot -p 적어 Enter 누르면 bitnami 설치했을 설정했던 비밀번호를 입력한다. 그럼 다음과 같이 뜬다.

 

 

  mysql -hlocalhost -uroot -p 설명은 다음과 같다. mysql MySQL 실행시키겠다는 의미이고 -h(주소) 주소에 해당하는 MySQL Server 접속하겠다는 의미이다. -u(관리자아이디) 관리자 아이디를, -p(비밀번호) 그에 해당하는 비밀번호를 입력받으라는 의미이다.  비밀번호의 입력은 -p 입력하는 것이 보안상으로 안전하다.

 

데이터베이스 실습

 

  Table 일종의 파일이고 데이터베이스는 파일을 담는 일종의 디렉토리이다. 그래서 서버 안에 여러 데이터베이스가 존재할 있다.

 

 

  show databases; 입력하면 서버의 데이터베이스를 보여준다.

 

 

  그리고 위와 같이 입력하면 opentutorials 라는 데이터베이스가 생성된다.

 

 

  Show databases; 입력하여 opentutorials 데이터베이스가 생성된 것을 확인할 있다.

 

 

  use opentutorials; 입력하여 사용할 데이터베이스를 지정하고

 

 

  위와 같이 table 만들기 위한 명령어들을 입력한다. 여기서는 topic이라는 table 만들었다. 문자부호인 ` 그레이브 엑센트라고 하여 컬럼() 또는 table 이름을 적을 사용한다.

  `id` 컬럼의 이름을, int(11) `id` 입력되는 정보의 자료형과 길이를 의미하고 NOT NULL `id` 대한 정보가 없으면 안된다는 의미이다. AUTO_INCREMENT 행이 추가 때마다 `id` 값이 1 증가시킨다는 것이다.

 

 

  Show tables; 입력하면 topic이라는 table 생성된 것을 확인할 있다. (create 내가 잘못 만든 table이다.)

 

 

  SELECT * FROM topic; 입력하면 작성한 table topic 있다.

 

 

  열의 이름을 골라서 그것만 있고, where 추가로 입력하여 해당하는 하나의 행만 뽑아 있다. 위의 사진은 id, title, author, created 4개를 뽑아서 table 보여주고 있고 밑에는 앞에서 뽑은 4개에 id 3 행만 보여주고 있다.

 

 

  그리고 해당하는 열에 대한 오름차순을 있다. 위의 그림은 author 대한 오름차순, id 대한 오름차순을 보여주고 있다.

 

 

 

  화면은 생활코딩 수업에 있는 행의 정보에 대한 입력 코드를 복사해서 붙여넣기 하고 SELECT * FROM 이용하여 나타낸 화면이다. ------------------------ 되어있는 것은 정보가 너무 많아 표시되지 않는다는 의미이다. 이럴 때는 select 이용하여 보고싶은 열의 이름을 적어 넣어서 봐야한다. 다음과 같이   있다.