메뉴 건너뛰기

Chsoo's HomePage공부방

PHP : [PHP]Database, MySQL란?

2004.06.15 11:31 조회 수 6775 추천 52 / 0
참고 사이트  
● Database, MySQL
PHP를 이해하기에 앞서서 DataBase에 관련된 내용을 하나더 기재 합니다.
저도 많은 공부를 해야 되는 부분이나 현재는 이렇게 정리하면서 저도 같이 공부 하겠습니다.
보시는 분들도 계속 같이 공부 하시기를 바랍니다.
 
 
우선 PHP문법에 들어가기 전에 간단하게 Database에 대해서 이야기하겠습니다.
얼마전까지만 해두 CGI라구 하면 펄을 생각하게 되었구 오라클이나 MySQL같은 DBMS(데이터베이스 관리시스템 : Database Management System)은 최소한 웹상에서는 들리지 않았습니다.
그런데 PHP라는 CGI 프로그래밍 언어가 등장하면서 DB라는 이야기가 많이 들리게 되었습니다.
그럼 왜 PHP는 펄과는 다르게 DB를 이용하는지, 그리고 이 DB가 무엇인지 간단히 이야기하겠습니다.
데이터 베이스는 데이터를 모아둔 것입니다.
예를 들면 학교 도서관의 도서 데이터베이스가 있겠죠.
즉, 도서관에 어떤 책이 들어왔는지, 그 책들의 작가는 누군인지, 누가 대여해갔는지 하는것들이 모두 데이터베이스 안에 들어있겠죠.
이런 데이터들은 가만히 있는 것이 아닙니다.
새로 책들이 들어왔을수도 있고, 폐기되었을수도 있죠. 누가 빌려갈수도, 반납할수도 있는겁니다.
즉, 데이터베이스는 이러한 요인들에 의해서 저장된 데이터를 변경할수 있어야 하죠.
이렇게 데이터베이스를 만들고 관리하는등의 일을 하는 프로그램들을 데이터베이스 관리 시스템 (Database Managemenu System)이라고 합니다.
이 데이터베이스 관리 시스템이 하는일은 데이터를 저장하고 삭제하는 등의 일과 이 데이터들로부터 원하는 정보를 효율적이고 빠른 방법을 제공하는 것이겠죠.
이렇게 데이터베이스에서 데이터를 관리하기 위해서 데이터베이스에 명령을 전달하게 하는 언어를 데이터베이스 관리언어(DBME)라고 합니다.
DBME는 Query라는 데이터베이스 관리 프로그램의 언어를 이용해서 데이터를 관리하게 됩니다.
이런 데이터베이스 관리시스템들은 다양한 종류가 있습니다.
공개되어 있는, 그리고 우수한 성능을 가지고 있어서 널리 알려진 MySQL도 있구, 상용인 오라클도 있고, 그외에 mSQL, PostgreSQL등도 있습니다.
우리가 사용할 MySQL은 무료로 쓸수 있게 공개된 관계형 데이터베이스로서 일반 상용에 비해서 별루 뒤질것이 없는 좋은 프로그램입니다.
안정성 및 무결성의 측면에서 여타 상용 데이터베이스에 비해서 떨어진다고는 한다지만 관리만 잘하면 매우 유용하게 사용할수 있습니다.
MySQL의 주요목표는 속도, 뛰어난 수행능력 그리고 사용의 편리함입니다.
처음에 MySQL은 TcX 내부에서 자체적으로 사용할 목적을 가지고 만들어졌다고 합니다.
TcX는 1996년부터 MySQL을 사용해 왔으며 현재 700만 레코드이상되는 500개 이상의 테이블(100기가 바이트 이상)이 주요업무에 사용되고 있다고 하니 어느정도의 중소업체에서도 충분히 사용할 수가 있습니다.
데이터 베이스 관리 시스템이 어떠한 식으로 데이터를 관리하는지에 대해서는 언급하지 않겠습니다.
물론 저도 잘 모릅니다.
그럼 직접적으로 우리가 알아야 하는 것을 이야기하겠습니다.
보통 MySQL을 지원하는 계정에서는 회원들에게 하나의 DB를 줍니다.
근데 잘 모르는 분덜은 왜 하나만 주나, 나는 게시판 여러개 하구 방명록도 DB를 이용하는 넘으로 할건데~ 하구 의아해하시는 분덜이 계실겁니다.
결과부터 말하자면 하나의 DB안에는 많은 수의 게시판이나 방명록등의 데이터를 저장할수 있습니다.
DB를 이용하는 PHP 게시판들은 데이터를 테이블에 저장합니다.
이 테이블은 하나의 DB안에 무한정은 아니지만 MySQL이 허락하는한 만들수 있습니다.
MySQL과 같은 관계형 데이터베이스는 모든 데이터를 테이블과 같은 형태로 나타내어 저장합니다.
테이블에 대해서 간단히 이야기하겠습니다.
일반적으로 보통 표라는 것을 많이 이용합니다.
시간표 같은것 말입니다.
예를 들문 시간표는 가로줄을 요일, 세로줄을 시간으로 해서 만들면 매우 편하게 만들수가 있습니다.
데이터베이스도 마찬가지입니다. 저장되는 데이터를 테이블(표)와 같은 형식으로 저장하고 관리를 합니다.
여러가지의 속성을 가진 대상들의 데이터를 테이블의 형태로 만드는 것입니다.
시간표를 예를 들면 월, 화, 수요일등과 같은 대상의 속성을 정의하여 만든 틀을 스키마라고 합니다.
만약 학생의 예를 들면 학생=(이름, 학번, 학과, 학점) 등과 같은 스키마를 가지게 만들수 있습니다.
게시판을 예로 들자면 게시판=(번호, 글쓴이, 메일주소, 홈페이지 주소, 제목, 내용, 조회수, 글쓴날자)등과
같이 스키마를 만들수 있겠죠.
이런 스키마의 틀로 이루어진 테이블을 가지고 php 게시판등에서는 데이터를 저장, 삭제, 수정하는등의 관리를 하게 됩니다.
사실 PHP로 DB를 이용하는 CGI 프로그램을 만들기 위해서는 이 정도의 개념만 잡혀 있으면 충분하다고 봅니다.
그만큼 PHP 자체내에서 DB를 쉽게 이용하게 할수 있는 함수들이 제공되고, 또 MySQL의 Query문도 매우 쉽기 때문입니다.

