데이터를 2차원 표를 사용해 관리하는 데이터베이스, '관계' 라는 표현은 2차원 표를 표기할 때 사용하는 단어.
프로그래밍 언어를 사용하지 않아도 데이터를 조작할 수 있음.
관계형 데이터베이스가 데이터를 조작하기 위해 준비한 언어.
SELECT 이름
FROM 주소록
WHERE 주소 LIKE '%서울시%';
데이터베이스와 DBMS는 실제 개별환경에서도 별로 구분되지 않고 사용되는 경우가 많으나, 엄밀히 따지자면 둘은 다름.
데이터베이스는 기능이나 구조를 나타내는 추상적 개념.
DBMS는 그것을 실현하기 위해 작성된 구체적인 소프트웨어.
따라서, Oracle, MySQL 같은 제품은 DBMS이며 데이터베이스는 아님.
애플리케이션 |
---|
미들웨어 |
운영체제 |
운영체제(Operating System, OS)는 시스템을 동작하게 하기 윟나 일종의 토대가 되는 기능을 제공하는 소프트웨어.
미들웨어(Middleware)는 이름 그대로 중간 역할의 소프트웨어.
애플리케이션(Application)은 업무용 기능을 가진 프로그램된 소프트웨어. 사용자가 가장 빈번하게 조작하는 소프트웨어.
애플리케이션을 실현하는 수단으로는 크게 두 가지가 있음.
클라이언트 : 사용자 조작에따라 요청을 전달
서버 : 해당 요청을 받아 처리
데이터베이스에 접속하는 것은 프로그래밍 언어로 만들어진 CGI 프로그램
따라서, 서버와 CGI 프로그램을 연결 후, CGI 프로그램이 데이터베이스의 클라이언트로써 데이터베이스 접속
사용자 인증이 필수적 => ID, PW를 통해 사용자 인증 후 SQL 명령을 통해 통신/실행.
SELECT * FROM 테이블명;
DML에 속하는 명령으로 데이터베이스 속 데이터를 읽어오는 명령
SELECT: 명령의 종류 중 하나로, 이외에도 UPDATE, DELETE 등 다른 명령도 존재.
*: 모든 열을 불러오라는 명령, 이외에도 특정 열의 이름을 넣어서 특정 열만 추출해서 결과 반환도 가능.
FROM 테이블명: 말 그대로, 해당된 테이블에서 데이터를 가져오라는 명령
;: 명령문의 마지막을 알림
앞서 본 SELECT와 FROM은 키워드이자 예약어.
데이터베이스 객체는 이름을 붙여 관리하나 같은 이름으로 중복되게 다른 데이터베이스 객체를 생성할 수 없음.
통상적으로, 예약어와 데이터베이스 객체도 동일한 이름을 사용할 수 없음. 그리고, 예약어와 데이터베이스 객체는 대소문자를 구별하지 않음.
SELECT 명령을 실행하면, 표 형식으로 데이터 출력
예를 들어서 이름, 생일, 주소에 대한 정보를 SELECT문 명령어로 요청했다면, 테이블 구조는 아래와 같음.
테이블은 행과 열로 구성된 표 형식의 데이터.
no | name | birthday | address |
---|---|---|---|
1 | 박성진 | 1993-01-16 | 부산광역시 사하구 |
1 | 김서영 | 1999-06-28 | 서울특별시 송파구 |
1 | 윤도운 | NULL | 창원시 성산구 |
따라서, 데이터는 자료형으로 분류할 수 있고, 열은 하나의 자료형만을 가질 수 있음.
NULL은 특별한 데이터 값으로 아무것도 저장되어 있지 않은 상태