참고로 PHP를 사용하는데 있어서 아파처서버가 권장됩니다.
A.P.M 이라는 말을 들어보셨는지요.
Apache , PHP, MySQL이라는 말입니다.
원래 PHP가 아파치서버와 MySQL을 배경으로 해서 만들어졌다고 합니다.
 
 
 

 

 
 
 
 
 
 
번호 제목 글쓴이 날짜 조회 수
공지 이용하시면서.... 김창수 2001.06.15 8611
29 ZBXE(제로보드)에서 디카정보 표현하기 file 김창수 2008.07.24 7631
28 제로보드XE Ver 1.0.0 서버스 돌입 file 김창수 2008.03.18 9950
27 제로보드5(zb5) 개발 진행(현재 Beta 5.0.0.3) [1] file 김창수 2006.07.29 6621
26 디카게시판에 EXIF정보 표현하기 file 김창수 2006.04.20 6091
25 Layer를 이용한 메뉴 DB연동 (chsoo.pe.kr 사용됨.) [1] file 김창수 2006.03.21 6299
24 Layer를 이용한 메뉴(chsoo.pe.kr 사용됨.) [1] file 김창수 2006.03.21 4609
23 Swish MAX 각 효과 정리 Flash file 김창수 2006.01.25 5284
22 HTML문서에 주석 달기 김창수 2005.09.19 17729
21 JAVASCRIPT 이벤트 핸들러 정리 김창수 2005.07.11 9996
20 Header에 쓰이는 Meta Tag에 관한 설명 김창수 2005.03.29 7336
19 기초적으로 알아두어야 할 HTML Tag정리 [2] 김창수 2004.12.22 6819
18 홈피 만들기(chsoo.pe.kr)제 홈피 과정입니다. 김창수 2004.07.18 7405
17 [PHP] 파일입출력 문법 (간단히) [1] 김창수 2004.07.08 9990
16 [PHP] 간단한 PHP 문법 [2] [1] 김창수 2004.06.23 7873
15 [HTML]색상 코드표 김창수 2004.06.19 5080
» [PHP]Database, MySQL란? 김창수 2004.06.15 6775
13 [PHP]PHP에 대한 소개 김창수 2004.06.08 4813
12 [PHP]플래시로 보는 노프레임 홈 만들기! 강추(퍼옴) file 김창수 2004.05.16 6090
11 Tip 홈페이지 빠르게하는 [로딩속도를 높히는 10가지방법] 김창수 2004.05.12 4792
10 Tip 강좌 홈페이지(게시판)에 음악,동영상 바로보여주기 [3] 김창수 2004.03.06 5201
9 Tip 강좌 글자 흘러가는 Marquee Tag 이용하기 김창수 2003.12.06 4819
8 날짜마다 다른 페이지로 만들기 관리자 2003.07.31 4442
7 여섯번째 - a tag 익히기 관리자 2000.02.26 4224
위로